diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000000000..17aa6df541250 --- /dev/null +++ b/.babelrc @@ -0,0 +1,37 @@ +{ + "presets": [ + ["env", { + "modules": false, + "targets": { + "browsers": "> 1%", + "uglify": true + }, + "useBuiltIns": true + }], + "preact" + ], + "env": { + "test": { + "plugins": [ + "transform-es2015-modules-commonjs", + ["transform-react-jsx", { "pragma":"h" }], + "transform-class-properties" + ] + } + }, + "plugins": [ + "syntax-dynamic-import", + "transform-object-rest-spread", + ["transform-class-properties", + { + "spec": true + } + ], + [ + "transform-react-jsx", + { + "pragma": "h" + } + ] + ] +} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000000..68e27c8bb210a --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "extends": "airbnb-base/legacy", + "env": { + "browser": true, + }, + "plugins": [ + "ignore-erb" + ] +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000..b06d5aa6648ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore all logfiles and tempfiles. +/log/* +!/log/.keep +/tmp +.DS_Store +.swp +.approvals +.torus.json +coverage +/tags + +#Ignore public uploads +/public/uploads/* +/public/c/* +/public/i/* +/public/assets/* + +#Ignore node_modules +node_modules/ + +# Generated js bundles +/app/assets/javascripts/generated/* +latest.dump +.byebug_history + +# Ignore application configuration +/config/application.yml +/public/packs +/public/packs-test +/node_modules diff --git a/.postcssrc.yml b/.postcssrc.yml new file mode 100644 index 0000000000000..a123d1fd22c30 --- /dev/null +++ b/.postcssrc.yml @@ -0,0 +1,3 @@ +plugins: + postcss-smart-import: {} + postcss-cssnext: {} diff --git a/.rspec b/.rspec new file mode 100644 index 0000000000000..83e16f8044746 --- /dev/null +++ b/.rspec @@ -0,0 +1,2 @@ +--color +--require spec_helper diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000000000..8a110a22b5b1a --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,652 @@ +require: rubocop-rspec + +# our custom config +RSpec/MultipleExpectations: + Max: 1 + Exclude: + - "spec/features/*" + +RSpec/DescribeClass: + Exclude: + - spec/features/* + - spec/requests/* +############################# + +AllCops: + Exclude: + - db/schema.rb + TargetRubyVersion: 2.3.4 + +Naming/AccessorMethodName: + Description: Check the naming of accessor methods for get_/set_. + Enabled: false + +Style/Alias: + Description: 'Use alias_method instead of alias.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method' + Enabled: false + +Style/ArrayJoin: + Description: 'Use Array#join instead of Array#*.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join' + Enabled: false + +Style/AsciiComments: + Description: 'Use only ascii symbols in comments.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments' + Enabled: false + +Naming/AsciiIdentifiers: + Description: 'Use only ascii symbols in identifiers.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers' + Enabled: false + +Style/Attr: + Description: 'Checks for uses of Module#attr.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr' + Enabled: false + +Metrics/BlockNesting: + Description: 'Avoid excessive block nesting' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count' + Enabled: false + +Style/CaseEquality: + Description: 'Avoid explicit use of the case equality operator(===).' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality' + Enabled: false + +Style/CharacterLiteral: + Description: 'Checks for uses of character literals.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals' + Enabled: false + +Style/ClassAndModuleChildren: + Description: 'Checks style of children classes and modules.' + Enabled: true + EnforcedStyle: nested + +Metrics/ClassLength: + Description: 'Avoid classes longer than 100 lines of code.' + Enabled: false + +Metrics/ModuleLength: + Description: 'Avoid modules longer than 100 lines of code.' + Enabled: false + +Style/ClassVars: + Description: 'Avoid the use of class variables.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars' + Enabled: false + +Style/CollectionMethods: + Enabled: true + PreferredMethods: + find: detect + inject: reduce + collect: map + find_all: select + +Style/ColonMethodCall: + Description: 'Do not use :: for method call.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons' + Enabled: false + +Style/CommentAnnotation: + Description: >- + Checks formatting of special comments + (TODO, FIXME, OPTIMIZE, HACK, REVIEW). + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords' + Enabled: false + +Metrics/AbcSize: + Description: >- + A calculated magnitude based on number of assignments, + branches, and conditions. + Enabled: false + +Metrics/BlockLength: + CountComments: true # count full line comments? + Max: 25 + ExcludedMethods: [] + Exclude: + - "spec/**/*" + +Metrics/CyclomaticComplexity: + Description: >- + A complexity metric that is strongly correlated to the number + of test cases needed to validate a method. + Enabled: false + +Rails/Delegate: + Description: 'Prefer delegate method for delegations.' + Enabled: false + +Style/PreferredHashMethods: + Description: 'Checks use of `has_key?` and `has_value?` Hash methods.' + StyleGuide: '#hash-key' + Enabled: false + +Style/Documentation: + Description: 'Document classes and non-namespace modules.' + Enabled: false + +Style/DoubleNegation: + Description: 'Checks for uses of double negation (!!).' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang' + Enabled: false + +Style/EachWithObject: + Description: 'Prefer `each_with_object` over `inject` or `reduce`.' + Enabled: false + +Style/EmptyLiteral: + Description: 'Prefer literals to Array.new/Hash.new/String.new.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash' + Enabled: false + +# Checks whether the source file has a utf-8 encoding comment or not +# AutoCorrectEncodingComment must match the regex +# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/ +Style/Encoding: + Enabled: false + +Style/EvenOdd: + Description: 'Favor the use of Fixnum#even? && Fixnum#odd?' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods' + Enabled: false + +Naming/FileName: + Description: 'Use snake_case for source file names.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files' + Enabled: false + +Style/FrozenStringLiteralComment: + Description: >- + Add the frozen_string_literal comment to the top of files + to help transition from Ruby 2.3.0 to Ruby 3.0. + Enabled: false + +Style/FlipFlop: + Description: 'Checks for flip flops' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops' + Enabled: false + +Style/FormatString: + Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf' + Enabled: false + +Style/GlobalVars: + Description: 'Do not introduce global variables.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars' + Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html' + Enabled: false + +Style/GuardClause: + Description: 'Check for conditionals that can be replaced with guard clauses' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals' + Enabled: false + +Style/IfUnlessModifier: + Description: >- + Favor modifier if/unless usage when you have a + single-line body. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier' + Enabled: false + +Style/IfWithSemicolon: + Description: 'Do not use if x; .... Use the ternary operator instead.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs' + Enabled: false + +Style/InlineComment: + Description: 'Avoid inline comments.' + Enabled: false + +Style/Lambda: + Description: 'Use the new lambda literal syntax for single-line blocks.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line' + Enabled: false + +Style/LambdaCall: + Description: 'Use lambda.call(...) instead of lambda.(...).' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call' + Enabled: false + +Style/LineEndConcatenation: + Description: >- + Use \ instead of + or << to concatenate two string literals at + line end. + Enabled: false + +Metrics/LineLength: + Description: 'Limit lines to 100 characters.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits' + Max: 100 + +Metrics/MethodLength: + Description: 'Avoid methods longer than 10 lines of code.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods' + Enabled: false + +Style/ModuleFunction: + Description: 'Checks for usage of `extend self` in modules.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function' + Enabled: false + +Style/MultilineBlockChain: + Description: 'Avoid multi-line chains of blocks.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks' + Enabled: false + +Style/NegatedIf: + Description: >- + Favor unless over if for negative conditions + (or control flow or). + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives' + Enabled: false + +Style/NegatedWhile: + Description: 'Favor until over while for negative conditions.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives' + Enabled: false + +Style/Next: + Description: 'Use `next` to skip iteration instead of a condition at the end.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals' + Enabled: false + +Style/NilComparison: + Description: 'Prefer x.nil? to x == nil.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods' + Enabled: false + +Style/Not: + Description: 'Use ! instead of not.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not' + Enabled: false + +Style/NumericLiterals: + Description: >- + Add underscores to large numeric literals to improve their + readability. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics' + Enabled: false + +Style/OneLineConditional: + Description: >- + Favor the ternary operator(?:) over + if/then/else/end constructs. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator' + Enabled: false + +Naming/BinaryOperatorParameterName: + Description: 'When defining binary operators, name the argument other.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg' + Enabled: false + +Metrics/ParameterLists: + Description: 'Avoid parameter lists longer than three or four parameters.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params' + Enabled: false + +Style/PercentLiteralDelimiters: + Description: 'Use `%`-literal delimiters consistently' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces' + Enabled: false + +Style/PerlBackrefs: + Description: 'Avoid Perl-style regex back references.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers' + Enabled: false + +Naming/PredicateName: + Description: 'Check the names of predicate methods.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark' + NamePrefixBlacklist: + - is_ + Exclude: + - spec/**/* + +Style/Proc: + Description: 'Use proc instead of Proc.new.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc' + Enabled: false + +Style/RaiseArgs: + Description: 'Checks the arguments passed to raise/fail.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages' + Enabled: false + +Style/RegexpLiteral: + Description: 'Use / or %r around regular expressions.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r' + Enabled: false + +Style/SelfAssignment: + Description: >- + Checks for places where self-assignment shorthand should have + been used. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment' + Enabled: false + +Style/SingleLineBlockParams: + Description: 'Enforces the names of some block params.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks' + Enabled: false + +Style/SingleLineMethods: + Description: 'Avoid single-line methods.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods' + Enabled: false + +Style/SignalException: + Description: 'Checks for proper usage of fail and raise.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method' + Enabled: false + +Style/SpecialGlobalVars: + Description: 'Avoid Perl-style global variables.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms' + Enabled: false + +Style/StringLiterals: + Description: 'Checks if uses of quotes match the configured preference.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals' + EnforcedStyle: double_quotes + Enabled: true + +Style/TrailingCommaInArguments: + Description: 'Checks for trailing comma in argument lists.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas' + EnforcedStyleForMultiline: comma + SupportedStylesForMultiline: + - comma + - consistent_comma + - no_comma + Enabled: true + +Style/TrailingCommaInLiteral: + Description: 'Checks for trailing comma in array and hash literals.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas' + EnforcedStyleForMultiline: comma + SupportedStylesForMultiline: + - comma + - consistent_comma + - no_comma + Enabled: true + +Style/TrivialAccessors: + Description: 'Prefer attr_* methods to trivial readers/writers.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family' + Enabled: false + +Style/VariableInterpolation: + Description: >- + Don't interpolate global, instance and class variables + directly in strings. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate' + Enabled: false + +Style/WhenThen: + Description: 'Use when x then ... for one-line cases.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases' + Enabled: false + +Style/WhileUntilModifier: + Description: >- + Favor modifier while/until usage when you have a + single-line body. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier' + Enabled: false + +Style/WordArray: + Description: 'Use %w or %W for arrays of words.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w' + Enabled: false + +# Layout + +Layout/AlignParameters: + Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent' + Enabled: false + +Layout/DotPosition: + Description: 'Checks the position of the dot in multi-line method calls.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains' + EnforcedStyle: trailing + +Layout/ExtraSpacing: + Description: 'Do not use unnecessary spacing.' + Enabled: true + +Layout/MultilineOperationIndentation: + Description: >- + Checks indentation of binary operations that span more than + one line. + Enabled: true + EnforcedStyle: indented + +Layout/MultilineMethodCallIndentation: + Description: >- + Checks indentation of method calls with the dot operator + that span more than one line. + Enabled: true + EnforcedStyle: indented + +Layout/InitialIndentation: + Description: >- + Checks the indentation of the first non-blank non-comment line in a file. + Enabled: false + +# Lint + +Lint/AmbiguousOperator: + Description: >- + Checks for ambiguous operators in the first argument of a + method invocation without parentheses. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args' + Enabled: false + +Lint/AmbiguousRegexpLiteral: + Description: >- + Checks for ambiguous regexp literals in the first argument of + a method invocation without parenthesis. + Enabled: false + +Lint/AssignmentInCondition: + Description: "Don't use assignment in conditions." + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition' + Enabled: false + +Lint/CircularArgumentReference: + Description: "Don't refer to the keyword argument in the default value." + Enabled: false + +Lint/ConditionPosition: + Description: >- + Checks for condition placed in a confusing position relative to + the keyword. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition' + Enabled: false + +Lint/DeprecatedClassMethods: + Description: 'Check for deprecated class method calls.' + Enabled: false + +Lint/DuplicatedKey: + Description: 'Check for duplicate keys in hash literals.' + Enabled: false + +Lint/EachWithObjectArgument: + Description: 'Check for immutable argument given to each_with_object.' + Enabled: false + +Lint/ElseLayout: + Description: 'Check for odd code arrangement in an else block.' + Enabled: false + +Lint/FormatParameterMismatch: + Description: 'The number of parameters to format/sprint must match the fields.' + Enabled: false + +Lint/HandleExceptions: + Description: "Don't suppress exception." + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions' + Enabled: false + +Lint/LiteralInInterpolation: + Description: 'Checks for literals used in interpolation.' + Enabled: false + +Lint/Loop: + Description: >- + Use Kernel#loop with break rather than begin/end/until or + begin/end/while for post-loop tests. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break' + Enabled: false + +Lint/NestedMethodDefinition: + Description: 'Do not use nested method definitions.' + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods' + Enabled: false + +Lint/NonLocalExitFromIterator: + Description: 'Do not use return in iterator to cause non-local exit.' + Enabled: false + +Lint/ParenthesesAsGroupedExpression: + Description: >- + Checks for method calls with a space before the opening + parenthesis. + StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces' + Enabled: false + +Lint/RequireParentheses: + Description: >- + Use parentheses in the method call to avoid confusion + about precedence. + Enabled: false + +Lint/UnderscorePrefixedVariableName: + Description: 'Do not use prefix `_` for a variable that is used.' + Enabled: false + +Lint/UnneededDisable: + Description: >- + Checks for rubocop:disable comments that can be removed. + Note: this cop is not disabled when disabling all cops. + It must be explicitly disabled. + Enabled: false + +Lint/Void: + Description: 'Possible use of operator/literal/variable in void context.' + Enabled: false + +# Performance + +Performance/CaseWhenSplat: + Description: >- + Place `when` conditions that use splat at the end + of the list of `when` branches. + Enabled: false + +Performance/Count: + Description: >- + Use `count` instead of `select...size`, `reject...size`, + `select...count`, `reject...count`, `select...length`, + and `reject...length`. + Enabled: false + +Performance/Detect: + Description: >- + Use `detect` instead of `select.first`, `find_all.first`, + `select.last`, and `find_all.last`. + Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code' + Enabled: false + +Performance/FlatMap: + Description: >- + Use `Enumerable#flat_map` + instead of `Enumerable#map...Array#flatten(1)` + or `Enumberable#collect..Array#flatten(1)` + Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code' + Enabled: false + +Performance/ReverseEach: + Description: 'Use `reverse_each` instead of `reverse.each`.' + Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code' + Enabled: false + +Performance/Sample: + Description: >- + Use `sample` instead of `shuffle.first`, + `shuffle.last`, and `shuffle[Fixnum]`. + Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code' + Enabled: false + +Performance/Size: + Description: >- + Use `size` instead of `count` for counting + the number of elements in `Array` and `Hash`. + Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code' + Enabled: false + +Performance/StringReplacement: + Description: >- + Use `tr` instead of `gsub` when you are replacing the same + number of characters. Use `delete` instead of `gsub` when + you are deleting characters. + Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code' + Enabled: false + +# Rails + +Rails/ActionFilter: + Description: 'Enforces consistent use of action filter methods.' + Enabled: false + +Rails/Date: + Description: >- + Checks the correct usage of date aware methods, + such as Date.today, Date.current etc. + Enabled: false + +Rails/FindBy: + Description: 'Prefer find_by over where.first.' + Enabled: false + +Rails/FindEach: + Description: 'Prefer all.find_each over all.find.' + Enabled: false + +Rails/HasAndBelongsToMany: + Description: 'Prefer has_many :through to has_and_belongs_to_many.' + Enabled: false + +Rails/Output: + Description: 'Checks for calls to puts, print, etc.' + Enabled: false + +Rails/ReadWriteAttribute: + Description: >- + Checks for read_attribute(:attr) and + write_attribute(:attr, val). + Enabled: false + +Rails/ScopeArgs: + Description: 'Checks the arguments of ActiveRecord scopes.' + Enabled: false + +Rails/TimeZone: + Description: 'Checks the correct usage of time zone aware methods.' + StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time' + Reference: 'http://danilenko.org/2012/7/6/rails_timezones' + Enabled: false + +Rails/Validation: + Description: 'Use validates :attribute, hash of validations.' + Enabled: false + diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000000000..437459cd94c9f --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.5.0 diff --git a/.simplecov b/.simplecov new file mode 100644 index 0000000000000..48819cfc0dd99 --- /dev/null +++ b/.simplecov @@ -0,0 +1,9 @@ +SimpleCov.start "rails" do + add_filter "/spec/" + add_filter "/dashboards/" + add_filter "/app/controllers/admin/" + add_filter "/app/controllers/internal/" + add_filter "/app/black_box/" + add_filter "/app/fields/" + add_filter "/app/views/admin/" +end diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000000..1bf15401c0507 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,64 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Local File", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/main.rb" + }, + { + "name": "Listen for rdebug-ide", + "type": "Ruby", + "request": "attach", + "cwd": "${workspaceRoot}", + "remoteHost": "127.0.0.1", + "remotePort": "1234", + "remoteWorkspaceRoot": "${workspaceRoot}" + }, + { + "name": "Rails server", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/bin/rails", + "args": [ + "server" + ] + }, + { + "name": "RSpec - all", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/bin/rspec", + "args": [ + "-I", + "${workspaceRoot}" + ] + }, + { + "name": "RSpec - active spec file only", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/bin/rspec", + "args": [ + "-I", + "${workspaceRoot}", + "${file}" + ] + }, + { + "name": "Cucumber", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/bin/cucumber" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000..be077edd0b5ac --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "ruby.lint": { + "rubocop": true, + "fasterer": false, + } +} \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000000..74eb4a178ae27 --- /dev/null +++ b/Gemfile @@ -0,0 +1,138 @@ +source "https://rubygems.org" +ruby "2.5.0" + +group :production do + gem "rails_12factor", "~> 0.0" +end + +gem "actionpack-action_caching", "~> 1.2" +gem "active_record_union", "~> 1.3" +gem "acts-as-taggable-on", "~> 5.0" +gem "acts_as_follower", github: "thepracticaldev/acts_as_follower", branch: "master" +gem "administrate", "~> 0.9" +gem "ahoy_email", "~> 0.5" +gem "airbrake", "~> 5.8" +gem "algoliasearch-rails", "~> 1.20" +gem "algorithmia", "~> 1.0" +gem "ancestry", "~> 3.0" +gem "autoprefixer-rails", "~> 6.7" +gem "aws-sdk-lambda" # Installing just Lambda, if we need more we can install aws-sdk gem +gem "bourbon", "~> 1.4" +gem "buffer", github: "bufferapp/buffer-ruby" +gem "carrierwave", "~> 1.2" +gem "carrierwave-bombshelter", "~> 0.2" +gem "cloudinary", "~> 1.8" +gem "counter_culture", "~> 1.9" +gem "csv_shaper", "~> 1.3" +gem "dalli", "~> 2.7" +gem "delayed_job_active_record", "~> 4.1" +gem "delayed_job_web", "~> 1.4" +gem "devise", "~> 4.4" +gem "draper", "~> 3.0" +gem "email_validator", "~> 1.6" +gem "fastly", "~> 1.13" +gem "fastly-rails", "~> 0.8" +gem "feedjira", "~> 2.1" +gem "fetch-rails", "~> 1.0" +gem "figaro", "~> 1.1" +gem "flipflop", "~> 2.3" +gem "fog", "~> 1.41" +gem "front_matter_parser", "~> 0.1" +gem "gibbon", "~> 2.2" +gem "google-api-client", "~> 0.19" +gem "httparty", "~> 0.16" +gem "inline_svg", "~> 0.12" +gem "jbuilder", "~> 2.7" +gem "jquery-rails", "~> 4.3" +gem "kaminari", "~> 1.1" +gem "keen", "~> 0.7" +gem "liquid", "~> 4.0" +gem "nokogiri", "~> 1.8" +gem "octokit", "~> 4.8" +gem "omniauth", "~> 1.8" +gem "omniauth-github", "~> 1.3" +gem "omniauth-twitter", "~> 1.4" +gem "pg", "~> 0.21" +gem "pry", "~> 0.11" +gem "pry-rails", "~> 0.3" +gem "puma", "~> 3.11" +gem "puma_worker_killer", "~> 0.1" +gem "pundit", "~> 1.1" +gem "rack-host-redirect", "~> 1.3" +gem "rack-timeout", "~> 0.4" +gem "rails", "~> 5.1" +gem "rails-assets-airbrake-js-client", "~> 0.9", source: "https://rails-assets.org" +gem "rails-observers", "~> 0.1" +gem "recaptcha", "~> 4.6", require: "recaptcha/rails" +gem "redcarpet", "~> 3.4" +gem "reverse_markdown", "~> 1.0" +gem "rolify", "~> 5.2" +gem "rouge", "~> 3.1" +gem "sass-rails", "~> 5.0" +gem "sdoc", "~> 0.4", group: :doc +gem "selenium-webdriver", "~> 3.9" +gem "serviceworker-rails", "~> 0.5" +gem "share_meow_client", "~> 0.1" +gem "skylight", "~> 1.5" +gem "slack-notifier", "~> 1.5" +gem "sprockets", "~> 3.7" +gem "sprockets-es6", "~> 0.9" +gem "staccato", "~> 0.5" +gem "storext", "~> 2.2" +gem "stream_rails", "~> 2.5" +gem "stripe", "~> 3.9" +gem "therubyracer", "~> 0.12", platforms: :ruby +gem "timber", "~> 2.6" +gem "twitter", "~> 6.2" +gem "uglifier", "~> 3.2" +gem "validate_url", "~> 1.0" +gem "webpacker", "~> 3.2" + +group :development do + gem "brakeman", "~> 3.7", require: false + gem "bullet", "~> 5.7" + gem "bundler-audit", "~> 0.6" + gem "derailed_benchmarks", "~> 1.3" + gem "guard", "~> 2.14", require: false + gem "guard-livereload", "~> 2.5", require: false + gem "guard-rspec", "~> 4.7", require: false + gem "rb-fsevent", "~> 0.10", require: false + gem "web-console", "~> 3.5" +end + +group :development, :test do + gem "byebug", "~> 8.2" + gem "capybara", "~> 2.18" + gem "derailed", "~> 0.1" + gem "faker", "~> 1.8" + gem "memory_profiler", "~> 0.9" + gem "parallel_tests", "~> 2.21" + gem "rack-mini-profiler", "~> 0.10" + gem "rspec-rails", "~> 3.7" + gem "rspec-retry", "~> 0.5" + gem "rubocop", "~> 0.52", require: false + gem "rubocop-rspec", "~> 1.22" + gem "spring", "~> 2.0" + gem "spring-commands-rspec", "~> 1.0" + gem "vcr", "~> 4.0" +end + +group :test do + gem "approvals", "~> 0.0" + gem "chromedriver-helper", "~> 1.2" + gem "database_cleaner", "~> 1.6" + gem "factory_bot_rails", "~> 4.8" + gem "fake_stripe", "~> 0.1" + gem "launchy", "~> 2.4" + gem "rack_session_access", "~> 0.1" + gem "rails-controller-testing", "~> 1.0" + gem "ruby-prof", "~> 0.17", require: false + gem "shoulda-matchers", "~> 3.1", require: false + gem "simplecov", "~> 0.15", require: false + gem "sinatra", "~> 2.0" + gem "stackprof", "~> 0.2", require: false + gem "stripe-ruby-mock", "~> 2.5.0", require: "stripe_mock" + gem "test-prof", "~> 0.4" + gem "timecop", "~> 0.9" + gem "webmock", "~> 3.3" +end diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000000000..1c7a4815c3b97 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,1005 @@ +GIT + remote: git://github.com/bufferapp/buffer-ruby.git + revision: 10edfe62d4d90b34e19f4356d797580cefdf0720 + specs: + buffer (0.1.2) + addressable + environs + faraday + faraday_middleware + hashie + multi_json + rake + yajl-ruby + +GIT + remote: git://github.com/thepracticaldev/acts_as_follower.git + revision: 288690cd99bc470eaee493fce5bfa9fe23157692 + branch: master + specs: + acts_as_follower (0.2.1) + activerecord (>= 4.0) + +GEM + remote: https://rubygems.org/ + remote: https://rails-assets.org/ + specs: + CFPropertyList (2.3.6) + actioncable (5.1.5) + actionpack (= 5.1.5) + nio4r (~> 2.0) + websocket-driver (~> 0.6.1) + actionmailer (5.1.5) + actionpack (= 5.1.5) + actionview (= 5.1.5) + activejob (= 5.1.5) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.1.5) + actionview (= 5.1.5) + activesupport (= 5.1.5) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionpack-action_caching (1.2.0) + actionpack (>= 4.0.0, < 6) + actionview (5.1.5) + activesupport (= 5.1.5) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + active_record_union (1.3.0) + activerecord (>= 4.0) + activejob (5.1.5) + activesupport (= 5.1.5) + globalid (>= 0.3.6) + activemodel (5.1.5) + activesupport (= 5.1.5) + activemodel-serializers-xml (1.0.2) + activemodel (> 5.x) + activesupport (> 5.x) + builder (~> 3.1) + activerecord (5.1.5) + activemodel (= 5.1.5) + activesupport (= 5.1.5) + arel (~> 8.0) + activesupport (5.1.5) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + acts-as-taggable-on (5.0.0) + activerecord (>= 4.2.8) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + administrate (0.9.0) + actionpack (>= 4.2, < 5.2) + actionview (>= 4.2, < 5.2) + activerecord (>= 4.2, < 5.2) + autoprefixer-rails (>= 6.0) + datetime_picker_rails (~> 0.0.7) + jquery-rails (>= 4.0) + kaminari (>= 1.0) + momentjs-rails (~> 2.8) + sass-rails (~> 5.0) + selectize-rails (~> 0.6) + after_commit_action (1.1.0) + activerecord (>= 3.0.0) + activesupport (>= 3.0.0) + ahoy_email (0.5.0) + addressable + nokogiri + rails + safely_block (>= 0.1.1) + airbrake (5.8.1) + airbrake-ruby (~> 1.8) + airbrake-ruby (1.8.0) + algoliasearch (1.19.1) + httpclient (~> 2.8.3) + json (>= 1.5.1) + algoliasearch-rails (1.20.4) + algoliasearch (>= 1.17.0, < 2.0.0) + json (>= 1.5.1) + algorithmia (1.0.1) + httparty (~> 0.13) + json (~> 1.8) + ancestry (3.0.1) + activerecord (>= 3.2.0) + approvals (0.0.24) + nokogiri (~> 1.6) + thor (~> 0.18) + archive-zip (0.11.0) + io-like (~> 0.3.0) + arel (8.0.0) + ast (2.4.0) + autoprefixer-rails (6.7.7.2) + execjs + aws-partitions (1.64.0) + aws-sdk-core (3.16.0) + aws-partitions (~> 1.0) + aws-sigv4 (~> 1.0) + jmespath (~> 1.0) + aws-sdk-lambda (1.4.0) + aws-sdk-core (~> 3) + aws-sigv4 (~> 1.0) + aws-sigv4 (1.0.2) + aws_cf_signer (0.1.3) + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + babel-source (5.8.35) + babel-transpiler (0.7.0) + babel-source (>= 4.0, < 6) + execjs (~> 2.0) + bcrypt (3.1.11) + benchmark-ips (2.7.2) + bindex (0.5.0) + bourbon (1.4.0) + sass (>= 3.1) + brakeman (3.7.2) + buftok (0.2.0) + builder (3.2.3) + bullet (5.7.3) + activesupport (>= 3.0.0) + uniform_notifier (~> 1.11.0) + bundler-audit (0.6.0) + bundler (~> 1.2) + thor (~> 0.18) + byebug (8.2.5) + capybara (2.18.0) + addressable + mini_mime (>= 0.1.3) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (>= 2.0, < 4.0) + carrierwave (1.2.2) + activemodel (>= 4.0.0) + activesupport (>= 4.0.0) + mime-types (>= 1.16) + carrierwave-bombshelter (0.2.2) + activesupport (>= 3.2.0) + carrierwave + fastimage + childprocess (0.8.0) + ffi (~> 1.0, >= 1.0.11) + chromedriver-helper (1.2.0) + archive-zip (~> 0.10) + nokogiri (~> 1.8) + cloudinary (1.8.3) + aws_cf_signer + rest-client + coderay (1.1.2) + coercible (1.0.0) + descendants_tracker (~> 0.0.1) + concurrent-ruby (1.0.5) + counter_culture (1.9.0) + activerecord (>= 3.0.0) + activesupport (>= 3.0.0) + after_commit_action (~> 1.0) + crack (0.4.3) + safe_yaml (~> 1.0.0) + crass (1.0.3) + csv_shaper (1.3.0) + activesupport (>= 3.0.0) + dalli (2.7.6) + dante (0.2.0) + database_cleaner (1.6.2) + datetime_picker_rails (0.0.7) + momentjs-rails (>= 2.8.1) + declarative (0.0.10) + declarative-option (0.1.0) + delayed_job (4.1.4) + activesupport (>= 3.0, < 5.2) + delayed_job_active_record (4.1.2) + activerecord (>= 3.0, < 5.2) + delayed_job (>= 3.0, < 5) + delayed_job_web (1.4) + activerecord (> 3.0.0) + delayed_job (> 2.0.3) + sinatra (>= 1.4.4) + derailed (0.1.0) + derailed_benchmarks + derailed_benchmarks (1.3.2) + benchmark-ips (~> 2) + get_process_mem (~> 0) + heapy (~> 0) + memory_profiler (~> 0) + rack (>= 1) + rake (> 10, < 13) + thor (~> 0.19) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + devise (4.4.1) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 4.1.0, < 5.2) + responders + warden (~> 1.2.3) + diff-lcs (1.3) + docile (1.1.5) + domain_name (0.5.20170404) + unf (>= 0.0.5, < 1.0.0) + draper (3.0.1) + actionpack (~> 5.0) + activemodel (~> 5.0) + activemodel-serializers-xml (~> 1.0) + activesupport (~> 5.0) + request_store (~> 1.0) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + email_validator (1.6.0) + activemodel + environs (1.1.0) + equalizer (0.0.11) + errbase (0.0.3) + erubi (1.7.0) + eventmachine (1.2.5) + excon (0.60.0) + execjs (2.7.0) + factory_bot (4.8.2) + activesupport (>= 3.0.0) + factory_bot_rails (4.8.2) + factory_bot (~> 4.8.2) + railties (>= 3.0.0) + fake_stripe (0.1.0) + capybara + sinatra + webmock + faker (1.8.7) + i18n (>= 0.7) + faraday (0.12.2) + multipart-post (>= 1.2, < 3) + faraday_middleware (0.12.2) + faraday (>= 0.7.4, < 1.0) + fastimage (2.1.1) + fastly (1.13.2) + fastly-rails (0.8.0) + fastly (~> 1.6) + railties (> 2, < 6) + feedjira (2.1.4) + faraday (>= 0.9) + faraday_middleware (>= 0.9) + loofah (>= 2.0) + sax-machine (>= 1.0) + fetch-rails (1.0.0) + rails (>= 4.1.0) + ffi (1.9.21) + figaro (1.1.1) + thor (~> 0.14) + fission (0.5.0) + CFPropertyList (~> 2.2) + flipflop (2.3.1) + activesupport (>= 4.0) + fog (1.41.0) + fog-aliyun (>= 0.1.0) + fog-atmos + fog-aws (>= 0.6.0) + fog-brightbox (~> 0.4) + fog-cloudatcost (~> 0.1.0) + fog-core (~> 1.45) + fog-digitalocean (>= 0.3.0) + fog-dnsimple (~> 1.0) + fog-dynect (~> 0.0.2) + fog-ecloud (~> 0.1) + fog-google (<= 0.1.0) + fog-internet-archive + fog-joyent + fog-json + fog-local + fog-openstack + fog-powerdns (>= 0.1.1) + fog-profitbricks + fog-rackspace + fog-radosgw (>= 0.0.2) + fog-riakcs + fog-sakuracloud (>= 0.0.4) + fog-serverlove + fog-softlayer + fog-storm_on_demand + fog-terremark + fog-vmfusion + fog-voxel + fog-vsphere (>= 0.4.0) + fog-xenserver + fog-xml (~> 0.1.1) + ipaddress (~> 0.5) + json (>= 1.8, < 2.0) + fog-aliyun (0.2.0) + fog-core (~> 1.27) + fog-json (~> 1.0) + ipaddress (~> 0.8) + xml-simple (~> 1.1) + fog-atmos (0.1.0) + fog-core + fog-xml + fog-aws (2.0.0) + fog-core (~> 1.38) + fog-json (~> 1.0) + fog-xml (~> 0.1) + ipaddress (~> 0.8) + fog-brightbox (0.14.0) + fog-core (~> 1.22) + fog-json + inflecto (~> 0.0.2) + fog-cloudatcost (0.1.2) + fog-core (~> 1.36) + fog-json (~> 1.0) + fog-xml (~> 0.1) + ipaddress (~> 0.8) + fog-core (1.45.0) + builder + excon (~> 0.58) + formatador (~> 0.2) + fog-digitalocean (0.3.0) + fog-core (~> 1.42) + fog-json (>= 1.0) + fog-xml (>= 0.1) + ipaddress (>= 0.5) + fog-dnsimple (1.0.0) + fog-core (~> 1.38) + fog-json (~> 1.0) + fog-dynect (0.0.3) + fog-core + fog-json + fog-xml + fog-ecloud (0.3.0) + fog-core + fog-xml + fog-google (0.1.0) + fog-core + fog-json + fog-xml + fog-internet-archive (0.0.1) + fog-core + fog-json + fog-xml + fog-joyent (0.0.1) + fog-core (~> 1.42) + fog-json (>= 1.0) + fog-json (1.0.2) + fog-core (~> 1.0) + multi_json (~> 1.10) + fog-local (0.4.0) + fog-core (~> 1.27) + fog-openstack (0.1.24) + fog-core (~> 1.40) + fog-json (>= 1.0) + ipaddress (>= 0.8) + fog-powerdns (0.1.1) + fog-core (~> 1.27) + fog-json (~> 1.0) + fog-xml (~> 0.1) + fog-profitbricks (4.1.1) + fog-core (~> 1.42) + fog-json (~> 1.0) + fog-rackspace (0.1.5) + fog-core (>= 1.35) + fog-json (>= 1.0) + fog-xml (>= 0.1) + ipaddress (>= 0.8) + fog-radosgw (0.0.5) + fog-core (>= 1.21.0) + fog-json + fog-xml (>= 0.0.1) + fog-riakcs (0.1.0) + fog-core + fog-json + fog-xml + fog-sakuracloud (1.7.5) + fog-core + fog-json + fog-serverlove (0.1.2) + fog-core + fog-json + fog-softlayer (1.1.4) + fog-core + fog-json + fog-storm_on_demand (0.1.1) + fog-core + fog-json + fog-terremark (0.1.0) + fog-core + fog-xml + fog-vmfusion (0.1.0) + fission + fog-core + fog-voxel (0.1.0) + fog-core + fog-xml + fog-vsphere (1.13.1) + fog-core + rbvmomi (~> 1.9) + fog-xenserver (0.3.0) + fog-core + fog-xml + fog-xml (0.1.3) + fog-core + nokogiri (>= 1.5.11, < 2.0.0) + formatador (0.2.5) + front_matter_parser (0.1.1) + get_process_mem (0.2.1) + gibbon (2.2.5) + faraday (>= 0.9.1) + multi_json (>= 1.11.0) + globalid (0.4.1) + activesupport (>= 4.2.0) + google-api-client (0.19.8) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.5, < 0.7.0) + httpclient (>= 2.8.1, < 3.0) + mime-types (~> 3.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + googleauth (0.6.2) + faraday (~> 0.12) + jwt (>= 1.4, < 3.0) + logging (~> 2.0) + memoist (~> 0.12) + multi_json (~> 1.11) + os (~> 0.9) + signet (~> 0.7) + guard (2.14.2) + formatador (>= 0.2.4) + listen (>= 2.7, < 4.0) + lumberjack (>= 1.0.12, < 2.0) + nenv (~> 0.1) + notiffany (~> 0.0) + pry (>= 0.9.12) + shellany (~> 0.0) + thor (>= 0.18.1) + guard-compat (1.2.1) + guard-livereload (2.5.2) + em-websocket (~> 0.5) + guard (~> 2.8) + guard-compat (~> 1.0) + multi_json (~> 1.8) + guard-rspec (4.7.3) + guard (~> 2.1) + guard-compat (~> 1.1) + rspec (>= 2.99.0, < 4.0) + hashdiff (0.3.7) + hashie (3.5.7) + heapy (0.1.3) + http (3.0.0) + addressable (~> 2.3) + http-cookie (~> 1.0) + http-form_data (>= 2.0.0.pre.pre2, < 3) + http_parser.rb (~> 0.6.0) + http-cookie (1.0.3) + domain_name (~> 0.5) + http-form_data (2.0.0) + http_parser.rb (0.6.0) + http_signatures (0.2.2) + httparty (0.16.0) + multi_xml (>= 0.5.2) + httpclient (2.8.3) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + ice_nine (0.11.2) + inflecto (0.0.2) + inline_svg (0.12.1) + activesupport (>= 3.0) + loofah (>= 2.0) + nokogiri (>= 1.6) + io-like (0.3.0) + ipaddress (0.8.3) + jbuilder (2.7.0) + activesupport (>= 4.2.0) + multi_json (>= 1.2) + jmespath (1.3.1) + jquery-rails (4.3.1) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + json (1.8.6) + jwt (1.5.6) + kaminari (1.1.1) + activesupport (>= 4.1.0) + kaminari-actionview (= 1.1.1) + kaminari-activerecord (= 1.1.1) + kaminari-core (= 1.1.1) + kaminari-actionview (1.1.1) + actionview + kaminari-core (= 1.1.1) + kaminari-activerecord (1.1.1) + activerecord + kaminari-core (= 1.1.1) + kaminari-core (1.1.1) + keen (0.7.8) + multi_json (~> 1.0) + launchy (2.4.3) + addressable (~> 2.3) + libv8 (3.16.14.19) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + little-plugger (1.1.4) + logging (2.2.2) + little-plugger (~> 1.1) + multi_json (~> 1.10) + loofah (2.2.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + lumberjack (1.0.12) + mail (2.7.0) + mini_mime (>= 0.1.1) + memoist (0.16.0) + memoizable (0.4.2) + thread_safe (~> 0.3, >= 0.3.1) + memory_profiler (0.9.10) + method_source (0.9.0) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_mime (1.0.0) + mini_portile2 (2.3.0) + minitest (5.11.3) + momentjs-rails (2.17.1) + railties (>= 3.1) + msgpack (1.2.2) + multi_json (1.13.1) + multi_xml (0.6.0) + multipart-post (2.0.0) + mustermann (1.0.2) + naught (1.1.0) + nenv (0.3.0) + netrc (0.11.0) + nio4r (2.2.0) + nokogiri (1.8.2) + mini_portile2 (~> 2.3.0) + notiffany (0.1.1) + nenv (~> 0.1) + shellany (~> 0.0) + oauth (0.5.4) + oauth2 (1.4.0) + faraday (>= 0.8, < 0.13) + jwt (~> 1.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) + rack (>= 1.2, < 3) + octokit (4.8.0) + sawyer (~> 0.8.0, >= 0.5.3) + omniauth (1.8.1) + hashie (>= 3.4.6, < 3.6.0) + rack (>= 1.6.2, < 3) + omniauth-github (1.3.0) + omniauth (~> 1.5) + omniauth-oauth2 (>= 1.4.0, < 2.0) + omniauth-oauth (1.1.0) + oauth + omniauth (~> 1.0) + omniauth-oauth2 (1.5.0) + oauth2 (~> 1.1) + omniauth (~> 1.2) + omniauth-twitter (1.4.0) + omniauth-oauth (~> 1.1) + rack + orm_adapter (0.5.0) + os (0.9.6) + parallel (1.12.1) + parallel_tests (2.21.1) + parallel + parser (2.5.0.0) + ast (~> 2.4.0) + pg (0.21.0) + powerpack (0.1.1) + pry (0.11.3) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + pry-rails (0.3.6) + pry (>= 0.10.4) + public_suffix (3.0.2) + puma (3.11.2) + puma_worker_killer (0.1.0) + get_process_mem (~> 0.2) + puma (>= 2.7, < 4) + pundit (1.1.0) + activesupport (>= 3.0.0) + rack (2.0.4) + rack-host-redirect (1.3.0) + rack + rack-mini-profiler (0.10.7) + rack (>= 1.2.0) + rack-protection (2.0.1) + rack + rack-proxy (0.6.3) + rack + rack-test (0.8.2) + rack (>= 1.0, < 3) + rack-timeout (0.4.2) + rack_session_access (0.1.1) + builder (>= 2.0.0) + rack (>= 1.0.0) + rails (5.1.5) + actioncable (= 5.1.5) + actionmailer (= 5.1.5) + actionpack (= 5.1.5) + actionview (= 5.1.5) + activejob (= 5.1.5) + activemodel (= 5.1.5) + activerecord (= 5.1.5) + activesupport (= 5.1.5) + bundler (>= 1.3.0) + railties (= 5.1.5) + sprockets-rails (>= 2.0.0) + rails-assets-airbrake-js-client (0.9.8) + rails-controller-testing (1.0.2) + actionpack (~> 5.x, >= 5.0.1) + actionview (~> 5.x, >= 5.0.1) + activesupport (~> 5.x) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + rails-observers (0.1.5) + activemodel (>= 4.0) + rails_12factor (0.0.3) + rails_serve_static_assets + rails_stdout_logging + rails_serve_static_assets (0.0.5) + rails_stdout_logging (0.0.5) + railties (5.1.5) + actionpack (= 5.1.5) + activesupport (= 5.1.5) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rainbow (3.0.0) + rake (12.3.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rbvmomi (1.11.6) + builder (~> 3.0) + json (>= 1.8) + nokogiri (~> 1.5) + trollop (~> 2.1) + rdoc (4.3.0) + recaptcha (4.6.4) + json + redcarpet (3.4.0) + ref (2.0.0) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + request_store (1.4.0) + rack (>= 1.4) + responders (2.4.0) + actionpack (>= 4.2.0, < 5.3) + railties (>= 4.2.0, < 5.3) + rest-client (2.0.2) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + retriable (3.1.1) + reverse_markdown (1.0.5) + nokogiri + rolify (5.2.0) + rouge (3.1.1) + rspec (3.7.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-core (3.7.1) + rspec-support (~> 3.7.0) + rspec-expectations (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-mocks (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-rails (3.7.2) + actionpack (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-support (~> 3.7.0) + rspec-retry (0.5.6) + rspec-core (> 3.3, < 3.8) + rspec-support (3.7.1) + rubocop (0.52.1) + parallel (~> 1.10) + parser (>= 2.4.0.2, < 3.0) + powerpack (~> 0.1) + rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.7) + unicode-display_width (~> 1.0, >= 1.0.1) + rubocop-rspec (1.22.2) + rubocop (>= 0.52.1) + ruby-prof (0.17.0) + ruby-progressbar (1.9.0) + ruby_dep (1.5.0) + rubyzip (1.2.1) + safe_yaml (1.0.4) + safely_block (0.2.0) + errbase + sass (3.5.5) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.0.7) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + sax-machine (1.3.2) + sdoc (0.4.2) + json (~> 1.7, >= 1.7.7) + rdoc (~> 4.0) + selectize-rails (0.12.4.1) + selenium-webdriver (3.9.0) + childprocess (~> 0.5) + rubyzip (~> 1.2) + serviceworker-rails (0.5.5) + railties (>= 3.1) + share_meow_client (0.1.3) + shellany (0.0.1) + shoulda-matchers (3.1.2) + activesupport (>= 4.0.0) + signet (0.8.1) + addressable (~> 2.3) + faraday (~> 0.9) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simple_oauth (0.3.1) + simplecov (0.15.1) + docile (~> 1.1.0) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.2) + sinatra (2.0.1) + mustermann (~> 1.0) + rack (~> 2.0) + rack-protection (= 2.0.1) + tilt (~> 2.0) + skylight (1.5.1) + activesupport (>= 3.0.0) + slack-notifier (1.5.1) + spring (2.0.2) + activesupport (>= 4.2) + spring-commands-rspec (1.0.4) + spring (>= 0.9.1) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-es6 (0.9.2) + babel-source (>= 5.8.11) + babel-transpiler + sprockets (>= 3.0.0) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + staccato (0.5.1) + stackprof (0.2.11) + storext (2.2.2) + rails (>= 4.0, < 6.0) + virtus + stream-ruby (2.5.10) + faraday (>= 0.10.0, < 1.0) + http_signatures (~> 0) + jwt (~> 1.5.2) + stream_rails (2.5.2) + actionpack (>= 3.0.0) + activerecord (>= 3.0.0) + railties (>= 3.0.0) + stream-ruby (~> 2.5) + stripe (3.9.2) + faraday (~> 0.10) + stripe-ruby-mock (2.5.0) + dante (>= 0.2.0) + multi_json (~> 1.0) + stripe (>= 2.0.3) + test-prof (0.4.8) + therubyracer (0.12.3) + libv8 (~> 3.16.14.15) + ref + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + timber (2.6.1) + msgpack (~> 1.0) + timecop (0.9.1) + trollop (2.1.2) + twitter (6.2.0) + addressable (~> 2.3) + buftok (~> 0.2.0) + equalizer (~> 0.0.11) + http (~> 3.0) + http-form_data (~> 2.0) + http_parser.rb (~> 0.6.0) + memoizable (~> 0.4.0) + multipart-post (~> 2.0) + naught (~> 1.0) + simple_oauth (~> 0.3.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + uber (0.1.0) + uglifier (3.2.0) + execjs (>= 0.3.0, < 3) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.5) + unicode-display_width (1.3.0) + uniform_notifier (1.11.0) + validate_url (1.0.2) + activemodel (>= 3.0.0) + addressable + vcr (4.0.0) + virtus (1.0.5) + axiom-types (~> 0.1) + coercible (~> 1.0) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) + warden (1.2.7) + rack (>= 1.0) + web-console (3.5.1) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + webmock (3.3.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff + webpacker (3.2.2) + activesupport (>= 4.2) + rack-proxy (>= 0.6.1) + railties (>= 4.2) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.3) + xml-simple (1.1.5) + xpath (3.0.0) + nokogiri (~> 1.8) + yajl-ruby (1.3.1) + +PLATFORMS + ruby + +DEPENDENCIES + actionpack-action_caching (~> 1.2) + active_record_union (~> 1.3) + acts-as-taggable-on (~> 5.0) + acts_as_follower! + administrate (~> 0.9) + ahoy_email (~> 0.5) + airbrake (~> 5.8) + algoliasearch-rails (~> 1.20) + algorithmia (~> 1.0) + ancestry (~> 3.0) + approvals (~> 0.0) + autoprefixer-rails (~> 6.7) + aws-sdk-lambda + bourbon (~> 1.4) + brakeman (~> 3.7) + buffer! + bullet (~> 5.7) + bundler-audit (~> 0.6) + byebug (~> 8.2) + capybara (~> 2.18) + carrierwave (~> 1.2) + carrierwave-bombshelter (~> 0.2) + chromedriver-helper (~> 1.2) + cloudinary (~> 1.8) + counter_culture (~> 1.9) + csv_shaper (~> 1.3) + dalli (~> 2.7) + database_cleaner (~> 1.6) + delayed_job_active_record (~> 4.1) + delayed_job_web (~> 1.4) + derailed (~> 0.1) + derailed_benchmarks (~> 1.3) + devise (~> 4.4) + draper (~> 3.0) + email_validator (~> 1.6) + factory_bot_rails (~> 4.8) + fake_stripe (~> 0.1) + faker (~> 1.8) + fastly (~> 1.13) + fastly-rails (~> 0.8) + feedjira (~> 2.1) + fetch-rails (~> 1.0) + figaro (~> 1.1) + flipflop (~> 2.3) + fog (~> 1.41) + front_matter_parser (~> 0.1) + gibbon (~> 2.2) + google-api-client (~> 0.19) + guard (~> 2.14) + guard-livereload (~> 2.5) + guard-rspec (~> 4.7) + httparty (~> 0.16) + inline_svg (~> 0.12) + jbuilder (~> 2.7) + jquery-rails (~> 4.3) + kaminari (~> 1.1) + keen (~> 0.7) + launchy (~> 2.4) + liquid (~> 4.0) + memory_profiler (~> 0.9) + nokogiri (~> 1.8) + octokit (~> 4.8) + omniauth (~> 1.8) + omniauth-github (~> 1.3) + omniauth-twitter (~> 1.4) + parallel_tests (~> 2.21) + pg (~> 0.21) + pry (~> 0.11) + pry-rails (~> 0.3) + puma (~> 3.11) + puma_worker_killer (~> 0.1) + pundit (~> 1.1) + rack-host-redirect (~> 1.3) + rack-mini-profiler (~> 0.10) + rack-timeout (~> 0.4) + rack_session_access (~> 0.1) + rails (~> 5.1) + rails-assets-airbrake-js-client (~> 0.9)! + rails-controller-testing (~> 1.0) + rails-observers (~> 0.1) + rails_12factor (~> 0.0) + rb-fsevent (~> 0.10) + recaptcha (~> 4.6) + redcarpet (~> 3.4) + reverse_markdown (~> 1.0) + rolify (~> 5.2) + rouge (~> 3.1) + rspec-rails (~> 3.7) + rspec-retry (~> 0.5) + rubocop (~> 0.52) + rubocop-rspec (~> 1.22) + ruby-prof (~> 0.17) + sass-rails (~> 5.0) + sdoc (~> 0.4) + selenium-webdriver (~> 3.9) + serviceworker-rails (~> 0.5) + share_meow_client (~> 0.1) + shoulda-matchers (~> 3.1) + simplecov (~> 0.15) + sinatra (~> 2.0) + skylight (~> 1.5) + slack-notifier (~> 1.5) + spring (~> 2.0) + spring-commands-rspec (~> 1.0) + sprockets (~> 3.7) + sprockets-es6 (~> 0.9) + staccato (~> 0.5) + stackprof (~> 0.2) + storext (~> 2.2) + stream_rails (~> 2.5) + stripe (~> 3.9) + stripe-ruby-mock (~> 2.5.0) + test-prof (~> 0.4) + therubyracer (~> 0.12) + timber (~> 2.6) + timecop (~> 0.9) + twitter (~> 6.2) + uglifier (~> 3.2) + validate_url (~> 1.0) + vcr (~> 4.0) + web-console (~> 3.5) + webmock (~> 3.3) + webpacker (~> 3.2) + +RUBY VERSION + ruby 2.5.0p0 + +BUNDLED WITH + 1.16.1 diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000000000..80da15849879f --- /dev/null +++ b/Guardfile @@ -0,0 +1,96 @@ +# A sample Guardfile +# More info at https://github.com/guard/guard#readme + +## Uncomment and set this to only include directories you want to watch +# directories %w(app lib config test spec features) \ +# .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")} + +## Note: if you are using the `directories` clause above and you are not +## watching the project directory ('.'), then you will want to move +## the Guardfile to a watched dir and symlink it back, e.g. +# +# $ mkdir config +# $ mv Guardfile config/ +# $ ln -s config/Guardfile . +# +# and, you'll have to watch "config/Guardfile" instead of "Guardfile" + +# Note: The cmd option is now required due to the increasing number of ways +# rspec may be run, below are examples of the most common uses. +# * bundler: 'bundle exec rspec' +# * bundler binstubs: 'bin/rspec' +# * spring: 'bin/rspec' (This will use spring if running and you have +# installed the spring binstubs per the docs) +# * zeus: 'zeus rspec' (requires the server to be started separately) +# * 'just' rspec: 'rspec' + +ignore([%r{^bin/*}, %r{^config/*}, %r{^db/*}, %r{^lib/*}, %r{^log/*}, %r{^public/*}, %r{^tmp/*}, %r{^node_modules/*}]) + +rspec_options = { + results_file: File.expand_path('tmp/guard_rspec_results.txt'), + ############################# + # BECAUSE spring doesn't seem to work well with simplecov, choose + # between the following two. + # slow but good coverage + # cmd: "bin/rspec -p", + # fast but no coverage + cmd: "bin/spring rspec -p", + ############################# + failed_mode: :none, + bundler_env: :clean_env +} + +guard :rspec, rspec_options do + require "guard/rspec/dsl" + dsl = Guard::RSpec::Dsl.new(self) + + # Feel free to open issues for suggestions and improvements + + # RSpec files + rspec = dsl.rspec + watch(rspec.spec_helper) { rspec.spec_dir } + watch(rspec.spec_support) { rspec.spec_dir } + watch(rspec.spec_files) + + # Ruby files + ruby = dsl.ruby + dsl.watch_spec_files_for(ruby.lib_files) + + # Rails files + rails = dsl.rails(view_extensions: %w(erb haml slim)) + dsl.watch_spec_files_for(rails.app_files) + dsl.watch_spec_files_for(rails.views) + + watch(rails.controllers) do |m| + [ + rspec.spec.call("routing/#{m[1]}_routing"), + rspec.spec.call("controllers/#{m[1]}_controller"), + rspec.spec.call("acceptance/#{m[1]}") + ] + end + + # Rails config changes + watch(rails.spec_helper) { rspec.spec_dir } + watch(rails.routes) { "#{rspec.spec_dir}/routing" } + watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" } + + # Capybara features specs + watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") } + watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") } + + # Turnip features and steps + watch(%r{^spec/acceptance/(.+)\.feature$}) + watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m| + Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance" + end +end + +guard :livereload do + watch(%r{app/views/.+\.(erb|haml|slim)$}) + watch(%r{app/helpers/.+\.rb}) + watch(%r{public/.+\.(css|js|html)}) + watch(%r{config/locales/.+\.yml}) + # Rails Assets Pipeline + watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" } + watch(%r{(app|vendor)(/assets/\w+/(.+)\.(scss))}) { |m| "/assets/#{m[3]}.css" } +end diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000000..1859466d70e81 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,13 @@ +# _TASK or Feature_ +### Request or User Story + +### Definition of Done + +### Notes + +# _BUG_ +### Current/Expected Behavior + +### Additional Info (steps to replicate, device/browser, helpful links) + +### Screenshots diff --git a/Procfile b/Procfile new file mode 100644 index 0000000000000..c2c566e8cc3d4 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: bundle exec puma -C config/puma.rb diff --git a/Procfile.dev b/Procfile.dev new file mode 100644 index 0000000000000..f609352388f22 --- /dev/null +++ b/Procfile.dev @@ -0,0 +1,3 @@ +web: bin/rails s -p 3000 +webpacker: ./bin/webpack-dev-server +job: bin/rake jobs:work diff --git a/Procfile.dev-hot b/Procfile.dev-hot new file mode 100644 index 0000000000000..793adc9a8e066 --- /dev/null +++ b/Procfile.dev-hot @@ -0,0 +1,4 @@ +web: rails s +# TODO: MIGRATE from tutorial +client: sh -c 'rm app/assets/javascripts/generated/* || true && cd client && npm run build:dev:client' +server: sh -c 'cd client && npm run build:dev:server' diff --git a/README.md b/README.md new file mode 100644 index 0000000000000..58bbc6c9bd034 --- /dev/null +++ b/README.md @@ -0,0 +1,213 @@ +# The DEV Community 👩‍💻👨‍💻 + +

+ DEV +

+

+ Where programmers share ideas and help each other grow +

+

+ + ruby version + + + rails version + + + Codeship Status for thepracticaldev/dev.to_private + + + + + + + +

+ +## Introduction and Contribution Guideline +Welcome to the [dev.to](/) codebase. We are so excited to have you. Most importantly, all contributors must abide by the [code of conduct](dev.to/code-of-conduct). + +With your help, we can build out the DEV Community platform to be more stable and better serve the users. The platform is built on [Ruby on Rails](http://rubyonrails.org/). When in doubt, try to do things "The Rails Way", but it is an evolving codebase and we will learn from all new contributions in order to evolve. + +Before we can make the codebase fully open source, we must ensure we discover any possible vulnerabilities that could be exposed by eyes on the code, but in the long run we think that openness can do nothing but help in this way. + +### How to contribute + +When in doubt, ask! We are doing this for the first time and we may not be clear about everything. Creating an issue to ask about how to do something in the open is a great decision. We will try to create clear issues, but communication is the most important thing and it's hard! You may communicate _through_ a pull request. It's a fine approach, but it could result in going down the wrong path. The earlier we talk about something the better. + +**Refactoring** code, e.g. improving the code without modifying the behavior is an area that can probably be done based on intuition and may not require much communication to be merged. + +**Fixing bugs** may also not require a lot of communication, but the more the better. Please surround bug fixes with ample tests. Bugs are magnets for other bugs. Write tests near bugs! + +**Building features** is the area which will require the most communication and/or negotiation. Every feature is subjective and open for debate. Let's talk about the features! + +### Clean code with tests + +Even though some of the existing code is poorly written or not tested as well as it could be, we have much more scrutiny for these things going forward, as the transition from team-only development to open development makes clean code more important than ever in order to avoid communication breakdown. Good luck writing the best code of your life! + +### Non-code contributions + +Improving documentation and wikis is very valuable, as is participating in any discussions about approaches or features. + +### The bottom line + +If a process could be improved, don't hesitate to bring it up, but there are always tradeoffs and we are humans. Mistakes happen and opinions may not always line up. Shaming anyone trying to contribute is not allowed. + +# Getting Started +#### Prerequisite +- Ruby: we recommend using [rbenv](https://github.com/rbenv/rbenv) to install the Ruby version listed on the badge. +- Bundler: `gem install bundler` +- Foreman: `gem install foreman` +- Yarn: use `brew install yarn` to install yarn. It will also install node if you don't already have it. +- PostgresSQL: the easiest way to get started with this is to use [Postgres.app](https://postgresapp.com/). + +#### Installation steps +1. `git clone git@github.com:benhalpern/practicaldeveloper.git` +2. `bundle install` +3. `bin/yarn` +4. `bin/setup` +6. Set up your environment variables/secrets with the either of the following two methods: + - A. create a `config/application.yml` file and paste secret keys in it. + - B. Use [Torus](http://torus.sh/) to wrap around the whole app. Refer to the [wiki](https://github.com/thepracticaldev/dev.to_private/wiki/Torus) if you are interested. *Please bear in mind that usage of Torus is experimental*. + - If you are missing `ENV` variables on bootup, `_env_checker.rb` will let you know. If you add or remove `ENV` vars to the project, you must also modify this file before they can be merged. + +#### Starting the application +We're mostly a Rails app, with a bit of Webpack sprinkled in. **For most cases, simply running `bin/rails server` will do.** If you're working with Webpack though, you'll need to run the following: + +- Run `bin/startup` to start the server, Webpack, and our job runner `delayed_job`. `bin/startup` runs `foreman start -f Procfile.dev` under the hood. +- `alias start="bin/startup"` makes this even faster. 😊 +- If you're using `pry` for debugging in Rails, note that using `foreman` and `pry` together works, but it's not as clean as `bin/rails server`. + +Here are some singleton commands you may need, usually in a separate instance/tab of your Terminal. + +- Running the job server -- this is for mostly for notifications and emails: `bin/rails jobs:work` +- Clearing jobs (in case you don't want to wait for the backlog of jobs): `bin/rails jobs:clear` + +Current gotchas: potential environment issues with external services need to be worked out. + +## 🔑 Key App tech/services + +- We use **Puma** for the server +- We rely heavily on edge caching with **Fastly** +- We use **Cloudinary** for image manipulation/serving +- We use **Keen** for event storage +- We use **Airbrake** for error monitoring +- We use **Timber** for logging +- We use **Delayed Job** for background workers +- We use **Algolia** for search +- We use **Redcarpet/Rouge** for Markdown +- We use **Carrierwave/Fog/AWS S3** for image upload/storage +- We use a modified version of **InstantClick** instead of **Turbolinks** +- We are hosted on **Heroku** +- We use **Heroku scheduler** for scheduled jobs (default) +- We use **Sendgrid** for API-triggered mailing +- We use **Mailchimp** for marketing/outreach emails +- We use **Figaro** for app configuration. +- We use **CounterCulture** to keep track of association counts (counter caches) +- We use **Rolify** for role management. +- We use **Pundit** for authorization. + +There's more, but that's a decent overview of the key need-to-knows. + +## Workflow Suggestion + +We use [Spring](https://github.com/rails/spring) and it is already included in the project. +1. Use the provided bin stubs to automatically start Spring, i.e. `bin/rails server`, `bin/rspec spec/models/`, `bin/rake db:migrate`. +2. If Spring isn't picking up on new changes, use `spring stop`. For example, Spring should always be restarted if there's a change in environment key. +3. Check Spring's status whenever with `spring status`. + +Caveat: `bin/rspec` is not equipped with Spring because it affect Simplecov's result. Instead use `bin/spring rspec`. + +## Style Guide + +This project follows [Bbatsov's Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide), using [Rubocop](https://github.com/bbatsov/rubocop) along with [Rubocop-Rspec](https://github.com/backus/rubocop-rspec) as the code analyzer. If you have Rubocop installed with your text editor of choice, you should be up and running. Settings can be edited in `.rubocop.yml`. + +For Javascript, we follow [Airbnb's JS Style Guide](https://github.com/airbnb/javascript), using [ESLint](https://eslint.org/). If you have ESLint installed with your text editor of choice, you should be up and running. + +## Testing +The following technologies are used for testing: + + - **Rspec** + - **Capybara** with **selenium-webdriver** + - **chromedriver-helper** for standard JS testing. + - **Capybara-webkit** for headless JS testing.(not in use) + - **`rack_session_access`** + - **Warden** + - **guard-rspec** for automated testing + +#### Installing Capybara-webkit +**This is currently commented out in the Gemfile, but if you want to experiment with it** Follow the instruction of installing Qt [here](https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit) then `bundle install` normally. + +#### When should I use `login_via_session_as(:user)` vs `login_as(:user)`? +- `login_as(:user)` uses Warden's stubbing actions to make the application think that a user is signed in but without all of the overhead of actually signing them in. Recommended for view test. +- `login_via_session_as(:user)` uses `rack_session_access` to modify application's session. It is integrated with Devise so current_user won't be nil. Recommended for feature test. + +## Environment Variables +You need to keep your personal `config/application.yml` up-to-date in order to properly set up your environment variables. We have some "shared" environment variables, but you may need "personal" environment variables for one reason or another (such as a private Algolia instance, possibly). It is important to keep people up-to-date on changes to this protocol, as it is not checked into git. It is also important to use secure ways of passing these keys around. We currently use LastPass to store this. + +## Previewing emails in development +You can modify the test in `/test/mailers/previews` +You can view the previews at (for example) `http://localhost:3000/rails/mailers/notify_mailer/new_reply_email` + +## How to contribute (Internal) +1. Clone the project locally. +2. Create a branch for each separate piece of work. +3. Do the work and write [good commit messages](https://chris.beams.io/posts/git-commit/). + - If your work includes adding a new environment variable, make sure you update `_env_checker.rb`. +4. Push your branch up to this repository. +5. Create a new pull-reqest. +6. After the pull-request is approved and merged, delete your branch on github. + +**Avoid pushing spike(test) branches up to the main repository**. If you must, push the spike branches up to a forked repository. + + +### Branch Policies + +#### Branch naming convention +Name the branch in the following manner. +`//-` +###### Examples +``` +ben/feature/renderer-cookies +niko/hotfix/dockerfile-base-image +andy-and-niko/issue/#132-broken-link +``` +#### Workflow +- [Here's](https://github.com/thepracticaldev/dev.to_private/wiki/Product-Workflow) a guide to our workflow using ZenHub. +- Note: if you're working on a task with no associated issue, create an issue. We do this so there's transparency and also to prevent anyone from unknowingly doing the same task. + +#### Pull request guideline +- Keep the pull request small; a pull request should try it's very best to address only a single concern. +- Make sure all the tests pass and add additional tests for the code you submit. +- Document your reasoning behind the changes. Explain why you wrote the code in the way you did, not what it does. +- If there's an existing issue related to the pull request, reference to it. [More info here](https://github.com/blog/1506-closing-issues-via-pull-requests) + +Please note that we squash all pull request. **After a pull request is approved, we will remove the branch the PR is on unless you state it otherwise** + +## Continuous Integration & Continuous Deployment +We are using Codeship for CI and CD. Codeship will run a build (in isolated environment for testing) for every push to this repository. Keep in mind that a passing-build does not necessarily mean the project won't run into any issues. Strive to write good tests for any chunk of code you wish to contribute. Only pushes to the `deployment` branch will evoke the CD portion of Codeship after CI passes. Our test suite is not perfect and sometimes a re-rerun is needed. + +#### Skipping CI build (Not recommended) +You can skip CI by adding `--skip-ci` to your commit message. More info [here](https://documentation.codeship.com/general/projects/skipping-builds/). + +## CodeClimate and Simplecov +We are using CodeClimate to track code quality and code coverage. Codeclimate will grade the quality of the code of every PR but not the entirety of the project. If you feel that the current linting rule is unreasonable, feel free to submit a _separate_ PR to change it. Fix any errors that Codeclimate provides and strive to leave code better than you found it. + +Simplecov is a gem that is tracking the coverage of our test suite. Codeship will upload Simplecov data to CodeClimate. We are still in the early stage of using it so it may not provide an accurate measurement our of codebase. + +#### Using simplecov locally +1. Run `bundle exec rspec spec` or `bin/rspec spec`. You can run rspec on the whole project or a single file. +2. After rspec is complete, open `index.html` within the coverage folder to view code coverages. + +Run `bin/rspecov` to do all of this in one step diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000000000..ba6b733dd2358 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +Rails.application.load_tasks diff --git a/app/assets/images/.keep b/app/assets/images/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/assets/images/1.png b/app/assets/images/1.png new file mode 100644 index 0000000000000..904ce57b93a3c Binary files /dev/null and b/app/assets/images/1.png differ diff --git a/app/assets/images/10.png b/app/assets/images/10.png new file mode 100644 index 0000000000000..f7de3faa1566a Binary files /dev/null and b/app/assets/images/10.png differ diff --git a/app/assets/images/11.png b/app/assets/images/11.png new file mode 100644 index 0000000000000..0d37c72e346c3 Binary files /dev/null and b/app/assets/images/11.png differ diff --git a/app/assets/images/12.png b/app/assets/images/12.png new file mode 100644 index 0000000000000..7da902cd4a56e Binary files /dev/null and b/app/assets/images/12.png differ diff --git a/app/assets/images/13.png b/app/assets/images/13.png new file mode 100644 index 0000000000000..0fb2c81db58c2 Binary files /dev/null and b/app/assets/images/13.png differ diff --git a/app/assets/images/14.png b/app/assets/images/14.png new file mode 100644 index 0000000000000..236918e007dac Binary files /dev/null and b/app/assets/images/14.png differ diff --git a/app/assets/images/15.png b/app/assets/images/15.png new file mode 100644 index 0000000000000..37750703028bf Binary files /dev/null and b/app/assets/images/15.png differ diff --git a/app/assets/images/16.png b/app/assets/images/16.png new file mode 100644 index 0000000000000..6160c7de42eda Binary files /dev/null and b/app/assets/images/16.png differ diff --git a/app/assets/images/17.png b/app/assets/images/17.png new file mode 100644 index 0000000000000..54b06330312b5 Binary files /dev/null and b/app/assets/images/17.png differ diff --git a/app/assets/images/18.png b/app/assets/images/18.png new file mode 100644 index 0000000000000..3b76987d9233d Binary files /dev/null and b/app/assets/images/18.png differ diff --git a/app/assets/images/19.png b/app/assets/images/19.png new file mode 100644 index 0000000000000..0722c180d21f0 Binary files /dev/null and b/app/assets/images/19.png differ diff --git a/app/assets/images/2.png b/app/assets/images/2.png new file mode 100644 index 0000000000000..60de494eb05b2 Binary files /dev/null and b/app/assets/images/2.png differ diff --git a/app/assets/images/20.png b/app/assets/images/20.png new file mode 100644 index 0000000000000..643fb2bb7eeb0 Binary files /dev/null and b/app/assets/images/20.png differ diff --git a/app/assets/images/21.png b/app/assets/images/21.png new file mode 100644 index 0000000000000..e1c140ddd3b8c Binary files /dev/null and b/app/assets/images/21.png differ diff --git a/app/assets/images/22.png b/app/assets/images/22.png new file mode 100644 index 0000000000000..621bb56934fcc Binary files /dev/null and b/app/assets/images/22.png differ diff --git a/app/assets/images/23.png b/app/assets/images/23.png new file mode 100644 index 0000000000000..2525ec282f30a Binary files /dev/null and b/app/assets/images/23.png differ diff --git a/app/assets/images/24.png b/app/assets/images/24.png new file mode 100644 index 0000000000000..21897fb00117a Binary files /dev/null and b/app/assets/images/24.png differ diff --git a/app/assets/images/25.png b/app/assets/images/25.png new file mode 100644 index 0000000000000..81474dc5ac150 Binary files /dev/null and b/app/assets/images/25.png differ diff --git a/app/assets/images/26.png b/app/assets/images/26.png new file mode 100644 index 0000000000000..c3d0ba8169ceb Binary files /dev/null and b/app/assets/images/26.png differ diff --git a/app/assets/images/27.png b/app/assets/images/27.png new file mode 100644 index 0000000000000..c71963051d4da Binary files /dev/null and b/app/assets/images/27.png differ diff --git a/app/assets/images/28.png b/app/assets/images/28.png new file mode 100644 index 0000000000000..524de7c7fd70a Binary files /dev/null and b/app/assets/images/28.png differ diff --git a/app/assets/images/29.png b/app/assets/images/29.png new file mode 100644 index 0000000000000..2d64e6fb0be4a Binary files /dev/null and b/app/assets/images/29.png differ diff --git a/app/assets/images/3.png b/app/assets/images/3.png new file mode 100644 index 0000000000000..ddfcbd30037e7 Binary files /dev/null and b/app/assets/images/3.png differ diff --git a/app/assets/images/30.png b/app/assets/images/30.png new file mode 100644 index 0000000000000..e8d8e2bfbcde6 Binary files /dev/null and b/app/assets/images/30.png differ diff --git a/app/assets/images/31.png b/app/assets/images/31.png new file mode 100644 index 0000000000000..3ec1a476033c6 Binary files /dev/null and b/app/assets/images/31.png differ diff --git a/app/assets/images/32.png b/app/assets/images/32.png new file mode 100644 index 0000000000000..cd4525df40b6f Binary files /dev/null and b/app/assets/images/32.png differ diff --git a/app/assets/images/33.png b/app/assets/images/33.png new file mode 100644 index 0000000000000..1824fa5a6719d Binary files /dev/null and b/app/assets/images/33.png differ diff --git a/app/assets/images/34.png b/app/assets/images/34.png new file mode 100644 index 0000000000000..9ab26e326f6e2 Binary files /dev/null and b/app/assets/images/34.png differ diff --git a/app/assets/images/35.png b/app/assets/images/35.png new file mode 100644 index 0000000000000..819228e931ef7 Binary files /dev/null and b/app/assets/images/35.png differ diff --git a/app/assets/images/36.png b/app/assets/images/36.png new file mode 100644 index 0000000000000..e4517cf9b9a95 Binary files /dev/null and b/app/assets/images/36.png differ diff --git a/app/assets/images/37.png b/app/assets/images/37.png new file mode 100644 index 0000000000000..a4af89e6fc3eb Binary files /dev/null and b/app/assets/images/37.png differ diff --git a/app/assets/images/38.png b/app/assets/images/38.png new file mode 100644 index 0000000000000..0d5a557fcfede Binary files /dev/null and b/app/assets/images/38.png differ diff --git a/app/assets/images/39.png b/app/assets/images/39.png new file mode 100644 index 0000000000000..3c5b012163471 Binary files /dev/null and b/app/assets/images/39.png differ diff --git a/app/assets/images/4.png b/app/assets/images/4.png new file mode 100644 index 0000000000000..6ee89a8963d62 Binary files /dev/null and b/app/assets/images/4.png differ diff --git a/app/assets/images/40.png b/app/assets/images/40.png new file mode 100644 index 0000000000000..f6b9a69bb269e Binary files /dev/null and b/app/assets/images/40.png differ diff --git a/app/assets/images/5.png b/app/assets/images/5.png new file mode 100644 index 0000000000000..ab845c16920fc Binary files /dev/null and b/app/assets/images/5.png differ diff --git a/app/assets/images/6.png b/app/assets/images/6.png new file mode 100644 index 0000000000000..c39ad60976a48 Binary files /dev/null and b/app/assets/images/6.png differ diff --git a/app/assets/images/7.png b/app/assets/images/7.png new file mode 100644 index 0000000000000..7ca466775c96c Binary files /dev/null and b/app/assets/images/7.png differ diff --git a/app/assets/images/8.png b/app/assets/images/8.png new file mode 100644 index 0000000000000..4707285753a5a Binary files /dev/null and b/app/assets/images/8.png differ diff --git a/app/assets/images/9.png b/app/assets/images/9.png new file mode 100644 index 0000000000000..bc43da08e8d3c Binary files /dev/null and b/app/assets/images/9.png differ diff --git a/app/assets/images/android-icon-128x128.png b/app/assets/images/android-icon-128x128.png new file mode 100644 index 0000000000000..95599530d0c0b Binary files /dev/null and b/app/assets/images/android-icon-128x128.png differ diff --git a/app/assets/images/android-icon-144x144.png b/app/assets/images/android-icon-144x144.png new file mode 100644 index 0000000000000..7d8edfba578c6 Binary files /dev/null and b/app/assets/images/android-icon-144x144.png differ diff --git a/app/assets/images/android-icon-192x192.png b/app/assets/images/android-icon-192x192.png new file mode 100644 index 0000000000000..0fbce2711dddd Binary files /dev/null and b/app/assets/images/android-icon-192x192.png differ diff --git a/app/assets/images/android-icon-36x36.png b/app/assets/images/android-icon-36x36.png new file mode 100644 index 0000000000000..404ce3a440d61 Binary files /dev/null and b/app/assets/images/android-icon-36x36.png differ diff --git a/app/assets/images/android-icon-48x48.png b/app/assets/images/android-icon-48x48.png new file mode 100644 index 0000000000000..f1709a87b4fd3 Binary files /dev/null and b/app/assets/images/android-icon-48x48.png differ diff --git a/app/assets/images/android-icon-72x72.png b/app/assets/images/android-icon-72x72.png new file mode 100644 index 0000000000000..f2070ede68ed5 Binary files /dev/null and b/app/assets/images/android-icon-72x72.png differ diff --git a/app/assets/images/android-icon-96x96.png b/app/assets/images/android-icon-96x96.png new file mode 100644 index 0000000000000..43aaf979b86a8 Binary files /dev/null and b/app/assets/images/android-icon-96x96.png differ diff --git a/app/assets/images/animated-bars.gif b/app/assets/images/animated-bars.gif new file mode 100644 index 0000000000000..81a717c2c1a53 Binary files /dev/null and b/app/assets/images/animated-bars.gif differ diff --git a/app/assets/images/apple-icon-114x114.png b/app/assets/images/apple-icon-114x114.png new file mode 100644 index 0000000000000..eea11e4aeafa2 Binary files /dev/null and b/app/assets/images/apple-icon-114x114.png differ diff --git a/app/assets/images/apple-icon-120x120.png b/app/assets/images/apple-icon-120x120.png new file mode 100644 index 0000000000000..776e2e4f551a6 Binary files /dev/null and b/app/assets/images/apple-icon-120x120.png differ diff --git a/app/assets/images/apple-icon-144x144.png b/app/assets/images/apple-icon-144x144.png new file mode 100644 index 0000000000000..196edd12f4573 Binary files /dev/null and b/app/assets/images/apple-icon-144x144.png differ diff --git a/app/assets/images/apple-icon-152x152.png b/app/assets/images/apple-icon-152x152.png new file mode 100644 index 0000000000000..c308f7eb35595 Binary files /dev/null and b/app/assets/images/apple-icon-152x152.png differ diff --git a/app/assets/images/apple-icon-167x167.png b/app/assets/images/apple-icon-167x167.png new file mode 100644 index 0000000000000..5a3722ef8c2b7 Binary files /dev/null and b/app/assets/images/apple-icon-167x167.png differ diff --git a/app/assets/images/apple-icon-180x180.png b/app/assets/images/apple-icon-180x180.png new file mode 100644 index 0000000000000..033e89b709434 Binary files /dev/null and b/app/assets/images/apple-icon-180x180.png differ diff --git a/app/assets/images/apple-icon-57x57.png b/app/assets/images/apple-icon-57x57.png new file mode 100644 index 0000000000000..58fc902381599 Binary files /dev/null and b/app/assets/images/apple-icon-57x57.png differ diff --git a/app/assets/images/apple-icon-60x60.png b/app/assets/images/apple-icon-60x60.png new file mode 100644 index 0000000000000..b7b87adedaec5 Binary files /dev/null and b/app/assets/images/apple-icon-60x60.png differ diff --git a/app/assets/images/apple-icon-72x72.png b/app/assets/images/apple-icon-72x72.png new file mode 100644 index 0000000000000..93a5baea6c0f3 Binary files /dev/null and b/app/assets/images/apple-icon-72x72.png differ diff --git a/app/assets/images/apple-icon-76x76.png b/app/assets/images/apple-icon-76x76.png new file mode 100644 index 0000000000000..3b0af290893b4 Binary files /dev/null and b/app/assets/images/apple-icon-76x76.png differ diff --git a/app/assets/images/apple-icon-precomposed.png b/app/assets/images/apple-icon-precomposed.png new file mode 100644 index 0000000000000..41e46eec1bc5e Binary files /dev/null and b/app/assets/images/apple-icon-precomposed.png differ diff --git a/app/assets/images/apple-icon.png b/app/assets/images/apple-icon.png new file mode 100644 index 0000000000000..17be16eccf8a4 Binary files /dev/null and b/app/assets/images/apple-icon.png differ diff --git a/app/assets/images/bar-chart-white.svg b/app/assets/images/bar-chart-white.svg new file mode 100644 index 0000000000000..d680daf6b1099 --- /dev/null +++ b/app/assets/images/bar-chart-white.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/bell.svg b/app/assets/images/bell.svg new file mode 100644 index 0000000000000..a6a1d2ad74d05 --- /dev/null +++ b/app/assets/images/bell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/ben.jpg b/app/assets/images/ben.jpg new file mode 100644 index 0000000000000..a604eec5b0b8a Binary files /dev/null and b/app/assets/images/ben.jpg differ diff --git a/app/assets/images/bookmark.svg b/app/assets/images/bookmark.svg new file mode 100644 index 0000000000000..b165772dab941 --- /dev/null +++ b/app/assets/images/bookmark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/assets/images/cancel.svg b/app/assets/images/cancel.svg new file mode 100644 index 0000000000000..12713d5437d4d --- /dev/null +++ b/app/assets/images/cancel.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/chat.svg b/app/assets/images/chat.svg new file mode 100644 index 0000000000000..cd36fff41d3d6 --- /dev/null +++ b/app/assets/images/chat.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/checkmark-gray.png b/app/assets/images/checkmark-gray.png new file mode 100644 index 0000000000000..a21051c1b451d Binary files /dev/null and b/app/assets/images/checkmark-gray.png differ diff --git a/app/assets/images/checkmark-gray.svg b/app/assets/images/checkmark-gray.svg new file mode 100644 index 0000000000000..1df550df370d2 --- /dev/null +++ b/app/assets/images/checkmark-gray.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/checkmark-green.png b/app/assets/images/checkmark-green.png new file mode 100644 index 0000000000000..5d6be0ba4fb69 Binary files /dev/null and b/app/assets/images/checkmark-green.png differ diff --git a/app/assets/images/checkmark-green.svg b/app/assets/images/checkmark-green.svg new file mode 100644 index 0000000000000..97606af81cbd4 --- /dev/null +++ b/app/assets/images/checkmark-green.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/checkmark.png b/app/assets/images/checkmark.png new file mode 100644 index 0000000000000..3bba1f2b183c7 Binary files /dev/null and b/app/assets/images/checkmark.png differ diff --git a/app/assets/images/chevron-down.svg b/app/assets/images/chevron-down.svg new file mode 100644 index 0000000000000..cd5bfd9bcabb5 --- /dev/null +++ b/app/assets/images/chevron-down.svg @@ -0,0 +1,2 @@ + + diff --git a/app/assets/images/clock.png b/app/assets/images/clock.png new file mode 100644 index 0000000000000..a2c67e6d95681 Binary files /dev/null and b/app/assets/images/clock.png differ diff --git a/app/assets/images/coding.svg b/app/assets/images/coding.svg new file mode 100644 index 0000000000000..1d67c836f31e3 --- /dev/null +++ b/app/assets/images/coding.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/cool.svg b/app/assets/images/cool.svg new file mode 100644 index 0000000000000..653b5b8a7f84b --- /dev/null +++ b/app/assets/images/cool.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/dev-white-letters.svg b/app/assets/images/dev-white-letters.svg new file mode 100644 index 0000000000000..55580c94379e3 --- /dev/null +++ b/app/assets/images/dev-white-letters.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/devblacksquarelogo.svg b/app/assets/images/devblacksquarelogo.svg new file mode 100644 index 0000000000000..57f853e7bf2f9 --- /dev/null +++ b/app/assets/images/devblacksquarelogo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/devlogo-pwa-128.png b/app/assets/images/devlogo-pwa-128.png new file mode 100644 index 0000000000000..afd225d3d4d1e Binary files /dev/null and b/app/assets/images/devlogo-pwa-128.png differ diff --git a/app/assets/images/devlogo-pwa-192.png b/app/assets/images/devlogo-pwa-192.png new file mode 100644 index 0000000000000..d4ae09c4064a2 Binary files /dev/null and b/app/assets/images/devlogo-pwa-192.png differ diff --git a/app/assets/images/devlogo-pwa-512.png b/app/assets/images/devlogo-pwa-512.png new file mode 100644 index 0000000000000..8cffd9c1fa7c7 Binary files /dev/null and b/app/assets/images/devlogo-pwa-512.png differ diff --git a/app/assets/images/devplain.svg b/app/assets/images/devplain.svg new file mode 100644 index 0000000000000..69ed69deb7e53 --- /dev/null +++ b/app/assets/images/devplain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/devsquarelogo.svg b/app/assets/images/devsquarelogo.svg new file mode 100644 index 0000000000000..738ce88f84286 --- /dev/null +++ b/app/assets/images/devsquarelogo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/devword.png b/app/assets/images/devword.png new file mode 100644 index 0000000000000..01bd67e3d09fa Binary files /dev/null and b/app/assets/images/devword.png differ diff --git a/app/assets/images/emoji-apple-backpack.png b/app/assets/images/emoji-apple-backpack.png new file mode 100644 index 0000000000000..524d419e1677b Binary files /dev/null and b/app/assets/images/emoji-apple-backpack.png differ diff --git a/app/assets/images/emoji-apple-hands.png b/app/assets/images/emoji-apple-hands.png new file mode 100644 index 0000000000000..835e15e6d3d9c Binary files /dev/null and b/app/assets/images/emoji-apple-hands.png differ diff --git a/app/assets/images/emoji-apple-revolving-hearts.png b/app/assets/images/emoji-apple-revolving-hearts.png new file mode 100644 index 0000000000000..db2f640a53944 Binary files /dev/null and b/app/assets/images/emoji-apple-revolving-hearts.png differ diff --git a/app/assets/images/emoji-apple-shopping-bags.png b/app/assets/images/emoji-apple-shopping-bags.png new file mode 100644 index 0000000000000..762207bb2f771 Binary files /dev/null and b/app/assets/images/emoji-apple-shopping-bags.png differ diff --git a/app/assets/images/emoji-apple-unicorn.png b/app/assets/images/emoji-apple-unicorn.png new file mode 100644 index 0000000000000..49f50bf48991a Binary files /dev/null and b/app/assets/images/emoji-apple-unicorn.png differ diff --git a/app/assets/images/emoji/apple-hugging-face.png b/app/assets/images/emoji/apple-hugging-face.png new file mode 100644 index 0000000000000..3081991a3d642 Binary files /dev/null and b/app/assets/images/emoji/apple-hugging-face.png differ diff --git a/app/assets/images/emoji/apple-nerd-face.png b/app/assets/images/emoji/apple-nerd-face.png new file mode 100644 index 0000000000000..0f03e9dcd4c43 Binary files /dev/null and b/app/assets/images/emoji/apple-nerd-face.png differ diff --git a/app/assets/images/emoji/apple-waving-hand.png b/app/assets/images/emoji/apple-waving-hand.png new file mode 100644 index 0000000000000..5b221bf82b817 Binary files /dev/null and b/app/assets/images/emoji/apple-waving-hand.png differ diff --git a/app/assets/images/emoji/emoji-one-bookmark.png b/app/assets/images/emoji/emoji-one-bookmark.png new file mode 100644 index 0000000000000..6c470b772e25a Binary files /dev/null and b/app/assets/images/emoji/emoji-one-bookmark.png differ diff --git a/app/assets/images/emoji/emoji-one-hands-gray.png b/app/assets/images/emoji/emoji-one-hands-gray.png new file mode 100644 index 0000000000000..5b528a45e0075 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-hands-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-hands.png b/app/assets/images/emoji/emoji-one-hands.png new file mode 100644 index 0000000000000..ad51bc934318f Binary files /dev/null and b/app/assets/images/emoji/emoji-one-hands.png differ diff --git a/app/assets/images/emoji/emoji-one-heart.png b/app/assets/images/emoji/emoji-one-heart.png new file mode 100644 index 0000000000000..c16b83e73caac Binary files /dev/null and b/app/assets/images/emoji/emoji-one-heart.png differ diff --git a/app/assets/images/emoji/emoji-one-nausea-face-gray.png b/app/assets/images/emoji/emoji-one-nausea-face-gray.png new file mode 100644 index 0000000000000..1baf4e7750b93 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-nausea-face-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-nausea-face.png b/app/assets/images/emoji/emoji-one-nausea-face.png new file mode 100644 index 0000000000000..b8e8124544c75 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-nausea-face.png differ diff --git a/app/assets/images/emoji/emoji-one-speech-balloon.png b/app/assets/images/emoji/emoji-one-speech-balloon.png new file mode 100644 index 0000000000000..a329db584834a Binary files /dev/null and b/app/assets/images/emoji/emoji-one-speech-balloon.png differ diff --git a/app/assets/images/emoji/emoji-one-television.png b/app/assets/images/emoji/emoji-one-television.png new file mode 100644 index 0000000000000..992a3a93300a0 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-television.png differ diff --git a/app/assets/images/emoji/emoji-one-thinking-gray.png b/app/assets/images/emoji/emoji-one-thinking-gray.png new file mode 100644 index 0000000000000..6603432b54882 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-thinking-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-thinking.png b/app/assets/images/emoji/emoji-one-thinking.png new file mode 100644 index 0000000000000..bc28867d20d25 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-thinking.png differ diff --git a/app/assets/images/emoji/emoji-one-thumbs-down-gray.png b/app/assets/images/emoji/emoji-one-thumbs-down-gray.png new file mode 100644 index 0000000000000..7f16d03f99ecf Binary files /dev/null and b/app/assets/images/emoji/emoji-one-thumbs-down-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-thumbs-down.png b/app/assets/images/emoji/emoji-one-thumbs-down.png new file mode 100644 index 0000000000000..3cb0c58b57f95 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-thumbs-down.png differ diff --git a/app/assets/images/emoji/emoji-one-unicorn-gray.png b/app/assets/images/emoji/emoji-one-unicorn-gray.png new file mode 100644 index 0000000000000..3b46a77ae04fe Binary files /dev/null and b/app/assets/images/emoji/emoji-one-unicorn-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-unicorn.png b/app/assets/images/emoji/emoji-one-unicorn.png new file mode 100644 index 0000000000000..faed20aeda525 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-unicorn.png differ diff --git a/app/assets/images/emoji/emoji-one-warning-sign-gray.png b/app/assets/images/emoji/emoji-one-warning-sign-gray.png new file mode 100644 index 0000000000000..db89c9224253c Binary files /dev/null and b/app/assets/images/emoji/emoji-one-warning-sign-gray.png differ diff --git a/app/assets/images/emoji/emoji-one-warning-sign.png b/app/assets/images/emoji/emoji-one-warning-sign.png new file mode 100644 index 0000000000000..842e45f31c3b6 Binary files /dev/null and b/app/assets/images/emoji/emoji-one-warning-sign.png differ diff --git a/app/assets/images/emoji/emoji-sparkling-heart.png b/app/assets/images/emoji/emoji-sparkling-heart.png new file mode 100644 index 0000000000000..cc672715c5b7e Binary files /dev/null and b/app/assets/images/emoji/emoji-sparkling-heart.png differ diff --git a/app/assets/images/facebook-logo.svg b/app/assets/images/facebook-logo.svg new file mode 100644 index 0000000000000..bfa59a74fadd7 --- /dev/null +++ b/app/assets/images/facebook-logo.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/facebook.svg b/app/assets/images/facebook.svg new file mode 100644 index 0000000000000..6e3f2db814266 --- /dev/null +++ b/app/assets/images/facebook.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/favicon-16x16.png b/app/assets/images/favicon-16x16.png new file mode 100644 index 0000000000000..7eef5135c0835 Binary files /dev/null and b/app/assets/images/favicon-16x16.png differ diff --git a/app/assets/images/favicon-32x32.png b/app/assets/images/favicon-32x32.png new file mode 100644 index 0000000000000..5fc5631882b26 Binary files /dev/null and b/app/assets/images/favicon-32x32.png differ diff --git a/app/assets/images/favicon-96x96.png b/app/assets/images/favicon-96x96.png new file mode 100644 index 0000000000000..43aaf979b86a8 Binary files /dev/null and b/app/assets/images/favicon-96x96.png differ diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico new file mode 100644 index 0000000000000..89059232c7223 Binary files /dev/null and b/app/assets/images/favicon.ico differ diff --git a/app/assets/images/favorite-heart-outline-button.svg b/app/assets/images/favorite-heart-outline-button.svg new file mode 100644 index 0000000000000..df5a1dea51204 --- /dev/null +++ b/app/assets/images/favorite-heart-outline-button.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/fire.svg b/app/assets/images/fire.svg new file mode 100644 index 0000000000000..d655c77c400f9 --- /dev/null +++ b/app/assets/images/fire.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/github-logo.svg b/app/assets/images/github-logo.svg new file mode 100644 index 0000000000000..d4a23372c1148 --- /dev/null +++ b/app/assets/images/github-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/image-upload.svg b/app/assets/images/image-upload.svg new file mode 100644 index 0000000000000..f5a443079c86d --- /dev/null +++ b/app/assets/images/image-upload.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/info.svg b/app/assets/images/info.svg new file mode 100644 index 0000000000000..a981364f8787d --- /dev/null +++ b/app/assets/images/info.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/instagram-logo.png b/app/assets/images/instagram-logo.png new file mode 100755 index 0000000000000..185e14dd19124 Binary files /dev/null and b/app/assets/images/instagram-logo.png differ diff --git a/app/assets/images/instagram-logo.svg b/app/assets/images/instagram-logo.svg new file mode 100644 index 0000000000000..8020d20574eec --- /dev/null +++ b/app/assets/images/instagram-logo.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/jess.jpg b/app/assets/images/jess.jpg new file mode 100644 index 0000000000000..afbded17d073d Binary files /dev/null and b/app/assets/images/jess.jpg differ diff --git a/app/assets/images/key.svg b/app/assets/images/key.svg new file mode 100644 index 0000000000000..71bf4250b9bf1 --- /dev/null +++ b/app/assets/images/key.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app/assets/images/lightning.svg b/app/assets/images/lightning.svg new file mode 100644 index 0000000000000..988078faa89ff --- /dev/null +++ b/app/assets/images/lightning.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/link.svg b/app/assets/images/link.svg new file mode 100644 index 0000000000000..81eca70b3f109 --- /dev/null +++ b/app/assets/images/link.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/loading-ellipsis.svg b/app/assets/images/loading-ellipsis.svg new file mode 100644 index 0000000000000..f84537f7f1cb0 --- /dev/null +++ b/app/assets/images/loading-ellipsis.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/images/membership-merch.png b/app/assets/images/membership-merch.png new file mode 100644 index 0000000000000..399d6c8ca45ba Binary files /dev/null and b/app/assets/images/membership-merch.png differ diff --git a/app/assets/images/menu.svg b/app/assets/images/menu.svg new file mode 100644 index 0000000000000..ee4281ec65d79 --- /dev/null +++ b/app/assets/images/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/ms-icon-144x144.png b/app/assets/images/ms-icon-144x144.png new file mode 100644 index 0000000000000..7d8edfba578c6 Binary files /dev/null and b/app/assets/images/ms-icon-144x144.png differ diff --git a/app/assets/images/ms-icon-150x150.png b/app/assets/images/ms-icon-150x150.png new file mode 100644 index 0000000000000..673579c175088 Binary files /dev/null and b/app/assets/images/ms-icon-150x150.png differ diff --git a/app/assets/images/ms-icon-310x310.png b/app/assets/images/ms-icon-310x310.png new file mode 100644 index 0000000000000..87c76ad3c9123 Binary files /dev/null and b/app/assets/images/ms-icon-310x310.png differ diff --git a/app/assets/images/ms-icon-70x70.png b/app/assets/images/ms-icon-70x70.png new file mode 100644 index 0000000000000..1c2dbd15cad5e Binary files /dev/null and b/app/assets/images/ms-icon-70x70.png differ diff --git a/app/assets/images/nerd-emoji.png b/app/assets/images/nerd-emoji.png new file mode 100644 index 0000000000000..a4182485bfe82 Binary files /dev/null and b/app/assets/images/nerd-emoji.png differ diff --git a/app/assets/images/pausebutt.png b/app/assets/images/pausebutt.png new file mode 100644 index 0000000000000..2f89c5c14fced Binary files /dev/null and b/app/assets/images/pausebutt.png differ diff --git a/app/assets/images/peace-sign.svg b/app/assets/images/peace-sign.svg new file mode 100644 index 0000000000000..622aaa779b2d4 --- /dev/null +++ b/app/assets/images/peace-sign.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/person-reading.svg b/app/assets/images/person-reading.svg new file mode 100644 index 0000000000000..4c8d935429177 --- /dev/null +++ b/app/assets/images/person-reading.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/play-butt.svg b/app/assets/images/play-butt.svg new file mode 100644 index 0000000000000..f7a2343a1a9f7 --- /dev/null +++ b/app/assets/images/play-butt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/playbutt.png b/app/assets/images/playbutt.png new file mode 100644 index 0000000000000..cb5c55d42f183 Binary files /dev/null and b/app/assets/images/playbutt.png differ diff --git a/app/assets/images/podcast-symbol.svg b/app/assets/images/podcast-symbol.svg new file mode 100644 index 0000000000000..af5b6bf166512 --- /dev/null +++ b/app/assets/images/podcast-symbol.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/podcasts.png b/app/assets/images/podcasts.png new file mode 100644 index 0000000000000..d048d31c4f935 Binary files /dev/null and b/app/assets/images/podcasts.png differ diff --git a/app/assets/images/search.svg b/app/assets/images/search.svg new file mode 100644 index 0000000000000..255d2eb8a3230 --- /dev/null +++ b/app/assets/images/search.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/assets/images/shaking-hands.svg b/app/assets/images/shaking-hands.svg new file mode 100644 index 0000000000000..8c45ac834b5e1 --- /dev/null +++ b/app/assets/images/shaking-hands.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/she-coded-rectangle.png b/app/assets/images/she-coded-rectangle.png new file mode 100644 index 0000000000000..8ac8d15fa14b3 Binary files /dev/null and b/app/assets/images/she-coded-rectangle.png differ diff --git a/app/assets/images/shop-logo.png b/app/assets/images/shop-logo.png new file mode 100644 index 0000000000000..45a81fa629daa Binary files /dev/null and b/app/assets/images/shop-logo.png differ diff --git a/app/assets/images/shopify-logo.svg b/app/assets/images/shopify-logo.svg new file mode 100644 index 0000000000000..fe4e183e69c86 --- /dev/null +++ b/app/assets/images/shopify-logo.svg @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/app/assets/images/sloan.png b/app/assets/images/sloan.png new file mode 100644 index 0000000000000..adaea57406572 Binary files /dev/null and b/app/assets/images/sloan.png differ diff --git a/app/assets/images/smashmouth.mp3 b/app/assets/images/smashmouth.mp3 new file mode 100644 index 0000000000000..ab3bcc26ea188 Binary files /dev/null and b/app/assets/images/smashmouth.mp3 differ diff --git a/app/assets/images/stack.svg b/app/assets/images/stack.svg new file mode 100644 index 0000000000000..3d8806b1aa886 --- /dev/null +++ b/app/assets/images/stack.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/star.svg b/app/assets/images/star.svg new file mode 100644 index 0000000000000..844d5888ed55f --- /dev/null +++ b/app/assets/images/star.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/sustaining-membership.svg b/app/assets/images/sustaining-membership.svg new file mode 100644 index 0000000000000..e2986550524d7 --- /dev/null +++ b/app/assets/images/sustaining-membership.svg @@ -0,0 +1 @@ +member-sticker-no-dev \ No newline at end of file diff --git a/app/assets/images/thepracticaldevlogo.png b/app/assets/images/thepracticaldevlogo.png new file mode 100644 index 0000000000000..796bd03100a49 Binary files /dev/null and b/app/assets/images/thepracticaldevlogo.png differ diff --git a/app/assets/images/three-dots.svg b/app/assets/images/three-dots.svg new file mode 100644 index 0000000000000..ed64ae84daf50 --- /dev/null +++ b/app/assets/images/three-dots.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/tools.svg b/app/assets/images/tools.svg new file mode 100644 index 0000000000000..a7c28020df5ec --- /dev/null +++ b/app/assets/images/tools.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + diff --git a/app/assets/images/triple-unicorn.png b/app/assets/images/triple-unicorn.png new file mode 100644 index 0000000000000..7642503dcb39f Binary files /dev/null and b/app/assets/images/triple-unicorn.png differ diff --git a/app/assets/images/twitch-logo.png b/app/assets/images/twitch-logo.png new file mode 100644 index 0000000000000..6808e6ec887bf Binary files /dev/null and b/app/assets/images/twitch-logo.png differ diff --git a/app/assets/images/twitch-logo.svg b/app/assets/images/twitch-logo.svg new file mode 100644 index 0000000000000..75735f5ca5f2e --- /dev/null +++ b/app/assets/images/twitch-logo.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/app/assets/images/twitter-like-action.png b/app/assets/images/twitter-like-action.png new file mode 100644 index 0000000000000..2c11c49de22f9 Binary files /dev/null and b/app/assets/images/twitter-like-action.png differ diff --git a/app/assets/images/twitter-like-action.svg b/app/assets/images/twitter-like-action.svg new file mode 100644 index 0000000000000..1438a13736f14 --- /dev/null +++ b/app/assets/images/twitter-like-action.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/twitter-logo.svg b/app/assets/images/twitter-logo.svg new file mode 100644 index 0000000000000..30a520b0fd356 --- /dev/null +++ b/app/assets/images/twitter-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/twitter-reply-action.svg b/app/assets/images/twitter-reply-action.svg new file mode 100644 index 0000000000000..25358ef9977c2 --- /dev/null +++ b/app/assets/images/twitter-reply-action.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/twitter-reply-action_0.png b/app/assets/images/twitter-reply-action_0.png new file mode 100644 index 0000000000000..9ffff7610f763 Binary files /dev/null and b/app/assets/images/twitter-reply-action_0.png differ diff --git a/app/assets/images/twitter-retweet-action.png b/app/assets/images/twitter-retweet-action.png new file mode 100644 index 0000000000000..b4e327b60a0bb Binary files /dev/null and b/app/assets/images/twitter-retweet-action.png differ diff --git a/app/assets/images/twitter-retweet-action.svg b/app/assets/images/twitter-retweet-action.svg new file mode 100644 index 0000000000000..75610f6948c2f --- /dev/null +++ b/app/assets/images/twitter-retweet-action.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/images/twitter.svg b/app/assets/images/twitter.svg new file mode 100644 index 0000000000000..dcafb5a4fbff7 --- /dev/null +++ b/app/assets/images/twitter.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/volume-mute.png b/app/assets/images/volume-mute.png new file mode 100644 index 0000000000000..cb88d6efeb51a Binary files /dev/null and b/app/assets/images/volume-mute.png differ diff --git a/app/assets/images/volume.png b/app/assets/images/volume.png new file mode 100644 index 0000000000000..83f0594228614 Binary files /dev/null and b/app/assets/images/volume.png differ diff --git a/app/assets/images/wires.png b/app/assets/images/wires.png new file mode 100644 index 0000000000000..04f4b13c49730 Binary files /dev/null and b/app/assets/images/wires.png differ diff --git a/app/assets/images/write-new.svg b/app/assets/images/write-new.svg new file mode 100644 index 0000000000000..cafa4eec1182b --- /dev/null +++ b/app/assets/images/write-new.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000000000..8a60c2a61d9e5 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,15 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require jquery +//= require jquery_ujs +//= require_tree . \ No newline at end of file diff --git a/app/assets/javascripts/base.js.erb b/app/assets/javascripts/base.js.erb new file mode 100644 index 0000000000000..58164466744fa --- /dev/null +++ b/app/assets/javascripts/base.js.erb @@ -0,0 +1,684 @@ +//= require_tree ./initializers +//= require_tree ./utilities +//= require lib/xss +//= require initializePage +//= require utilities/getImageForLink +//= require airbrake-js-client +//= require serviceworker-companion +//= require algolia/v3/algoliasearch.min +//= require fetch + +var instantClick + , InstantClick = instantClick = function(document, location, $userAgent) { + // Internal variables + var $isChromeForIOS = $userAgent.indexOf(' CriOS/') > -1 + , $currentLocationWithoutHash + , $urlToPreload + , $preloadTimer + , $lastTouchTimestamp + + // Preloading-related variables + , $history = {} + , $xhr + , $url = false + , $mustRedirect = false + , $fetchedBodies = {} + , $timing = {} + , $isPreloading = false + , $isWaitingForCompletion = false + , $trackedAssets = [] + + // Variables defined by public functions + , $preloadOnMousedown + , $delayBeforePreload + , $eventsCallbacks = { + fetch: [], + receive: [], + wait: [], + change: [], + restore: [] + } + + + ////////// HELPERS ////////// + + + function removeHash(url) { + var index = url.indexOf('#') + if (index < 0) { + return url + } + return url.substr(0, index) + } + + function getLinkTarget(target) { + while (target && target.nodeName != 'A') { + target = target.parentNode + } + return target + } + + function isBlacklisted(elem) { + do { + if (!elem.hasAttribute) { // Parent of + break + } + if (elem.hasAttribute('data-instant')) { + return false + } + if (elem.hasAttribute('data-no-instant')) { + return true + } + } + while (elem = elem.parentNode) + return false + } + + function isPreloadable(a) { + var domain = location.protocol + '//' + location.host + + if (a.target // target="_blank" etc. + || a.hasAttribute('download') + || a.href.indexOf(domain + '/') != 0 // Another domain, or no href attribute + || (a.href.indexOf('#') > -1 + && removeHash(a.href) == $currentLocationWithoutHash) // Anchor + || isBlacklisted(a) + ) { + return false + } + return true + } + + function triggerPageEvent(eventType, arg1, arg2, arg3) { + var returnValue = false + for (var i = 0; i < $eventsCallbacks[eventType].length; i++) { + if (eventType == 'receive') { + var altered = $eventsCallbacks[eventType][i](arg1, arg2, arg3) + if (altered) { + /* Update args for the next iteration of the loop. */ + if ('body' in altered) { + arg2 = altered.body + } + if ('title' in altered) { + arg3 = altered.title + } + + returnValue = altered + } + } + else { + $eventsCallbacks[eventType][i](arg1, arg2, arg3) + } + } + return returnValue + } + + function changePage(title, body, newUrl, scrollY, pop) { + // NOT TOTALLY SURE THIS WORKS FOR ALL CASES + // HACKALICIOUS + if (document.getElementById("navigation-butt")) { + document.getElementById("navigation-butt").classList.remove('showing') + } + document.getElementsByTagName("BODY")[0].replaceChild(body, document.getElementById("page-content")) + + var prog = document.getElementById("navigation-progress"); + prog.classList.remove("showing"); + + if (newUrl) { + history.pushState(null, null, newUrl.replace("?samepage=true","").replace("&samepage=true","")) + + var hashIndex = newUrl.indexOf('#') + , hashElem = hashIndex > -1 + && document.getElementById(newUrl.substr(hashIndex + 1)) + , offset = 0, + samePage = newUrl.indexOf("samepage=true") > -1 + + if (hashElem) { + while (hashElem.offsetParent) { + offset += hashElem.offsetTop + + hashElem = hashElem.offsetParent + } + } + if (!samePage){ + scrollTo(0, offset) + } + + + $currentLocationWithoutHash = removeHash(newUrl) + } + else { + scrollTo(0, scrollY) + } + + if ($isChromeForIOS && document.title == title) { + /* Chrome for iOS: + * + * 1. Removes title on pushState, so the title needs to be set after. + * + * 2. Will not set the title if it's identical when trimmed, so + * appending a space won't do; but a non-breaking space works. + */ + document.title = title + String.fromCharCode(160) + } + else { + document.title = title + } + + instantanize() + if (pop) { + triggerPageEvent('restore') + } + else { + triggerPageEvent('change', false) + } + } + + function setPreloadingAsHalted() { + $isPreloading = false + $isWaitingForCompletion = false + } + + function removeNoscriptTags(html) { + /* Must be done on text, not on a node's innerHTML, otherwise strange + * things happen with implicitly closed elements (see the Noscript test). + */ + return html.replace(//gi, '') + } + + + ////////// EVENT LISTENERS ////////// + + + function mousedownListener(e) { + if ($lastTouchTimestamp > (+new Date - 500)) { + return // Otherwise, click doesn't fire + } + + var a = getLinkTarget(e.target) + + if (!a || !isPreloadable(a)) { + return + } + + preload(a.href) + } + + function mouseoverListener(e) { + if ($lastTouchTimestamp > (+new Date - 500)) { + return // Otherwise, click doesn't fire + } + + var a = getLinkTarget(e.target) + + if (!a || !isPreloadable(a)) { + return + } + + a.addEventListener('mouseout', mouseoutListener) + + if (!$delayBeforePreload) { + preload(a.href) + } + else { + $urlToPreload = a.href + $preloadTimer = setTimeout(preload, $delayBeforePreload) + } + getImageForLink(a); + } + + function touchstartListener(e) { + $lastTouchTimestamp = +new Date + var a = getLinkTarget(e.target) + + if (!a || !isPreloadable(a)) { + return + } + + if ($preloadOnMousedown) { + a.removeEventListener('mousedown', mousedownListener) + } + else { + a.removeEventListener('mouseover', mouseoverListener) + } + preload(a.href); + getImageForLink(a); + } + + function clickListener(e) { + try{ + var a = getLinkTarget(e.target) + + if (!a || !isPreloadable(a)) { + return + } + + if (e.which > 1 || e.metaKey || e.ctrlKey) { // Opening in new tab + return + } + display(a.href); + e.preventDefault(); + } + catch(err){ + console.log(err); + } + } + + function mouseoutListener() { + if ($preloadTimer) { + clearTimeout($preloadTimer) + $preloadTimer = false + return + } + + if (!$isPreloading || $isWaitingForCompletion) { + return + } + $xhr.abort() + setPreloadingAsHalted() + } + + function readystatechangeListener() { + processXHR($xhr,$url); + } + + function processXHR(xhr,url) { + if (xhr.readyState < 4) { + return + } + if (xhr.status == 0) { + /* Request aborted */ + return + } + + $timing.ready = +new Date - $timing.start + + if (xhr.getResponseHeader('Content-Type').match(/\/(x|ht|xht)ml/)) { + var doc = document.implementation.createHTMLDocument(''); + doc.documentElement.innerHTML = removeNoscriptTags(xhr.responseText) + var title = doc.title + var body = doc.getElementById("page-content") + var alteredOnReceive = triggerPageEvent('receive', url, body, title) + if (alteredOnReceive) { + if ('body' in alteredOnReceive) { + body = alteredOnReceive.body + } + if ('title' in alteredOnReceive) { + title = alteredOnReceive.title + } + } + + $fetchedBodies[url] = {body:body, title:title}; + var urlWithoutHash = removeHash(url) + + var elems = doc.head.children + , found = 0 + , elem + , data + + for (var i = 0; i < elems.length; i++) { + elem = elems[i] + if (elem.hasAttribute('data-instant-track')) { + data = elem.getAttribute('href') || elem.getAttribute('src') || elem.innerHTML + for (var j = 0; j < $trackedAssets.length; j++) { + if ($trackedAssets[j] == data) { + found++ + } + } + } + } + if (found != $trackedAssets.length) { + $mustRedirect = true // Assets have changed + } + } + else { + $mustRedirect = true // Not an HTML document + } + + if ($isWaitingForCompletion && $url === url) { + $isWaitingForCompletion = false + display($url) + } + } + + function popstateListener() { + var loc = removeHash(location.href) + if (loc == $currentLocationWithoutHash) { + return + } + + if (!(loc in $history)) { + location.href = location.href + return + } + $history[$currentLocationWithoutHash] = { + body: document.getElementById("page-content"), + title: document.title, + scrollY: pageYOffset + } + + $currentLocationWithoutHash = loc + changePage($history[loc].title, $history[loc].body, false, $history[loc].scrollY, true) + } + + + ////////// MAIN FUNCTIONS ////////// + + + function instantanize(isInitializing) { + var docBody = document.body; + if (docBody) { + document.body.addEventListener('touchstart', touchstartListener, true) + if ($preloadOnMousedown) { + document.body.addEventListener('mousedown', mousedownListener, true) + } + else { + document.body.addEventListener('mouseover', mouseoverListener, true) + } + document.body.addEventListener('click', clickListener, true) + } + + if (!isInitializing) { + var scripts = document.body.getElementsByTagName('script') + , script + , copy + , parentNode + , nextSibling + + for (var i = 0, j = scripts.length; i < j; i++) { + script = scripts[i] + if (script.hasAttribute('data-no-instant')) { + continue + } + copy = document.createElement('script') + if (script.src) { + copy.src = script.src + } + if (script.innerHTML) { + copy.innerHTML = script.innerHTML + } + parentNode = script.parentNode + nextSibling = script.nextSibling + parentNode.removeChild(script) + parentNode.insertBefore(copy, nextSibling) + } + } + } + + function preload(url, option) { + if (!$preloadOnMousedown + && 'display' in $timing + && +new Date - ($timing.start + $timing.display) < 100) { + return + } + if ($preloadTimer) { + clearTimeout($preloadTimer) + $preloadTimer = false + } + + if (!url) { + url = $urlToPreload + } + + if ($isPreloading && (url == $url || $isWaitingForCompletion)) { + return + } + $isPreloading = true + $isWaitingForCompletion = false + + $mustRedirect = false + $timing = { + start: +new Date + } + if (url.indexOf("?") == -1) { + var internalUrl = url+"?i=i" + } + else { + var internalUrl = url+"&i=i" + } + removeExpiredKeys() + triggerPageEvent('fetch') + if (!$fetchedBodies[url]){ + if (option === "force") { + getURLInfo(url, function () { + processXHR(this,url); + }) + } + else { + $url = url + $xhr.open('GET', internalUrl) + $xhr.send() + } + } + } + + function removeExpiredKeys(option) { + if ( Object.keys($fetchedBodies).length > 16 || option == "force" ) { + $fetchedBodies = {}; + } + + } + + function getURLInfo(url, callback) { + var xhr = new XMLHttpRequest(); + if (url.indexOf("?") == -1) { + var internalUrl = url+"?i=i" + } + else { + var internalUrl = url+"&i=i" + } + xhr.open ( + "GET", + internalUrl, + true + ); + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + // defensive check + if (typeof callback == "function") { + // apply() sets the meaning of "this" in the callback + callback.apply(xhr); + } + } + } + // send the request *after* the event handler is defined + xhr.send(); + } + + function display(url) { + $url = url; + if($fetchedBodies[url]){ + var body = $fetchedBodies[url]['body']; + var title = $fetchedBodies[url]['title']; + } + else { + var prog = document.getElementById("navigation-progress"); + prog.classList.add("showing"); + } + + if (!('display' in $timing)) { + $timing.display = +new Date - $timing.start + } + if ($preloadTimer || !$isPreloading) { + if ($preloadTimer && $url && $url != url) { + location.href = url + return + } + preload(url) + triggerPageEvent('wait') + $isWaitingForCompletion = true // Must be set *after* calling `preload` + return + } + if ($isWaitingForCompletion) { + /* The user clicked on a link while a page was preloading. Either on + the same link or on another link. If it's the same link something + might have gone wrong (or he could have double clicked, we don't + handle that case), so we send him to the page without pjax. + If it's another link, it hasn't been preloaded, so we redirect the + user to it. + */ + location.href = url + return + } + if ($mustRedirect) { + location.href = $url + return + } + + if (!body) { + triggerPageEvent('wait') + $isWaitingForCompletion = true + return + } + $history[$currentLocationWithoutHash] = { + body: document.getElementById("page-content"), + title: document.title, + scrollY: pageYOffset + } + setPreloadingAsHalted() + changePage(title, body, $url) + } + + + ////////// PUBLIC VARIABLE AND FUNCTIONS ////////// + + var supported = 'pushState' in history + && (!$userAgent.match('Android') || $userAgent.match('Chrome/') || $userAgent.match('Firefox/')) + && location.protocol != "file:" + + /* The (sad) state of Android's AOSP browsers: + + 2.3.7: pushState appears to work correctly, but + `doc.documentElement.innerHTML = body` is buggy. + Update: InstantClick doesn't use that anymore, but it may + fail where 3.0 do, this needs testing again. + + 3.0: pushState appears to work correctly (though the address bar is + only updated on focus), but + `document.documentElement.replaceChild(doc.body, document.body)` + throws DOMException: WRONG_DOCUMENT_ERR. + + 4.0.2: Doesn't support pushState. + + 4.0.4, + 4.1.1, + 4.2, + 4.3: Claims support for pushState, but doesn't update the address bar. + + 4.4: Works correctly. Claims to be 'Chrome/30.0.0.0'. + + All androids tested with Android SDK's Emulator. + Version numbers are from the browser's user agent. + + Because of this mess, the only whitelisted browser on Android is Chrome. + */ + + function init(preloadingMode) { + if ($currentLocationWithoutHash) { + /* Already initialized */ + return + } + if (!supported) { + triggerPageEvent('change', true) + return + } + + if (preloadingMode == 'mousedown') { + $preloadOnMousedown = true + } + else if (typeof preloadingMode == 'number') { + $delayBeforePreload = preloadingMode + } + $currentLocationWithoutHash = removeHash(location.href) + $history[$currentLocationWithoutHash] = { + body: document.getElementById("page-content"), + title: document.title, + scrollY: pageYOffset + } + + var elems = document.head.children + , elem + , data + for (var i = 0; i < elems.length; i++) { + elem = elems[i] + if (elem.hasAttribute('data-instant-track')) { + data = elem.getAttribute('href') || elem.getAttribute('src') || elem.innerHTML + /* We can't use just `elem.href` and `elem.src` because we can't + retrieve `href`s and `src`s from the Ajax response. + */ + $trackedAssets.push(data) + } + } + + $xhr = new XMLHttpRequest() + $xhr.addEventListener('readystatechange', readystatechangeListener) + + instantanize(true) + + triggerPageEvent('change', true) + + addEventListener('popstate', popstateListener) + } + + function on(eventType, callback) { + $eventsCallbacks[eventType].push(callback) + } + + + //////////////////// + + + return { + supported: supported, + init: init, + isPreloadable: isPreloadable, + preload: preload, + removeExpiredKeys: removeExpiredKeys, + display: display, + on: on + } + +}(document, location, navigator.userAgent); + + +//FUNCTIONAL CODE FOR PAGE + + function initializeBaseApp() { + InstantClick.on('change', function() { + initializePage(); + }); + InstantClick.init(); + } + + + // INITIALIZE/ERROR HANDLING + + function initializeAirbrake() { + + <% if Rails.env.production? %> + var airbrake = new airbrakeJs.Client({projectId: 1, projectKey: '<%=ENV["AIRBRAKE_API_KEY"]%>'}); + airbrake.addFilter(function(notice) { + notice.context.environment = "<%= Rails.env %>"; + return notice; + }); + try { + initializeBaseApp() + } catch (err) { + airbrake.notify(err); + } + <% else %> + initializeBaseApp() + <% end %> + } + + if (typeof airbrakeJs !== 'undefined') { + initializeAirbrake(); + } + else { + var waitingOnAirbrake = setInterval(function(){ + if (typeof airbrakeJs !== 'undefined') { + initializeAirbrake(); + clearInterval(waitingOnAirbrake); + } + },1); + } diff --git a/app/assets/javascripts/initializePage.js.erb b/app/assets/javascripts/initializePage.js.erb new file mode 100644 index 0000000000000..52335ea3f56c1 --- /dev/null +++ b/app/assets/javascripts/initializePage.js.erb @@ -0,0 +1,60 @@ +function initializePage(){ + initializeLocalStorageRender(); + initializeStylesheetAppend(); + initializeFetchFollowedArticles(); + callInitalizers(); +} + +function callInitalizers(){ + initializeLocalStorageRender(); + initializeBodyData(); + var waitingForDataLoad = setInterval(function(){ + if (document.getElementsByTagName('body')[0].getAttribute('data-loaded') == "true") { + clearInterval(waitingForDataLoad); + if (document.getElementsByTagName('body')[0].getAttribute('data-user-status') == "logged-in") { + initializeBaseUserData(); + } + initializeReadingListPage(); + initializeAllFollowButts(); + initializeReadingListIcons(); + initializeSponsorshipVisibility(); + if ( document.getElementById("sidebar-additional") ) { + document.getElementById("sidebar-additional").classList.add("showing"); + } + } + },1) + initializeBaseTracking(); + initializeTouchDevice(); + initializeKeyListeners(); + initializeCommentsPage(); + initEditorResize(); + initLeaveEditorWarning(); + initializeArticleReactions(); + initNotifications(); + initializeSplitTestTracking(); + initializeNavSearchListener(); + initializePreloads(); + initializeStylesheetAppend(); + initializeAnalytics(); + initializeCommentDropdown(); + initializeSettings(); + if (!initializeLiveArticle.called){ + initializeLiveArticle(); + } + + initializeDrawerSliders(); + + function freezeScrolling(event){ + event.preventDefault(); + } + + nextPage = 0; + fetching = false; + done = false; + setTimeout(function(){ + done = false; + },300); + if(!initScrolling.called) { + initScrolling(); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initEditorResize.js b/app/assets/javascripts/initializers/initEditorResize.js new file mode 100644 index 0000000000000..404b2011eb131 --- /dev/null +++ b/app/assets/javascripts/initializers/initEditorResize.js @@ -0,0 +1,83 @@ +/** + * This auto-resize function is made for textarea in /new. + * It is a slightly modified version of the solution found here. + * stackoverflow.com/questions/18262729/ how-to-stop-window-jumping-when-typing-in-autoresizing-textarea + */ +function initEditorResize() { + var observe, scrollLeft, scrollTop; + var textarea = document.getElementById('article_body_markdown'); + + if (!textarea) { + return; + } + + if (window.attachEvent) { + observe = function(element, event, handler) { + element.attachEvent('on' + event, handler); + }; + } else { + observe = function(element, event, handler) { + element.addEventListener(event, handler, false); + }; + } + + function getScrollLeft() { + return ( + window.pageXOffset || + (document.documentElement || document.body.parentNode || document.body) + .scrollLeft + ); + } + + function getScrollTop() { + return ( + window.pageYOffset || + (document.documentElement || document.body.parentNode || document.body) + .scrollTop + ); + } + + function resize() { + textarea.style.height = 'auto'; + textarea.style.height = textarea.scrollHeight - 24 + 'px'; + resizeHighlightArea(textarea.scrollHeight - 24); + window.scrollTo(scrollLeft, scrollTop); + } + + function resizeHighlightArea(height) { + function getbyClass(name) { + return document.getElementsByClassName(name); + } + if ( + getbyClass('highlightTextarea-container')[0] && + getbyClass('highlightTextarea')[0] + ) { + getbyClass('highlightTextarea-container')[0].style.height = + height - 4 + 'px'; + getbyClass('highlightTextarea-highlighter')[0].style.height = + height + 'px'; + getbyClass('highlightTextarea')[0].style.height = height + 132 + 'px'; + } + } + + function delayedResize() { + /** + * scrollLeft and scrollTop are kept in delayedResize because + * of a weird browser auto-focused when pressing enter in a textarea. + * This happens when the carot is either too low or too high based on + * the screen. + */ + scrollLeft = getScrollLeft(); + scrollTop = getScrollTop(); + /* 0-timeout to get the already changed text */ + window.setTimeout(resize, 0); + } + + // observe(textarea, 'change', resize); + observe(textarea, 'cut', delayedResize); + observe(textarea, 'paste', delayedResize); + observe(textarea, 'drop', delayedResize); + observe(textarea, 'keydown', delayedResize); + textarea.focus(); + resize(); +} diff --git a/app/assets/javascripts/initializers/initLeaveEditorWarning.js b/app/assets/javascripts/initializers/initLeaveEditorWarning.js new file mode 100644 index 0000000000000..351b100492427 --- /dev/null +++ b/app/assets/javascripts/initializers/initLeaveEditorWarning.js @@ -0,0 +1,35 @@ +function initLeaveEditorWarning() { + var textarea = document.getElementById('article_body_markdown'); + var articleForm = document.getElementById('article_markdown_form'); + var formIsSubmitting = false; + + if (textarea && articleForm) { + if (window.location.pathname == '/articles') { + /** + * this is when user tried to save already but there was an markdown + * error. + */ + window.editorIsDirty = true; + } else { + window.editorIsDirty = window.editorIsDirty || false; + } + textarea.oninput = function (e) { + window.editorIsDirty = true; + } + articleForm.onsubmit = function (e) { + formIsSubmitting = true; + } + } + + window.onbeforeunload = function (e) { + var isAtTheRightPage = window.location.href.includes('/new') || + window.location.href.includes('/edit') || + window.location.pathname == '/articles'; + if (window.editorIsDirty && isAtTheRightPage && !formIsSubmitting) { + /** + * Message may not appear as it depends on the browser + */ + return "Changes you've made will be lost."; + } + }; +} diff --git a/app/assets/javascripts/initializers/initNotifications.js b/app/assets/javascripts/initializers/initNotifications.js new file mode 100644 index 0000000000000..28d055d922dc7 --- /dev/null +++ b/app/assets/javascripts/initializers/initNotifications.js @@ -0,0 +1,118 @@ +function initNotifications() { + fetchNotificationsCount(); + markNotificationsAsRead(); + initReactions(); + listenForNotificationsBellClick(); +} + +function markNotificationsAsRead() { + setTimeout(function () { + if (document.getElementById('notifications-container')) { + var xmlhttp; + if (window.XMLHttpRequest) { + xmlhttp = new XMLHttpRequest(); + } else { + xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); + } + xmlhttp.onreadystatechange = function () { + }; + xmlhttp.open('Post', '/notifications/reads', true); + xmlhttp.send(); + } + }, 120); +} + +function fetchNotificationsCount() { + if (document.getElementById('notifications-container') == null && checkUserLoggedIn()) { + var xmlhttp; + if (window.XMLHttpRequest) { + xmlhttp = new XMLHttpRequest(); + } else { + xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); + } + xmlhttp.onreadystatechange = function () { + if (xmlhttp.readyState == XMLHttpRequest.DONE) { + var count = xmlhttp.response; + if (isNaN(count)) { + document.getElementById('notifications-number').classList.remove('showing'); + } else if (count != '0' && count != undefined && count != "") { + document.getElementById('notifications-number').innerHTML = xmlhttp.response; + document.getElementById('notifications-number').classList.add('showing'); + if(instantClick){ + InstantClick.removeExpiredKeys("force"); + setTimeout(function(){ + InstantClick.preload(document.getElementById("notifications-link").href, "force"); + },30) + } + } else { + document.getElementById('notifications-number').classList.remove('showing'); + } + } + }; + var timeString = (Date.now()).toString(); + xmlhttp.open('Get', '/notifications/counts', true); + xmlhttp.send(); + } + else if (document.getElementById("notifications-container") == null) { + document.getElementById("notifications-number").innerHTML = "1"; + document.getElementById("notifications-number").classList.add("showing"); + } +} + +function initReactions() { + setTimeout(function () { + if (document.getElementById('notifications-container')) { + var butts = document.getElementsByClassName('reaction-button'); + for (var i = 0; i < butts.length; i++) { + var butt = butts[i]; + butt.onclick = function (event) { + event.preventDefault(); + var thisButt = this; + thisButt.classList.add('reacted'); + + function successCb(response) { + if (response.result === 'create') { + thisButt.classList.add('reacted'); + } else { + thisButt.classList.remove('reacted'); + } + } + + var formData = new FormData(); + formData.append('reactable_type', thisButt.dataset.reactableType); + formData.append('category', thisButt.dataset.category); + formData.append('reactable_id', thisButt.dataset.reactableId); + + getCsrfToken() + .then(sendFetch('reaction-creation', formData)) + .then(function (response) { + if (response.status === 200) { + response.json().then(successCb); + } + }); + }; + } + var butts = document.getElementsByClassName('toggle-reply-form'); + for (var i = 0; i < butts.length; i++) { + var butt = butts[i]; + butt.onclick = function (event) { + event.preventDefault(); + var thisButt = this; + document.getElementById('comment-form-for-' + thisButt.dataset.reactableId).classList.add('showing'); + thisButt.innerHTML = ''; + setTimeout(function () { + document.getElementById('comment-textarea-for-' + thisButt.dataset.reactableId).focus(); + }, 30); + }; + } + } + }, 180); +} + +function listenForNotificationsBellClick() { + setTimeout(function () { + document.getElementById('notifications-link').onclick = function () { + document.getElementById('notifications-number').classList.remove('showing'); + }; + }, 180); +} diff --git a/app/assets/javascripts/initializers/initScrolling.js.erb b/app/assets/javascripts/initializers/initScrolling.js.erb new file mode 100644 index 0000000000000..157e515ed9700 --- /dev/null +++ b/app/assets/javascripts/initializers/initScrolling.js.erb @@ -0,0 +1,113 @@ +function initScrolling() { + client = algoliasearch('<%= ENV["ALGOLIASEARCH_APPLICATION_ID"] %>', '<%= ENV["ALGOLIASEARCH_SEARCH_ONLY_KEY"] %>'); + articlesIndex = client.initIndex('ordered_articles_<%= Rails.env %>'); + checkIfNearBottomOfPage(); +} + +function checkIfNearBottomOfPage() { + var elCheck = document.getElementById("index-container"); + if (elCheck) { + initScrolling.called = true; + if (document.getElementsByClassName("single-article").length < 2 || location.search.indexOf("q=") > -1 ) { + document.getElementById("loading-articles").style.display = "none" + done = true; + } + else { + document.getElementById("loading-articles").style.display = "block" + } + fetchNextPageIfNearBottom(); + setInterval(function(){ + fetchNextPageIfNearBottom(); + },210) + } +} + +function fetchNextPageIfNearBottom() { + var elCheck = document.getElementById("index-container") && !document.getElementById("query-wrapper"); + if (!elCheck) { + return; + } + if ( !done && !fetching && (window.scrollY) > (document.documentElement.scrollHeight - 3700) ) { + fetching = true; + var el = document.getElementById("index-container"); + var indexWhich = el.dataset.which; + if (indexWhich == "podcast-episodes") { + fetchNextPodcastPage(el); + } else { + algoliaPaginate(el.dataset.algoliaTag); + } + } +} + +function fetchNextPodcastPage(el){ + var indexParams = JSON.parse(el.dataset.params); + var urlParams = Object.keys(indexParams).map(function(k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(indexParams[k]) + }).join('&'); + if (urlParams.indexOf("q=") > -1 ) { + return; + } + var endpoint = '/api/podcast_episodes' + var fetchUrl = (endpoint+'?page='+nextPage+"&"+urlParams+"&signature="+parseInt(Date.now()/400000)).replace("&&","&") + window.fetch(fetchUrl) + .then(function(response) { + response.json().then(function(articles) { + nextPage += 1; + insertArticles(articles); + if (articles.length == 0) { + document.getElementById("loading-articles").style.display = "none" + done = true; + } + }); + }).catch(function(err) { + console.log(err); + }); +} + +function insertArticles(articles) { + var list = document.getElementById("substories"); + var newArticlesHTML = ""; + articles.forEach(function(article){ + var existingEl = document.getElementById("article-link-"+article.id); + if ( existingEl && + existingEl.parentElement && + existingEl.parentElement.classList.contains('single-article-small-pic') && + !document.getElementById("video-player-"+article.id)) { + existingEl.parentElement.outerHTML = buildArticleHTML(article); + } else if(!existingEl) { + var newHTML = buildArticleHTML(article) + newArticlesHTML += newHTML + initializeReadingListIcons(); + } + }); + var distanceFromBottom = document.documentElement.scrollHeight - document.body.scrollTop; + var newNode = document.createElement("div"); + newNode.innerHTML = newArticlesHTML; + var singleArticles = document.getElementsByClassName("single-article"); + var lastElement = singleArticles[singleArticles.length - 1]; + insertAfter(newNode, lastElement); + if (nextPage > 0) { + fetching = false; + } +} + +function algoliaPaginate(tag){ + var filters = []; + if (tag && tag.length > 0) { + filters.push(tag); + } + articlesIndex.search("*", { + hitsPerPage: 30, + page: nextPage, + attributesToHighlight: [], + tagFilters: filters, + }) + .then(function searchDone(content) { + nextPage += 1; + insertArticles(content.hits); + if (content.hits.length == 0) { + document.getElementById("loading-articles").style.display = "none" + done = true; + } + }); +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeAllFollowButts.js b/app/assets/javascripts/initializers/initializeAllFollowButts.js new file mode 100644 index 0000000000000..6ca8939c353c8 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeAllFollowButts.js @@ -0,0 +1,146 @@ +function initializeAllFollowButts() { + var followButts = document.getElementsByClassName('follow-action-button'); + for(var i = 0; i < followButts.length; i++) { + initializeFollowButt(followButts[i]); + } +} + +//private + +function initializeFollowButt(butt) { + var user = userData() + var deviceWidth = (window.innerWidth > 0) ? window.innerWidth : screen.width; + var buttInfo = JSON.parse(butt.dataset.info); + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + if (userStatus === 'logged-out') { + addModalEventListener(butt); + return; + } + if (buttInfo.className === 'Tag' && user) { + handleTagButtAssignment(user, butt, buttInfo); + return; + } + else { + fetchButt(butt, buttInfo); + } +} + +function addModalEventListener(butt) { + assignState(butt, 'login'); + butt.onclick = function (e) { + e.preventDefault(); + showModal('follow-button'); + return; + } +} + +function fetchButt(butt, buttInfo) { + var dataRequester; + if (window.XMLHttpRequest) { + dataRequester = new XMLHttpRequest(); + } else { + dataRequester = new ActiveXObject('Microsoft.XMLHTTP'); + } + dataRequester.onreadystatechange = function() { + if (dataRequester.readyState === XMLHttpRequest.DONE && dataRequester.status === 200) { + addButtClickHandle(dataRequester.response, butt); + } + } + dataRequester.open('GET', '/follows/' + buttInfo.id + '?followable_type=' + buttInfo.className, true); + dataRequester.send(); +} + +function addButtClickHandle(response, butt) { + // currently lacking error handling + var buttInfo = JSON.parse(butt.dataset.info); + assignInitialButtResponse(response, butt); + butt.onclick = function(e) { + e.preventDefault(); + handleOptimisticButtRender(butt); + } +} + +function handleTagButtAssignment(user, butt, buttInfo) { + var buttAssignmentBoolean = JSON.parse(user.followed_tags).map(function (a) { return a.id; }).indexOf(buttInfo.id) !== -1; + var buttAssignmentBoolText = buttAssignmentBoolean ? 'true' : 'false'; + addButtClickHandle(buttAssignmentBoolText, butt); + shouldNotFetch = true; +} + +function assignInitialButtResponse(response, butt) { + butt.classList.add('showing'); + if (response === 'true') { + assignState(butt, 'unfollow'); + } + else if (response === 'false') { + assignState(butt, 'follow'); + } + else if (response === 'self') { + assignState(butt, 'self'); + } + else { + assignState(butt, 'login'); + } +} + +function handleOptimisticButtRender(butt) { + if (butt.dataset.verb === 'self') { + window.location.href = '/settings'; + } else if (butt.dataset.verb === 'login') { + showModal('follow-button'); + } else { + // Andy: this should handle following tags/users + assignState(butt, butt.dataset.verb); + handleFollowButtPress(butt); + } +} + +function handleFollowButtPress(butt) { + var buttonDataInfo = JSON.parse(butt.dataset.info); + var formData = new FormData(); + formData.append('followable_type', buttonDataInfo.className); + formData.append('followable_id', buttonDataInfo.id); + formData.append('verb', butt.dataset.verb); + getCsrfToken().then(sendFetch('follow-creation', formData)); +} + +function assignState(butt, newState) { + var style = ''; + if (butt.dataset.info) { + style = JSON.parse(butt.dataset.info).style; + } + butt.classList.add('showing'); + if (newState === 'follow') { + butt.dataset.verb = 'unfollow'; + butt.classList.add('following-butt'); + addFollowText(butt, style); + } else if (newState === 'login') { + addFollowText(butt, style); + } else if (newState === 'self') { + butt.dataset.verb = 'self'; + butt.innerHTML = 'EDIT PROFILE'; + } else { + butt.dataset.verb = 'follow'; + addFollowingText(butt, style); + butt.classList.remove('following-butt'); + } +} + +function addFollowText(butt, style) { + if (style === 'small') { + butt.innerHTML = '+'; + } else if (style === 'follow-back') { + butt.innerHTML = '+ FOLLOW BACK'; + } else { + butt.innerHTML = '+ FOLLOW'; + } +} + +function addFollowingText(butt, style) { + if (style === 'small') { + butt.innerHTML = '✓'; + } else { + butt.innerHTML = '✓ FOLLOWING'; + } +} + diff --git a/app/assets/javascripts/initializers/initializeAnalytics.js b/app/assets/javascripts/initializers/initializeAnalytics.js new file mode 100644 index 0000000000000..ebbbb6c8c17af --- /dev/null +++ b/app/assets/javascripts/initializers/initializeAnalytics.js @@ -0,0 +1,30 @@ +function initializeAnalytics() { + if (getCurrentPage("dashboards-show")) { + var els = document.querySelectorAll('[data-analytics-pageviews]'); + if (els.length === 0) { return; } + var ids = []; + for(var i = 0; i < els.length; i++) { + ids.push(els[i].dataset.articleId) + } + // .map(function() {return this.dataset.reactableId}); + window.fetch('/analytics?article_ids='+ids.join(","), {headers: {Accept: 'application/json'}, credentials: 'same-origin'}) + .then(function(response) { + response.json().then(function(json) { + var total = 0; + for (var k in json){ + total = total + Number(json[k]); + document.getElementById("pageviews-"+k).innerHTML = numberWithCommas(json[k]) + " VIEWS"; + document.getElementById("pageviews-"+k).classList.add("loaded"); + document.getElementById("dashboard-analytics").innerHTML = "Total Views: "+ numberWithCommas(total); + } + document.getElementById("dashboard-analytics-header").classList.add("loaded"); + }); + }).catch(function(err) { + console.log(err); + }); + } +} + +function numberWithCommas(x) { + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); +} diff --git a/app/assets/javascripts/initializers/initializeArticleReactions.js b/app/assets/javascripts/initializers/initializeArticleReactions.js new file mode 100644 index 0000000000000..1c4963fb508c1 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeArticleReactions.js @@ -0,0 +1,97 @@ +function initializeArticleReactions() { + setTimeout(function(){ + if(document.getElementById("article-body")){ + var articleId = document.getElementById("article-body").dataset.articleId; + if ( document.getElementById("article-reaction-actions") ) { + + var ajaxReq; + var thisButt = this; + if (window.XMLHttpRequest) { + ajaxReq = new XMLHttpRequest(); + } else { + ajaxReq = new ActiveXObject("Microsoft.XMLHTTP"); + } + ajaxReq.onreadystatechange = function() { + if (ajaxReq.readyState == XMLHttpRequest.DONE ) { + var json = JSON.parse(ajaxReq.response); + json.article_reaction_counts.forEach(function(reaction){ + if (reaction.count > 0) { + document.getElementById("reaction-butt-"+reaction.category).classList.add("activated") + document.getElementById("reaction-number-"+reaction.category).innerHTML = reaction.count; + } + }) + json.reactions.forEach(function(reaction){ + if (document.getElementById("reaction-butt-"+reaction.category)){ + document.getElementById("reaction-butt-"+reaction.category).classList.add("user-activated") + } + }) + + } + } + ajaxReq.open("GET", getReactionsPath()+"?article_id="+articleId, true); + ajaxReq.send(); + } + } + var reactionButts = document.getElementsByClassName("article-reaction-butt") + for(var i = 0; i < reactionButts.length; i++) { + reactionButts[i].onclick = function(e) { + reactToArticle(articleId, this.dataset.category) + }; + } + },3) +} + +function reactToArticle(articleId, reaction) { + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + if (userStatus == "logged-out") { + showModal("react-to-article"); + return; + } else { + document.getElementById("reaction-butt-"+reaction).classList.add("user-activated") + } + + function createFormdata() { + /* + * What's not shown here is that "authenticity_token" is included in this formData. + * The logic can be seen in sendFetch.js. + */ + var formData = new FormData(); + formData.append("reactable_type", "Article"); + formData.append("reactable_id", articleId); + formData.append("category", reaction); + return formData; + } + + function successCb(response) { + var num = document.getElementById("reaction-number-"+reaction).innerHTML; + if (response.result == "create") { + document.getElementById("reaction-butt-"+reaction).classList.add("user-activated") + if (num == "") { + document.getElementById("reaction-number-"+reaction).innerHTML = "1"; + } else{ + document.getElementById("reaction-number-"+reaction).innerHTML = parseInt(num) + 1; + } + } else { + document.getElementById("reaction-butt-"+reaction).classList.remove("user-activated") + if (num == 1) { + document.getElementById("reaction-butt-"+reaction).classList.remove("activated") + document.getElementById("reaction-number-"+reaction).innerHTML = ""; + } else { + document.getElementById("reaction-number-"+reaction).innerHTML = parseInt(num) - 1; + } + } + } + + getCsrfToken() + .then(sendFetch("reaction-creation", createFormdata())) + .then(function (response) { + if (response.status === 200) { + return response.json().then(successCb); + } else { + // there's currently no errorCb. + } + }) + .catch(function (error) { + // there's currently no error handling. + }) +} diff --git a/app/assets/javascripts/initializers/initializeBaseTracking.js.erb b/app/assets/javascripts/initializers/initializeBaseTracking.js.erb new file mode 100644 index 0000000000000..f12873ee27f4c --- /dev/null +++ b/app/assets/javascripts/initializers/initializeBaseTracking.js.erb @@ -0,0 +1,71 @@ +function initializeBaseTracking() { + var wait = 0; + var waitingOnGA = setInterval(function(){ + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + wait++; + if(window.ga && ga.create){ + ga('create', '<%= ENV["GA_TRACKING_ID"] %>', 'auto'); + ga('send', 'pageview', location.pathname + location.search); + clearInterval(waitingOnGA); + } + if (wait > 60 ) { + clearInterval(waitingOnGA); + cromulent(); + } + },25) + facebookTrackingScript(); +} + +//This function is cromulent +function cromulent() { + var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + var screenW = window.screen.availWidth; + var screenH = window.screen.availHeight; + var dataBody = { + path: location.pathname + location.search, + user_language: navigator.language, + referrer: document.referrer, + user_agent: navigator.userAgent, + viewport_size: h+"x"+w, + screen_resolution: screenH+"x"+screenW, + document_title: document.title, + document_encoding: document.characterSet, + document_path: location.pathname + location.search, + } + window.fetch('/cromulent',{ + method: 'POST', + headers: {Accept: 'application/json'}, + body: JSON.stringify(dataBody), + credentials: 'same-origin' + }).then(function() { console.log("hello") }); +} + +function facebookTrackingScript() { + if(typeof fbq === 'undefined') { + !function(f,b,e,v,n,t,s) + {if(f.fbq)return;n=f.fbq=function(){n.callMethod? + n.callMethod.apply(n,arguments):n.queue.push(arguments)}; + if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; + n.queue=[];t=b.createElement(e);t.async=!0; + t.src=v;s=b.getElementsByTagName(e)[0]; + s.parentNode.insertBefore(t,s)}(window, document,'script', + 'https://connect.facebook.net/en_US/fbevents.js'); + fbq('init', '<%= ENV["FACEBOOK_PIXEL_ID"] %>'); + fbTrack(); + } + else { + fbTrack(); + } +} + +function fbTrack() { + fbq('track', 'PageView'); + if (document.location.search.indexOf("newly-registered-user=true") > -1) { + fbq('track', 'CompleteRegistration'); + history.replaceState(null, document.title, window.location.href.replace("?newly-registered-user=true","")) + } +} diff --git a/app/assets/javascripts/initializers/initializeBaseUserData.js b/app/assets/javascripts/initializers/initializeBaseUserData.js new file mode 100644 index 0000000000000..8e4420952afab --- /dev/null +++ b/app/assets/javascripts/initializers/initializeBaseUserData.js @@ -0,0 +1,39 @@ +function initializeBaseUserData(){ + var user = userData() + var userProfileLinkHTML = '
@'+user.username+'
' + document.getElementById("user-profile-link-placeholder").innerHTML = userProfileLinkHTML; + document.getElementById("nav-profile-image").src = user.profile_image_90; + initializeUserSidebar(user); +} + +function initializeUserSidebar(user) { + if (document.getElementById("sidebar-nav")) { + initializeUserProfileContent(user); + var tagHTML = ""; + var renderedTagsCount = 0; + var followedTags = JSON.parse(user.followed_tags); + if (followedTags.length === 0) { + document.getElementById("tag-separator").innerHTML = "Follow tags to improve your feed" + } + followedTags.forEach(function(t){ + renderedTagsCount++ + tagHTML = tagHTML + ''; + if (document.getElementById("default-sidebar-element-"+t.name)){ + document.getElementById("default-sidebar-element-"+t.name).remove(); + } + }); + document.getElementById("sidebar-nav-followed-tags").innerHTML = tagHTML; + document.getElementById("sidebar-nav-default-tags").classList.add("showing"); + } +} + +function initializeUserProfileContent(user) { + document.getElementById("sidebar-profile-pic").innerHTML = '' + document.getElementById("sidebar-profile-name").innerHTML = user.name + document.getElementById("sidebar-profile-username").innerHTML = '@'+user.username + document.getElementById("sidebar-profile-snapshot-inner").href = "/"+user.username; +} diff --git a/app/assets/javascripts/initializers/initializeBodyData.js b/app/assets/javascripts/initializers/initializeBodyData.js new file mode 100644 index 0000000000000..e1b5cb95db446 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeBodyData.js @@ -0,0 +1,56 @@ + +function initializeBodyData() { + if (checkUserLoggedIn()) { + fetchBaseData(); + } + else { + document.getElementsByTagName('body')[0].dataset.loaded = "true"; + } +} + +function fetchBaseData() { + var xmlhttp; + if (window.XMLHttpRequest) { + xmlhttp = new XMLHttpRequest(); + } else { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } + xmlhttp.onreadystatechange = function() { + if (xmlhttp.readyState == XMLHttpRequest.DONE ) { + var json = JSON.parse(xmlhttp.responseText); + if (json.token) { + removeExistingCSRF(); + } + var meta = document.createElement('meta'); + var metaTag = document.querySelector("meta[name='csrf-token']"); + meta.name = "csrf-param"; + meta.content = json.param; + document.getElementsByTagName('head')[0].appendChild(meta); + var meta = document.createElement('meta'); + meta.name = "csrf-token"; + meta.content = json.token; + document.getElementsByTagName('head')[0].appendChild(meta); + document.getElementsByTagName('body')[0].dataset.user = json.user; + document.getElementsByTagName('body')[0].dataset.loaded = "true"; + browserStoreCache("set",json.user) + setTimeout(function(){ + if (typeof ga === "function") { + ga('set', 'userId', JSON.parse(json.user).id); + } + },400) + } + }; + var timeString = (Date.now()).toString(); + xmlhttp.open("GET", "/async_info/base_data", true); + xmlhttp.send(); +} + + +function removeExistingCSRF(){ + var csrfTokenMeta = document.querySelector("meta[name='csrf-token']"); + var csrfParamMeta = document.querySelector("meta[name='csrf-param']"); + if (csrfTokenMeta && csrfParamMeta) { + csrfTokenMeta.parentNode.removeChild(csrfTokenMeta); + csrfParamMeta.parentNode.removeChild(csrfParamMeta); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeCommentDropdown.js b/app/assets/javascripts/initializers/initializeCommentDropdown.js new file mode 100644 index 0000000000000..d955af9651a18 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeCommentDropdown.js @@ -0,0 +1,45 @@ +function initializeCommentDropdown() { + setTimeout(function () { + var allDropdowns = document.getElementsByClassName('dropbtn'); + for (i = 0; i < allDropdowns.length; i++) { + allDropdowns[i].onclick = dropdownFunction + } + }, 100); + + function dropdownFunction(e) { + var button = e.target.parentElement; + var currentElement = button.parentElement.getElementsByClassName('dropdown-content')[0]; + if (currentElement.classList.contains('showing')) { + currentElement.classList.remove('showing'); + removeClickListener(); + } else { + removeAllShowing(); + currentElement.classList.add('showing'); + document.addEventListener('click', outsideClickListener); + } + } + + function outsideClickListener(event) { + if (shouldCloseDropdown(event)) { + removeAllShowing() + removeClickListener(); + } + } + + function shouldCloseDropdown(event) { + return !(event.target.matches('.dropdown-icon') || + event.target.matches('.dropbtn') || + event.target.parentElement.classList.contains("dropdown-link-row")) + } + + function removeClickListener() { + document.removeEventListener('click', outsideClickListener); + } + + function removeAllShowing() { + var allDropdowns = document.getElementsByClassName('showing'); + for (var i = 0; i < allDropdowns.length; i += 1) { + allDropdowns[i].classList.remove('showing'); + } + } +} diff --git a/app/assets/javascripts/initializers/initializeCommentsPage.js.erb b/app/assets/javascripts/initializers/initializeCommentsPage.js.erb new file mode 100644 index 0000000000000..708d8a47be5eb --- /dev/null +++ b/app/assets/javascripts/initializers/initializeCommentsPage.js.erb @@ -0,0 +1,389 @@ +function initializeCommentsPage() { + if (document.getElementById('comments-container')) { + toggleCodeOfConduct(); + var commentableId = document.getElementById('comments-container').dataset.commentableId; + var commentableType = document.getElementById('comments-container').dataset.commentableType; + var ajaxReq; + if (window.XMLHttpRequest) { + ajaxReq = new XMLHttpRequest(); + } else { + ajaxReq = new ActiveXObject('Microsoft.XMLHTTP'); + } + ajaxReq.onreadystatechange = function () { + if (ajaxReq.readyState === XMLHttpRequest.DONE) { + var responseObj = JSON.parse(ajaxReq.response); + var reactions = responseObj.reactions; + var allNodes = document.getElementsByClassName('single-comment-node'); + var positiveReactionCounts = responseObj.positive_reaction_counts; + for (var i = 0; i < reactions.length; i++) { + var buttForComment = document.getElementById('button-for-comment-' + reactions[i].reactable_id); + if (buttForComment) { + buttForComment.classList.add('reacted'); + } + } + for (var i = 0; i < positiveReactionCounts.length; i++) { + var buttForComment = document.getElementById('button-for-comment-' + positiveReactionCounts[i].id); + if (buttForComment) { + if (positiveReactionCounts[i].count > 0) { + if (!document.getElementById('reactions-count-' + positiveReactionCounts[i].id)) { + buttForComment.innerHTML = buttForComment.innerHTML + "" + positiveReactionCounts[i].count + ''; + } else { + document.getElementById('reactions-count-' + positiveReactionCounts[i].id).innerHTML = positiveReactionCounts[i].count; + } + } + } + } + + for (var i = 0; i < allNodes.length; i++) { + if (allNodes[i].dataset.commentAuthorId == responseObj.current_user.id) { + allNodes[i].dataset.currentUserComment = "true"; + var userActionsEl = allNodes[i].children[0].children[2].children[0]; + if (userActionsEl) { + userActionsEl.className = 'current-user-actions'; + userActionsEl.style.display = 'inline-block'; + document.getElementById('button-for-comment-' + allNodes[i].dataset.commentId).classList.add('reacted'); + } + } + } + addRelevantButtonsToArticle(responseObj); + } + }; + var timeString = (Date.now()).toString(); + ajaxReq.open("GET", getReactionsPath()+"?commentable_id="+commentableId+"&commentable_type="+commentableType, true); + ajaxReq.send(); + + var butts = document.getElementsByClassName('reaction-button'); + for (var i = 0; i < butts.length; i++) { + var butt = butts[i]; + butt.onclick = function (event) { + event.preventDefault(); + var thisButt = this; + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + if (userStatus === 'logged-out') { + showModal('react-to-comment'); + return; + } + + thisButt.classList.add('reacted'); + + function successCb(response) { + var reactionCountSpan = thisButt.children[2]; + if (response.result === 'create') { + thisButt.classList.add('reacted'); + if (reactionCountSpan) { + reactionCountSpan.innerHTML = parseInt(reactionCountSpan.innerHTML) + 1; + } + } else { + thisButt.classList.remove('reacted'); + if (reactionCountSpan) { + reactionCountSpan.innerHTML = parseInt(reactionCountSpan.innerHTML) - 1; + } + } + } + var formData = new FormData(); + formData.append('reactable_type', 'Comment'); + formData.append('reactable_id', thisButt.dataset.commentId); + getCsrfToken() + .then(sendFetch('reaction-creation', formData)) + .then(function (response) { + if (response.status === 200) { + response.json().then(successCb); + } + }); + }; + } + var replyButts = document.getElementsByClassName('toggle-reply-form'); + for (var i = 0; i < replyButts.length; i++) { + var butt = replyButts[i]; + butt.onclick = function(event) { + event.preventDefault(); + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + if (userStatus == 'logged-out') { + showModal('reply-to-comment'); + return; + } + var actionNode = this.parentNode; + var parentId = actionNode.dataset.commentId; + document.getElementById("button-for-comment-"+actionNode.dataset.commentId).style.zIndex = "5"; + var waitingOnCSRF = setInterval(function () { + var metaTag = document.querySelector("meta[name='csrf-token']"); + if (metaTag) { + clearInterval(waitingOnCSRF); + actionNode.innerHTML = formHTML(commentableId, commentableType, parentId); + setTimeout(function () { + actionNode.getElementsByTagName('textarea')[0].focus(); + }, 30); + } + }, 1); + // document.getElementById('textarea-for-'+parentId).focus(); + return false; + }; + } + var editButts = document.getElementsByClassName('edit-butt'); + for (var i = 0; i < editButts.length; i++) { + var butt = editButts[i]; + butt.onclick = function () { + // event.preventDefault(); + // alert("edit clicked!") + }; + } + if (document.getElementById('new_comment')) { + document.getElementById('new_comment').onsubmit = handleCommentSubmit; + } + } +} + +function toggleCodeOfConduct() { + var user = userData(); + if (!user){ + return; + } + var codeOfConduct = user.checked_code_of_conduct + var commentCount = user.number_of_comments + var checkboxWrapper = document.getElementById('toggle-code-of-conduct-checkbox') + if (checkboxWrapper && !codeOfConduct && commentCount < 1) { + checkboxWrapper.innerHTML = '\ + ' + } +} + +function cancel(event, el) { + event.preventDefault(); + replaceActionButts(el.parentNode.parentNode.parentNode.parentNode); + initializeCommentsPage(); +} + +function replaceActionButts(el) { + var loggedInActionButts = ""; + var wrapper = el.getElementsByClassName("actions")[0] + if ( el.dataset.currentUserComment == "true"){ + loggedInActionButts = 'DELETE\ + EDIT' + } + wrapper.innerHTML = 'REPLY'; +} + +function addRelevantButtonsToArticle(responseObj) { + var articleContainer = document.getElementById('article-show-container'); + if (articleContainer) { + if (parseInt(articleContainer.dataset.authorId) == responseObj.current_user.id) { + document.getElementById('action-space').innerHTML = 'EDIT POST'; + } + } +} + +function formHTML(commentableId, commentableType, parentId) { + var authToken = document.querySelector("meta[name='csrf-token']").getAttribute('content'); + var user = userData(); + var codeOfConductHTML = "" + if (user && !user.codeOfConduct && user.commentCount < 1){ + codeOfConductHTML = '
\ + \ + \ +
' + } + var randomIdNumber = Math.floor(Math.random() * 1991) + return '
\ + \ + \ + \ + \ + \ + \ + '+codeOfConductHTML+'\ + \ + \ + \ +
\ + \ + \ + \ + \ + \ +
\ + CANCEL\ + \ +
'; +} + +function handleCommentSubmit(event) { + event.preventDefault(); + var form = event.target; + form.classList.add('submitting'); + var parentComment = document.getElementById("comment-node-"+event.target.dataset.commentId); + getCsrfToken() + .then(sendFetch('comment-creation', this)) + .then(function (response) { + if (response.status === 200) { + response.json().then(function(newComment){ + var newNode = document.createElement('div'); + if (newComment.status == "comment already exists") { + return false; + } + if (newComment.status == "errors") { + alert("There was a problem submitting this comment.") + return false; + } + newNode.innerHTML = buildCommentHTML(newComment); + var docBody = document.getElementsByTagName('body')[0] + + var userData = JSON.parse(docBody.getAttribute('data-user')) + userData.checked_code_of_conduct = true; + + docBody.dataset.user = JSON.stringify(userData); + + var checkbox = form.getElementsByClassName('code-of-conduct')[0] + if (checkbox) { + checkbox.innerHTML = "" + } + + var mainCommentsForm = document.getElementById("new_comment"); + if (parentComment) { + replaceActionButts(parentComment); + if (newComment.depth > 2) { + parentComment.getElementsByClassName("toggle-reply-form")[0].innerHTML = "" + } + var actionsNode = parentComment.getElementsByClassName("inner-comment")[0]; + actionsNode.parentNode.insertBefore(newNode, actionsNode.nextSibling); + } + + else if (mainCommentsForm) { + var mainCommentsForm = document.getElementById("new_comment"); + var textArea = document.getElementById("text-area"); + mainCommentsForm.classList.remove("submitting"); + textArea.value = ""; + textArea.classList = ""; + var container = document.getElementById("comment-trees-container"); + container.insertBefore(newNode, container.firstChild); + } + else if (document.getElementById("notifications-container")) { + var newDiv = document.createElement("span") + newDiv.innerHTML = '
Reply sent — Check it out
' + form.replaceWith(newDiv); + } + else { + window.location.replace(newComment.url) + } + initializeCommentsPage(); + initializeCommentDropdown(); + }) + } + return false; + }); + return false; +} + +function handleFocus(event) { + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + var area = event.target; + if (userStatus == 'logged-out') { + event.preventDefault(); + showModal('reply-to-comment'); + area.blur(); + setTimeout(function () { + area.blur(); + showModal('reply-to-comment'); + }, 100); + } else { + handleSizeChange(event); + } +} + +function handleBlur(event) { + setTimeout(function () { + var el = document.getElementById('text-area'); + if (el.value.length == 0) { + el.className = ''; + } + }, 100); +} + +function handleKeyUp(event) { + handleSizeChange(event); +} + +function handleSizeChange(event) { + var lines = event.target.value.split(/\r*\n/); + var lineCount = lines.length; + if (lineCount > 11) { + document.getElementById('text-area').className = 'embiggened-max'; + } else if (lineCount > 6) { + document.getElementById('text-area').className = 'embiggened-more'; + } else { + document.getElementById('text-area').className = 'embiggened'; + } +} + +function validateField(event) { + if (document.getElementById('text-area')) { + var commentField = document.getElementById('text-area').value; + if (commentField == '') { + event.preventDefault(); + } + } +} + +function generateUploadFormdata(image) { + var token = document.querySelector("meta[name='csrf-token']").content; + var formData = new FormData(); + formData.append('authenticity_token', token); + formData.append('image', image[0]); + return formData; +} + +function handleImageUpload(event, randomIdNumber) { + var commentableId = document.getElementById('comments-container').dataset.commentableId; + event.preventDefault(); + document.getElementById('image-upload-'+ randomIdNumber).click(); + document.getElementById('image-upload-'+ randomIdNumber).onchange = function (e) { + var image = document.getElementById('image-upload-'+ randomIdNumber).files; + if (image.length > 0) { + document.getElementById("image-upload-file-label-" + randomIdNumber).style.color = '#888888'; + document.getElementById("image-upload-file-label-" + randomIdNumber).innerHTML = "Uploading..."; + document.getElementById("image-upload-submit-" + randomIdNumber).value = "uploading"; + setTimeout(function(){ + document.getElementById("image-upload-submit-" + randomIdNumber).click(function(){}); + },50) + } + } + + document.getElementById("image-upload-submit-" + randomIdNumber).onclick = function (e) { + e.preventDefault(); + var image = document.getElementById('image-upload-' + randomIdNumber).files; + if (image.length > 0) { + getCsrfToken() + .then(sendFetch("image-upload", generateUploadFormdata(image))) + .then(function (response) { + if (response.status === 200) { + response.json().then( + function uploadImageCb(json) { + var address = document.getElementById("uploaded-image-" + randomIdNumber); + var button = document.getElementById("image-upload-button-" + randomIdNumber); + var messageContainer = document.getElementById("image-upload-file-label-" + randomIdNumber) + // button.style.display = "none"; + messageContainer.style.display = "none"; + address.value = json.link; + address.classList.add("showing"); + address.select(); + + var uploadedMessage = 'Uploaded! Paste into editor'; + messageContainer.innerHTML = uploadedMessage; + messageContainer.style.color = '#00c673'; + messageContainer.style.position = "relative" + messageContainer.style.top = "5px"; + } + ); + } else { + document.getElementById("image-upload-file-label-" + randomIdNumber).innerHTML = "Invalid file!"; + document.getElementById("image-upload-file-label-" + randomIdNumber).style.color = '#e05252'; + document.getElementById("image-upload-submit-" + randomIdNumber).style.display = 'none'; + } + }) + .catch(function (err) { + // there's currently no error handling + }) + } + } +} diff --git a/app/assets/javascripts/initializers/initializeDrawerSliders.js b/app/assets/javascripts/initializers/initializeDrawerSliders.js new file mode 100644 index 0000000000000..7d6dcd236c8d2 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeDrawerSliders.js @@ -0,0 +1,39 @@ +function initializeDrawerSliders() { + if(!initializeSwipeGestures.called) { + swipeState = "middle"; + initializeSwipeGestures(); + } + if (document.getElementById("on-page-nav-controls")){ + if (document.getElementById("sidebar-bg-left")){ + document.getElementById("sidebar-bg-left").onclick = function(){ + swipeState = "middle"; + slideSidebar("left","outOfView"); + } + } + if (document.getElementById("sidebar-bg-right")){ + document.getElementById("sidebar-bg-right").onclick = function(){ + swipeState = "middle"; + slideSidebar("right","outOfView"); + } + } + + if (document.getElementById("on-page-nav-butt-left")){ + document.getElementById("on-page-nav-butt-left").onclick = function(){ + swipeState = "left" + slideSidebar("left","intoView"); + } + } + if (document.getElementById("on-page-nav-butt-right")){ + document.getElementById("on-page-nav-butt-right").onclick = function(){ + swipeState = "right" + slideSidebar("right","intoView"); + } + } + InstantClick.on('change', function() { + document.getElementsByTagName('body')[0].classList.remove('modal-open'); + slideSidebar("right","outOfView"); + slideSidebar("left","outOfView"); + }); + + } +} diff --git a/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb b/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb new file mode 100644 index 0000000000000..dad60da763226 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeFetchFollowedArticles.js.erb @@ -0,0 +1,43 @@ +function initializeFetchFollowedArticles() { + if ( document.getElementById("featured-story-marker") && checkUserLoggedIn() ) { + algoliaFollowedArticles(); + } +} + +function insertArticle(article,parent,insertPlace) { + if (article){ + var newItem = document.createElement("DIV"); + newItem.innerHTML = buildArticleHTML(article) + parent.insertBefore(newItem, insertPlace); + initializeReadingListIcons(); + } +} + +function algoliaFollowedArticles(){ + var user = userData(); + if (user && user.followed_tag_names && user.followed_tag_names.length > 0) { + var followedUsersArray = []; + if (user.followed_user_ids){ + followedUsersArray = user.followed_user_ids.map(function(id){return 'user_'+id}); + } + var client = algoliasearch('<%= ENV["ALGOLIASEARCH_APPLICATION_ID"] %>', '<%= ENV["ALGOLIASEARCH_SEARCH_ONLY_KEY"] %>'); + var index = client.initIndex('ordered_articles_<%= Rails.env %>'); + index.search("*", { + hitsPerPage: 20, + page: "0", + attributesToHighlight: [], + tagFilters: [user.followed_tag_names.concat(followedUsersArray)], + }) + .then(function searchDone(content) { + var insertPlace = document.getElementById("article-index-hidden-div"); + if (insertPlace) { + var parent = insertPlace.parentNode; + content.hits.forEach(function(article){ + if ( !document.getElementById("article-link-"+article.id) ) { + insertArticle(article,parent,insertPlace); + } + }); + } + }); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeKeyListeners.js b/app/assets/javascripts/initializers/initializeKeyListeners.js new file mode 100644 index 0000000000000..87930d96d5cf3 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeKeyListeners.js @@ -0,0 +1,20 @@ +var scrollInterval; +var lastPressedKey; +var lastPressTime; +var codeToWord = {191: "find"} +function initializeKeyListeners() { + document.addEventListener('keydown', function(e) { + if (document.activeElement.tagName != "INPUT" && document.activeElement.tagName != "TEXTAREA" && !document.activeElement.classList.contains("input")) { + reactToEvent(e) + } + }); +} + +function reactToEvent(event){ + if (codeToWord[event.which] === "find"){ + event.preventDefault(); + var searchBox = document.getElementById("nav-search") + searchBox.focus(); + searchBox.select(); + } +} diff --git a/app/assets/javascripts/initializers/initializeLiveArticle.js.erb b/app/assets/javascripts/initializers/initializeLiveArticle.js.erb new file mode 100644 index 0000000000000..70b46fe9401da --- /dev/null +++ b/app/assets/javascripts/initializers/initializeLiveArticle.js.erb @@ -0,0 +1,76 @@ +function initializeLiveArticle() { + initializeLiveArticle.called = true; + var el = document.getElementById("live-article-indicator"); + var articleEl = document.getElementById("article-show-container"); + if (el && articleEl && articleEl.dataset.live == "true") { + el.innerHTML = ""; + } + window.fetch("/live_articles") + .then(function(response){ + response.json().then(function(article){ + checkForOnPage(article); + if(localStorageTest() === true){ + if (localStorage.getItem("exited_live_article_alert") == article.path) { + return; + } + } + if( article.path && window.location.href.indexOf(article.path) == -1) { + el.innerHTML = liveIndicator(article); + document.getElementById("live-exit-button").onclick = function(event){ + event.preventDefault(); + el.innerHTML = ""; + event.target.innerHTML = ""; + if(localStorageTest() === true){ + localStorage.setItem("exited_live_article_alert", article.path); + } + } + el.onclick = function(){ + setTimeout(function(){ + if (document.getElementById("live-article-indicator-inner")){ + fadeOutElement(document.getElementById("live-article-indicator-inner")); + fadeOutElement(document.getElementById("live-exit-button")); + } + },20) + } + } + }); + }) +} + +function liveIndicator(article) { + var tagsHTML = article.tag_list.map(function(t){return "#"+t+""}).join(" ") + return '<%=image_tag("/assets/cancel.svg")%>\ +
\ +
Live Now
\ +
'+article.title+'
\ +
'+article.user.name+'
\ +
'+tagsHTML+'
\ +
' +} + +function fadeOutElement(fadeTarget) { + var fadeEffect = setInterval(function () { + if (!fadeTarget.style.opacity) { + fadeTarget.style.opacity = 1; + } + if (fadeTarget.style.opacity < 0.1) { + clearInterval(fadeEffect); + } else { + fadeTarget.style.opacity -= 0.1; + } + },25); +} + +function checkForOnPage(article){ + if (InstantClick == undefined){ + return + } + InstantClick.on('change', function() { + if( article.path && window.location.href.indexOf(article.path) > -1) { + if (document.getElementById("live-article-indicator-inner")){ + fadeOutElement(document.getElementById("live-article-indicator-inner")); + fadeOutElement(document.getElementById("live-exit-button")); + } + } + }); +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeLocalStorageRender.js b/app/assets/javascripts/initializers/initializeLocalStorageRender.js new file mode 100644 index 0000000000000..7afd5b28c345a --- /dev/null +++ b/app/assets/javascripts/initializers/initializeLocalStorageRender.js @@ -0,0 +1,16 @@ +function initializeLocalStorageRender() { + try { + var userData = browserStoreCache("get"); + if (userData) { + document.getElementsByTagName('body')[0].dataset.user = userData; + initializeBaseUserData(); + initializeReadingListIcons(); + initializeAllFollowButts(); + initializeReadingListPage(); + initializeSponsorshipVisibility(); + } + } + catch(err) { + browserStoreCache("remove"); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeNavSearchListener.js.erb b/app/assets/javascripts/initializers/initializeNavSearchListener.js.erb new file mode 100644 index 0000000000000..3f058247dc5d1 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeNavSearchListener.js.erb @@ -0,0 +1,44 @@ +function initializeNavSearchListener() { + function fixedEncodeURIComponent(str) { + // from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16); + }); + } + + document.getElementById('nav-search').onkeydown = function(event) { + if (instantClick && event.keyCode === 13) { + var encoded_query = fixedEncodeURIComponent(event.target.value.replace(/^[ ]+|[ ]+$/g, '')); + InstantClick.preload("<%= ENV['APP_PROTOCOL'] %><%= ENV['APP_DOMAIN'] %>/search?q="+encoded_query+filterParams()); + } + } + + document.getElementById('site-search-form').onsubmit = function(event) { + if (instantClick) { + event.preventDefault(); + var query = document.getElementById('nav-search').value.replace(/#/g,"%23").replace(/%/g,"%25"); + InstantClick.display("<%= ENV['APP_PROTOCOL'] %><%= ENV['APP_DOMAIN'] %>/search?q="+query+filterParams()) + } + } +} + + +function filterParams(){ + var filters = getParameterByName("filters"); + if (filters){ + return "&filters="+filters; + } + else{ + return ""; + } +} + +function getParameterByName(name, url) { + if (!url) url = window.location.href; + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializePodcastPlayback.es6 b/app/assets/javascripts/initializers/initializePodcastPlayback.es6 new file mode 100644 index 0000000000000..06c4b1066e489 --- /dev/null +++ b/app/assets/javascripts/initializers/initializePodcastPlayback.es6 @@ -0,0 +1,255 @@ +/** + * This script hunts for podcast's "Record" for both the podcast_episde's + * show page and an article page containing podcast liquid tag. It handles + * playback and makes sure the record will spin when the podcast is currently + * playing. The high level functions are the following + * + * - spinPodcastRecord(); + * - findAndApplyOnclickToRecords(); + */ + +function initializePodcastPlayback() { + + function getById(name) { + return document.getElementById(name); + } + + + function getByClass(name) { + return document.getElementsByClassName(name); + } + + function audioExistAndIsPlaying() { + return getById("audio") && !getById("audio").paused; + } + + function recordExist() { + return getById(`record-${window.activeEpisode}`) + } + + function spinPodcastRecord(customMessage) { + if (audioExistAndIsPlaying() && recordExist()) { + getById(`record-${window.activeEpisode}`).classList.add("playing"); + changeStatusMessage(customMessage ? customMessage : 'playing'); + } + } + + function stopRotatingActivePodcastIfExist() { + if (window.activeEpisode && getById(`record-${window.activeEpisode}`)) { + getById(`record-${window.activeEpisode}`).classList.remove('playing'); + window.activeEpisode = undefined; + } + } + + function findRecords() { + var podcastPageRecords = getByClass('record-wrapper'); + var podcastLiquidTagrecords = getByClass('podcastliquidtag__record'); + if (podcastPageRecords.length > 0) { + return podcastPageRecords; + } else { + return podcastLiquidTagrecords; + } + } + + function applyOnclickToPodcastBar(audio) { + getById('barPlayPause').onclick = function() { playPause(audio) }; + getById('mutebutt').onclick = function() { muteUnmute(audio) }; + getById('volbutt').onclick = function() { muteUnmute(audio) }; + getById('bufferwrapper').onclick = function(e) { goToTime(e,audio) }; + getById('volumeslider').value = audio.volume*100; + getById('volumeslider').onchange = function(e) { audio.volume = e.target.value/100 }; + getById('speed').onclick = function() { changePlaybackRate(audio) }; + getById('closebutt').onclick = function() { terminatePodcastBar(audio) }; + } + + function podcastBarAlreadyExistAndPlayingTargetEpisode(episodeSlug) { + return getById('audiocontent').innerHTML.indexOf(`${episodeSlug}`) !== -1 + } + + function updateProgressListener(audio) { + return function (e) { + updateProgress(e, audio); + } + } + + function loadAndPlayNewPodcast(episodeSlug) { + getById('audiocontent').innerHTML = getById(`hidden-audio-${episodeSlug}`).innerHTML; + var audio = getById('audio'); + audio.addEventListener("timeupdate", updateProgressListener(audio), false); + audio.load(); + playPause(audio); + applyOnclickToPodcastBar(audio); + } + + function findAndApplyOnclickToRecords() { + var records = findRecords(); + Array.prototype.forEach.call(records, function (record) { + var episodeSlug = record.getAttribute('data-episode'); + var podcastSlug = record.getAttribute('data-podcast'); + record.onclick = function () { + if (podcastBarAlreadyExistAndPlayingTargetEpisode(episodeSlug)) { + var audio = getById('audio'); + if (audio) { + playPause(audio); + } + } else { + stopRotatingActivePodcastIfExist(); + loadAndPlayNewPodcast(episodeSlug); + } + } + }) + } + + function changePlaybackRate(audio) { + var el = getById('speed'); + var speed = parseFloat(el.getAttribute('data-speed')); + if (speed == 2) { + el.setAttribute('data-speed', 0.5); + el.innerHTML = '0.5x' + audio.playbackRate = 0.5 + } else { + el.setAttribute('data-speed', speed+0.5); + el.innerHTML = speed+0.5+"x" + audio.playbackRate = speed+0.5 + } + } + + function changeStatusMessage(message) { + if(getById(`status-message-${window.activeEpisode}`)) { + getById(`status-message-${window.activeEpisode}`).innerHTML = message; + } else if (message === 'loading' && document.querySelector('.status-message')) { + document.querySelector('.status-message').innerHTML = message; + } else { + + } + } + + function applyOnbeforeUnloadWarning() { + var message = 'You are currently playing a podcast. Are you sure you want to leave?' + window.onclick = function(event) { + if (event.target.tagName === 'A' && !event.target.href.includes('https://dev.to')) { + event.preventDefault(); + if (window.confirm(message)) { window.location = event.target.href; } + } + } + window.onbeforeunload = function () { + return message; + }; + } + + function startPodcastBar() { + getById('barPlayPause').classList.add("playing"); + getById('progressBar').classList.add("playing"); + getById('animated-bars').classList.add("playing"); + } + + function startAudioPlayback(audio) { + audio.play().then(function () { + spinPodcastRecord(); + startPodcastBar(); + applyOnbeforeUnloadWarning(); + }, function () { + // Handle any pause() failures. + }).catch(function (error) { + audio.play(); + setTimeout(function() { + spinPodcastRecord('loading'); + startPodcastBar(); + applyOnbeforeUnloadWarning(); + }, 300); + }) + } + + function removeOnbeforeUnloadWarning() { + window.onbeforeunload = function(){ + return null; + }; + } + + function pausePodcastBar() { + getById('barPlayPause').classList.remove("playing"); + getById('animated-bars').classList.remove("playing"); + } + + function pauseAudioPlayback(audio) { + audio.pause(); + stopRotatingActivePodcastIfExist(); + pausePodcastBar(); + removeOnbeforeUnloadWarning(); + } + + function playPause(audio) { + changeStatusMessage('loading'); + window.activeEpisode = audio.getAttribute('data-episode'); + window.activePodcast = audio.getAttribute('data-podcast'); + if (audio.paused) { + ga('send', 'event', 'click', 'play podcast', `${window.activePodcast} ${window.activeEpisode}`, null); + startAudioPlayback(audio); + } else { + ga('send', 'event', 'click', 'pause podcast', `${window.activePodcast} ${window.activeEpisode}`, null); + pauseAudioPlayback(audio); + } + } + + function muteUnmute(audio) { + if (audio.muted) { + audio.muted = false; + getById('mutebutt').classList.add("hidden"); + getById('volumeindicator').classList.add("showing"); + getById('mutebutt').classList.remove("showing"); + getById('volumeindicator').classList.remove("hidden"); + } else { + audio.muted = true; + getById('mutebutt').classList.add("showing"); + getById('volumeindicator').classList.add("hidden"); + getById('mutebutt').classList.remove("hidden"); + getById('volumeindicator').classList.remove("showing"); + } + } + + function updateProgress(e,audio) { + var progress = getById("progress"); + var buffer = getById("buffer"); + var time = getById("time"); + var value = 0; + var bufferValue = 0; + if (audio.currentTime > 0) { + value = Math.floor((100.0 / audio.duration) * audio.currentTime); + bufferValue = (audio.buffered.end(audio.buffered.length-1)/ audio.duration)*100; + } + progress.style.width = value + "%"; + buffer.style.width = bufferValue + "%"; + time.innerHTML = readableDuration(audio.currentTime)+" / "+readableDuration(audio.duration); + } + + function goToTime(e, audio) { + var progress = getById("progress"); + if(e.clientX > 128) { + var percent = (e.clientX-128)/(window.innerWidth-133); + var duration = audio.duration; + audio.currentTime = duration*percent; // jumps to 29th secs + time.innerHTML = readableDuration(audio.currentTime)+" / "+readableDuration(audio.duration); + progress.style.width = (percent*100.0) + "%"; + } + } + + function readableDuration(seconds) { + var sec = Math.floor( seconds ); + var min = Math.floor( sec / 60 ); + min = min >= 10 ? min : '0' + min; + sec = Math.floor( sec % 60 ); + sec = sec >= 10 ? sec : '0' + sec; + return min + ':' + sec; + } + + function terminatePodcastBar(audio) { + event.stopPropagation(); + audio.removeEventListener("timeupdate", updateProgressListener, false); + getById('audiocontent').innerHTML = ''; + stopRotatingActivePodcastIfExist(); + removeOnbeforeUnloadWarning(); + } + + spinPodcastRecord(); + findAndApplyOnclickToRecords(); +} diff --git a/app/assets/javascripts/initializers/initializePreloads.js b/app/assets/javascripts/initializers/initializePreloads.js new file mode 100644 index 0000000000000..6053dd9acb472 --- /dev/null +++ b/app/assets/javascripts/initializers/initializePreloads.js @@ -0,0 +1,27 @@ +function initializePreloads() { + if (document.getElementById("index-container")) { + setTimeout(function(){ + var articleLinks = document.getElementsByClassName("index-article-link"); + var hrefs = []; + for(var i=0; i < articleLinks.length; i++) { + var href = articleLinks[i].href; + if (instantClick && i < 7 && hrefs.indexOf(href) == -1 ) { + InstantClick.preload(articleLinks[i].href, "force"); + hrefs.push(href); + } + } + },750); + } + else { + setTimeout(function(){ + if (instantClick) { + InstantClick.preload(document.getElementById("logo-link").href, "force"); + } + },2000) + } + setTimeout(function(){ + if (instantClick && checkUserLoggedIn()) { + InstantClick.preload(document.getElementById("notifications-link").href, "force"); + } + },501) +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeReadingListIcons.js b/app/assets/javascripts/initializers/initializeReadingListIcons.js new file mode 100644 index 0000000000000..646946f5ce64d --- /dev/null +++ b/app/assets/javascripts/initializers/initializeReadingListIcons.js @@ -0,0 +1,103 @@ +function initializeReadingListIcons() { + var readingListButtons = document.getElementsByClassName("bookmark-engage"); + for(var i = 0; i < readingListButtons.length; i++) { + highlightButton(readingListButtons[i]); + } + addReadingListCountToHomePage(); +} + +//private + +function highlightButton(button){ + var user = userData(); + var buttonIdInt = parseInt(button.dataset.reactableId) + if (user && user.reading_list_ids.indexOf(buttonIdInt) > -1 ){ + button.classList.add("selected"); + } + else { + button.classList.remove("selected"); + } + button.addEventListener("click", reactToReadingListButtonClick); +} + +function addReadingListCountToHomePage(){ + var user = userData(); + if ( user && document.getElementById("reading-list-count") ) { + var readingListCount = user.reading_list_ids.length > 0 ? user.reading_list_ids.length : "EMPTY" + document.getElementById("reading-list-count").innerHTML = "("+readingListCount+")" + document.getElementById("reading-list-count").dataset.count = user.reading_list_ids.length + } +} + +function reactToReadingListButtonClick(event){ + event.preventDefault(); + var userStatus = document.getElementsByTagName('body')[0].getAttribute('data-user-status'); + if (userStatus == "logged-out") { + showModal("add-to-readinglist-from-index"); + return; + } + var button = properButtonFromEvent(event); + renderOptimisticResult(button); + getCsrfToken() + .then(sendFetch("reaction-creation", buttonFormData(button))) + .then(function (response) { + if (response.status === 200) { + return response.json().then(function(json){ + renderButtonState(button, json); + renderNewSidebarCount(button,json); + }); + } else { + // there's currently no errorCb. + } + }) + .catch(function (error) { + // there's currently no error handling. + }) +} + +function renderButtonState(button, json) { + if (json.result === "create") { + button.classList.add("selected"); + } + else { + button.classList.remove("selected") + } +} + +function renderNewSidebarCount(button,json) { + var count = parseInt(document.getElementById("reading-list-count").dataset.count) + if (json.result === "create") { + newCount = count + 1; + } + else { + if ( count != 0 ){ + newCount = count - 1; + } + } + document.getElementById("reading-list-count").dataset.count = newCount; + document.getElementById("reading-list-count").innerHTML = "("+newCount+")" +} + + +function buttonFormData(button){ + var formData = new FormData(); + formData.append("reactable_type", "Article"); + formData.append("reactable_id", button.dataset.reactableId); + formData.append("category", "readinglist"); + return formData; +} + +function renderOptimisticResult(button){ + renderButtonState(button, {result: "create"}); //optimistic create only for now +} + +function properButtonFromEvent(event){ + var properElement; + if (event.target.tagName == "BUTTON") { + properElement = event.target; + } + else { + properElement = event.target.parentElement; + } + return properElement; +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeReadingListPage.js.erb b/app/assets/javascripts/initializers/initializeReadingListPage.js.erb new file mode 100644 index 0000000000000..aa43c81575d3a --- /dev/null +++ b/app/assets/javascripts/initializers/initializeReadingListPage.js.erb @@ -0,0 +1,104 @@ +function initializeReadingListPage(){ + if ( getCurrentPage("reading_list_items-index") && checkUserLoggedIn() ) { + var params = getQueryParams(document.location.search); + var tag = filterXSS(params.t || ""); + getArticles(tag); + } +} + + + +function getArticles(tag){ + var user = userData(); + var substoriesDiv = document.getElementById("substories"); + var client = algoliasearch('<%= ENV["ALGOLIASEARCH_APPLICATION_ID"] %>', '<%= ENV["ALGOLIASEARCH_SEARCH_ONLY_KEY"] %>'); + var index = client.initIndex('ordered_articles_<%= Rails.env %>'); + var algoliaIndexes = user.reading_list_ids.map(function(id){return "articles-"+id}); + var resultDivs = [] + var tags = {} + index.getObjects(algoliaIndexes, function(err, content) { + content.results.forEach(function(story){ + if (story) { + if (tag == "" || story.tag_list.indexOf(tag) > -1){ + resultDivs.push(buildArticleHTML(story)); + } + story.tag_list.forEach(function(tag){ + if (tags[tag]){ + tags[tag] = tags[tag]+1; + } else { + tags[tag] = 1; + } + }) + } + }) + substoriesDiv.innerHTML = resultDivs.join(""); + renderTags(tags) + if ( resultDivs.length == 0) { + var message = "
This is where to find your bookmarked posts, but it looks like you have not bookmarked anything.
" + substoriesDiv.innerHTML = message; + } + initializeReadingListIcons(); + }); +} + +function renderTags(tags){ + var sortedTags = []; + for (var tag in tags) { + sortedTags.push([tag, tags[tag]]); + } + sortedTags.sort(function(a, b) { + return b[1] - a[1]; + }); + var tagDivs = [] + sortedTags.forEach(function(tag){ + var html = '' + tagDivs.push(html) + }) + document.getElementById("tag-filters").innerHTML = tagDivs.join(""); + var params = getQueryParams(document.location.search); + var tag = filterXSS(params.t || ""); + tagFilters(tag); +} + +function getQueryParams(qs) { + qs = qs.split('+').join(' '); + + var params = {}, + tokens, + re = /[?&]?([^=]+)=([^&]*)/g; + + while (tokens = re.exec(qs)) { + params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]); + } + + return params; +} + + +function tagFilters(tag){ + var filterButts = document.getElementsByClassName("query-filter-button"); + + for(var i = 0; i < filterButts.length; i++) { + filterButts[i].classList.remove("selected"); + if (tag == filterButts[i].dataset.tag){ + filterButts[i].classList.add("selected"); + } + filterButts[i].onclick = function(e){ + var tag = e.target.dataset.tag; + window.scrollTo(0, 0); + window.history.replaceState(null, null, "/readinglist?t="+tag); + var className = e.target.className; + for(var i = 0; i < filterButts.length; i++) { + filterButts[i].classList.remove("selected"); + } + if (className.indexOf("selected") == -1 ) { + e.target.classList.add("selected"); + window.history.replaceState(null, null, "/readinglist?t="+tag); + getArticles(tag); + } else{ + window.history.replaceState(null, null, "/readinglist"); + getArticles(""); + } + } + } +} diff --git a/app/assets/javascripts/initializers/initializeSettings.js b/app/assets/javascripts/initializers/initializeSettings.js new file mode 100644 index 0000000000000..75867478192f9 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeSettings.js @@ -0,0 +1,7 @@ +function initializeSettings(){ + if (document.getElementById("settings-org-secret")){ + document.getElementById("settings-org-secret").onclick = function(event){ + event.target.select() + } + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeSplitTestTracking.js b/app/assets/javascripts/initializers/initializeSplitTestTracking.js new file mode 100644 index 0000000000000..8e3bc53ffaa67 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeSplitTestTracking.js @@ -0,0 +1,31 @@ +function initializeSplitTestTracking() { + setTimeout(function(){ + var divs = document.getElementsByClassName("split-test-tracking-div"); + for(var i = 0; i < divs.length; i++) + { + if ( typeof ga === "function" && !isHidden(divs[i]) ) { + sendSplitViewData(divs[i].dataset.version); + } + } + },350) +} + +function isHidden(el) { + return (el.offsetParent === null) +} + +function trackOutboundLink(url,versionString) { + ga('send', 'event', 'Split Test', 'signup-click', 'Version: '+versionString, { + 'transport': 'beacon', + 'hitCallback': function(){document.location = url;} + }); +} + +function sendSplitViewData(versionString) { + ga('send', { + hitType: 'event', + eventCategory: 'Split Test', + eventAction: 'view', + eventLabel: 'Version: '+ versionString + }); +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeSponsorshipVisibility.js b/app/assets/javascripts/initializers/initializeSponsorshipVisibility.js new file mode 100644 index 0000000000000..0af25133aab6e --- /dev/null +++ b/app/assets/javascripts/initializers/initializeSponsorshipVisibility.js @@ -0,0 +1,19 @@ +function initializeSponsorshipVisibility() { + var el = document.getElementById("sponsorship-widget"); + var user = userData(); + if (el && user && user.display_sponsors){ + el.classList.add("showing"); + setTimeout(function(){ + if (window.ga) { + var links = document.getElementsByClassName("partner-link"); + for(var i = 0; i < links.length; i++) { + links[i].onclick = function(event){ + ga('send', 'event', 'click', 'click sponsor link', event.target.dataset.details, null); + } + } + } + },400) + } else if (el && user) { + el.classList.remove("showing"); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeStylesheetAppend.js.erb b/app/assets/javascripts/initializers/initializeStylesheetAppend.js.erb new file mode 100644 index 0000000000000..79d72453d568a --- /dev/null +++ b/app/assets/javascripts/initializers/initializeStylesheetAppend.js.erb @@ -0,0 +1,10 @@ +function initializeStylesheetAppend() { + if (!document.getElementById("main-head-stylesheet")){ + var link = document.createElement('link'); + link.type = 'text/css' + link.id = "main-head-stylesheet" + link.rel = 'stylesheet' + link.href = '<%= stylesheet_url 'minimal' %>'; + document.getElementsByTagName('head')[0].appendChild(link); + } +} \ No newline at end of file diff --git a/app/assets/javascripts/initializers/initializeSwipeGestures.js b/app/assets/javascripts/initializers/initializeSwipeGestures.js new file mode 100644 index 0000000000000..2dd8d2675e8e2 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeSwipeGestures.js @@ -0,0 +1,61 @@ +function initializeSwipeGestures(){ + initializeSwipeGestures.called = true; + swipeState = "middle"; + setTimeout(function(){ + + // window.onload=function(){ + (function(d){ + var + ce=function(e,n){var a=document.createEvent("CustomEvent");a.initCustomEvent(n,true,true,e.target);e.target.dispatchEvent(a);a=null;return false}, + nm=true,sp={x:0,y:0},ep={x:0,y:0}, + touch={ + touchstart:function(e){sp={x:e.touches[0].pageX,y:e.touches[0].pageY,scrollY:window.scrollY}}, + touchmove:function(e){nm=false;ep={x:e.touches[0].pageX,y:e.touches[0].pageY,scrollY:window.scrollY}}, + touchend:function(e){ + if(nm){ce(e,'fc')} + else { + var x=ep.x-sp.x,xr=Math.abs(x),y=ep.y-sp.y,yr=Math.abs(y),absScroll=Math.abs(sp.scrollY-ep.scrollY); + if(Math.max(xr,yr)>15){ + var shouldScroll = (xr/2)>yr && absScroll < 5; + ce(e,(shouldScroll?(x<0?'swl':'swr'):(y<0?'swu':'swd'))) + } + }; + nm=true + }, + touchcancel:function(e){nm=false} + }; + for(var a in touch){d.addEventListener(a,touch[a],false);} + })(document); + var h=function(e){console.log(e.type,e)}; + document.body.addEventListener('swl',handleSwipeLeft,false); + document.body.addEventListener('swr',handleSwipeRight,false); + },50) +} + + +function handleSwipeLeft(e){ + if (!document.getElementById("on-page-nav-controls")){ + return; + } + if (swipeState == "middle"){ + swipeState = "right" + slideSidebar("right","intoView"); + } + else{ + swipeState = "middle" + slideSidebar("left","outOfView"); + } +} +function handleSwipeRight(e){ + if (!document.getElementById("on-page-nav-controls")){ + return; + } + if (swipeState == "middle"){ + swipeState = "left" + slideSidebar("left","intoView"); + } + else{ + swipeState = "middle" + slideSidebar("right","outOfView"); + } +} diff --git a/app/assets/javascripts/initializers/initializeTouchDevice.js b/app/assets/javascripts/initializers/initializeTouchDevice.js new file mode 100644 index 0000000000000..377684cb17cf8 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeTouchDevice.js @@ -0,0 +1,25 @@ + +function initializeTouchDevice() { + var isTouchDevice = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + setTimeout(function(){ + removeShowingMenu(); + if (isTouchDevice) { + document.getElementById("navigation-butt").onclick = function(e){ + document.getElementById("navbar-menu-wrapper").classList.toggle('showing'); + } + } else { + document.getElementById("navbar-menu-wrapper").classList.add('desktop') + } + },10) +} + + +function removeShowingMenu() { + document.getElementById("navbar-menu-wrapper").classList.remove('showing') + setTimeout(function(){ + document.getElementById("navbar-menu-wrapper").classList.remove('showing') + },5) + setTimeout(function(){ + document.getElementById("navbar-menu-wrapper").classList.remove('showing') + },150) +} diff --git a/app/assets/javascripts/internal.js b/app/assets/javascripts/internal.js new file mode 100644 index 0000000000000..4ed503d9e2532 --- /dev/null +++ b/app/assets/javascripts/internal.js @@ -0,0 +1,14 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require jquery +//= require jquery_ujs diff --git a/app/assets/javascripts/lib/jquery.highlighttextarea.js b/app/assets/javascripts/lib/jquery.highlighttextarea.js new file mode 100755 index 0000000000000..de67911768d18 --- /dev/null +++ b/app/assets/javascripts/lib/jquery.highlighttextarea.js @@ -0,0 +1,699 @@ +/*! + * jQuery highlightTextarea + * Copyright 2014-2015 Damien "Mistic" Sorel (http://www.strangeplanet.fr) + * Licensed under MIT (http://opensource.org/licenses/MIT) + */ + +//= require jquery + +(function($){ + "use strict"; + + var mouseOverElement = null; + var isNumeric = function(n) { + return !isNaN(parseFloat(n)) && isFinite(n); + }; + + // Highlighter CLASS DEFINITON + // =============================== + var Highlighter = function($el, options) { + // global variables + this.settings = $.extend({}, Highlighter.DEFAULTS); + this.scrollbarWidth = Utilities.getScrollbarWidth(); + this.isInput = $el[0].tagName.toLowerCase()=='input'; + this.active = false; + this.matches = []; + + // build HTML + this.$el = $el; + + this.$el.wrap('
'); + this.$main = this.$el.parent(); + + this.$main.prepend('
'); + this.$container = this.$main.children().first(); + this.$highlighter = this.$container.children(); + + this.setOptions(options); + + // set id + if (this.settings.id) { + this.$main[0].id = this.settings.id; + } + + // resizable + if (this.settings.resizable) { + this.applyResizable(); + } + + // run + this.updateCss(); + this.bindDocumentEvents(); + this.bindEvents(); + this.highlight(); + }; + + Highlighter.DEFAULTS = { + words: {}, + ranges: {}, + color: '#ffff00', + caseSensitive: true, + wordsOnly: false, + resizable: false, + resizableOptions: {}, + id: '', + debug: false + }; + + // PUBLIC METHODS + // =============================== + /* + * Refresh highlight + */ + Highlighter.prototype.highlight = function() { + var text = this.$el.val(), + that = this; + that.spacer = ''; + if (this.settings.wordsOnly ) { + that.spacer = '\\b'; + } + + function htmlDecode(input) { + return $('
').text(input).html(); + } + + // Encode text before inserting into
so that the textarea and + // overlay don't get out if sync when the textarea contains something + // HTML (e.g. "&" or ). + text = htmlDecode(text); + + var matches = []; + $.each(this.settings.words, function(color, words) { + var wordsRe = htmlDecode(words.join("|")); + var re = that.spacer + '(' + wordsRe + ')' + that.spacer; + var regex = new RegExp(re, that.regParam); + + var wordMatches = text.match(regex); + if (wordMatches) { + var evaluated = []; + $.each(words, function(index, match) { + match = htmlDecode(match); + + matches.push(match); + if (evaluated.indexOf(match) === -1) { + text = text.replace( + new RegExp(match, that.regParam), + function(innerMatch, start, contents) { + var encodedMatch = innerMatch + .replace(/[&"<>]/g, function (c) { + return { + '&': "&", + '"': """, + '<': "<", + '>': ">" + }[c]; + }); + + return '' + encodedMatch + ''; + } + ); + + evaluated.push(match); + } + }); + } + }); + + $.each(this.settings.ranges, function(i, range) { + if (range.start < text.length) { + text = Utilities.strInsert(text, range.end, ''); + + var mark = '= left && mouseY >= top && mouseX <= left + width && mouseY <= top + height) { + mouseOverElement = this; + return; + } + }); + + if(mouseOverElement != lastMouseOverElement) { + if(lastMouseOverElement != null) { + $(lastMouseOverElement).trigger('mouseout'); + } + if(mouseOverElement != null) { + $(mouseOverElement).trigger('mouseover'); + } + } + }); + + Highlighter.documentEventsBound = true; + }; + + /* + * Attach event listeners + */ + Highlighter.prototype.bindEvents = function() { + if (this.active) { + return; + } + this.active = true; + + var that = this; + + // prevent positioning errors by always focusing the textarea + this.$highlighter.bind({ + 'this.highlighter': function() { + that.$el.focus(); + } + }); + + // add triggers to textarea + this.$el.bind({ + 'input.highlightTextarea': Utilities.throttle(function() { + this.highlight(); + }, 100, this), + + 'resize.highlightTextarea': Utilities.throttle(function() { + this.updateSizePosition(true); + }, 50, this), + + 'scroll.highlightTextarea select.highlightTextarea': Utilities.throttle(function() { + this.updateSizePosition(); + }, 50, this) + }); + + if (this.isInput) { + this.$el.bind({ + // Prevent Cmd-Left Arrow and Cmd-Right Arrow on Mac strange behavior + 'keydown.highlightTextarea keypress.highlightTextarea keyup.highlightTextarea': function() { + setTimeout($.proxy(that.updateSizePosition, that), 1); + }, + + // Force Chrome behavior on all browsers: reset input position on blur + 'blur.highlightTextarea': function() { + this.value = this.value; + this.scrollLeft = 0; + that.updateSizePosition.call(that); + } + }); + } + }; + + /* + * Detach event listeners + */ + Highlighter.prototype.unbindEvents = function() { + if (!this.active) { + return; + } + this.active = false; + + this.$highlighter.off('.highlightTextarea'); + this.$el.off('.highlightTextarea'); + }; + + /* + * Update CSS of wrapper and containers + */ + Highlighter.prototype.updateCss = function() { + // the main container has the same size and position than the original textarea + Utilities.cloneCss(this.$el, this.$main, [ + 'float','vertical-align' + ]); + this.$main.css({ + 'width': this.$el.outerWidth(true), + 'height': this.$el.outerHeight(true) + }); + + // the highlighter container is positionned at "real" top-left corner of the textarea and takes its background + Utilities.cloneCss(this.$el, this.$container, [ + 'background-image','background-color','background-position','background-repeat', + 'background-origin','background-clip','background-size','background-attachment', + 'padding-top','padding-right','padding-bottom','padding-left' + ]); + this.$container.css({ + 'top': Utilities.toPx(this.$el.css('margin-top')) + Utilities.toPx(this.$el.css('border-top-width')), + 'left': Utilities.toPx(this.$el.css('margin-left')) + Utilities.toPx(this.$el.css('border-left-width')), + 'width': this.$el.width(), + 'height': this.$el.height() + }); + + // the highlighter has the same size than the "inner" textarea and must have the same font properties + Utilities.cloneCss(this.$el, this.$highlighter, [ + 'font-size','font-family','font-style','font-weight','font-variant','font-stretch', + 'vertical-align','word-spacing','text-align','letter-spacing', 'text-rendering' + ]); + + // now make the textarea transparent to see the highlighter through + this.$el.css({ + 'background': 'none' + }); + }; + + /* + * Apply jQueryUi Resizable if available + */ + Highlighter.prototype.applyResizable = function() { + if (jQuery.ui) { + var resizableOptionsDefaults = { + 'handles': 'se', + 'resize': Utilities.throttle(function() { + this.updateSizePosition(true); + }, 50, this) + }; + var resizableOptions = $.extend({}, resizableOptionsDefaults, this.settings.resizableOptions); + this.$el.resizable(resizableOptions); + } + }; + + /* + * Update size and position of the highlighter + * @param forced {boolean} true to resize containers + */ + Highlighter.prototype.updateSizePosition = function(forced) { + // resize containers + if (forced) { + this.$main.css({ + 'width': this.$el.outerWidth(true), + 'height': this.$el.outerHeight(true) + }); + this.$container.css({ + 'width': this.$el.width(), + 'height': this.$el.height() + }); + } + + var padding = 0, width; + + if (!this.isInput) { + // account for vertical scrollbar width + if (this.$el.css('overflow') == 'scroll' || + this.$el.css('overflow-y') == 'scroll' || + ( + this.$el.css('overflow') != 'hidden' && + this.$el.css('overflow-y') != 'hidden' && + this.$el[0].clientHeight < this.$el[0].scrollHeight + ) + ) { + padding = this.scrollbarWidth; + } + + width = this.$el.width()-padding; + } + else { + // TODO: There's got to be a better way of going about this than just using 99999px... + width = 99999; + } + + this.$highlighter.css({ + 'width': width, + 'height': this.$el.height() + this.$el.scrollTop(), + 'top': -this.$el.scrollTop(), + 'left': -this.$el.scrollLeft() + }); + }; + + + // Utilities CLASS DEFINITON + // =============================== + var Utilities = function(){}; + + /* + * Get the scrollbar with on this browser + */ + Utilities.getScrollbarWidth = function() { + var parent = $('
 
').appendTo('body'), + child = parent.children(), + width = child.innerWidth() - child.height(100).innerWidth(); + + parent.remove(); + + return width; + }; + + /* + * Copy a list of CSS properties from one object to another + * @param from {jQuery} + * @param to {jQuery} + * @param what {string[]} + */ + Utilities.cloneCss = function(from, to, what) { + for (var i=0, l=what.length; i 
').appendTo('body'); + value = Math.round(parseFloat(value.replace('em', '')) * el.height()); + el.remove(); + return value; + } + else if (value != value.replace('px', '')) { + return parseInt(value.replace('px', '')); + } + else { + return parseInt(value); + } + }; + + /* + * Converts HTMl entities + * @param str {string} + * @return {string} + */ + Utilities.htmlEntities = function(str) { + if (str) { + return $('
').text(str).html(); + } + else { + return ''; + } + }; + + /* + * Inserts a string in another string at given position + * @param string {string} + * @param index {int} + * @param value {string} + * @return {string} + */ + Utilities.strInsert = function(string, index, value) { + return string.slice(0, index) + value + string.slice(index); + }; + + /* + * Apply throttling to a callback + * @param callback {function} + * @param delay {int} milliseconds + * @param context {object|null} + * @return {function} + */ + Utilities.throttle = function(callback, delay, context) { + var state = { + pid: null, + last: 0 + }; + + return function() { + var elapsed = new Date().getTime() - state.last, + args = arguments, + that = this; + + function exec() { + state.last = new Date().getTime(); + + if (context) { + return callback.apply(context, Array.prototype.slice.call(args)); + } + else { + return callback.apply(that, Array.prototype.slice.call(args)); + } + } + + if (elapsed > delay) { + return exec(); + } + else { + clearTimeout(state.pid); + state.pid = setTimeout(exec, delay - elapsed); + } + }; + }; + + /* + * Formats a list of words into a hash of arrays (Color => Words list) + * @param words {mixed} + * @param color {string} default color + * @return {object[]} + */ + Utilities.cleanWords = function(words, color) { + var out = {}; + + if (!$.isArray(words)) { + words = [words]; + } + + for (var i=0, l=words.length; i Ranges list) + * @param ranges {mixed} + * @param color {string} default color + * @return {object[]} + */ + Utilities.cleanRanges = function(ranges, color) { + var out = []; + + if ($.isPlainObject(ranges) || isNumeric(ranges[0])) { + ranges = [ranges]; + } + + for (var i=0, l=ranges.length; i= range.end) { + $.error('Invalid range end/start'); + } + if (range.start < current) { + $.error('Ranges overlap'); + } + current = range.end; + }); + + out.reverse(); + + return out; + }; + + + // JQUERY PLUGIN DEFINITION + // =============================== + $.fn.highlightTextarea = function(option) { + var args = arguments; + + return this.each(function() { + var $this = $(this), + data = $this.data('highlighter'), + options = typeof option == 'object' && option; + + if (!data && option == 'destroy') { + return; + } + if (!data) { + data = new Highlighter($this, options); + $this.data('highlighter', data); + } + if (typeof option == 'string') { + data[option].apply(data, Array.prototype.slice.call(args, 1)); + } + }); + }; +}(window.jQuery || window.Zepto)); diff --git a/app/assets/javascripts/lib/js-yaml.js b/app/assets/javascripts/lib/js-yaml.js new file mode 100644 index 0000000000000..92d39e9a2cbab --- /dev/null +++ b/app/assets/javascripts/lib/js-yaml.js @@ -0,0 +1,3 @@ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.jsyaml=e()}}(function(){return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return r(n?n:e)},l,l.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;an;n+=1)r=o[n],e[r]=t[r];return e}function s(e,t){var n,i="";for(n=0;t>n;n+=1)i+=e;return i}function c(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}t.exports.isNothing=i,t.exports.isObject=r,t.exports.toArray=o,t.exports.repeat=s,t.exports.isNegativeZero=c,t.exports.extend=a},{}],3:[function(e,t,n){"use strict";function i(e,t){var n,i,r,o,a,s,c;if(null===t)return{};for(n={},i=Object.keys(t),r=0,o=i.length;o>r;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),c=e.compiledTypeMap[a],c&&F.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}function r(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new I("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+j.repeat("0",i-t.length)+t}function o(e){this.schema=e.schema||S,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=j.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=i(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function a(e,t){for(var n,i=j.repeat(" ",t),r=0,o=-1,a="",s=e.length;s>r;)o=e.indexOf("\n",r),-1===o?(n=e.slice(r),r=s):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function s(e,t){return"\n"+j.repeat(" ",e.indent*t)}function c(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function u(e){this.source=e,this.result="",this.checkpoint=0}function l(e,t,n,i){var r,o,s,l,f,m,g,y,x,v,A,b,w,k,C,j,I,S,O,E,F;if(0===t.length)return void(e.dump="''");if(-1!==te.indexOf(t))return void(e.dump="'"+t+"'");for(r=!0,o=t.length?t.charCodeAt(0):0,s=L===o||L===t.charCodeAt(t.length-1),(W===o||H===o||G===o||J===o)&&(r=!1),s||e.flowLevel>-1&&e.flowLevel<=n?(s&&(r=!1),l=!1,f=!1):(l=!i,f=!i),m=!0,g=new u(t),y=!1,x=0,v=0,A=e.indent*n,b=e.lineWidth,-1===b&&(b=9007199254740991),40>A?b-=A:b=40,k=0;k0&&(I=t.charCodeAt(k-1),I===L&&(f=!1,l=!1)),l&&(S=k-x,x=k,S>v&&(v=S))),w!==D&&(m=!1),g.takeUpTo(k),g.escapeChar())}if(r&&c(e,t)&&(r=!1),O="",(l||f)&&(E=0,t.charCodeAt(t.length-1)===T&&(E+=1,t.charCodeAt(t.length-2)===T&&(E+=1)),0===E?O="-":2===E&&(O="+")),(f&&b>v||null!==e.tag)&&(l=!1),y||(f=!1),r)e.dump=t;else if(m)e.dump="'"+t+"'";else if(l)F=p(t,b),e.dump=">"+O+"\n"+a(F,A);else if(f)O||(t=t.replace(/\n$/,"")),e.dump="|"+O+"\n"+a(t,A);else{if(!g)throw new Error("Failed to dump scalar value");g.finish(),e.dump='"'+g.result+'"'}}function p(e,t){var n,i="",r=0,o=e.length,a=/\n+$/.exec(e);for(a&&(o=a.index+1);o>r;)n=e.indexOf("\n",r),n>o||-1===n?(i&&(i+="\n\n"),i+=f(e.slice(r,o),t),r=o):(i&&(i+="\n\n"),i+=f(e.slice(r,n),t),r=n+1);return a&&"\n"!==a[0]&&(i+=a[0]),i}function f(e,t){if(""===e)return e;for(var n,i,r,o=/[^\s] [^\s]/g,a="",s=0,c=0,u=o.exec(e);u;)n=u.index,n-c>t&&(i=s!==c?s:n,a&&(a+="\n"),r=e.slice(c,i),a+=r,c=i+1),s=n+1,u=o.exec(e);return a&&(a+="\n"),a+=c!==s&&e.length-c>t?e.slice(c,s)+"\n"+e.slice(s+1):e.slice(c)}function h(e){return N!==e&&T!==e&&_!==e&&P!==e&&V!==e&&Z!==e&&z!==e&&X!==e&&U!==e&&Y!==e&&B!==e&&M!==e&&Q!==e&&K!==e&&R!==e&&D!==e&&q!==e&&$!==e&&!ee[e]&&!d(e)}function d(e){return!(e>=32&&126>=e||133===e||e>=160&&55295>=e||e>=57344&&65533>=e||e>=65536&&1114111>=e)}function m(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;r>i;i+=1)A(e,t,n[i],!1,!1)&&(0!==i&&(o+=", "),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function g(e,t,n,i){var r,o,a="",c=e.tag;for(r=0,o=n.length;o>r;r+=1)A(e,t+1,n[r],!0,!0)&&(i&&0===r||(a+=s(e,t)),a+="- "+e.dump);e.tag=c,e.dump=a||"[]"}function y(e,t,n){var i,r,o,a,s,c="",u=e.tag,l=Object.keys(n);for(i=0,r=l.length;r>i;i+=1)s="",0!==i&&(s+=", "),o=l[i],a=n[o],A(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+": ",A(e,t,a,!1,!1)&&(s+=e.dump,c+=s));e.tag=u,e.dump="{"+c+"}"}function x(e,t,n,i){var r,o,a,c,u,l,p="",f=e.tag,h=Object.keys(n);if(e.sortKeys===!0)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new I("sortKeys must be a boolean or a function");for(r=0,o=h.length;o>r;r+=1)l="",i&&0===r||(l+=s(e,t)),a=h[r],c=n[a],A(e,t+1,a,!0,!0,!0)&&(u=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,u&&(l+=e.dump&&T===e.dump.charCodeAt(0)?"?":"? "),l+=e.dump,u&&(l+=s(e,t)),A(e,t+1,c,!0,u)&&(l+=e.dump&&T===e.dump.charCodeAt(0)?":":": ",l+=e.dump,p+=l));e.tag=f,e.dump=p||"{}"}function v(e,t,n){var i,r,o,a,s,c;for(r=n?e.explicitTypes:e.implicitTypes,o=0,a=r.length;a>o;o+=1)if(s=r[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(c=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===E.call(s.represent))i=s.represent(t,c);else{if(!F.call(s.represent,c))throw new I("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');i=s.represent[c](t,c)}e.dump=i}return!0}return!1}function A(e,t,n,i,r,o){e.tag=null,e.dump=n,v(e,n,!1)||v(e,n,!0);var a=E.call(e.dump);i&&(i=0>e.flowLevel||e.flowLevel>t);var s,c,u="[object Object]"===a||"[object Array]"===a;if(u&&(s=e.duplicates.indexOf(n),c=-1!==s),(null!==e.tag&&"?"!==e.tag||c||2!==e.indent&&t>0)&&(r=!1),c&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(u&&c&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(x(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(y(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===a)i&&0!==e.dump.length?(g(e,t,e.dump,r),c&&(e.dump="&ref_"+s+e.dump)):(m(e,t,e.dump),c&&(e.dump="&ref_"+s+" "+e.dump));else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new I("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&l(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function b(e,t){var n,i,r=[],o=[];for(w(e,r,o),n=0,i=o.length;i>n;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function w(e,t,n){var i,r,o;if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,o=e.length;o>r;r+=1)w(e[r],t,n);else for(i=Object.keys(e),r=0,o=i.length;o>r;r+=1)w(e[i[r]],t,n)}function k(e,t){t=t||{};var n=new o(t);return n.noRefs||b(e,n),A(n,0,e,!0,!0)?n.dump+"\n":""}function C(e,t){return k(e,j.extend({schema:O},t))}var j=e("./common"),I=e("./exception"),S=e("./schema/default_full"),O=e("./schema/default_safe"),E=Object.prototype.toString,F=Object.prototype.hasOwnProperty,N=9,T=10,_=13,L=32,M=33,D=34,U=35,q=37,Y=38,R=39,B=42,P=44,W=45,$=58,K=62,H=63,G=64,V=91,Z=93,J=96,z=123,Q=124,X=125,ee={};ee[0]="\\0",ee[7]="\\a",ee[8]="\\b",ee[9]="\\t",ee[10]="\\n",ee[11]="\\v",ee[12]="\\f",ee[13]="\\r",ee[27]="\\e",ee[34]='\\"',ee[92]="\\\\",ee[133]="\\N",ee[160]="\\_",ee[8232]="\\L",ee[8233]="\\P";var te=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];u.prototype.takeUpTo=function(e){var t;if(e checkpoint"),t.position=e,t.checkpoint=this.checkpoint,t;return this.result+=this.source.slice(this.checkpoint,e),this.checkpoint=e,this},u.prototype.escapeChar=function(){var e,t;return e=this.source.charCodeAt(this.checkpoint),t=ee[e]||r(e),this.result+=t,this.checkpoint+=1,this},u.prototype.finish=function(){this.source.length>this.checkpoint&&this.takeUpTo(this.source.length)},t.exports.dump=k,t.exports.safeDump=C},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t,n){"use strict";function i(e,t){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=i},{}],5:[function(e,t,n){"use strict";function i(e){return 10===e||13===e}function r(e){return 9===e||32===e}function o(e){return 9===e||32===e||10===e||13===e}function a(e){return 44===e||91===e||93===e||123===e||125===e}function s(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function c(e){return 120===e?2:117===e?4:85===e?8:0}function u(e){return e>=48&&57>=e?e-48:-1}function l(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?"\x0B":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function p(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function f(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||$,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function h(e,t){return new B(t,new P(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function d(e,t){throw h(e,t)}function m(e,t){e.onWarning&&e.onWarning.call(null,h(e,t))}function g(e,t,n,i){var r,o,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;o>r;r+=1)a=s.charCodeAt(r),9===a||a>=32&&1114111>=a||d(e,"expected valid JSON character");else X.test(s)&&d(e,"the stream contains non-printable characters");e.result+=s}}function y(e,t,n,i){var r,o,a,s;for(R.isObject(n)||d(e,"cannot merge mappings; the provided source object is unacceptable"),r=Object.keys(n),a=0,s=r.length;s>a;a+=1)o=r[a],K.call(t,o)||(t[o]=n[o],i[o]=!0)}function x(e,t,n,i,r,o){var a,s;if(r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(a=0,s=o.length;s>a;a+=1)y(e,t,o[a],n);else y(e,t,o,n);else e.json||K.call(n,r)||!K.call(t,r)||d(e,"duplicated mapping key"),t[r]=o,delete n[r];return t}function v(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):d(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function A(e,t,n){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;r(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do a=e.input.charCodeAt(++e.position);while(10!==a&&13!==a&&0!==a);if(!i(a))break;for(v(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==n&&0!==o&&e.lineIndent1&&(e.result+=R.repeat("\n",t-1))}function k(e,t,n){var s,c,u,l,p,f,h,d,m,y=e.kind,x=e.result;if(m=e.input.charCodeAt(e.position),o(m)||a(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c)))return!1;for(e.kind="scalar",e.result="",u=l=e.position,p=!1;0!==m;){if(58===m){if(c=e.input.charCodeAt(e.position+1),o(c)||n&&a(c))break}else if(35===m){if(s=e.input.charCodeAt(e.position-1),o(s))break}else{if(e.position===e.lineStart&&b(e)||n&&a(m))break;if(i(m)){if(f=e.line,h=e.lineStart,d=e.lineIndent,A(e,!1,-1),e.lineIndent>=t){p=!0,m=e.input.charCodeAt(e.position);continue}e.position=l,e.line=f,e.lineStart=h,e.lineIndent=d;break}}p&&(g(e,u,l,!1),w(e,e.line-f),u=l=e.position,p=!1),r(m)||(l=e.position+1),m=e.input.charCodeAt(++e.position)}return g(e,u,l,!1),e.result?!0:(e.kind=y,e.result=x,!1)}function C(e,t){var n,r,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(g(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;r=o=e.position,e.position++}else i(n)?(g(e,r,o,!0),w(e,A(e,!1,t)),r=o=e.position):e.position===e.lineStart&&b(e)?d(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);d(e,"unexpected end of the stream within a single quoted scalar")}function j(e,t){var n,r,o,a,u,l;if(l=e.input.charCodeAt(e.position),34!==l)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;0!==(l=e.input.charCodeAt(e.position));){if(34===l)return g(e,n,e.position,!0),e.position++,!0;if(92===l){if(g(e,n,e.position,!0),l=e.input.charCodeAt(++e.position),i(l))A(e,!1,t);else if(256>l&&re[l])e.result+=oe[l],e.position++;else if((u=c(l))>0){for(o=u,a=0;o>0;o--)l=e.input.charCodeAt(++e.position),(u=s(l))>=0?a=(a<<4)+u:d(e,"expected hexadecimal character");e.result+=p(a),e.position++}else d(e,"unknown escape sequence");n=r=e.position}else i(l)?(g(e,n,r,!0),w(e,A(e,!1,t)),n=r=e.position):e.position===e.lineStart&&b(e)?d(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}d(e,"unexpected end of the stream within a double quoted scalar")}function I(e,t){var n,i,r,a,s,c,u,l,p,f,h,m=!0,g=e.tag,y=e.anchor,v={};if(h=e.input.charCodeAt(e.position),91===h)a=93,u=!1,i=[];else{if(123!==h)return!1;a=125,u=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),h=e.input.charCodeAt(++e.position);0!==h;){if(A(e,!0,t),h=e.input.charCodeAt(e.position),h===a)return e.position++,e.tag=g,e.anchor=y,e.kind=u?"mapping":"sequence",e.result=i,!0;m||d(e,"missed comma between flow collection entries"),p=l=f=null,s=c=!1,63===h&&(r=e.input.charCodeAt(e.position+1),o(r)&&(s=c=!0,e.position++,A(e,!0,t))),n=e.line,_(e,t,H,!1,!0),p=e.tag,l=e.result,A(e,!0,t),h=e.input.charCodeAt(e.position),!c&&e.line!==n||58!==h||(s=!0,h=e.input.charCodeAt(++e.position),A(e,!0,t),_(e,t,H,!1,!0),f=e.result),u?x(e,i,v,p,l,f):s?i.push(x(e,null,v,p,l,f)):i.push(l),A(e,!0,t),h=e.input.charCodeAt(e.position),44===h?(m=!0,h=e.input.charCodeAt(++e.position)):m=!1}d(e,"unexpected end of the stream within a flow collection")}function S(e,t){var n,o,a,s,c=J,l=!1,p=t,f=0,h=!1;if(s=e.input.charCodeAt(e.position),124===s)o=!1;else{if(62!==s)return!1;o=!0}for(e.kind="scalar",e.result="";0!==s;)if(s=e.input.charCodeAt(++e.position),43===s||45===s)J===c?c=43===s?Q:z:d(e,"repeat of a chomping mode identifier");else{if(!((a=u(s))>=0))break;0===a?d(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?d(e,"repeat of an indentation width identifier"):(p=t+a-1,l=!0)}if(r(s)){do s=e.input.charCodeAt(++e.position);while(r(s));if(35===s)do s=e.input.charCodeAt(++e.position);while(!i(s)&&0!==s)}for(;0!==s;){for(v(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!l||e.lineIndentp&&(p=e.lineIndent),i(s))f++;else{if(e.lineIndentt)&&0!==r)d(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(_(e,t,Z,!0,a)&&(y?m=e.result:g=e.result),y||(x(e,p,f,h,m,g),h=m=g=null),A(e,!0,-1),c=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==c)d(e,"bad indentation of a mapping entry");else if(e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndentc;c+=1)if(l=e.implicitTypes[c],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else K.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&d(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):d(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):d(e,"unknown tag !<"+e.tag+">");return null!==e.tag||null!==e.anchor||g}function L(e){var t,n,a,s,c=e.position,u=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(A(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(u=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),a=[],n.length<1&&d(e,"directive name must not be less than one character in length");0!==s;){for(;r(s);)s=e.input.charCodeAt(++e.position);if(35===s){do s=e.input.charCodeAt(++e.position);while(0!==s&&!i(s));break}if(i(s))break;for(t=e.position;0!==s&&!o(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&v(e),K.call(se,n)?se[n](e,n,a):m(e,'unknown document directive "'+n+'"')}return A(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,A(e,!0,-1)):u&&d(e,"directives end mark is expected"),_(e,e.lineIndent-1,Z,!1,!0),A(e,!0,-1),e.checkLineBreaks&&ee.test(e.input.slice(c,e.position))&&m(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&b(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,A(e,!0,-1))):void(e.positioni;i+=1)t(o[i])}function U(e,t){var n=M(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new B("expected a single document in the stream, but found more")}}function q(e,t,n){D(e,t,R.extend({schema:W},n))}function Y(e,t){return U(e,R.extend({schema:W},t))}for(var R=e("./common"),B=e("./exception"),P=e("./mark"),W=e("./schema/default_safe"),$=e("./schema/default_full"),K=Object.prototype.hasOwnProperty,H=1,G=2,V=3,Z=4,J=1,z=2,Q=3,X=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ee=/[\x85\u2028\u2029]/,te=/[,\[\]\{\}]/,ne=/^(?:!|!!|![a-z\-]+!)$/i,ie=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,re=new Array(256),oe=new Array(256),ae=0;256>ae;ae++)re[ae]=l(ae)?1:0,oe[ae]=l(ae);var se={YAML:function(e,t,n){var i,r,o;null!==e.version&&d(e,"duplication of %YAML directive"),1!==n.length&&d(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&d(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&d(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>o,1!==o&&2!==o&&m(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&d(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],ne.test(i)||d(e,"ill-formed tag handle (first argument) of the TAG directive"),K.call(e.tagMap,i)&&d(e,'there is a previously declared suffix for "'+i+'" tag handle'),ie.test(r)||d(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};t.exports.loadAll=D,t.exports.load=U,t.exports.safeLoadAll=q,t.exports.safeLoad=Y},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t,n){"use strict";function i(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}var r=e("./common");i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",i=this.position;i>0&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(o="",a=this.position;at/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(" ",e)+n+s+o+"\n"+r.repeat(" ",e+this.position-i+n.length)+"^"},i.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(n+=":\n"+t)),n},t.exports=i},{"./common":2}],7:[function(e,t,n){"use strict";function i(e,t,n){var r=[];return e.include.forEach(function(e){n=i(e,t,n)}),e[t].forEach(function(e){n.forEach(function(t,n){t.tag===e.tag&&r.push(n)}),n.push(e)}),n.filter(function(e,t){return-1===r.indexOf(t)})}function r(){function e(e){i[e.tag]=e}var t,n,i={};for(t=0,n=arguments.length;n>t;t+=1)arguments[t].forEach(e);return i}function o(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new s("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=r(this.compiledImplicit,this.compiledExplicit)}var a=e("./common"),s=e("./exception"),c=e("./type");o.DEFAULT=null,o.create=function(){var e,t;switch(arguments.length){case 1:e=o.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new s("Wrong number of arguments for Schema.create function")}if(e=a.toArray(e),t=a.toArray(t),!e.every(function(e){return e instanceof o}))throw new s("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof c}))throw new s("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new o({include:e,explicit:t})},t.exports=o},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t,n){"use strict";var i=e("../schema");t.exports=i.DEFAULT=new i({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t,n){"use strict";var i=e("../schema");t.exports=new i({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t,n){"use strict";function i(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function r(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=i(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=e("./exception"),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];t.exports=r},{"./exception":4}],14:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;r>n;n++)if(t=o.indexOf(e.charAt(n)),!(t>64)){if(0>t)return!1;i+=6}return i%8===0}function r(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,a=0,c=[];for(t=0;r>t;t++)t%4===0&&t&&(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|o.indexOf(i.charAt(t));return n=r%4*6,0===n?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),s?new s(c):c}function o(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;o>t;t++)t%3===0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return n=o%3,0===n?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63], +i+=a[64],i+=a[64]),i}function a(e){return s&&s.isBuffer(e)}var s=e("buffer").Buffer,c=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new c("tag:yaml.org,2002:binary",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../type":13,buffer:30}],15:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)}function r(e){return"true"===e||"True"===e||"TRUE"===e}function o(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var a=e("../type");t.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t,n){"use strict";function i(e){return null===e?!1:u.test(e)?!0:!1}function r(e){var t,n,i,r;return t=e.replace(/_/g,"").toLowerCase(),n="-"===t[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:0<=t.indexOf(":")?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)}function o(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(e))return"-0.0";return n=e.toString(10),l.test(n)?n.replace("e",".e"):n}function a(e){return"[object Number]"===Object.prototype.toString.call(e)&&(0!==e%1||s.isNegativeZero(e))}var s=e("../common"),c=e("../type"),u=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),l=/^[-+]?[0-9]+e/;t.exports=new c("tag:yaml.org,2002:float",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t,n){"use strict";function i(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function r(e){return e>=48&&55>=e}function o(e){return e>=48&&57>=e}function a(e){if(null===e)return!1;var t,n=e.length,a=0,s=!1;if(!n)return!1;if(t=e[a],("-"===t||"+"===t)&&(t=e[++a]),"0"===t){if(a+1===n)return!0;if(t=e[++a],"b"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if("0"!==t&&"1"!==t)return!1;s=!0}return s}if("x"===t){for(a++;n>a;a++)if(t=e[a],"_"!==t){if(!i(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(!r(e.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(t=e[a],"_"!==t){if(":"===t)break;if(!o(e.charCodeAt(a)))return!1;s=!0}return s?":"!==t?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(a)):!1}function s(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),t=i[0],("-"===t||"+"===t)&&("-"===t&&(r=-1),i=i.slice(1),t=i[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)}function c(e){return"[object Number]"===Object.prototype.toString.call(e)&&0===e%1&&!u.isNegativeZero(e)}var u=e("../common"),l=e("../type");t.exports=new l("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:c,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;try{var t="("+e+")",n=s.parse(t,{range:!0});return"Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"FunctionExpression"!==n.body[0].expression.type?!1:!0}catch(i){return!1}}function r(e){var t,n="("+e+")",i=s.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,new Function(r,n.slice(t[0]+1,t[1]-1))}function o(e){return e.toString()}function a(e){return"[object Function]"===Object.prototype.toString.call(e)}var s;try{var c=e;s=c("esprima")}catch(u){"undefined"!=typeof window&&(s=window.esprima)}var l=e("../../type");t.exports=new l("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],19:[function(e,t,n){"use strict";function i(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1;t=t.slice(1,t.length-i.length-1)}try{return!0}catch(r){return!1}}function r(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)}function o(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function a(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],20:[function(e,t,n){"use strict";function i(){return!0}function r(){}function o(){return""}function a(e){return"undefined"==typeof e}var s=e("../../type");t.exports=new s("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:i,construct:r,predicate:a,represent:o})},{"../../type":13}],21:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t,n){"use strict";function i(e){return"<<"===e||null===e}var r=e("../type");t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:i})},{"../type":13}],23:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function r(){return null}function o(e){return null===e}var a=e("../type");t.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:i,construct:r,predicate:o,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,c=[],u=e;for(t=0,n=u.length;n>t;t+=1){if(i=u[t],o=!1,"[object Object]"!==s.call(i))return!1;for(r in i)if(a.call(i,r)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==c.indexOf(r))return!1;c.push(r)}return!0}function r(e){return null!==e?e:[]}var o=e("../type"),a=Object.prototype.hasOwnProperty,s=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],25:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n,i,r,o,s=e;for(o=new Array(s.length),t=0,n=s.length;n>t;t+=1){if(i=s[t],"[object Object]"!==a.call(i))return!1;if(r=Object.keys(i),1!==r.length)return!1;o[t]=[r[0],i[r[0]]]}return!0}function r(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;n>t;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}var o=e("../type"),a=Object.prototype.toString;t.exports=new o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:i,construct:r})},{"../type":13}],26:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t,n){"use strict";function i(e){if(null===e)return!0;var t,n=e;for(t in n)if(a.call(n,t)&&null!==n[t])return!1;return!0}function r(e){return null!==e?e:{}}var o=e("../type"),a=Object.prototype.hasOwnProperty;t.exports=new o("tag:yaml.org,2002:set",{kind:"mapping",resolve:i,construct:r})},{"../type":13}],28:[function(e,t,n){"use strict";var i=e("../type");t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t,n){"use strict";function i(e){return null===e?!1:null===s.exec(e)?!1:!0}function r(e){var t,n,i,r,o,a,c,u,l,p,f=0,h=null;if(t=s.exec(e),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],c=+t[6],t[7]){for(f=t[7].slice(0,3);f.length<3;)f+="0";f=+f}return t[9]&&(u=+t[10],l=+(t[11]||0),h=6e4*(60*u+l),"-"===t[9]&&(h=-h)),p=new Date(Date.UTC(n,i,r,o,a,c,f)),h&&p.setTime(p.getTime()-h),p}function o(e){return e.toISOString()}var a=e("../type"),s=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?)?$");t.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i,construct:r,instanceOf:Date,represent:o})},{"../type":13}],30:[function(e,t,n){},{}],"/":[function(e,t,n){"use strict";var i=e("./lib/js-yaml.js");t.exports=i},{"./lib/js-yaml.js":1}]},{},[])("/")}),function(e){e.parse=function(t,n){n=n||"__content";var i,r=/^(-{3}(?:\n|\r)([\w\W]+?)-{3})?([\w\W]*)*/,o=r.exec(t),a={};return(i=o[2])&&(a="{"===i.charAt(0)?JSON.parse(i):e.load(i)),a[n]=o[3]?o[3]:"",a},e.loadFront=function(t,n){return e.parse(t,n)}}(window.jsyaml); +//# sourceMappingURL=js-yaml-front-client.min.js.map diff --git a/app/assets/javascripts/lib/xss.js b/app/assets/javascripts/lib/xss.js new file mode 100644 index 0000000000000..37f7fbd8b93c4 --- /dev/null +++ b/app/assets/javascripts/lib/xss.js @@ -0,0 +1,1573 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o + */ + +var FilterCSS = require('cssfilter').FilterCSS; +var getDefaultCSSWhiteList = require('cssfilter').getDefaultWhiteList; +var _ = require('./util'); + +// 默认白名单 +function getDefaultWhiteList () { + return { + // // a: ['target', 'href', 'title'], + // abbr: ['title'], + // address: [], + // area: ['shape', 'coords', 'href', 'alt'], + // article: [], + // aside: [], + // audio: ['autoplay', 'controls', 'loop', 'preload', 'src'], + // b: [], + // bdi: ['dir'], + // bdo: ['dir'], + // big: [], + // blockquote: ['cite'], + // br: [], + // caption: [], + // center: [], + // cite: [], + // code: [], + // col: ['align', 'valign', 'span', 'width'], + // colgroup: ['align', 'valign', 'span', 'width'], + // dd: [], + // del: ['datetime'], + // details: ['open'], + // div: [], + // dl: [], + // dt: [], + // em: [], + // font: ['color', 'size', 'face'], + // footer: [], + // h1: [], + // h2: [], + // h3: [], + // h4: [], + // h5: [], + // h6: [], + // header: [], + // hr: [], + // i: [], + // // img: ['src', 'alt', 'title', 'width', 'height'], + // ins: ['datetime'], + // li: [], + // mark: [], + // nav: [], + // ol: [], + // p: [], + // pre: [], + // s: [], + // section:[], + // small: [], + // span: [], + // sub: [], + // sup: [], + // strong: [], + // table: ['width', 'border', 'align', 'valign'], + // tbody: ['align', 'valign'], + // td: ['width', 'rowspan', 'colspan', 'align', 'valign'], + // tfoot: ['align', 'valign'], + // th: ['width', 'rowspan', 'colspan', 'align', 'valign'], + // thead: ['align', 'valign'], + // tr: ['rowspan', 'align', 'valign'], + // tt: [], + // u: [], + // ul: [], + // video: ['autoplay', 'controls', 'loop', 'preload', 'src', 'height', 'width'] + }; +} + +// 默认CSS Filter +var defaultCSSFilter = new FilterCSS(); + +/** + * 匹配到标签时的处理方法 + * + * @param {String} tag + * @param {String} html + * @param {Object} options + * @return {String} + */ +function onTag (tag, html, options) { + // do nothing +} + +/** + * 匹配到不在白名单上的标签时的处理方法 + * + * @param {String} tag + * @param {String} html + * @param {Object} options + * @return {String} + */ +function onIgnoreTag (tag, html, options) { + // do nothing +} + +/** + * 匹配到标签属性时的处理方法 + * + * @param {String} tag + * @param {String} name + * @param {String} value + * @return {String} + */ +function onTagAttr (tag, name, value) { + // do nothing +} + +/** + * 匹配到不在白名单上的标签属性时的处理方法 + * + * @param {String} tag + * @param {String} name + * @param {String} value + * @return {String} + */ +function onIgnoreTagAttr (tag, name, value) { + // do nothing +} + +/** + * HTML转义 + * + * @param {String} html + */ +function escapeHtml (html) { + return html.replace(REGEXP_LT, '<').replace(REGEXP_GT, '>'); +} + +/** + * 安全的标签属性值 + * + * @param {String} tag + * @param {String} name + * @param {String} value + * @param {Object} cssFilter + * @return {String} + */ +function safeAttrValue (tag, name, value, cssFilter) { + // 转换为友好的属性值,再做判断 + value = friendlyAttrValue(value); + + if (name === 'href' || name === 'src') { + // 过滤 href 和 src 属性 + // 仅允许 http:// | https:// | mailto: | / | # 开头的地址 + value = _.trim(value); + if (value === '#') return '#'; + if (!(value.substr(0, 7) === 'http://' || + value.substr(0, 8) === 'https://' || + value.substr(0, 7) === 'mailto:' || + value[0] === '#' || + value[0] === '/')) { + return ''; + } + } else if (name === 'background') { + // 过滤 background 属性 (这个xss漏洞较老了,可能已经不适用) + // javascript: + REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0; + if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) { + return ''; + } + } else if (name === 'style') { + // /*注释*/ + /*REGEXP_DEFAULT_ON_TAG_ATTR_3.lastIndex = 0; + if (REGEXP_DEFAULT_ON_TAG_ATTR_3.test(value)) { + return ''; + }*/ + // expression() + REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0; + if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) { + return ''; + } + // url() + REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0; + if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) { + REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0; + if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) { + return ''; + } + } + if (cssFilter !== false) { + cssFilter = cssFilter || defaultCSSFilter; + value = cssFilter.process(value); + } + } + + // 输出时需要转义<>" + value = escapeAttrValue(value); + return value; +} + +// 正则表达式 +var REGEXP_LT = //g; +var REGEXP_QUOTE = /"/g; +var REGEXP_QUOTE_2 = /"/g; +var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/img; +var REGEXP_ATTR_VALUE_COLON = /:?/img; +var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/img; +var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//mg; +var REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/ig; +var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/ig; +var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//ig; +var REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/ig; +var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/ig; + +/** + * 对双引号进行转义 + * + * @param {String} str + * @return {String} str + */ +function escapeQuote (str) { + return str.replace(REGEXP_QUOTE, '"'); +} + +/** + * 对双引号进行转义 + * + * @param {String} str + * @return {String} str + */ +function unescapeQuote (str) { + return str.replace(REGEXP_QUOTE_2, '"'); +} + +/** + * 对html实体编码进行转义 + * + * @param {String} str + * @return {String} + */ +function escapeHtmlEntities (str) { + return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode (str, code) { + return (code[0] === 'x' || code[0] === 'X') + ? String.fromCharCode(parseInt(code.substr(1), 16)) + : String.fromCharCode(parseInt(code, 10)); + }); +} + +/** + * 对html5新增的危险实体编码进行转义 + * + * @param {String} str + * @return {String} + */ +function escapeDangerHtml5Entities (str) { + return str.replace(REGEXP_ATTR_VALUE_COLON, ':') + .replace(REGEXP_ATTR_VALUE_NEWLINE, ' '); +} + +/** + * 清除不可见字符 + * + * @param {String} str + * @return {String} + */ +function clearNonPrintableCharacter (str) { + var str2 = ''; + for (var i = 0, len = str.length; i < len; i++) { + str2 += str.charCodeAt(i) < 32 ? ' ' : str.charAt(i); + } + return _.trim(str2); +} + +/** + * 将标签的属性值转换成一般字符,便于分析 + * + * @param {String} str + * @return {String} + */ +function friendlyAttrValue (str) { + str = unescapeQuote(str); // 双引号 + str = escapeHtmlEntities(str); // 转换HTML实体编码 + str = escapeDangerHtml5Entities(str); // 转换危险的HTML5新增实体编码 + str = clearNonPrintableCharacter(str); // 清除不可见字符 + return str; +} + +/** + * 转义用于输出的标签属性值 + * + * @param {String} str + * @return {String} + */ +function escapeAttrValue (str) { + str = escapeQuote(str); + str = escapeHtml(str); + return str; +} + +/** + * 去掉不在白名单中的标签onIgnoreTag处理方法 + */ +function onIgnoreTagStripAll () { + return ''; +} + +/** + * 删除标签体 + * + * @param {array} tags 要删除的标签列表 + * @param {function} next 对不在列表中的标签的处理函数,可选 + */ +function StripTagBody (tags, next) { + if (typeof(next) !== 'function') { + next = function () {}; + } + + var isRemoveAllTag = !Array.isArray(tags); + function isRemoveTag (tag) { + if (isRemoveAllTag) return true; + return (_.indexOf(tags, tag) !== -1); + } + + var removeList = []; // 要删除的位置范围列表 + var posStart = false; // 当前标签开始位置 + + return { + onIgnoreTag: function (tag, html, options) { + if (isRemoveTag(tag)) { + if (options.isClosing) { + var ret = '[/removed]'; + var end = options.position + ret.length; + removeList.push([posStart !== false ? posStart : options.position, end]); + posStart = false; + return ret; + } else { + if (!posStart) { + posStart = options.position; + } + return '[removed]'; + } + } else { + return next(tag, html, options); + } + }, + remove: function (html) { + var rethtml = ''; + var lastPos = 0; + _.forEach(removeList, function (pos) { + rethtml += html.slice(lastPos, pos[0]); + lastPos = pos[1]; + }); + rethtml += html.slice(lastPos); + return rethtml; + } + }; +} + +/** + * 去除备注标签 + * + * @param {String} html + * @return {String} + */ +function stripCommentTag (html) { + return html.replace(STRIP_COMMENT_TAG_REGEXP, ''); +} +var STRIP_COMMENT_TAG_REGEXP = //g; + +/** + * 去除不可见字符 + * + * @param {String} html + * @return {String} + */ +function stripBlankChar (html) { + var chars = html.split(''); + chars = chars.filter(function (char) { + var c = char.charCodeAt(0); + if (c === 127) return false; + if (c <= 31) { + if (c === 10 || c === 13) return true; + return false; + } + return true; + }); + return chars.join(''); +} + + +exports.whiteList = getDefaultWhiteList(); +exports.getDefaultWhiteList = getDefaultWhiteList; +exports.onTag = onTag; +exports.onIgnoreTag = onIgnoreTag; +exports.onTagAttr = onTagAttr; +exports.onIgnoreTagAttr = onIgnoreTagAttr; +exports.safeAttrValue = safeAttrValue; +exports.escapeHtml = escapeHtml; +exports.escapeQuote = escapeQuote; +exports.unescapeQuote = unescapeQuote; +exports.escapeHtmlEntities = escapeHtmlEntities; +exports.escapeDangerHtml5Entities = escapeDangerHtml5Entities; +exports.clearNonPrintableCharacter = clearNonPrintableCharacter; +exports.friendlyAttrValue = friendlyAttrValue; +exports.escapeAttrValue = escapeAttrValue; +exports.onIgnoreTagStripAll = onIgnoreTagStripAll; +exports.StripTagBody = StripTagBody; +exports.stripCommentTag = stripCommentTag; +exports.stripBlankChar = stripBlankChar; +exports.cssFilter = defaultCSSFilter; +exports.getDefaultCSSWhiteList = getDefaultCSSWhiteList; + +},{"./util":4,"cssfilter":8}],2:[function(require,module,exports){ +/** + * 模块入口 + * + * @author 老雷 + */ + +var DEFAULT = require('./default'); +var parser = require('./parser'); +var FilterXSS = require('./xss'); + + +/** + * XSS过滤 + * + * @param {String} html 要过滤的HTML代码 + * @param {Object} options 选项:whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml + * @return {String} + */ +function filterXSS (html, options) { + var xss = new FilterXSS(options); + return xss.process(html); +} + + +// 输出 +exports = module.exports = filterXSS; +exports.FilterXSS = FilterXSS; +for (var i in DEFAULT) exports[i] = DEFAULT[i]; +for (var i in parser) exports[i] = parser[i]; + + +// 在浏览器端使用 +if (typeof window !== 'undefined') { + window.filterXSS = module.exports; +} + +},{"./default":1,"./parser":3,"./xss":5}],3:[function(require,module,exports){ +/** + * 简单 HTML Parser + * + * @author 老雷 + */ + +var _ = require('./util'); + +/** + * 获取标签的名称 + * + * @param {String} html 如:'' + * @return {String} + */ +function getTagName (html) { + var i = html.indexOf(' '); + if (i === -1) { + var tagName = html.slice(1, -1); + } else { + var tagName = html.slice(1, i + 1); + } + tagName = _.trim(tagName).toLowerCase(); + if (tagName.slice(0, 1) === '/') tagName = tagName.slice(1); + if (tagName.slice(-1) === '/') tagName = tagName.slice(0, -1); + return tagName; +} + +/** + * 是否为闭合标签 + * + * @param {String} html 如:'' + * @return {Boolean} + */ +function isClosing (html) { + return (html.slice(0, 2) === '') { + rethtml += escapeHtml(html.slice(lastPos, tagStart)); + currentHtml = html.slice(tagStart, currentPos + 1); + currentTagName = getTagName(currentHtml); + rethtml += onTag(tagStart, + rethtml.length, + currentTagName, + currentHtml, + isClosing(currentHtml)); + lastPos = currentPos + 1; + tagStart = false; + continue; + } + // HTML标签内的引号仅当前一个字符是等于号时才有效 + if ((c === '"' || c === "'") && html.charAt(currentPos - 1) === '=') { + quoteStart = c; + continue; + } + } else { + if (c === quoteStart) { + quoteStart = false; + continue; + } + } + } + } + if (lastPos < html.length) { + rethtml += escapeHtml(html.substr(lastPos)); + } + + return rethtml; +} + +// 不符合属性名称规则的正则表达式 +var REGEXP_ATTR_NAME = /[^a-zA-Z0-9_:\.\-]/img; + +/** + * 分析标签HTML代码,调用相应的函数处理,返回HTML + * + * @param {String} html 如标签'' 则为 'href="#" target="_blank"' + * @param {Function} onAttr 处理属性值的函数 + * 函数格式: function (name, value) + * @return {String} + */ +function parseAttr (html, onAttr) { + 'user strict'; + + var lastPos = 0; // 当前位置 + var retAttrs = []; // 待返回的属性列表 + var tmpName = false; // 临时属性名称 + var len = html.length; // HTML代码长度 + + function addAttr (name, value) { + name = _.trim(name); + name = name.replace(REGEXP_ATTR_NAME, '').toLowerCase(); + if (name.length < 1) return; + var ret = onAttr(name, value || ''); + if (ret) retAttrs.push(ret); + }; + + // 逐个分析字符 + for (var i = 0; i < len; i++) { + var c = html.charAt(i); + var v, j; + if (tmpName === false && c === '=') { + tmpName = html.slice(lastPos, i); + lastPos = i + 1; + continue; + } + if (tmpName !== false) { + // HTML标签内的引号仅当前一个字符是等于号时才有效 + if (i === lastPos && (c === '"' || c === "'") && html.charAt(i - 1) === '=') { + j = html.indexOf(c, i + 1); + if (j === -1) { + break; + } else { + v = _.trim(html.slice(lastPos + 1, j)); + addAttr(tmpName, v); + tmpName = false; + i = j; + lastPos = i + 1; + continue; + } + } + } + if (c === ' ') { + if (tmpName === false) { + j = findNextEqual(html, i); + if (j === -1) { + v = _.trim(html.slice(lastPos, i)); + addAttr(v); + tmpName = false; + lastPos = i + 1; + continue; + } else { + i = j - 1; + continue; + } + } else { + j = findBeforeEqual(html, i - 1); + if (j === -1) { + v = _.trim(html.slice(lastPos, i)); + v = stripQuoteWrap(v); + addAttr(tmpName, v); + tmpName = false; + lastPos = i + 1; + continue; + } else { + continue; + } + } + } + } + + if (lastPos < html.length) { + if (tmpName === false) { + addAttr(html.slice(lastPos)); + } else { + addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos)))); + } + } + + return _.trim(retAttrs.join(' ')); +} + +function findNextEqual (str, i) { + for (; i < str.length; i++) { + var c = str[i]; + if (c === ' ') continue; + if (c === '=') return i; + return -1; + } +} + +function findBeforeEqual (str, i) { + for (; i > 0; i--) { + var c = str[i]; + if (c === ' ') continue; + if (c === '=') return i; + return -1; + } +} + +function isQuoteWrapString (text) { + if ((text[0] === '"' && text[text.length - 1] === '"') || + (text[0] === '\'' && text[text.length - 1] === '\'')) { + return true; + } else { + return false; + } +}; + +function stripQuoteWrap (text) { + if (isQuoteWrapString(text)) { + return text.substr(1, text.length - 2); + } else { + return text; + } +}; + + +exports.parseTag = parseTag; +exports.parseAttr = parseAttr; + +},{"./util":4}],4:[function(require,module,exports){ +module.exports = { + indexOf: function (arr, item) { + var i, j; + if (Array.prototype.indexOf) { + return arr.indexOf(item); + } + for (i = 0, j = arr.length; i < j; i++) { + if (arr[i] === item) { + return i; + } + } + return -1; + }, + forEach: function (arr, fn, scope) { + var i, j; + if (Array.prototype.forEach) { + return arr.forEach(fn, scope); + } + for (i = 0, j = arr.length; i < j; i++) { + fn.call(scope, arr[i], i, arr); + } + }, + trim: function (str) { + if (String.prototype.trim) { + return str.trim(); + } + return str.replace(/(^\s*)|(\s*$)/g, ''); + } +}; + +},{}],5:[function(require,module,exports){ +/** + * 过滤XSS + * + * @author 老雷 + */ + +var FilterCSS = require('cssfilter').FilterCSS; +var DEFAULT = require('./default'); +var parser = require('./parser'); +var parseTag = parser.parseTag; +var parseAttr = parser.parseAttr; +var _ = require('./util'); + + +/** + * 返回值是否为空 + * + * @param {Object} obj + * @return {Boolean} + */ +function isNull (obj) { + return (obj === undefined || obj === null); +} + +/** + * 取标签内的属性列表字符串 + * + * @param {String} html + * @return {Object} + * - {String} html + * - {Boolean} closing + */ +function getAttrs (html) { + var i = html.indexOf(' '); + if (i === -1) { + return { + html: '', + closing: (html[html.length - 2] === '/') + }; + } + html = _.trim(html.slice(i + 1, -1)); + var isClosing = (html[html.length - 1] === '/'); + if (isClosing) html = _.trim(html.slice(0, -1)); + return { + html: html, + closing: isClosing + }; +} + +/** + * 浅拷贝对象 + * + * @param {Object} obj + * @return {Object} + */ +function shallowCopyObject (obj) { + var ret = {}; + for (var i in obj) { + ret[i] = obj[i]; + } + return ret; +} + +/** + * XSS过滤对象 + * + * @param {Object} options + * 选项:whiteList, onTag, onTagAttr, onIgnoreTag, + * onIgnoreTagAttr, safeAttrValue, escapeHtml + * stripIgnoreTagBody, allowCommentTag, stripBlankChar + * css{whiteList, onAttr, onIgnoreAttr} css=false表示禁用cssfilter + */ +function FilterXSS (options) { + options = shallowCopyObject(options || {}); + + if (options.stripIgnoreTag) { + if (options.onIgnoreTag) { + console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'); + } + options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll; + } + + options.whiteList = options.whiteList || DEFAULT.whiteList; + options.onTag = options.onTag || DEFAULT.onTag; + options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr; + options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag; + options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr; + options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue; + options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml; + this.options = options; + + if (options.css === false) { + this.cssFilter = false; + } else { + options.css = options.css || {}; + this.cssFilter = new FilterCSS(options.css); + } +} + +/** + * 开始处理 + * + * @param {String} html + * @return {String} + */ +FilterXSS.prototype.process = function (html) { + // 兼容各种奇葩输入 + html = html || ''; + html = html.toString(); + if (!html) return ''; + + var me = this; + var options = me.options; + var whiteList = options.whiteList; + var onTag = options.onTag; + var onIgnoreTag = options.onIgnoreTag; + var onTagAttr = options.onTagAttr; + var onIgnoreTagAttr = options.onIgnoreTagAttr; + var safeAttrValue = options.safeAttrValue; + var escapeHtml = options.escapeHtml; + var cssFilter = me.cssFilter; + + // 是否清除不可见字符 + if (options.stripBlankChar) { + html = DEFAULT.stripBlankChar(html); + } + + // 是否禁止备注标签 + if (!options.allowCommentTag) { + html = DEFAULT.stripCommentTag(html); + } + + // 如果开启了stripIgnoreTagBody + var stripIgnoreTagBody = false; + if (options.stripIgnoreTagBody) { + var stripIgnoreTagBody = DEFAULT.StripTagBody(options.stripIgnoreTagBody, onIgnoreTag); + onIgnoreTag = stripIgnoreTagBody.onIgnoreTag; + } + + var retHtml = parseTag(html, function (sourcePosition, position, tag, html, isClosing) { + var info = { + sourcePosition: sourcePosition, + position: position, + isClosing: isClosing, + isWhite: (tag in whiteList) + }; + + // 调用onTag处理 + var ret = onTag(tag, html, info); + if (!isNull(ret)) return ret; + + // 默认标签处理方法 + if (info.isWhite) { + // 白名单标签,解析标签属性 + // 如果是闭合标签,则不需要解析属性 + if (info.isClosing) { + return ''; + } + + var attrs = getAttrs(html); + var whiteAttrList = whiteList[tag]; + var attrsHtml = parseAttr(attrs.html, function (name, value) { + + // 调用onTagAttr处理 + var isWhiteAttr = (_.indexOf(whiteAttrList, name) !== -1); + var ret = onTagAttr(tag, name, value, isWhiteAttr); + if (!isNull(ret)) return ret; + + // 默认的属性处理方法 + if (isWhiteAttr) { + // 白名单属性,调用safeAttrValue过滤属性值 + value = safeAttrValue(tag, name, value, cssFilter); + if (value) { + return name + '="' + value + '"'; + } else { + return name; + } + } else { + // 非白名单属性,调用onIgnoreTagAttr处理 + var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr); + if (!isNull(ret)) return ret; + return; + } + }); + + // 构造新的标签代码 + var html = '<' + tag; + if (attrsHtml) html += ' ' + attrsHtml; + if (attrs.closing) html += ' /'; + html += '>'; + return html; + + } else { + // 非白名单标签,调用onIgnoreTag处理 + var ret = onIgnoreTag(tag, html, info); + if (!isNull(ret)) return ret; + return escapeHtml(html); + } + + }, escapeHtml); + + // 如果开启了stripIgnoreTagBody,需要对结果再进行处理 + if (stripIgnoreTagBody) { + retHtml = stripIgnoreTagBody.remove(retHtml); + } + + return retHtml; +}; + + +module.exports = FilterXSS; + +},{"./default":1,"./parser":3,"./util":4,"cssfilter":8}],6:[function(require,module,exports){ +/** + * cssfilter + * + * @author 老雷 + */ + +var DEFAULT = require('./default'); +var parseStyle = require('./parser'); +var _ = require('./util'); + + +/** + * 返回值是否为空 + * + * @param {Object} obj + * @return {Boolean} + */ +function isNull (obj) { + return (obj === undefined || obj === null); +} + +/** + * 浅拷贝对象 + * + * @param {Object} obj + * @return {Object} + */ +function shallowCopyObject (obj) { + var ret = {}; + for (var i in obj) { + ret[i] = obj[i]; + } + return ret; +} + +/** + * 创建CSS过滤器 + * + * @param {Object} options + * - {Object} whiteList + * - {Object} onAttr + * - {Object} onIgnoreAttr + */ +function FilterCSS (options) { + options = shallowCopyObject(options || {}); + options.whiteList = options.whiteList || DEFAULT.whiteList; + options.onAttr = options.onAttr || DEFAULT.onAttr; + options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr; + this.options = options; +} + +FilterCSS.prototype.process = function (css) { + // 兼容各种奇葩输入 + css = css || ''; + css = css.toString(); + if (!css) return ''; + + var me = this; + var options = me.options; + var whiteList = options.whiteList; + var onAttr = options.onAttr; + var onIgnoreAttr = options.onIgnoreAttr; + + var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) { + + var check = whiteList[name]; + var isWhite = false; + if (check === true) isWhite = check; + else if (typeof check === 'function') isWhite = check(value); + else if (check instanceof RegExp) isWhite = check.test(value); + if (isWhite !== true) isWhite = false; + + var opts = { + position: position, + sourcePosition: sourcePosition, + source: source, + isWhite: isWhite + }; + + if (isWhite) { + + var ret = onAttr(name, value, opts); + if (isNull(ret)) { + return name + ':' + value; + } else { + return ret; + } + + } else { + + var ret = onIgnoreAttr(name, value, opts); + if (!isNull(ret)) { + return ret; + } + + } + }); + + return retCSS; +}; + + +module.exports = FilterCSS; + +},{"./default":7,"./parser":9,"./util":10}],7:[function(require,module,exports){ +/** + * cssfilter + * + * @author 老雷 + */ + +function getDefaultWhiteList () { + // 白名单值说明: + // true: 允许该属性 + // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许 + // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许 + // 除上面列出的值外均表示不允许 + var whiteList = {}; + + whiteList['align-content'] = false; // default: auto + whiteList['align-items'] = false; // default: auto + whiteList['align-self'] = false; // default: auto + whiteList['alignment-adjust'] = false; // default: auto + whiteList['alignment-baseline'] = false; // default: baseline + whiteList['all'] = false; // default: depending on individual properties + whiteList['anchor-point'] = false; // default: none + whiteList['animation'] = false; // default: depending on individual properties + whiteList['animation-delay'] = false; // default: 0 + whiteList['animation-direction'] = false; // default: normal + whiteList['animation-duration'] = false; // default: 0 + whiteList['animation-fill-mode'] = false; // default: none + whiteList['animation-iteration-count'] = false; // default: 1 + whiteList['animation-name'] = false; // default: none + whiteList['animation-play-state'] = false; // default: running + whiteList['animation-timing-function'] = false; // default: ease + whiteList['azimuth'] = false; // default: center + whiteList['backface-visibility'] = false; // default: visible + whiteList['background'] = true; // default: depending on individual properties + whiteList['background-attachment'] = true; // default: scroll + whiteList['background-clip'] = true; // default: border-box + whiteList['background-color'] = true; // default: transparent + whiteList['background-image'] = true; // default: none + whiteList['background-origin'] = true; // default: padding-box + whiteList['background-position'] = true; // default: 0% 0% + whiteList['background-repeat'] = true; // default: repeat + whiteList['background-size'] = true; // default: auto + whiteList['baseline-shift'] = false; // default: baseline + whiteList['binding'] = false; // default: none + whiteList['bleed'] = false; // default: 6pt + whiteList['bookmark-label'] = false; // default: content() + whiteList['bookmark-level'] = false; // default: none + whiteList['bookmark-state'] = false; // default: open + whiteList['border'] = true; // default: depending on individual properties + whiteList['border-bottom'] = true; // default: depending on individual properties + whiteList['border-bottom-color'] = true; // default: current color + whiteList['border-bottom-left-radius'] = true; // default: 0 + whiteList['border-bottom-right-radius'] = true; // default: 0 + whiteList['border-bottom-style'] = true; // default: none + whiteList['border-bottom-width'] = true; // default: medium + whiteList['border-collapse'] = true; // default: separate + whiteList['border-color'] = true; // default: depending on individual properties + whiteList['border-image'] = true; // default: none + whiteList['border-image-outset'] = true; // default: 0 + whiteList['border-image-repeat'] = true; // default: stretch + whiteList['border-image-slice'] = true; // default: 100% + whiteList['border-image-source'] = true; // default: none + whiteList['border-image-width'] = true; // default: 1 + whiteList['border-left'] = true; // default: depending on individual properties + whiteList['border-left-color'] = true; // default: current color + whiteList['border-left-style'] = true; // default: none + whiteList['border-left-width'] = true; // default: medium + whiteList['border-radius'] = true; // default: 0 + whiteList['border-right'] = true; // default: depending on individual properties + whiteList['border-right-color'] = true; // default: current color + whiteList['border-right-style'] = true; // default: none + whiteList['border-right-width'] = true; // default: medium + whiteList['border-spacing'] = true; // default: 0 + whiteList['border-style'] = true; // default: depending on individual properties + whiteList['border-top'] = true; // default: depending on individual properties + whiteList['border-top-color'] = true; // default: current color + whiteList['border-top-left-radius'] = true; // default: 0 + whiteList['border-top-right-radius'] = true; // default: 0 + whiteList['border-top-style'] = true; // default: none + whiteList['border-top-width'] = true; // default: medium + whiteList['border-width'] = true; // default: depending on individual properties + whiteList['bottom'] = false; // default: auto + whiteList['box-decoration-break'] = true; // default: slice + whiteList['box-shadow'] = true; // default: none + whiteList['box-sizing'] = true; // default: content-box + whiteList['box-snap'] = true; // default: none + whiteList['box-suppress'] = true; // default: show + whiteList['break-after'] = true; // default: auto + whiteList['break-before'] = true; // default: auto + whiteList['break-inside'] = true; // default: auto + whiteList['caption-side'] = false; // default: top + whiteList['chains'] = false; // default: none + whiteList['clear'] = true; // default: none + whiteList['clip'] = false; // default: auto + whiteList['clip-path'] = false; // default: none + whiteList['clip-rule'] = false; // default: nonzero + whiteList['color'] = true; // default: implementation dependent + whiteList['color-interpolation-filters'] = true; // default: auto + whiteList['column-count'] = false; // default: auto + whiteList['column-fill'] = false; // default: balance + whiteList['column-gap'] = false; // default: normal + whiteList['column-rule'] = false; // default: depending on individual properties + whiteList['column-rule-color'] = false; // default: current color + whiteList['column-rule-style'] = false; // default: medium + whiteList['column-rule-width'] = false; // default: medium + whiteList['column-span'] = false; // default: none + whiteList['column-width'] = false; // default: auto + whiteList['columns'] = false; // default: depending on individual properties + whiteList['contain'] = false; // default: none + whiteList['content'] = false; // default: normal + whiteList['counter-increment'] = false; // default: none + whiteList['counter-reset'] = false; // default: none + whiteList['counter-set'] = false; // default: none + whiteList['crop'] = false; // default: auto + whiteList['cue'] = false; // default: depending on individual properties + whiteList['cue-after'] = false; // default: none + whiteList['cue-before'] = false; // default: none + whiteList['cursor'] = false; // default: auto + whiteList['direction'] = false; // default: ltr + whiteList['display'] = true; // default: depending on individual properties + whiteList['display-inside'] = true; // default: auto + whiteList['display-list'] = true; // default: none + whiteList['display-outside'] = true; // default: inline-level + whiteList['dominant-baseline'] = false; // default: auto + whiteList['elevation'] = false; // default: level + whiteList['empty-cells'] = false; // default: show + whiteList['filter'] = false; // default: none + whiteList['flex'] = false; // default: depending on individual properties + whiteList['flex-basis'] = false; // default: auto + whiteList['flex-direction'] = false; // default: row + whiteList['flex-flow'] = false; // default: depending on individual properties + whiteList['flex-grow'] = false; // default: 0 + whiteList['flex-shrink'] = false; // default: 1 + whiteList['flex-wrap'] = false; // default: nowrap + whiteList['float'] = false; // default: none + whiteList['float-offset'] = false; // default: 0 0 + whiteList['flood-color'] = false; // default: black + whiteList['flood-opacity'] = false; // default: 1 + whiteList['flow-from'] = false; // default: none + whiteList['flow-into'] = false; // default: none + whiteList['font'] = true; // default: depending on individual properties + whiteList['font-family'] = true; // default: implementation dependent + whiteList['font-feature-settings'] = true; // default: normal + whiteList['font-kerning'] = true; // default: auto + whiteList['font-language-override'] = true; // default: normal + whiteList['font-size'] = true; // default: medium + whiteList['font-size-adjust'] = true; // default: none + whiteList['font-stretch'] = true; // default: normal + whiteList['font-style'] = true; // default: normal + whiteList['font-synthesis'] = true; // default: weight style + whiteList['font-variant'] = true; // default: normal + whiteList['font-variant-alternates'] = true; // default: normal + whiteList['font-variant-caps'] = true; // default: normal + whiteList['font-variant-east-asian'] = true; // default: normal + whiteList['font-variant-ligatures'] = true; // default: normal + whiteList['font-variant-numeric'] = true; // default: normal + whiteList['font-variant-position'] = true; // default: normal + whiteList['font-weight'] = true; // default: normal + whiteList['grid'] = false; // default: depending on individual properties + whiteList['grid-area'] = false; // default: depending on individual properties + whiteList['grid-auto-columns'] = false; // default: auto + whiteList['grid-auto-flow'] = false; // default: none + whiteList['grid-auto-rows'] = false; // default: auto + whiteList['grid-column'] = false; // default: depending on individual properties + whiteList['grid-column-end'] = false; // default: auto + whiteList['grid-column-start'] = false; // default: auto + whiteList['grid-row'] = false; // default: depending on individual properties + whiteList['grid-row-end'] = false; // default: auto + whiteList['grid-row-start'] = false; // default: auto + whiteList['grid-template'] = false; // default: depending on individual properties + whiteList['grid-template-areas'] = false; // default: none + whiteList['grid-template-columns'] = false; // default: none + whiteList['grid-template-rows'] = false; // default: none + whiteList['hanging-punctuation'] = false; // default: none + whiteList['height'] = true; // default: auto + whiteList['hyphens'] = false; // default: manual + whiteList['icon'] = false; // default: auto + whiteList['image-orientation'] = false; // default: auto + whiteList['image-resolution'] = false; // default: normal + whiteList['ime-mode'] = false; // default: auto + whiteList['initial-letters'] = false; // default: normal + whiteList['inline-box-align'] = false; // default: last + whiteList['justify-content'] = false; // default: auto + whiteList['justify-items'] = false; // default: auto + whiteList['justify-self'] = false; // default: auto + whiteList['left'] = false; // default: auto + whiteList['letter-spacing'] = true; // default: normal + whiteList['lighting-color'] = true; // default: white + whiteList['line-box-contain'] = false; // default: block inline replaced + whiteList['line-break'] = false; // default: auto + whiteList['line-grid'] = false; // default: match-parent + whiteList['line-height'] = false; // default: normal + whiteList['line-snap'] = false; // default: none + whiteList['line-stacking'] = false; // default: depending on individual properties + whiteList['line-stacking-ruby'] = false; // default: exclude-ruby + whiteList['line-stacking-shift'] = false; // default: consider-shifts + whiteList['line-stacking-strategy'] = false; // default: inline-line-height + whiteList['list-style'] = true; // default: depending on individual properties + whiteList['list-style-image'] = true; // default: none + whiteList['list-style-position'] = true; // default: outside + whiteList['list-style-type'] = true; // default: disc + whiteList['margin'] = true; // default: depending on individual properties + whiteList['margin-bottom'] = true; // default: 0 + whiteList['margin-left'] = true; // default: 0 + whiteList['margin-right'] = true; // default: 0 + whiteList['margin-top'] = true; // default: 0 + whiteList['marker-offset'] = false; // default: auto + whiteList['marker-side'] = false; // default: list-item + whiteList['marks'] = false; // default: none + whiteList['mask'] = false; // default: border-box + whiteList['mask-box'] = false; // default: see individual properties + whiteList['mask-box-outset'] = false; // default: 0 + whiteList['mask-box-repeat'] = false; // default: stretch + whiteList['mask-box-slice'] = false; // default: 0 fill + whiteList['mask-box-source'] = false; // default: none + whiteList['mask-box-width'] = false; // default: auto + whiteList['mask-clip'] = false; // default: border-box + whiteList['mask-image'] = false; // default: none + whiteList['mask-origin'] = false; // default: border-box + whiteList['mask-position'] = false; // default: center + whiteList['mask-repeat'] = false; // default: no-repeat + whiteList['mask-size'] = false; // default: border-box + whiteList['mask-source-type'] = false; // default: auto + whiteList['mask-type'] = false; // default: luminance + whiteList['max-height'] = true; // default: none + whiteList['max-lines'] = false; // default: none + whiteList['max-width'] = true; // default: none + whiteList['min-height'] = true; // default: 0 + whiteList['min-width'] = true; // default: 0 + whiteList['move-to'] = false; // default: normal + whiteList['nav-down'] = false; // default: auto + whiteList['nav-index'] = false; // default: auto + whiteList['nav-left'] = false; // default: auto + whiteList['nav-right'] = false; // default: auto + whiteList['nav-up'] = false; // default: auto + whiteList['object-fit'] = false; // default: fill + whiteList['object-position'] = false; // default: 50% 50% + whiteList['opacity'] = false; // default: 1 + whiteList['order'] = false; // default: 0 + whiteList['orphans'] = false; // default: 2 + whiteList['outline'] = false; // default: depending on individual properties + whiteList['outline-color'] = false; // default: invert + whiteList['outline-offset'] = false; // default: 0 + whiteList['outline-style'] = false; // default: none + whiteList['outline-width'] = false; // default: medium + whiteList['overflow'] = false; // default: depending on individual properties + whiteList['overflow-wrap'] = false; // default: normal + whiteList['overflow-x'] = false; // default: visible + whiteList['overflow-y'] = false; // default: visible + whiteList['padding'] = true; // default: depending on individual properties + whiteList['padding-bottom'] = true; // default: 0 + whiteList['padding-left'] = true; // default: 0 + whiteList['padding-right'] = true; // default: 0 + whiteList['padding-top'] = true; // default: 0 + whiteList['page'] = false; // default: auto + whiteList['page-break-after'] = false; // default: auto + whiteList['page-break-before'] = false; // default: auto + whiteList['page-break-inside'] = false; // default: auto + whiteList['page-policy'] = false; // default: start + whiteList['pause'] = false; // default: implementation dependent + whiteList['pause-after'] = false; // default: implementation dependent + whiteList['pause-before'] = false; // default: implementation dependent + whiteList['perspective'] = false; // default: none + whiteList['perspective-origin'] = false; // default: 50% 50% + whiteList['pitch'] = false; // default: medium + whiteList['pitch-range'] = false; // default: 50 + whiteList['play-during'] = false; // default: auto + whiteList['position'] = false; // default: static + whiteList['presentation-level'] = false; // default: 0 + whiteList['quotes'] = false; // default: text + whiteList['region-fragment'] = false; // default: auto + whiteList['resize'] = false; // default: none + whiteList['rest'] = false; // default: depending on individual properties + whiteList['rest-after'] = false; // default: none + whiteList['rest-before'] = false; // default: none + whiteList['richness'] = false; // default: 50 + whiteList['right'] = false; // default: auto + whiteList['rotation'] = false; // default: 0 + whiteList['rotation-point'] = false; // default: 50% 50% + whiteList['ruby-align'] = false; // default: auto + whiteList['ruby-merge'] = false; // default: separate + whiteList['ruby-position'] = false; // default: before + whiteList['shape-image-threshold'] = false; // default: 0.0 + whiteList['shape-outside'] = false; // default: none + whiteList['shape-margin'] = false; // default: 0 + whiteList['size'] = false; // default: auto + whiteList['speak'] = false; // default: auto + whiteList['speak-as'] = false; // default: normal + whiteList['speak-header'] = false; // default: once + whiteList['speak-numeral'] = false; // default: continuous + whiteList['speak-punctuation'] = false; // default: none + whiteList['speech-rate'] = false; // default: medium + whiteList['stress'] = false; // default: 50 + whiteList['string-set'] = false; // default: none + whiteList['tab-size'] = false; // default: 8 + whiteList['table-layout'] = false; // default: auto + whiteList['text-align'] = true; // default: start + whiteList['text-align-last'] = true; // default: auto + whiteList['text-combine-upright'] = true; // default: none + whiteList['text-decoration'] = true; // default: none + whiteList['text-decoration-color'] = true; // default: currentColor + whiteList['text-decoration-line'] = true; // default: none + whiteList['text-decoration-skip'] = true; // default: objects + whiteList['text-decoration-style'] = true; // default: solid + whiteList['text-emphasis'] = true; // default: depending on individual properties + whiteList['text-emphasis-color'] = true; // default: currentColor + whiteList['text-emphasis-position'] = true; // default: over right + whiteList['text-emphasis-style'] = true; // default: none + whiteList['text-height'] = true; // default: auto + whiteList['text-indent'] = true; // default: 0 + whiteList['text-justify'] = true; // default: auto + whiteList['text-orientation'] = true; // default: mixed + whiteList['text-overflow'] = true; // default: clip + whiteList['text-shadow'] = true; // default: none + whiteList['text-space-collapse'] = true; // default: collapse + whiteList['text-transform'] = true; // default: none + whiteList['text-underline-position'] = true; // default: auto + whiteList['text-wrap'] = true; // default: normal + whiteList['top'] = false; // default: auto + whiteList['transform'] = false; // default: none + whiteList['transform-origin'] = false; // default: 50% 50% 0 + whiteList['transform-style'] = false; // default: flat + whiteList['transition'] = false; // default: depending on individual properties + whiteList['transition-delay'] = false; // default: 0s + whiteList['transition-duration'] = false; // default: 0s + whiteList['transition-property'] = false; // default: all + whiteList['transition-timing-function'] = false; // default: ease + whiteList['unicode-bidi'] = false; // default: normal + whiteList['vertical-align'] = false; // default: baseline + whiteList['visibility'] = false; // default: visible + whiteList['voice-balance'] = false; // default: center + whiteList['voice-duration'] = false; // default: auto + whiteList['voice-family'] = false; // default: implementation dependent + whiteList['voice-pitch'] = false; // default: medium + whiteList['voice-range'] = false; // default: medium + whiteList['voice-rate'] = false; // default: normal + whiteList['voice-stress'] = false; // default: normal + whiteList['voice-volume'] = false; // default: medium + whiteList['volume'] = false; // default: medium + whiteList['white-space'] = false; // default: normal + whiteList['widows'] = false; // default: 2 + whiteList['width'] = true; // default: auto + whiteList['will-change'] = false; // default: auto + whiteList['word-break'] = true; // default: normal + whiteList['word-spacing'] = true; // default: normal + whiteList['word-wrap'] = true; // default: normal + whiteList['wrap-flow'] = false; // default: auto + whiteList['wrap-through'] = false; // default: wrap + whiteList['writing-mode'] = false; // default: horizontal-tb + whiteList['z-index'] = false; // default: auto + + return whiteList; +} + + +/** + * 匹配到白名单上的一个属性时 + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @return {String} + */ +function onAttr (name, value, options) { + // do nothing +} + +/** + * 匹配到不在白名单上的一个属性时 + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @return {String} + */ +function onIgnoreAttr (name, value, options) { + // do nothing +} + + +exports.whiteList = getDefaultWhiteList(); +exports.getDefaultWhiteList = getDefaultWhiteList; +exports.onAttr = onAttr; +exports.onIgnoreAttr = onIgnoreAttr; + +},{}],8:[function(require,module,exports){ +/** + * cssfilter + * + * @author 老雷 + */ + +var DEFAULT = require('./default'); +var FilterCSS = require('./css'); + + +/** + * XSS过滤 + * + * @param {String} css 要过滤的CSS代码 + * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr + * @return {String} + */ +function filterCSS (html, options) { + var xss = new FilterCSS(options); + return xss.process(html); +} + + +// 输出 +exports = module.exports = filterCSS; +exports.FilterCSS = FilterCSS; +for (var i in DEFAULT) exports[i] = DEFAULT[i]; + +// 在浏览器端使用 +if (typeof window !== 'undefined') { + window.filterCSS = module.exports; +} + +},{"./css":6,"./default":7}],9:[function(require,module,exports){ +/** + * cssfilter + * + * @author 老雷 + */ + +var _ = require('./util'); + + +/** + * 解析style + * + * @param {String} css + * @param {Function} onAttr 处理属性的函数 + * 参数格式: function (sourcePosition, position, name, value, source) + * @return {String} + */ +function parseStyle (css, onAttr) { + css = _.trimRight(css); + if (css[css.length - 1] !== ';') css += ';'; + var cssLength = css.length; + var isParenthesisOpen = false; + var lastPos = 0; + var i = 0; + var retCSS = ''; + + function addNewAttr () { + // 如果没有正常的闭合圆括号,则直接忽略当前属性 + if (!isParenthesisOpen) { + var source = _.trim(css.slice(lastPos, i)); + var j = source.indexOf(':'); + if (j !== -1) { + var name = _.trim(source.slice(0, j)); + var value = _.trim(source.slice(j + 1)); + // 必须有属性名称 + if (name) { + var ret = onAttr(lastPos, retCSS.length, name, value, source); + if (ret) retCSS += ret + '; '; + } + } + } + lastPos = i + 1; + } + + for (; i < cssLength; i++) { + var c = css[i]; + if (c === '/' && css[i + 1] === '*') { + // 备注开始 + var j = css.indexOf('*/', i + 2); + // 如果没有正常的备注结束,则后面的部分全部跳过 + if (j === -1) break; + // 直接将当前位置调到备注结尾,并且初始化状态 + i = j + 1; + lastPos = i + 1; + isParenthesisOpen = false; + } else if (c === '(') { + isParenthesisOpen = true; + } else if (c === ')') { + isParenthesisOpen = false; + } else if (c === ';') { + if (isParenthesisOpen) { + // 在圆括号里面,忽略 + } else { + addNewAttr(); + } + } else if (c === '\n') { + addNewAttr(); + } + } + + return _.trim(retCSS); +} + +module.exports = parseStyle; + +},{"./util":10}],10:[function(require,module,exports){ +module.exports = { + indexOf: function (arr, item) { + var i, j; + if (Array.prototype.indexOf) { + return arr.indexOf(item); + } + for (i = 0, j = arr.length; i < j; i++) { + if (arr[i] === item) { + return i; + } + } + return -1; + }, + forEach: function (arr, fn, scope) { + var i, j; + if (Array.prototype.forEach) { + return arr.forEach(fn, scope); + } + for (i = 0, j = arr.length; i < j; i++) { + fn.call(scope, arr[i], i, arr); + } + }, + trim: function (str) { + if (String.prototype.trim) { + return str.trim(); + } + return str.replace(/(^\s*)|(\s*$)/g, ''); + }, + trimRight: function (str) { + if (String.prototype.trimRight) { + return str.trimRight(); + } + return str.replace(/(\s*$)/g, ''); + } +}; + +},{}]},{},[2]); diff --git a/app/assets/javascripts/manifest.json.erb b/app/assets/javascripts/manifest.json.erb new file mode 100644 index 0000000000000..bf9a18b4de726 --- /dev/null +++ b/app/assets/javascripts/manifest.json.erb @@ -0,0 +1,23 @@ +{ + "name": "The DEV Community", + "short_name": "dev.to", + "description": "Where programmers share ideas, experiences, and help each other grow.", + "start_url": "/", + "display": "standalone", + "background_color": "#000000", + "theme_color": "#000000", + "homepage_url": "https://dev.to", + "icons": [{ + "src": "<%= image_path "devlogo-pwa-192.png" %>", + "sizes": "192x192", + "type": "image/png" + }, { + "src": "<%= image_path "devlogo-pwa-128.png" %>", + "sizes": "128x128", + "type": "image/png" + }, { + "src": "<%= image_path "devlogo-pwa-512.png" %>", + "sizes": "512x512", + "type": "image/png" + }] +} diff --git a/app/assets/javascripts/serviceworker-companion.js b/app/assets/javascripts/serviceworker-companion.js new file mode 100644 index 0000000000000..05f1ab4724f8c --- /dev/null +++ b/app/assets/javascripts/serviceworker-companion.js @@ -0,0 +1,16 @@ +if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('/serviceworker.js', { scope: '/' }) + .then(function swStart(registration) { + // registered! + }).catch(function (error) { + console.log('ServiceWorker registration failed: ', error); + }); +} + +window.addEventListener('beforeinstallprompt', function (e) { + // beforeinstallprompt Event fired + // e.userChoice will return a Promise. + e.userChoice.then(function (choiceResult) { + ga('send', 'event', 'PWA-install', choiceResult.outcome); + }); +}); diff --git a/app/assets/javascripts/serviceworker.js.erb b/app/assets/javascripts/serviceworker.js.erb new file mode 100644 index 0000000000000..bde8dd33e55f2 --- /dev/null +++ b/app/assets/javascripts/serviceworker.js.erb @@ -0,0 +1,111 @@ +var CACHE_VERSION = 'v2.4.2'; +var CACHE_NAME = CACHE_VERSION + ':sw-cache::'; +var REQUESTS_LIMIT = 70; + +function onInstall(event) { + event.waitUntil( + caches.open(CACHE_NAME).then(function prefill(cache) { + return cache.addAll([ + '<%= asset_path "base.js" %>', + '<%= asset_path "minimal.css" %>', + '/offline.html', + '<%= asset_path "devword.png" %>', + '<%= asset_path "wires.png" %>', + ]).then(function () { + console.log("WORKER: Install completed"); + }); + }) + ); +} + +function onActivate(event) { + console.log('[Serviceworker]', "Activating!", event); + event.waitUntil( + caches.keys().then(function(cacheNames) { + return Promise.all( + cacheNames.filter(function(cacheName) { + // Return true if you want to remove this cache, + return cacheName.indexOf(CACHE_NAME) !== 0; + }).map(function(cacheName) { + return caches.delete(cacheName); + }) + ); + }) + ); +} + +function onFetch(event) { + if ( requestBlackListed(event.request) ) { return; } + event.respondWith( + caches.match(event.request).then(function (cached) { + if (cached && shouldReturnStraightFromCache(event.request.url)) { + return cached; + } + return fetch(event.request) + .then(fetchedFromNetwork) + .catch(function fallback() { + return cached || caches.match('/offline.html'); + }) + } + ) + ); + + function requestBlackListed(request){ + var url = new URL(request.url); + var test = (event.request.method !== 'GET' || + event.request.url.match(/\/notifications(\?|\/)/) || + url.host.indexOf("facebook") > -1 || + url.host.indexOf("google") > -1 ) + return test + } + + function shouldReturnStraightFromCache(url) { + return (url === "<%= asset_path "base.js" %>" || + url === "<%= asset_path "minimal.css" %>" || + url.indexOf(".self-") > -1 || + (url.indexOf("search?") > -1 && url.indexOf("&i=i") > -1) || + url.indexOf("readinglist?i=i") > -1 || + url.indexOf("res.cloudinary") > -1 || + url.indexOf("freetls.fastly.net") > -1) + } + + function fetchedFromNetwork(response) { + var cacheCopy = response.clone(); + caches + .open(CACHE_NAME + 'pages') + .then(function add(cache) { + if ( shouldReturnStraightFromCache(event.request.url) ) { + cache.put(event.request, cacheCopy); + } + garbageCollect(cache); + }) + return response; + } + + function garbageCollect(cache) { + cache.keys().then(function count(keys) { + if (keys.length > REQUESTS_LIMIT) { + cache.delete(keys[0]); + cache.delete(keys[1]); + cache.delete(keys[2]); + cache.delete(keys[3]); + cache.delete(keys[4]); + cache.delete(keys[5]); + cache.delete(keys[6]); + cache.delete(keys[7]); + cache.delete(keys[8]); + cache.delete(keys[9]); + cache.delete(keys[10]); + } + }) + } + + function unableToResolve () { + console.log('WORKER: fetch request failed in both cache and network.'); + return caches.match('/offline.html') + } +}; + +self.addEventListener('install', onInstall); +self.addEventListener('activate', onActivate); +self.addEventListener('fetch', onFetch); diff --git a/app/assets/javascripts/utilities/browserStoreCache.js b/app/assets/javascripts/utilities/browserStoreCache.js new file mode 100644 index 0000000000000..52db80c5c8ce5 --- /dev/null +++ b/app/assets/javascripts/utilities/browserStoreCache.js @@ -0,0 +1,18 @@ + + +function browserStoreCache(action,userData) { + try { + if (action === "set") { + localStorage.setItem("current_user",userData); + } + else if (action === "remove") { + localStorage.removeItem("current_user"); + } + else { + return localStorage.getItem("current_user"); + } + } + catch(err) { + browserStoreCache("remove"); + } +} diff --git a/app/assets/javascripts/utilities/buildArticleHTML.js.erb b/app/assets/javascripts/utilities/buildArticleHTML.js.erb new file mode 100644 index 0000000000000..143ff5a0250eb --- /dev/null +++ b/app/assets/javascripts/utilities/buildArticleHTML.js.erb @@ -0,0 +1,103 @@ +function buildArticleHTML(article) { + if (article && article.type_of == "podcast_episodes") { + return '
\ + \ + \ +
\ +

podcast'+article.title+'

\ +
\ +
\ +

'+article.podcast.title+'

\ +
'; + } + else if (article) { + var container = document.getElementById("index-container"); + var tagString = "" + if(article.tag_list) { + article.tag_list.forEach(function(t){ + tagString = tagString + '#'+t+'\n' + }); + } + var commentsCountHTML = "" + if ((article.comments_count || '0') > 0 && article.class_name != "User") { + commentsCountHTML = '
" alt="chat" />
' + } + var flareTag = "" + if (container){ + var currentTag = JSON.parse(container.dataset.params).tag + } + if (article.flare_tag && currentTag != article.flare_tag.name) { + flareTag = "#"+article.flare_tag.name+"" + } + if (article.class_name == "PodcastEpisode"){ + flareTag = "podcast" + } + if (article.class_name == "User"){ + flareTag = "person" + } + var rc = article.positive_reactions_count || article.reactions_count + var reactionsCountHTML = '' + if ((rc || '0') > 0 && article.class_name != "User") { + var reactionsCountHTML = '
" alt="heart" />
' + } + if ( article.organization && article.tag_list.indexOf("hiring") > -1 && !document.getElementById("organization-index-page") ){ + var picUrl = article.organization.profile_image_90 + var profileUsername = article.organization.slug + } else { + var picUrl = article.user.profile_image_90 + var profileUsername = article.user.username + } + var classicHeadline = ""; + if (article.is_classic) { + classicHeadline = '
Classic from '+article.published_at_month_day+'
' + } + var bodyTextSnippet = ""; + var commentsBlobSnippet = ""; + var searchSnippetHTML = ""; + if (article._snippetResult && article._snippetResult.body_text){ + if (article._snippetResult.body_text.matchLevel != "none"){ + var firstSnippetChar = article._snippetResult.body_text.value[0]; + var startingEllipsis = "" + if (firstSnippetChar.toLowerCase() != firstSnippetChar.toUpperCase()){ + startingEllipsis = "…" + } + bodyTextSnippet = startingEllipsis+article._snippetResult.body_text.value + "…" + } + if (article._snippetResult.comments_blob.matchLevel != "none" && bodyTextSnippet === ""){ + var firstSnippetChar = article._snippetResult.comments_blob.value[0]; + var startingEllipsis = "" + if (firstSnippetChar.toLowerCase() != firstSnippetChar.toUpperCase()){ + startingEllipsis = "…" + } + commentsBlobSnippet = startingEllipsis+article._snippetResult.comments_blob.value + "… (comments)" + } + if ((bodyTextSnippet.length > 0 || commentsBlobSnippet.length > 0) && article.class_name == "Article"){ + searchSnippetHTML = '
'+bodyTextSnippet+commentsBlobSnippet+'
' + } + } + return '
\ + '+classicHeadline+'\ +
\ + \ + '+profileUsername+' profile\ + \ +
\ + \ +
\ +

'+flareTag+filterXSS(article.title)+'

\ + '+searchSnippetHTML+'\ +
\ +
\ +

'+filterXSS(article.user.name)+'

\ +
'+tagString+'
\ + '+commentsCountHTML+reactionsCountHTML+'\ +
'; + } +} diff --git a/app/assets/javascripts/utilities/buildCommentHTML.js.erb b/app/assets/javascripts/utilities/buildCommentHTML.js.erb new file mode 100644 index 0000000000000..9c32066828468 --- /dev/null +++ b/app/assets/javascripts/utilities/buildCommentHTML.js.erb @@ -0,0 +1,63 @@ +function buildCommentHTML(comment) { + var depthClass = "" + var githubIcon = "" + var twitterIcon = "" + if (comment.depth == 0 ){ + depthClass = "root"; + } + else if (comment.depth < 3) { + depthClass="child" + } else { + depthClass="child flat-node" + } + if (comment.user.twitter_username && comment.user.twitter_username.length > 0) { + twitterIcon = '<%= image_tag("twitter-logo.svg", class:"icon-img") %>' + } + if (comment.user.github_username && comment.user.github_username.length > 0) { + githubIcon = '<%= image_tag("github-logo.svg", class:"icon-img") %>' + } + + return '\ +
\ +
\ +
\ +
\ + \ + \ + '+comment.user.name+'\ + \ + '+twitterIcon+'\ + '+githubIcon+'\ + \ + \ + \ +
\ +
\ + '+comment.body_html+'\ + \ +
\ +
\ + \ + REPLY\ +
\ +
\ +
' +} diff --git a/app/assets/javascripts/utilities/checkUserLoggedIn.js b/app/assets/javascripts/utilities/checkUserLoggedIn.js new file mode 100644 index 0000000000000..93aa3cea71ed6 --- /dev/null +++ b/app/assets/javascripts/utilities/checkUserLoggedIn.js @@ -0,0 +1,3 @@ +function checkUserLoggedIn() { + return document.getElementsByTagName('body')[0].getAttribute('data-user-status') == "logged-in" +} \ No newline at end of file diff --git a/app/assets/javascripts/utilities/createAjaxReq.js b/app/assets/javascripts/utilities/createAjaxReq.js new file mode 100644 index 0000000000000..8d4cdd848173b --- /dev/null +++ b/app/assets/javascripts/utilities/createAjaxReq.js @@ -0,0 +1,7 @@ +function createAjaxReq() { + if (window.XMLHttpRequest) { + return new XMLHttpRequest(); + } else { + return new ActiveXObject("Microsoft.XMLHTTP"); + } +} diff --git a/app/assets/javascripts/utilities/getCsrfToken.js.erb b/app/assets/javascripts/utilities/getCsrfToken.js.erb new file mode 100644 index 0000000000000..6721bf52f0caf --- /dev/null +++ b/app/assets/javascripts/utilities/getCsrfToken.js.erb @@ -0,0 +1,24 @@ +function getCsrfToken() { + var promise = new Promise(function (resolve, reject) { + var i = 0; + var waitingOnCSRF = setInterval(function () { + var metaTag = document.querySelector("meta[name='csrf-token']"); + i++; + if (metaTag) { + clearInterval(waitingOnCSRF); + var authToken = metaTag.getAttribute("content"); + return resolve(authToken); + } else if (i === 1000) { + clearInterval(waitingOnCSRF); + var airbrake = new airbrakeJs.Client({projectId: 1, projectKey: '<%=ENV["AIRBRAKE_API_KEY"]%>'}); + airbrake.addFilter(function(notice) { + notice.context.environment = "<%= Rails.env %>"; + return notice; + }); + airbrake.notify("Could no locate CSRF metatag" + JSON.stringify(localStorage.current_user)); + reject("Could not locate CSRF meta tag on the page."); + } + }, 5); + }); + return promise; +} diff --git a/app/assets/javascripts/utilities/getCurrentPage.js b/app/assets/javascripts/utilities/getCurrentPage.js new file mode 100644 index 0000000000000..f4b078e0fa123 --- /dev/null +++ b/app/assets/javascripts/utilities/getCurrentPage.js @@ -0,0 +1,3 @@ +function getCurrentPage(classString) { + return document.querySelectorAll("[data-current-page='"+classString+"']").length > 0 +} \ No newline at end of file diff --git a/app/assets/javascripts/utilities/getImageForLink.js b/app/assets/javascripts/utilities/getImageForLink.js new file mode 100644 index 0000000000000..eaaf9e592e470 --- /dev/null +++ b/app/assets/javascripts/utilities/getImageForLink.js @@ -0,0 +1,9 @@ +var $fetchedImageUrls = []; +function getImageForLink(elem){ + var imageUrl = elem.getAttribute('data-preload-image') + if (imageUrl && $fetchedImageUrls.indexOf(imageUrl) == -1) { + var img = new Image(); + img.src = imageUrl; + $fetchedImageUrls.push(imageUrl); + } +} diff --git a/app/assets/javascripts/utilities/getReactionsPath.js b/app/assets/javascripts/utilities/getReactionsPath.js new file mode 100644 index 0000000000000..532324bd4130a --- /dev/null +++ b/app/assets/javascripts/utilities/getReactionsPath.js @@ -0,0 +1,3 @@ +function getReactionsPath() { + return (checkUserLoggedIn() ? "/reactions" : "/reactions/logged_out_reaction_counts") +} diff --git a/app/assets/javascripts/utilities/insertAfter.js b/app/assets/javascripts/utilities/insertAfter.js new file mode 100644 index 0000000000000..ee78c88af0bea --- /dev/null +++ b/app/assets/javascripts/utilities/insertAfter.js @@ -0,0 +1,5 @@ +function insertAfter(newNode, referenceNode) { + if (referenceNode && referenceNode.parentNode){ + referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); + } +} diff --git a/app/assets/javascripts/utilities/localStorageTest.js b/app/assets/javascripts/utilities/localStorageTest.js new file mode 100644 index 0000000000000..0b096b6761c03 --- /dev/null +++ b/app/assets/javascripts/utilities/localStorageTest.js @@ -0,0 +1,10 @@ +function localStorageTest(){ + var test = 'devtolocalstoragetestforavaialbility'; + try { + localStorage.setItem(test, test); + localStorage.removeItem(test); + return true; + } catch(e) { + return false; + } +} diff --git a/app/assets/javascripts/utilities/preventDefaultAction.js b/app/assets/javascripts/utilities/preventDefaultAction.js new file mode 100644 index 0000000000000..428ba9b53f6f1 --- /dev/null +++ b/app/assets/javascripts/utilities/preventDefaultAction.js @@ -0,0 +1,3 @@ +function preventDefaultAction(event){ + event.preventDefault(); +} \ No newline at end of file diff --git a/app/assets/javascripts/utilities/sendFetch.js b/app/assets/javascripts/utilities/sendFetch.js new file mode 100644 index 0000000000000..62bb2a92b8a94 --- /dev/null +++ b/app/assets/javascripts/utilities/sendFetch.js @@ -0,0 +1,68 @@ +function sendFetch(switchStatement, body) { + switch (switchStatement) { + case 'article-preview': + return function (csrfToken) { + return window.fetch('/articles/preview', { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken, + Accept: 'application/json', + 'Content-Type': 'application/json' + }, + body: body, + credentials: 'same-origin' + }); + }; + case 'reaction-creation': + return function (csrfToken) { + body.append('authenticity_token', csrfToken); + return window.fetch('/reactions', { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken + }, + body: body, + credentials: 'same-origin' + }); + }; + case 'image-upload': + return function (csrfToken) { + body.append('authenticity_token', csrfToken); + return window.fetch('/image_uploads', { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken + }, + body: body, + credentials: 'same-origin' + }); + }; + case 'follow-creation': + return function (csrfToken) { + body.append('authenticity_token', csrfToken); + return window.fetch('/follows', { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken + }, + body: body, + credentials: 'same-origin' + }); + }; + case 'comment-creation': + return function (csrfToken) { + // body is a formdata here + return window.fetch(body.action, { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken, + }, + body: new FormData(body), + credentials: 'same-origin' + }); + }; + default: + console.log('A wrong switchStatement was used.'); + break; + } +} diff --git a/app/assets/javascripts/utilities/showModal.js b/app/assets/javascripts/utilities/showModal.js new file mode 100644 index 0000000000000..602f9a0829bcd --- /dev/null +++ b/app/assets/javascripts/utilities/showModal.js @@ -0,0 +1,18 @@ + +function showModal(context) { + document.getElementById("global-signup-modal").style.display = "block"; + document.getElementById("global-signup-modal").classList.add("showing"); + document.getElementsByTagName("body")[0].classList.add("modal-open"); + initSignupModal(); + sendSplitViewData(document.getElementById("global-signup-modal").dataset.version); +} + +function initSignupModal() { + if (document.getElementById("global-signup-modal")) { + document.getElementById("global-signup-modal-bg").onclick = function() { + document.getElementById("global-signup-modal").style.display = "none"; + document.getElementById("global-signup-modal").classList.remove("showing"); + document.getElementsByTagName("body")[0].classList.remove("modal-open"); + } + } +} \ No newline at end of file diff --git a/app/assets/javascripts/utilities/slideSidebar.js b/app/assets/javascripts/utilities/slideSidebar.js new file mode 100644 index 0000000000000..8ff113e5dbe69 --- /dev/null +++ b/app/assets/javascripts/utilities/slideSidebar.js @@ -0,0 +1,18 @@ +function slideSidebar(side,direction){ + if (!document.getElementById("sidebar-wrapper-"+side)){ + return; + } + if (direction === "intoView") { + document.getElementById("articles-list").classList.add("modal-open"); + document.getElementsByTagName("body")[0].classList.add("modal-open"); + document.getElementById("sidebar-wrapper-"+side).classList.add("swiped-in") + document.getElementById("sidebar-wrapper-"+side).scrollTop=0 + document.getElementById("articles-list").addEventListener("touchmove", preventDefaultAction, false); + } + else { + document.getElementById("articles-list").classList.remove("modal-open"); + document.getElementsByTagName("body")[0].classList.remove("modal-open"); + document.getElementById("sidebar-wrapper-"+side).classList.remove("swiped-in"); + document.getElementById("articles-list").removeEventListener("touchmove", preventDefaultAction, false); + } +} diff --git a/app/assets/javascripts/utilities/userData.js b/app/assets/javascripts/utilities/userData.js new file mode 100644 index 0000000000000..cad73e81fc6f1 --- /dev/null +++ b/app/assets/javascripts/utilities/userData.js @@ -0,0 +1,6 @@ +function userData() { + if (document.getElementsByTagName('body')[0].getAttribute('data-user') === null) { + return null; + } + return JSON.parse(document.getElementsByTagName('body')[0].getAttribute('data-user')); +} diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss new file mode 100644 index 0000000000000..f9cd5b34830b8 --- /dev/null +++ b/app/assets/stylesheets/application.scss @@ -0,0 +1,15 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any styles + * defined in the other CSS/SCSS files in this directory. It is generally better to create a new + * file per style scope. + * + *= require_tree . + *= require_self + */ diff --git a/app/assets/stylesheets/article-show.scss b/app/assets/stylesheets/article-show.scss new file mode 100644 index 0000000000000..7ebd4dc59ea49 --- /dev/null +++ b/app/assets/stylesheets/article-show.scss @@ -0,0 +1,872 @@ +@import 'variables'; + +.stories-show{ + background:$lightest-gray; +} + +.unpublished{ + background:$red; + display:block; + text-align:center; + position:relative; + padding:calc(10px + 1.3vw) 10px; + color:white; + z-index:8; + font-family: $helvetica; + margin-top:60px; + margin-bottom:-60px; + @media screen and ( min-width: 380px ){ + font-size:1.2em; + } + &:hover{ + opacity:0.92; + color:white; + } +} +.blank-space{ + height:10px; +} +.video-player-header{ + background:$black; + margin-top:0; + max-width:1050px; + margin:auto; + margin-bottom:15px; + height:56.25vw; + margin-top:61px; + border-top-left-radius:3px; + border-top-right-radius:3px; + overflow:hidden; + @media screen and ( min-width: 880px ){ + height:492px; + } + +} +header{ + padding:0px 0px; + position:relative; + .image{ + position:relative; + width:100%; + margin:auto; + max-width:1024px; + background: transparent no-repeat top center; + background-size: cover; + margin-top:60px; + z-index:2; + padding-top: 42%; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + .category-banner{ + height:250px; + background: #45525c; + } +} + +.container{ + width:880px; + max-width:100%; + background:white; + box-shadow: $shadow; + margin:60px auto; + @media screen and ( min-width: 880px ){ + margin-top:80px; + border-radius: 3px; + } + &.article{ + position:relative; + z-index:5; + } + .title{ + position:relative; + width:81%; + font-family: $helvetica; + @media screen and ( max-width:550px) { + width:88%; + } + @media screen and ( max-width: 430px ) { + width:93%; + } + max-width:710px; + margin:auto; + .org-branded-title-link{ + color:lighten($black,4%); + .org-branded-title{ + font-size:calc(0.9em + 0.3vw); + padding:8px 0px 6px; + margin-bottom:-8px; + @media screen and (min-width: 1600px ){ + font-size:20px; + } + .org-pic{ + height:calc(27px + 0.5vw); + width:calc(27px + 0.5vw); + display:inline; + vertical-align:calc(-8px - 0.1vw); + border-radius:100px; + margin-right:0.2vw; + background:$light-gray; + } + } + } + h1{ + margin:0px auto; + padding:14px 0px 7px; + font-weight: 500; + min-height:40px; + font-size:calc(2vw + 26px); + @media screen and (min-width: 1600px ){ + font-size:57px; + } + .title-block{ + display:inline-block; + } + &.medium{ + font-size:calc(1.85vw + 25px); + @media screen and (min-width: 1600px ){ + font-size:47px; + } + } + &.long{ + font-size:calc(1.52vw + 23px); + @media screen and (min-width: 1600px ){ + font-size:46px; + } + } + &.longer{ + font-size:calc(1.48vw + 22px); + @media screen and (min-width: 1600px ){ + font-size:45px; + } + } + &.longest{ + font-size:calc(1.42vw + 22px); + @media screen and (min-width: 1600px ){ + font-size:42px; + } + } + } + h3{ + margin:4px auto; + padding:0; + padding:0px 3px 16px; + font-weight: 500; + color:$medium-gray; + font-size:13.5px; + line-height:1.5em; + @media screen and ( min-width: 430px ){ + font-size:15px; + } + + .profile-pic{ + width:28px; + height:28px; + border-radius:50px; + display:inline-block; + vertical-align:-9px; + margin-right:2px; + background:$light-gray; + + } + a{ + color:$medium-gray; + text-decoration:none; + } + .icon-img{ + opacity:0.5; + width:18px; + height:18px; + vertical-align:-4px; + margin:0px 1px; + &:hover{ + opacity:0.6; + } + } + .published-at{ + margin-right:0px; + display:inline-block; + } + .posted-date-inline { + display:inline-block; + } + .action-space{ + a{ + display:inline-block; + background:$green; + color:$black; + padding:2px 8px 3px; + border-radius:3px; + line-height:1.1em; + font-family: $helvetica-condensed; + font-stretch:condensed; + @media screen and ( max-width: 340px ){ + padding:2px 3px 3px; + margin-left:3px; + margin-left:5px; + .post-word{ + display:none; + } + } + } + } + } + .tags{ + // margin-top:-2.2vw; + .tag{ + display:inline-block; + border-radius:3px; + font-size:13px; + font-weight:bold; + padding:2px 5px 3px; + border-radius:2px; + background:#d6d9e0; + color:#606570; + &:hover{ + opacity:0.9; + } + } + } + } + .article-collection-wrapper{ + text-align:center; + font-family: $helvetica; + font-size:15px; + p{ + border-bottom:2px solid $black; + width:120px; + margin:35px auto 15px; + padding:2px 0px; + font-weight:bold; + } + .article-collection{ + display:inline-block; + user-select: none; + font-size:16px; + overflow:hidden; + width:92%; + max-width:718px; + margin-bottom: 1.1vw; + a{ + color:$black; + padding:calc(0.8vw + 10px); + background:$lightest-gray; + display:inline-block; + position:relative; + z-index:4; + max-width:260px; + margin:0.2vw; + border-radius:5px; + &:first-child{ + // margin-left:-5px; + } + &:hover{ + background:darken($lightest-gray,3%); + } + &.current-article{ + background: $black; + color:white; + } + &.coming-soon{ + pointer-events: none; + color:lighten($black,78%); + } + } + } + &.article-collection-wrapper-bottom{ + margin-bottom:3vw; + p{ + margin-top:5px; + } + } + } + .body{ + margin:auto; + width:82%; + font-family: $helvetica; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size: 21px; + line-height: 32px; + background:white; + position:relative; + z-index:5; + padding-bottom:5px; + overflow-wrap: break-word; + a{ + code{ + color:$sky-blue; + } + } + h1,h2,h3,h4,h5,h6{ + font-family: $helvetica; + } + h1{ + font-size:1.85em; + line-height:1.14em; + padding-left:4px; + padding-right:4px; + font-weight:400; + } + h2{ + font-size:1.7em; + font-weight:400; + line-height:1.14em; + padding-left:6px; + padding-right:6px; + padding-bottom:0; + margin-bottom:0.5em; + } + h3{ + font-size:1.32em; + font-weight:400; + padding-left:6px; + padding-right:6px; + } + h4{ + padding-left:6px; + padding-right:6px; + } + h5{ + padding-left:6px; + padding-right:6px; + } + h6{ + padding-left:6px; + padding-right:6px; + } + + hr{ + width:calc(25% + 12px); + opacity:0.1; + border:1px solid black; + margin:1.3em auto 1.5em; + } + p{ + margin:0.95em 0 1.20em; + padding:0.2em; + } + ul,ol{ + padding-left:6px; + margin:0.8em 0.7em 0.8em 1.9em; + } + ol{ + br{ + line-height: 0em; + margin:0; + padding:0; + } + } + ul{ + list-style-type: square; + br{ + line-height: 0em; + margin:0; + padding:0; + } + p{ + margin:0; + padding:0; + } + ul{ + margin:0em 0.7em 0em 1.9em; + list-style-type: circle; + } + } + li{ + margin:0.3em auto; + } + figcaption{ + font-style:italic; + text-align:center; + font-size:0.8em; + line-height:1.4em; + color:darken($medium-gray,8%); + display:block; + margin-top:-0.8em; + } + @media screen and ( max-width:550px) { + width:90%; + } + @media screen and ( max-width: 430px ) { + font-size: 17.5px; + line-height: 26px; + width:94%; + margin-left:3%; + ul,ol{ + margin:0.8em 0.7em 0.8em 1.4em; + } + h1{ + font-size:1.6em; + } + h2{ + font-size:1.40em; + } + h3{ + font-size:1.16em; + } + } + blockquote{ + // border:1px solid lighten($light-medium-gray,3%); + border-left:calc(0.2vw + 2px) solid $dark-gray; + padding:0.1% 6% 0.1% 4%; + // background:lighten($lightest-gray,3%); + // border-radius: 3px; + margin:1.6em 1vw; + font-size:0.92em; + line-height:1.4em; + p{ + padding:0; + margin:0.95em 0 0.95em; + } + &.twitter-tweet{ + font-family: $helvetica; + background:white; + max-width:456px; + border:1px solid #e9eef2; + font-size:0.75em; + line-height:1.35em; + border-radius:5px; + margin:1.6em auto; + padding:60px 10px 18px; + color: white; + min-height:60px; + padding:33px 15px 8px; + + a{ + color:white; + } + @media screen and ( min-width: 360px ){ + padding:60px 22px 18px; + min-height:105px; + } + } + } + code{ + margin:auto; + background:$lightest-gray; + padding:0.1em 0.3em 0px; + border-radius:2px; + color:#333842; + font-size:0.84em; + vertical-align:0em; + max-width:100%; + line-height:1.6em; + } + pre{ + background:#29292e; + border-radius:2px; + overflow-x:auto; + color:#eff0f9; + line-height:1.42em; + padding-left:4%; + padding-right:7%; + font-size:0.7em; + width:97%; + margin-left:-3%; + padding-top:6%; + padding-bottom:6%; + border-radius: 0px; + overflow-wrap: normal; + @media screen and ( min-width: 430px ){ + width:111%; + margin-left:-11%; + padding-left:9%; + padding-right:2%; + } + code{ + background:#29292e; + color:#eff0f9; + white-space: pre; + } + + } + img{ + height:auto; + position:relative; + display:block; + margin:auto; + left:-4%; + max-width:108%; + @media screen and ( min-width: 430px ){ + left:-6px; + max-width: calc(100% + 12px); + } + } + a.article-body-image-wrapper{ + cursor:zoom-in; + } + + iframe{ + width:100%; + border:0; + margin:1.2em 0; + } + + .fluidvids{ + margin:1em 0; + iframe{ + margin:0; + } + } + .table-wrapper-paragraph{ + width:100%; + margin-left:0%; + overflow-x:auto; + @media screen and ( min-width: 430px ){ + width:108%; + margin-left:-4%; + } + @media screen and ( min-width: 800px ){ + width:110%; + margin-left:-5%; + } + } + + table{ + font-family: $helvetica; + border-collapse: collapse; + width:100%; + font-size:0.78em; + margin:0.8em 0 1.2em; + display:block; + table-layout: fixed; + @media screen and ( min-width: 500px ){ + font-size:0.9em; + } + th{ + border: 1px solid $light-medium-gray; + padding:5px 1vw; + background:$lightest-gray; + text-align:left; + } + td{ + border: 1px solid $light-medium-gray; + padding:5px 1vw; + width:1000px; + box-sizing: border-box; + } + } + .twitter-tweet{ + margin:auto; + } + } + .about-the-author{ + margin:auto; + width:calc(100% - 5px); + // max-width:450px; + position:relative; + overflow:hidden; + padding:0px 0px 5px; + background:white; + font-family: $helvetica; + a{ + color:$black; + } + @media screen and ( min-width: 520px) { + width:82%; + } + .left-column{ + text-align:center; + float:left; + width:90px; + padding-top:8px; + .profile-pic{ + width:70px; + height:70px; + border-radius:100px; + display:inline-block; + background: no-repeat center center; + background-size: cover; + // vertical-align:-9px; + margin-right:2px; + margin-bottom:12px; + } + } + .main-content{ + margin:auto; + width:calc(100% - 92px); + float:left; + h4{ + margin:13px 0px 0px; + font-size:28px; + text-align:left; + font-weight:400; + button{ + background: $green; + color:$black; + font-family: $helvetica-condensed; + font-stretch:condensed; + border:0; + font-size:15px; + border-radius:5px; + vertical-align:2px; + padding:4px 7px; + display:none; + margin-left:6px; + &.showing{ + display:inline-block; + } + } + } + p{ + margin:2px 0px; + padding-left:0px; + line-height:22px; + font-size:0.88em; + } + .social{ + font-size:0.85em; + a{ + color:$medium-gray; + margin-right:6px; + display:inline-block; + .icon-img{ + width:15px; + height:15px; + vertical-align:-2px; + margin:0px; + opacity:0.7; + } + } + } + } + } + .article-actions{ + text-align:center; + padding:10px 0px 28px; + button{ + background:transparent; + margin: 0px 0.3vw; + border:1px solid white; + padding:calc(0.3vw + 1px) calc(1vw + 1px); + border-radius:5px; + border:1px solid darken($light-gray,7%); + font-family: $helvetica-condensed; + font-stretch:condensed; + img{ + height:23px; + width:23px; + filter: grayscale(100%); + transition: -webkit-filter 0.2s, opacity 0.2s, background-color 0.2s; + @media screen and ( min-width: 500px ){ + height:28px; + width:28px; + } + } + .reaction-number{ + display:inline-block; + vertical-align:5px; + margin-left:4px; + color:$medium-gray; + font-size:14px; + width:27px; + @media screen and ( min-width: 500px ){ + width:37px; + font-size:18px; + vertical-align:7px; + margin-left:7px; + } + } + &:hover{ + background-color:$light-gray; + img{ + filter: grayscale(80%); + } + } + &.activated{ + border:1px solid darken($light-gray,7%); + img{ + filter: none; + opacity:1; + } + } + &.user-activated { + border:2px solid $black; + background-color:$green; + padding:0.3vw 1vw; + &.unicorn-reaction-button{ + background-color:$purple;; + } + &.readinglist-reaction-button{ + background: lighten($bold-blue, 32%); + } + .reaction-number{ + color: $black; + } + img{ + filter: none; + opacity:1; + } + } + } + .article-share-action-block{ + display: inline-block; + position:relative; + button{ + border: 1px solid white; + min-width: 70px; + opacity:0.7; + &:hover{ + border: 1px solid $light-gray; + opacity:1; + } + } + .dropdown-content{ + display:none; + position:absolute; + bottom: 50px; + right: 3px; + z-index: 100; + background: white; + font-size: 0.85em; + border: 1px solid $light-medium-gray; + border-radius: 3px; + text-align:left; + min-width: 270px; + box-shadow: $shadow; + &.showing{ + display: block; + } + .dropdown-link-row{ + img{ + width: 15px; + margin-right: 10px; + margin-left: 10px; + vertical-align: -2px; + } + input{ + border: 1px dashed black; + padding: 4px 6px; + font-size: 14px; + width: calc(100% - 58px); + border-radius: 3px; + margin: 10px auto 5px; + } + a{ + font-weight: bold; + color: $black; + padding: 10px; + width: calc(100% - 20px); + display:block; + &:hover{ + background: $light-gray; + } + } + } + } + } + } +} + +.show-comments-header{ + width:800px; + max-width:90%; + margin:auto; + margin-bottom:-50px; + text-align:center; + font-family: $helvetica; +} +.show-comments-footer{ + width:800px; + max-width:98%; + margin:auto; + margin-top:-80px; + text-align:center; + .full-discussion-button{ + padding:calc(0.6vw + 6px) 0px; + border-radius:3px; + display:block; + width: 100%; + margin:7.5vw auto calc(1vw + 5px); + max-width:450px; + background: $green; + color: $black; + font-family: $helvetica-condensed; + font-stretch:condensed; + @media screen and ( min-width: 500px ){ + font-size:1.1em; + } + &:hover{ + opacity:0.96; + } + } +} + +.org-branding{ + font-family: $helvetica; + text-align:center; + margin-top:20px; + margin-bottom:0px; + padding-bottom:20px; + .inner{ + width:800px; + max-width:calc(100% - 40px); + overflow:hidden; + padding:20px 20px 0px; + margin:auto; + } + .content{ + font-size:calc(0.45vw + 15px); + @media screen and ( min-width: 520px ){ + float:left; + width:calc(100% - 150px); + text-align:left; + } + .name{ + font-size:1.5em; + font-weight:400; + } + .summary{ + padding-top:5px; + padding-right:10px; + padding-bottom:8px; + font-weight:300; + font-size:0.8em; + } + .social{ + font-size:0.8em; + margin:4px 0px; + a{ + margin-right:10px; + opacity:0.85; + &:hover{ + opacity:1; + } + } + } + } + .profile-image{ + text-align:center; + width:100%; + float:left; + padding-top:8px; + @media screen and ( min-width: 520px ){ + width:150px; + } + img{ + height:100px; + width:100px; + border-radius:5px; + border-radius: 140px; + } + } +} +.comments-container-container{ + padding-bottom:20px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +@keyframes fade-in { + 0% { opacity: 0; } + 100% { opacity: 1; } +} +@keyframes SHW { + from { + bottom:-80px; + } + to { + bottom:-0px; + + } +} diff --git a/app/assets/stylesheets/article_form.scss b/app/assets/stylesheets/article_form.scss new file mode 100644 index 0000000000000..5e85892bf303b --- /dev/null +++ b/app/assets/stylesheets/article_form.scss @@ -0,0 +1,485 @@ +@import 'variables'; +.hidden{ + display:none; +} +.job-listing-header{ + color:#007777; + background:#bafff1; + text-align:center; + padding: 80px 5px 60px; + margin-bottom:-20px; + font-family: $helvetica; + font-size:1.5em; + font-weight:800; +} + +.markdown-editor{ + margin:80px auto; + padding-bottom: 4px !important; + position:relative; + z-index:11; + font-family: $helvetica; + .top-buttons{ + padding:20px 0px 5px; + text-align:center; + max-width: 320px; + margin:auto; + @media screen and ( min-width: 650px ){ + max-width: 100%; + } + button{ + padding:4px 0px; + margin:0px 4px 5px; + background:$green; + color:$black; + border-radius:3px; + width:135px; + display:inline-block; + font-size:17px; + opacity:0.9; + position: relative; + font-family: $helvetica-condensed; + border: 0px; + &.preview-loading { + background: #56a886; + } + &.help-butt{ + background: $yellow; + color: $black; + } + &.markdown-butt{ + background: $purple; + } + &.loading{ + opacity:0.66; + } + &.active{ + background:$black; + color: $yellow; + cursor:default; + box-shadow: 0px 3px 6px rgba(0,0,0,0.4); + // color:white; + &::before { + content: "<"; + } + &::after { + content: ">"; + } + } + &.disabled{ + background:$medium-gray; + color: white; + opacity:0.7; + cursor:default; + box-shadow: none; + } + &:hover:not(.disabled, .preview-loading, .submit-loading){ + opacity:1; + } + &.submit{ + background:$bold-blue; + color:white; + } + &.submit-loading{ + background: #73949c; + } + } + } + .editor-image-upload{ + font-family: $helvetica; + padding: 4px 5px; + font-size:0.8em; + width: inherit; + position: relative; + margin:auto; + @media screen and ( min-width: 900px ){ + // width:100%; + width: inherit; + padding: 0px 10px; + } + #image-upload-button,#image-upload-submit { + background:$black; + color:white; + border:0; + padding:4px 7px; + border-radius:3px; + font-size:0.8em; + &:hover{ + opacity:0.9; + } + } + #image-upload-submit{ + background:$blue; + } + #image-upload-file-label{ + margin:1.0vw 0; + display:inline-block; + margin-right:5px; + margin-left:4px; + color:#888; + font-size:0.9em; + } + #uploaded-image{ + font-size:1em; + display:inline-block; + padding:0.5vw 0.8vw; + border:1px dashed $dark-gray; + border-radius:3px; + width: 97%; + @media screen and (min-width: 500px) { + width: calc(97% - 270px); + } + } + } + p{ + margin-top: 0px; + line-height:30px; + padding:8px 10px; + background:$light-gray; + font-size:0.8em; + code{ + background:darken($light-gray,5%); + } + @media screen and ( min-width: 500px ){ + font-size:1.1em; + } + + } + .article-new-billing-notice{ + background: #bafff1; + color: #007777; + font-size:calc(1.2em + 0.7vw); + padding:120px 0px 200px; + text-align:center; + font-weight:800; + width:100%; + margin-top:-50px; + margin-bottom: -200px; + position:relative; + z-index:0; + @media screen and ( min-width: 1200px ){ + width:150%; + margin-left: -25%; + } + .article-new-billing-notice-inner{ + width:90%; + margin:auto; + position:relative; + z-index:15; + .article-new-billing-notice-inner-small{ + font-size:calc(0.55em + 0.2vw); + margin-top:30px; + } + } + a{ + font-weight:800; + color:$red; + text-decoration:underline; + } + } + .org-publish-check-wrapper{ + font-family: $helvetica; + background:$lightest-gray; + padding:15px; + text-align:center; + font-size:23px; + margin-top:8px; + label{ + padding:1px 10px 3px; + } + input{ + vertical-align:2px; + max-width:30px; + } + } + .editor-main { + margin-top: 15px; + position: relative; + z-index: 5; + } + .textarea-header { + background: #e0e0e0; + border:1px solid #dddddd; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + transform: translateY(2px); + } + input[type="text"]{ + width:calc(100% - 30px); + padding:10px 15px; + font-size:22px; + height:40px; + line-height:40px; + &.article-form-input{ + margin-top:15px; + } + } + .hiring-form{ + h2{ + margin-top:85px; + margin-bottom:16px; + font-size:34px; + text-align:center; + } + h3{ + text-align:center; + font-weight:400; + font-size:17px; + } + .filter-buttons{ + margin-top:9px; + text-align:center; + label{ + cursor:pointer; + margin: 9px 5px 9px 0px; + display:inline-block; + padding:4px 12px; + border-radius: 100px; + font-size:17px; + &:hover{ + background:lighten($blue,53%); + color:darken($blue,23%); + } + } + input{ + display:none; + width:auto; + &:checked + label{ + background:$blue; + color:white; + &:hover{ + background:$blue; + } + } + } + } + .tags-to-choose{ + margin-top:12px; + button{ + border: 0px; + border-radius: 100px; + opacity:0.8; + &:hover{ + opacity:1; + } + } + } + } + // .ap-icon-clear{ + // display:none; + // } + .ap-input-icon{ + margin-top:13px; + right:14px; + } + textarea{ + width:calc(100% - 32px); + min-height: 550px; + margin:auto; + display:block; + border-radius:3px; + border:0px; + resize:none; + padding:12px 15px 18px; + font-family: "Lucida Console", Monaco, monospace, sans-serif; + font-size:17px; + &::after + { + position: absolute; + left: 5px; + top: 3px; + content: attr("dsds ds ds dsdhjsdhjsbdhs eieuirwhewh iurhwiu wehu iewhu ierwhu irwehiu erwhui r huir"); + pointer-events: none; + opacity: 0.6; + } + } + #submitbutt{ + width:300px; + margin:10px 0px; + display:block; + background:rgb(19, 149, 184); + color:white; + border:1px solid rgb(14, 121, 150); + padding:10px; + border-radius:3px; + font-size:30px; + box-shadow: inset 0 1px 3px 1px #66bfff; + &:hover{ + background:rgb(19, 143, 176); + } + } + .hiring-form-toggle{ + margin:-40px auto 50px; + font-weight:600; + text-align:center; + } + .form-submit-buttons{ + text-align:center; + input{ + width:35%; + margin:5px 10px 100px; + font-size: 30px; + color:white; + background: $blue; + border:0px; + font-weight:600; + border-radius:8px; + padding: 20px 0px; + &.draft-version{ + color: $black; + background: $yellow; + } + &:hover{ + opacity:0.88; + } + } + } + .switch { + position: relative; + display: inline-block; + width: 60px; + height: 34px; + vertical-align:-10px; + margin-right:12px; + } + + .switch input {display:none;} + + .slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; + border-radius:100px; + } + + .slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; + border-radius:100px; + } + + input:checked + .slider { + background-color: #2196F3; + } + + input:focus + .slider { + box-shadow: 0 0 1px #2196F3; + } + + input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); + } + + /* Rounded sliders */ + .slider.round { + border-radius: 34px; + } + + .slider.round:before { + border-radius: 50%; + } +} +#error_explanation{ + background:$red; + max-width:750px; + font-family: $helvetica; + color:white; + border-radius:5px; + margin:80px auto -50px; + position:relative; + h2{ + text-align:center; + padding:2vw 0; + } + ul{ + width:88%; + max-width:500px; + margin:30px auto; + li{ + margin:10px 0px; + } + } +} + +.editor-article-view{ + margin-top:-50px; + margin-bottom:70px; +} + + +.new-article-pitch{ + padding-top:calc(8% + 50px); + width:900px; + max-width:94%; + margin:auto; + text-align:center; + h1{ + font-size:45px; + font-weight:300; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + } + h2{ + font-weight:300; + font-size:40px; + margin:70px auto 40px; + } + hr{ + width:40%; + margin-top:40px; + opacity:0.4; + } + h3{ + font-weight:300; + font-size:30px; + } + p{ + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:20px; + line-height:25px; + } + img.gif{ + width:500px; + max-width:100%; + } + .links{ + margin:50px auto; + .sign-up-link{ + padding:14px 0px; + margin:2%; + border:4px solid rgb(130, 113, 195); + display:inline-block; + text-align:center; + width:250px; + img{ + vertical-align:-4px; + } + } + } +} + + + + +.sign-in-message{ + background:rgb(219, 29, 57); + color:white; + padding:20px; + margin-top:58px; + text-align:center; + margin-bottom:-60px; +} diff --git a/app/assets/stylesheets/articles.scss b/app/assets/stylesheets/articles.scss new file mode 100644 index 0000000000000..a50de4f4f9323 --- /dev/null +++ b/app/assets/stylesheets/articles.scss @@ -0,0 +1,1106 @@ +// Place all the styles related to the Articles controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ +@import 'variables'; + +.home{ + position:relative; + overflow:hidden; + min-height:440px; + margin:auto; + max-width:1250px; + @media screen and ( min-width: 950px ){ + margin-top:22px; + } + &.sub-home{ + margin-top:25px; + .side-bar{ + @media screen and ( min-width: 950px ){ + margin-top:12px; + } + } + } + .query-results-nothing{ + padding:40px 0px; + font-size:1.2em; + background: white; + box-shadow: $shadow; + border-radius:3px; + border:1px solid #e6e6e5; + width:94%; + margin:auto; + margin-top:12px; + @media screen and ( min-width: 950px ){ + width:100%; + } + } + + .articles-list{ + text-align:left; + margin:auto; + text-align:center; + width:100%; + position:relative; + -webkit-tap-highlight-color: rgba(0,0,0,0); //Invisible black + max-width:750px; + padding-bottom: 30px; + @media screen and ( min-width: 750px ){ + margin-bottom:30px; + + } + @media screen and ( min-width: 950px ){ + width:100%; + margin-left:2.3%; + margin-right:15px; + max-width:calc(100% - 380px); + float:left; + } + @media screen and ( min-width: 1120px ){ + max-width:calc(100% - 640px); + } + @media screen and ( min-width: 1240px ){ + width:100%; + margin-left:2.3%; + margin-right:15px; + max-width:604px; + float:left; + } + .on-page-nav-controls{ + height:55px; + position:relative; + opacity:0.85; + .on-page-nav-butt{ + position:absolute; + top: 14px; + border:0px; + background:transparent; + img{ + height:24px; + } + &.on-page-nav-butt-left{ + left: 3%; + } + &.on-page-nav-butt-right{ + right: 3%; + } + } + .on-page-nav-label{ + position:absolute; + right:0; + left:0; + font-family: $helvetica-condensed; + font-stretch:condensed; + top:18px; + font-weight:600; + } + + @media screen and ( min-width: 950px ){ + display:none; + } + } + a{ + color:$black; + } + a.small-pic-link-wrapper,.placeholder-div{ + display:block; + width:100%; + } + .single-article{ + text-align:left; + background:$white; + transition: opacity .35s ease-in; + box-shadow: $shadow; + border-radius:3px; + width:94%; + margin:auto; + position:relative; + @media screen and ( min-width: 950px ){ + width:100%; + } + &:hover{ + background:$lightest-gray; + } + &.active{ + opacity:0.66; + } + &.big-article{ + &.active{ + opacity:0.84; + } + } + &.single-article-small-pic{ + vertical-align:top; + overflow:hidden; + margin-top:8px; + @media screen and ( min-width: 430px ){ + margin-top:12px; + } + } + .article-classic-headline{ + display:block; + margin-bottom:calc(-1px - 0.6vw); + .article-classic-headline-inner{ + background: lighten($yellow,8%); + color: $black; + padding: 4px 8px; + border-radius: 3px; + font-weight:500; + display:inline-block; + margin-top:10px; + margin-left: 10px; + font-size:calc(0.8em + 0.1vw); + } + } + .small-pic{ + float:left; + height:40px; + width:40px; + margin-left:12px; + margin-top:3px; + border-radius:50px; + padding:8px 0px 11px; + @media screen and ( min-width: 430px ){ + height:50px; + width:50px; + padding:20px 0px 23px; + } + @media screen and ( min-width: 1400px ){ + padding:23px 0px 27px; + } + img,.color{ + height:100%; + width:100%; + border-radius:50px; + } + &:hover{ + opacity:0.9; + } + } + .content{ + float:left; + width:calc(100% - 75px); + padding:calc(1vw + 7px) 9px; + padding-bottom:94px; + h3{ + margin:0px; + font-size:21px; + line-height:25px; + width:100%; + padding:0px; + .tag-identifier{ + font-size:14px; + background:$blue; + color:white; + padding: 2px 4px 3px; + margin-right:5px; + border-radius:4px; + vertical-align:3px; + &.red-identifier{ + background:$red; + } + &.black-identifier{ + background:$black; + } + } + } + @media screen and ( min-width: 430px ){ + width:calc(100% - 88px); + padding-right:0px; + padding-bottom:104px; + h3{ + margin:0px; + font-size:27px; + line-height:32px; + .tag-identifier{ + font-size:15px; + padding: 2px 6px 3px; + vertical-align:4px; + } + } + h4{ + font-size:15px; + } + } + } + .emoji{ + display:inline-block; + margin-right:4px; + } + h4{ + font-size:14px; + margin-left:0px; + max-width:80%; + padding:0px; + margin:5px 0px; + font-weight:500; + display:inline-block; + left:62px; + position:absolute; + bottom:65px; + a{ + color: #666666; + } + @media screen and ( min-width: 430px ){ + bottom:74px; + left:72px; + font-size:17px; + } + &:hover{ + opacity:0.9; + text-decoration:underline; + } + } + .tags{ + margin-top:0px; + font-size:14px; + position:absolute; + display:inline-block; + max-width:76%; + z-index:5; + // margin-top:-50px; + left:62px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + bottom:48px; + color: $black; + a{ + display:inline-block; + } + .tag{ + margin-right:3px; + &:hover{ + text-decoration:underline; + } + } + @media screen and ( min-width: 430px ){ + left:72px; + bottom:58px; + font-size:16px; + } + + } + .search-snippet{ + font-size:15px; + padding:6px 0px 2px; + color: lighten($dark-gray, 8%); + line-height:21px; + span{ + background: darken($light-gray, 2%); + padding: 1px; + } + em{ + font-weight: 600; + color: darken($dark-gray, 6%); + font-style: normal; + } + } + h3{ + margin:15px auto; + font-size:32px; + font-weight:400; + width:94%; + margin-top:-14px; + padding-top:20px; + } + p{ + margin:6px auto; + line-height:20px; + font-size:16px; + width:94%; + color:rgb(163, 188, 201); + padding-bottom:19px; + } + &.big-article { + padding:0px; + margin:auto; + .picture{ + width:100%; + margin:auto; + padding-top: 42%; + position:relative; + z-index:0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + + background: no-repeat center center; + background-size: cover; + + } + .content-wrapper{ + background:white; + color:$black; + position:relative; + z-index:5; + border-top:1px solid darken($lightest-gray,4%); + border-bottom:1px solid darken($lightest-gray,4%); + padding-bottom:90px; + border-radius:3px; + h3{ + font-size:calc(1.7vw + 22px); + font-weight:400; + width:calc(100% - 20px); + margin-left:12px; + margin-bottom:8px; + margin-top:8px; + padding-top:0px; + @media screen and ( min-width: 1600px ){ + font-size:45px; + } + } + .title-block{ + display:inline-block; + } + @media screen and ( min-width: 430px ){ + padding-bottom:106px; + } + } + &:hover{ + .content-wrapper{ + background:$light-gray !important; + } + } + } + } + .featured-profile-button{ + float:left; + margin-top:-88px; + z-index:10; + left:12px; + position:absolute; + @media screen and ( min-width: 430px ){ + margin-top:-108px; + } + } + img.featured-profile-pic{ + height:40px; + width:40px; + border-radius:50px; + @media screen and ( min-width: 430px ){ + height:50px; + width:50px; + } + &:hover{ + opacity:0.9; + } + } + .featured-user-name{ + font-weight:bold; + margin-top:-87px; + position:absolute; + z-index:10; + left:62px; + font-size:14px; + a{ + color: #666666; + } + &:hover{ + opacity:0.9; + text-decoration:underline; + } + @media screen and ( min-width: 430px ){ + left:72px; + font-size:18px; + margin-top:-106px; + } + } + .featured-tags{ + font-size:15px; + margin-top:-66px !important; + bottom:auto !important; + position:absolute; + max-width:76%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + z-index:10; + &:hover{ + opacity:0.9; + } + .tag{ + color: $black; + margin-right:3px; + } + left:62px; + @media screen and ( min-width: 430px ){ + font-size:16px !important; + left:72px; + bottom:auto; + margin-top:-82px !important; + } + } + .article-engagement-count{ + font-size:13px; + font-weight:bold; + position:absolute; + bottom:10px; + font-weight:400; + padding:3px 6px; + background: transparent; + border:0; + -webkit-appearance:none; + img{ + width:16px; + border:0px; + vertical-align:-4px; + margin-right:7px; + } + &.comments-count { + left:73px; + } + &.reactions-count { + left:10px; + img{ + margin-bottom:1px; + opacity:0.8; + } + } + &.bookmark-engage { + right: 7px; + border: 2px solid transparent; + border-radius: 3px; + text-align:center; + bottom:8px; + img{ + width:28px; + margin-right: auto; + &.bm-success{ + display:none; + } + } + &.selected{ + img.bm-initial{ + display:none; + } + img.bm-success{ + display:block; + } + } + } + &.featured-engagement-count{ + margin-top:-35px; + bottom: auto; + z-index:10; + &.bookmark-engage { + margin-top:-46px; + } + } + .engagement-count-number{ + min-width:28px; + text-align:left; + display:inline-block; + } + @media screen and ( min-width: 430px ){ + font-size:15px; + img{ + width:18px; + vertical-align:-5px; + } + &.featured-engagement{ + margin-top:-38px; + } + } + } + .video-player-header{ + background:$black; + margin-top:0; + max-width:1050px; + margin:auto; + margin-bottom:15px; + height:56.25vw; + margin-bottom:-5px; + @media screen and ( min-width: 750px ){ + height:421px; + } + @media screen and ( min-width: 950px ){ + height:340px; + } + + } + } + @media screen and ( max-width: 949px ){ + .sidebar-wrapper{ + position:fixed; + top:40px; + left:0; + bottom:0; + z-index:100; + overflow-y:auto; + width:200%; + display:none; + -webkit-overflow-scrolling: touch; + .sidebar-bg{ + top:0; + left:0; + right:0; + bottom:0; + height:1000%; + overflow:scroll; + position:fixed; + background:rgba(0,0,0,0.5); + animation: fade-in 0.48s; + } + &.swiped-in{ + display:block; + .side-bar{ + padding-top:2px; + display:block; + background:white; + top:0px; + bottom:0px; + min-height:calc(100vh - 44px); + .widget,.sidebar-profile-snapshot{ + border-radius:0px; + box-shadow: none; + margin-bottom:0; + } + } + } + } + .sidebar-wrapper-left{ + transform: translate(-280px,0); + .side-bar{ + margin-left:0px; + } + &.swiped-in{ + transform: translate(0em,0); + animation: swipe-in-from-left 0.18s; + } + } + .sidebar-wrapper-right{ + transform: translate(calc(-100vw + 280px), 0); + .side-bar{ + float:right; + margin-right:0px; + } + &.swiped-in{ + transform: translate(-100vw,0); + animation: swipe-in-from-right 0.18s; + } + } + } + .side-bar{ + float:left; + width:280px; + margin:auto; + text-align:left; + font-size:0.9em; + line-height:1.35em; + margin-left:0.786vw; + min-height:5px; + display:none; + position:relative; + z-index:5; + &.sidebar-additional{ + display:none; + &.showing { + @media screen and ( min-width: 1120px ){ + display:block; + } + } + } + @media screen and ( min-width: 950px ){ + display:block; + } + .fixed-sidebar{ + position:fixed; + width: 276px; + top: 77px; + } + .sidebar-nav{ + .sidebar-profile-snapshot{ + overflow: hidden; + background:white; + margin-bottom:14px; + border-radius:3px; + width: calc(100% - 3px); + box-shadow: $shadow; + // background:red; + .sidebar-profile-snapshot-inner{ + display:inline-block; + vertical-align: middle; + width:100%; + line-height:20px; + color: $black; + &:hover{ + opacity:0.9; + } + } + .sidebar-profile-pic{ + display:inline-block; + width:66px; + height:66px; + vertical-align:top; + overflow:hidden; + background: $tan; + img{ + width:100%; + } + } + .sidebar-profile-content{ + display:inline-block; + width:calc(100% - 74px); + margin-top:15px; + font-size:13px; + vertical-align: middle; + text-align:left; + .sidebar-profile-name{ + font-weight:400; + font-size:17px; + } + .sidebar-profile-username{ + color: $medium-gray; + } + } + } + margin-bottom:20px; + .sidebar-nav-block{ + padding:0px; + width:calc(100% - 4px); + @media screen and ( min-width: 950px ){ + .sidebar-nav-block-inner{ + height: 400px; + overflow-y: scroll; + overflow-x: hidden; + } + } + .sidebar-nav-header{ + padding:15px 10px; + font-size: 1.1em; + font-family: $helvetica-condensed; + font-stretch:condensed; + font-weight: 800; + &.sidebar-nav-header-middle{ + padding-top:10px; + } + img{ + width:15px; + border:0px; + } + } + .sidebar-nav-subheader{ + padding:10px; + font-weight:500; + font-size:0.9em; + a{ + color:$black; + } + } + .sidebar-nav-default-tags{ + display:none; + &.showing{ + display:block; + } + } + .sidebar-nav-element{ + color:$black; + display:block; + font-family: "Lucida Console", Monaco, monospace, sans-serif; + position:relative; + &.sidebar-nav-readinglist{ + background: $purple; + font-family: $helvetica-condensed; + font-stretch:condensed; + &:hover{ + background:darken($purple, 3%); + } + } + &:hover{ + background:$light-gray; + } + img { + width: 30px; + height: 30px; + border: 0px; + vertical-align: -7px; + margin-right: 4px; + } + a.sidebar-nav-link{ + color:$black; + padding:10px; + display:inline-block; + width:100%; + .sidebar-nav-tag-text{ + border-radius: 3px; + padding: 3px 8px; + } + } + a.sidebar-nav-link-follow{ + position:absolute; + color:$black; + right:9px; + top:5px; + width:31px; + height:31px; + text-align:center; + border-radius:100px; + font-weight:900; + line-height:28px; + font-size:1.3em; + } + } + } + } + .widget{ + width:calc(100% - 30px); + padding:14px 12px; + margin-bottom:15px; + position:relative; + overflow:hidden; + background:white; + display:block; + color: $black; + border-radius:3px; + box-shadow: $shadow; + &:hover{ + opacity:1; + } + &.signin-cta-widget{ + background: $yellow; + } + &.sponsorship-widget{ + display: none; + text-align:center; + } + &.showing{ + display: block; + } + &.podcast-pic-widget { + a{ + &:hover{ + text-decoration:none; + } + } + .widget-body{ + text-align:center; + padding-bottom:10px; + } + .podcast-pic{ + position:relative; + display:inline-block; + img{ + width:100px; + height:100px; + + } + .podcast-name{ + bottom:12px; + display:none; + position:absolute; + width:90%; + left:5%; + z-index:15; + text-align:left; + height:54px; + .podcast-name-inner{ + font-size:12px; + line-height:15px; + padding:2px; + color:white; + background:rgba(0,0, 0, 0.89); + display:block; + } + } + &:hover{ + .podcast-name{ + display:block; + } + } + } + } + header{ + width:100%; + margin:auto; + padding-bottom:5px; + font-weight:800; + font-size: 1.1em; + padding-bottom:10px; + font-family: $helvetica-condensed; + font-stretch:condensed; + .emoji{ + margin-right:3px; + margin-left:5px; + display:inline-block; + vertical-align:-2px; + img{ + width:18px; + border:0px; + cursor: default; + } + } + } + .widget-body{ + margin-top:9px; + &.body-scrollable{ + height: calc(100vh - 500px); + max-height: 385px; + overflow-y: scroll; + } + &.signup-cta-widget-body{ + ul{ + li{ + font-size:1.25em; + line-height:1.5em; + &::before { + content: "• "; + color: $green; + vertical-align: -2px; + } + } + } + } + .sidebar-sponsor{ + margin: 25px auto 40px; + width:96%; + img{ + border:0; + margin:auto; + width:98%; + min-height:44px; + } + .sponsor-tagline{ + margin: 10px auto; + width:92%; + color: $dark-gray; + .sponsor-learn-more{ + display: block; + margin:8px auto; + color: $bold-blue; + } + } + } + .sponsors-love-message{ + border-top: 2px solid $light-gray; + font-size:0.84em; + color: $medium-gray; + padding-top: 18px; + } + .sponsor-footer{ + font-size:0.77em; + margin-top:110px; + margin:auto; + margin-bottom:18px; + width:96%; + a{ + background: lighten($purple,3%); + color: $black; + display: inline-block; + padding: 2px 6px; + font-weight:500; + } + } + .widget-podcast-ep{ + padding-bottom:8px; + a{ + color: $black; + font-weight: 500; + } + } + .widget-podcast-title{ + margin-top:-2px; + a{ + color:$medium-gray; + font-size:0.83em; + opacity:0.86; + } + } + .widget-accent{ + background: $purple; + color: $bold-blue; + padding: 1px 5px; + border-radius: 3px; + margin-right:1px; + } + .widget-footer{ + color:$medium-gray; + font-size:0.9em; + padding:5px 0px; + img{ + height: 15px; + width: 15px; + vertical-align: -2px; + display:inline; + border:0; + } + } + } + .query-filter-button{ + font-size: 15px; + font-weight: bold; + background: transparent; + border: 0px; + display:block; + padding: 6px 8px; + width: calc(100% - 16px); + text-align:left; + border-radius: 0px; + &:hover{ + background: lighten($purple, 7%); + } + &.selected{ + background: $purple; + } + } + p{ + margin:14px 0px 8px; + } + ul{ + list-style-type: none; + padding-left:10px; + } + li{ + font-size:1em; + line-height:1.32em; + display:inline-block; + &::before { + font-size:1.2em; + } + } + + ul { + img { + width: 5%; + border: none; + padding-right: 4px; + visibility: hidden; + } + } + a{ + &:hover{ + opacity:0.9; + } + } + img{ + width:100%; + border:1px solid darken($light-gray,4%); + } + .social-icon { + width: 30px; + height:30px; + border: none; + padding-left: 12px; + margin-right:3px; + } + .row{ + position:relative; + overflow:hidden; + padding:1px 0px 3px; + font-size:0.97em; + .key{ + float:left; + width: 20px; + font-size:0.8em; + padding:2px; + } + .value{ + float:left; + width: calc(100% - 42px); + padding: 5px 7px; + } + } + .cta-button{ + padding:5px 18px; + border-radius:3px; + margin-top:12px; + font-weight: bold; + display:inline-block; + } + } + .widget-link-list__item { + margin-bottom:12px; + padding-left:20px; + a{ + color:$black; + font-weight:500; + line-height:1em; + // display:inline-block; + // padding:3px; + // background:red; + } + .discuss-list-comment-count{ + background:$bold-blue; + color:white; + font-size:0.7em; + padding:2px 6px; + vertical-align:1px; + border-radius:5px; + opacity:0.95; + &.discuss-list-comment-count-brand-new { + background:$yellow; + color:$black; + } + } + &::before { + content: "• "; + color: $green; + font-size:2em; + vertical-align: -6px; + margin-left: -20px; + } + } + .side-footer{ + a{ + display:block; + margin: 10px 10px; + color: $black; + } + } + } + .loading-articles{ + padding:calc(3vw + 15px) 0px 60px; + text-align:center; + opacity:0.5; + display:none; + } +} + +@keyframes fade-in { + 0% { opacity: 0; } + 100% { opacity: 1; } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + + +@keyframes swipe-in-from-left { + 0% {transform: translate(-280px,0);} + 100% {transform: translate(0em,0);} +} +@keyframes swipe-in-from-right { + 0% {transform: translate(calc(-100vw + 280px),0);} + 100% {transform: translate(-100vw, 0);} +} + +.feed-cta { + .cta-container { + padding: calc(1vw + 7px) 9px; + margin-bottom: 15px; + } + h2 { + text-align: center; + margin-right: 9px; + padding-right: 9px; + background-color: rgb(251, 253, 139); + font-size: 1.2em; + } + + .button-container { + text-align: center; + margin-right: 9px; + padding-right: 9px; + } + .cta-button { + text-align: center; + margin: 10px; + width:100px; + padding: 3px 10px; + height: auto; + text-align:center; + font-weight:bold; + border-radius: 3px; + border: 2px solid $black; + background-color:rgb(102, 226, 213); + } +} diff --git a/app/assets/stylesheets/blocks.scss b/app/assets/stylesheets/blocks.scss new file mode 100644 index 0000000000000..4ff3ebe979e69 --- /dev/null +++ b/app/assets/stylesheets/blocks.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Blocks controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/comments-new.scss b/app/assets/stylesheets/comments-new.scss new file mode 100644 index 0000000000000..32d2696688726 --- /dev/null +++ b/app/assets/stylesheets/comments-new.scss @@ -0,0 +1,16 @@ +#page-content.comments-new{ + + .container{ + margin:100px auto; + width:800px; + max-width:96%; + form{ + width:100%; + textarea{ + width:100%; + height:180px; + } + } + } + +} diff --git a/app/assets/stylesheets/comments.scss b/app/assets/stylesheets/comments.scss new file mode 100644 index 0000000000000..013ff3078c7f1 --- /dev/null +++ b/app/assets/stylesheets/comments.scss @@ -0,0 +1,745 @@ +@import 'variables'; +$indent-distance: calc(1.2vw + 12px); + +@keyframes fade-out { + 0% {background-color: rgb(208, 255, 235);} + 100% {background-color: white;} +} + +a.header-link{ + color:$black; + display:block; + &:hover{ + color:$black; + } +} + +.comments{ + background-color:$light-gray; + .picture{ + height:180px; + max-width:900px; + margin:auto; + border-top-right-radius:5px; + border-top-left-radius:5px; + @media screen and ( min-width: 390px ){ + height:240px; + } + @media screen and ( min-width: 820px ){ + height:280px; + } + background-color:#ecf0f2; + background: #ecf0f2 no-repeat top center; + background-size: cover; + position:relative; + z-index:1; + } + .blank-comment-space{ + height:3px; + @media screen and ( min-width: 820px ){ + height:0px; + } + } + .article-header{ + width:820px; + max-width:100%; + margin:50px auto 10px; + padding:0px 0px 90px; + background:white; + z-index:3; + position:relative; + @media screen and ( min-width: 820px ){ + margin:72px auto 10px; + border-radius:5px; + border:1px solid darken($lightest-gray,4%); + } + h3{ + width:94%; + margin:12px 0 5px; + margin-left:1.8%; + font-weight:500; + font-size:calc(1.5vw + 22px); + } + h4{ + margin:0; + font-weight:300; + color:rgb(195, 195, 195); + font-size:17px; + width:96%; + margin:auto; + margin-bottom:-40px; + a{ + color:rgb(105, 103, 103); + } + } + .body{ + padding:60px 0px 0px; + width:96%; + margin:auto; + margin-bottom: -35px; + .read-more{ + color:$sky-blue; + display:inline-block; + &:hover{ + opacity:0.96; + } + } + img{ + max-width:100%; + max-height:350px; + } + } + } + .single-comment-header{ + height:60px; + } + + +} + +.comments-container{ + width:800px; + max-width:98%; + padding-top:10px; + margin:auto; + margin-bottom:100px; + &.comments-dedicated-page-container{ + min-height:calc(97vh - 200px); + } + + img.icon-image{ + height:21px; + opacity:0.7; + &:hover{ + opacity:1; + } + } + .markdown-guide{ + position:absolute; + left:22px; + bottom:3px; + } + .editor-image-upload { + font-size:0.8em; + position: absolute; + left:calc(0.2vw + 43px); + bottom:0px; + width:calc(100% - 145px); + text-align:left; + .uploaded-image { + vertical-align:11px; + border: 1px dashed #888; + position: relative; + padding: 0.2vw 0.4vw; + font-size:1em; + width: calc( 94% - 36px); + top: 5px; + display:none; + &.showing{ + display: inline-block; + } + } + + .image-upload-file-label { + font-size: 0.9em; + color: #888; + display:none; + vertical-align: 4px; + @media screen and ( min-width: 500px ){ + display: inline-block; + } + } + + .image-upload-button { + padding: 2px 4px; + text-align: left; + font-size: 0.8em; + margin: 4px 0px; + border-radius: 3px; + border: 0; + cursor: pointer; + display: inline-block; + background: $light-gray; + max-width:29px; + @media screen and ( max-width: 900px ){ + padding: 5px 6px 1px; + } + } + + } + + .top-level-actions{ + margin:0px 8px 30px; + padding:3px 0px; + z-index:4; + position:relative; + border-radius:3px; + font-size:calc(0.35vw + 16px); + h3{ + margin: 5px 0px; + a{ + font-size:0.62em; + background: $black; + color: white; + margin:2px 0px 2px; + vertical-align: 2px; + } + } + .comment-action-buttons,.comment-action-text{ + display:inline-block; + color:$medium-gray; + font-weight:300; + } + a{ + display:inline-block; + background:$purple; + border-radius:3px; + color: $black; + font-family: $helvetica-condensed; + font-stretch:condensed; + padding:4px 12px; + font-size:0.8em; + vertical-align:1px; + margin:8px 0px 2px; + } + .commentable-title{ + font-size:calc(0.3vw + 16px); + color:$medium-gray; + } + + } + form{ + width:104%; + background:$light-gray; + overflow:auto; + position:relative; + margin-bottom:calc(0.8vw - 6px); + z-index:4; + margin-left:-2%; + border-top:1px solid $light-medium-gray; + @media screen and ( min-width: 820px ){ + width:calc(100% - 2px); + margin-left:0%; + border:1px solid $light-medium-gray; + } + + .field{ + margin-bottom:0px; + } + textarea{ + width:calc(100% - 52px); + margin:15px auto 2px; + display:block; + resize:none; + border-radius:3px; + border:1px solid rgb(232, 229, 229); + height:55px; + font-size:16px; + padding:6px; + transition: height 0.3s ease; + cursor:text; + &.embiggened{ + height:calc(13vw + 15px); + } + &.embiggened-more{ + height:calc(20vw + 18px); + } + &.embiggened-max{ + height:calc(30vw + 18px); + } + } + .actions{ + text-align:right; + } + .code-of-conduct { + display: block; + margin-right: 19px; + margin-top: 5px; + text-align: right; + font-size:0.9em; + font-weight:500; + color:$dark-gray; + &.sub-comment-code-of-conduct{ + font-size:1em; + } + .checkbox { + vertical-align: 1px; + font-size:1.2em; + margin:5px 0px; + } + } + input[type="submit"]{ + margin-right:19px; + background: $bold-blue; + font-family: $helvetica-condensed; + font-stretch:condensed; + color:white; + border:0px; + font-size:13px; + font-weight:500; + margin-top:3px; + padding:5px 12px; + border-radius:3px; + cursor:pointer; + appearance: none; + } + &.submitting{ + input[type="submit"]{ + background: #00bbff; + } + textarea{ + color:lighten($dark-gray,25%); + border: 1px solid $light-green; + background: white url(image_path('loading-ellipsis.svg')) no-repeat center center; + background-size: 50px; + } + } + } + + .comment-trees{ + // margin-left:-$indent-distance; + .comment-hash-marker{ + margin-top:-45px; + margin-bottom:45px; + border:1px solid white; + z-index:-10; + position:relative; + &:target + .single-comment-node{ + animation-name: fade-out; + animation-duration: 5s; + animation-timing-function: ease-out; + } + } + .root-comment{ + margin-top:-80px; + } + .single-comment-node{ + padding:2px 0px 2px $indent-distance; + &.root{ + padding:10px 0px 2px 0; + } + margin-top:42px; + font-size:17px; + position:relative; + @media screen and ( min-width: 390px ){ + font-size:20px; + } + &.flat-node{ + padding:0px; + margin-top:-3px; + margin-bottom:-3px; + &.root{ + padding:2px 0px; + margin-top:0px; + } + .inner-comment{ + border-top-left-radius:0px; + border-top-right-radius:0px; + } + button{ + margin-bottom:3px; + z-index:7; + position:relative; + } + } + .comment-deep-3{ + padding:2px 0px 2px calc(0.9vw + 7px); + button{ + margin-bottom:3px; + z-index:8; + position:relative; + } + } + .permalink{ + width:40px; + position:absolute; + right:2px; + margin-top:calc(0.4vw + 12px); + text-align:center; + opacity:0.9; + img{ + width:14px; + } + &:hover{ + opacity:1; + } + } + .body{ + padding:1px; + padding-left:1.5%; + padding-right:1.5%; + padding-bottom:5px; + margin:0; + width:96%; + color:$black; + font-size:0.95em; + line-height:1.35em; + overflow:hidden; + margin-bottom:-30px; + word-wrap: break-word; + font-family: $helvetica; + position:relative; + h1,h2,h3,h4,h5,h6{ + padding:0px; + margin:4px 0px calc(1.1vw + 10px); + font-size:1em; + font-weight:600; + } + h1{ + font-size:1.3em; + } + p{ + padding:0px; + margin:4px 0px calc(1.1vw + 10px); + } + ul,ol{ + padding-left:6px; + margin:0.8em 0.7em 0.8em 1em; + } + ul{ + list-style-type: square; + } + li{ + margin:3px 0px calc(0.5vw + 5px); + } + blockquote{ + border-left:calc(0.2vw + 2px) solid $dark-gray; + padding:0.1% 3% 0.1% 2%; + margin:1.6em 1vw; + font-size:0.92em; + line-height:1.4em; + p{ + padding:0; + margin:0.95em 0 0.95em; + } + &.twitter-tweet{ + background:white; + max-width:480px; + min-height:135px; + border:1px solid #e9eef2; + font-size:17px; + line-height:20px; + border-radius:5px; + margin-top:10px; + padding:10px; + } + } + .edited-notification{ + color:lighten($medium-gray,20%); + font-size:0.7em; + padding:3px 0px 0px; + position:relative; + z-index:1; + } + code{ + margin:auto; + white-space: nowrap; + background:$lightest-gray; + padding:1px 5px 0px; + border-radius:2px; + color:#333842; + font-size:0.8em; + display:inline-block; + vertical-align:0.1em; + max-width:100%; + line-height:1.4em; + } + pre{ + width:88%; + margin-left:-3%; + margin-left:0px; + padding-left:4%; + padding-right:7%; + padding-top:6%; + padding-bottom:6%; + overflow-wrap: normal; + code{ + background:#29292e; + color:#eff0f9; + white-space: pre; + font-size:1em; + } + } + img{ + max-width:100%; + } + .table-wrapper-paragraph{ + width:100%; + margin-left:0%; + overflow-x:auto; + } + } + .icon-img{ + height:16px; + width:16px; + margin-right:0px; + opacity:0.7; + } + .details{ + padding:0px; + border-top-left-radius:3px; + border-top-left-radius:3px; + color:$dark-gray; + position:relative; + // background:$light-gray; + .comment-date{ + border: none; + position: absolute; + top: calc(16px - 0.25vw); + right: calc(35px + 0.2vw); + font-size:12px; + text-align:right; + a{ + color:$medium-gray; + } + } + .dropbtn { + border: none; + cursor: pointer; + position: absolute; + top: calc(0.3vw + 11px); + right: 10px; + } + + .dropdown { + position: absolute; + top: 40px; + right: 10px; + display: inline-block; + white-space: nowrap; + + .dropdown-content { + display: none; + position: absolute; + right: 0; + border: 1px solid $light-medium-gray; + border-radius: 3px; + background: white; + z-index:20; + box-shadow: $shadow; + &.showing{ + display: block; + } + } + + .dropdown-content a { + color: black; + padding: 12px 16px; + width: 93px; + height: 14px; + font-weight: bold; + display: block; + font-size: 14px; + } + + .dropdown-content a:hover { background-color: #f1f1f1 } + + .dropdown-icon { + position: absolute; + left: 10px; + top: 7px; + padding: 4px; + max-width: 15px; + max-height: 15px; + } + } + + img.profile-pic{ + height:33px; + width:33px; + border-radius:50px; + margin:1.5% 0.2% 1.5% 1.5%; + } + .comment-username{ + vertical-align:calc(0.62vw + 13px); + } + .comment-username-inner{ + vertical-align:middle; + display:inline-block; + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; + max-width:calc( 60% - 20px); + } + .icon-img{ + vertical-align:calc(0.7vw + 9px); + margin-left:2px; + } + .op-marker{ + display:none; + @media screen and ( min-width: 580px ){ + display:inline-block; + vertical-align:calc(0.7vw + 12px); + background:$purple; + color:$black; + padding:2px 6px 2px; + margin-left:0.3vw; + font-family: $helvetica-condensed; + font-stretch:condensed; + font-size: 0.78em; + } + } + a{ + color:lighten($dark-gray,3%); + } + } + .reaction-button,.dropbtn{ + border:0px; + background:transparent; + vertical-align:2px; + cursor:pointer; + border-radius:3px; + height:32px; + display:block; + padding:0px; + margin-left:2px; + position:relative; + margin-top:calc(-0.6vw - 4px); + z-index:8; + position:relative; + .reactions-count { + font-size:calc(0.9em + 0.1vw); + background: $light-gray; + padding:1px 5px; + border-radius:3px; + border: 1px solid darken($light-gray, 10%); + margin-left:1px; + position:absolute; + top:8px; + left: 24px; + } + img{ + height:20px; + width:20px; + opacity:0.62; + left:0px; + } + &:hover{ + img{ + opacity:1; + } + } + .voted-heart{ + display:none; + vertical-align:0px; + margin-left:0px; + height: 25px; + width: 22px; + opacity:0.9; + animation: fadein 0.22s ease ; + &:hover{ + opacity:1; + } + } + @media screen and ( min-width: 390px ){ + vertical-align:-7px; + } + &.reacted{ + color:$green; + img{ + display:none; + } + .voted-heart{ + display:inline-block; + } + .reactions-count { + color:$black; + font-weight:500; + } + } + } + img.icon-image{ + height:20px; + } + .editor-image-upload{ + width:calc(100% - 150px); + text-align:left; + .uploaded-image { + width: calc( 93% - 54px); + } + .image-upload-button { + padding: 5px 2px 0px; + margin-left:3px; + } + @media screen and ( min-width: 500px ){ + .uploaded-image { + width: calc( 94% - 62px); + } + } + } + .actions{ + font-size:0.8em; + padding:0.3em 0.6em 0.3em 0.4em; + text-align:right; + position:relative; + min-height:1.2em; + z-index:5; + font-family: $helvetica-condensed; + font-stretch:condensed; + width: calc(100% - 74px); + margin-left: 58px; + .current-user-actions{ + .hidden{ + display:none; + } + a{ + margin-right:10px; + display:inline-block; + color:$medium-gray; + } + } + form{ + margin-bottom:-5px; + margin-top:-7px; + z-index:29; + position:relative; + width: calc(100% + 60px); + margin-left: -58px; + &.submitting{ + input[type="submit"]{ + background:$bold-blue; + } + textarea{ + color:lighten($dark-gray,25%); + } + } + input[type="submit"]{ + padding:5px 8px; + margin-bottom:5px; + } + + .cancel{ + margin-right:5px; + color:$red; + opacity:0.5; + vertical-align:-1px; + font-size:0.9em; + &:hover{ + opacity:0.8; + } + } + } + } + .inner-comment{ + padding:0px; + border:1px solid $light-medium-gray; + background:white; + &.comment-created-via-fetch{ + animation: comment-create 1.2s; + .body{ + background-color: transparent; + } + } + } + } + } +} + +@keyframes fadein{ + 0% { opacity:0.5; height:21px;width:18px;} + 100% { opacity:1; height:25px;width:22px;} +} +@keyframes comment-create { + from { background-color: $light-green; } + to { background-color: white; } +} diff --git a/app/assets/stylesheets/dashboard.scss b/app/assets/stylesheets/dashboard.scss new file mode 100644 index 0000000000000..c02b98c7fe531 --- /dev/null +++ b/app/assets/stylesheets/dashboard.scss @@ -0,0 +1,196 @@ +@import 'variables'; +.dashboard-container{ + padding-top:80px; + padding-bottom:80px; + width:800px; + max-width:96%; + margin:auto; + h1{ + font-size:30px; + font-family: $helvetica-condensed; + font-stretch:condensed; + padding-bottom: 20px; + a{ + padding: 0px 20px; + border-radius: 3px; + margin-right: 18px; + display: inline-block; + color: $black; + &.active{ + background: $black; + color:white; + } + } + } + .actions{ + text-align:center; + padding:10px 0px; + .action{ + width:calc(90% - 26px); + margin:7px 3px; + color:$black; + padding:10px 0px; + border-radius:3px; + min-width:115px; + display:inline-block; + transition: background-color 250ms ease; + font-family: $helvetica-condensed; + font-stretch:condensed; + font-size: 1.2em; + &.active{ + background: $purple; + } + @media screen and ( min-width: 600px ){ + width:calc(25% - 16px); + } + } + } + .dashboard-analytics-header{ + background: $green; + color:white; + margin:10px auto; + font-size:calc(1.2em + 1.5vw); + padding: 30px 5px; + padding-left: calc(1em + 1vw); + opacity:0.3; + font-family: $helvetica-condensed; + font-stretch:condensed; + border-radius: 3px; + img{ + width: calc(0.9em + 1.3vw); + height: calc(0.9em + 1.3vw); + margin-right: 0.5em; + vertical-align: calc(-0.25vw - 2px); + } + &.loaded{ + opacity:1; + } + } + + .single-article{ + border: 1px solid $light-medium-gray; + box-shadow: $shadow; + padding:5px 15px; + margin-bottom:13px; + border-radius:3px; + position:relative; + background: white; + a{ + color: $black; + &.block-link{ + display:block; + } + } + h2{ + font-weight:400; + margin-bottom:5px; + margin-top:8px; + font-size:36px; + width: 100%; + img{ + height: 40px; + width: 40px; + border-radius: 80px; + vertical-align: -8px; + } + .dashboard-username{ + color: $medium-gray; + font-size: 0.6em; + vertical-align:0.16em; + } + } + h4{ + margin-top:0px; + margin-bottom:9px; + margin-left:2px; + font-weight:300; + font-size:16px; + color:rgb(67, 78, 87); + } + .dashboard-actions{ + padding: 8px 0px; + } + .pill{ + background:$bold-blue; + padding:2px 14px; + border-radius:3px; + color:white; + margin-right:5px; + font-size:13px; + &.yellow{ + background:$yellow; + color:$black; + } + &.green{ + background: $green; + color: $black; + } + &.red{ + background:$red; + } + &.black{ + background: $black; + } + } + .dashboard-pageviews-indicator{ + background:$green; + display:inline-block; + border:1px solid darken($green,5%); + min-width:90px; + text-align:center; + opacity:0.4; + &.loaded{ + opacity:1; + } + } + form{ + padding: 10px 0px; + font-size: 15px; + font-family: $helvetica-condensed; + font-stretch:condensed; + select{ + margin: 0px 4px; + vertical-align:2px; + } + input[type="submit"]{ + border:0px; + font-size: 15px; + } + } + .single-article__details{ + margin: 10px 0px; + .user{ + color: $medium-gray; + } + .tag{ + margin-left: 10px; + } + } + } + .no-articles{ + text-align:center; + background:white; + padding: 2vw 3vw 6vw; + box-shadow: $shadow; + border-radius: 3px; + min-height: 620px; + h3{ + font-size:28px; + font-weight:400; + } + a{ + display:block; + border: 3px solid $black; + font-size:2.2em; + padding: 0.4em 0.2em; + border-radius:3px; + width: 90%; + max-width: 500px; + margin:auto; + } + img{ + width: 90%; + max-width: 270px; + } + } +} diff --git a/app/assets/stylesheets/delete-confirm.scss b/app/assets/stylesheets/delete-confirm.scss new file mode 100644 index 0000000000000..631592ad905a8 --- /dev/null +++ b/app/assets/stylesheets/delete-confirm.scss @@ -0,0 +1,26 @@ +@import 'variables'; + +.delete-confirm{ + padding:150px 10px; + min-height:300px; + h4{ + background:$black; + padding:5px 8px; + color:white; + display:inline-block; + margin-bottom:0px; + } + h2{ + font-size:22px; + margin-bottom:40px; + } + a.delete-link{ + background:$red; + color:white; + padding:10px 15px; + &:hover{ + color:white; + opacity:0.9; + } + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/flip.scss b/app/assets/stylesheets/flip.scss new file mode 100644 index 0000000000000..43434876f6862 --- /dev/null +++ b/app/assets/stylesheets/flip.scss @@ -0,0 +1,78 @@ +/* Flip */ +@import 'variables'; + +.flip { + margin: auto; + width: 96%; + max-width:1200px; + padding-top:100px; + margin-bottom:100px; + min-height:500px; +} +body{ +} + +.flip h1 { + color:#666666; + font-size: 229%; + line-height: 44.928px; + margin: 30px 0; +} + +.flip th.name, .flip th.description, .flip th.status { + visibility: hidden; +} + +.flip td.name { + font-family: Monaco, sans-serif; + font-weight: bold; +} + +.flip td.name, .flip td.description { + vertical-align: top; +} + +.flip th { + font-weight: normal; + text-align: left; + vertical-align: top; +} + +.flip th .description { + font-weight: normal; + display: block; + font-size: 80%; +} + +.flip th, .flip td { + padding: 5px 10px; + width: 160px; + height: 40px; +} + +.flip td.off, .flip td.on, .flip td.pass { + text-align: center; + text-transform: capitalize; +} + +.flip td.off { + background-color: #fbb; +} + +.flip td.on { + background-color: #cfc; +} + +.flip td.pass { + background-color: #eef; +} + +.flip form { + display: inline; +} + +.flip form input[type=submit] { + font-size: 80%; + padding: 2px 5px; + margin: 0; +} diff --git a/app/assets/stylesheets/footer.scss b/app/assets/stylesheets/footer.scss new file mode 100644 index 0000000000000..6a097a804284b --- /dev/null +++ b/app/assets/stylesheets/footer.scss @@ -0,0 +1,26 @@ +@import 'variables'; + +footer{ + background: darken($tan,1%); + margin-bottom:-60px; + padding:80px 0px 100px; + box-shadow: 0 -1px 4px 0 rgba(0, 0, 0, 0.15); + .container{ + background: darken($tan,1%); + width:92%; + margin:auto; + max-width:800px; + box-shadow: none; + border: none; + font-weight: 500; + a{ + color: $black; + display:inline-block; + margin-right: 12px; + &:hover{ + text-decoration: underline; + } + } + } +} + diff --git a/app/assets/stylesheets/fundamentals.scss b/app/assets/stylesheets/fundamentals.scss new file mode 100644 index 0000000000000..3b109b6ac3ba2 --- /dev/null +++ b/app/assets/stylesheets/fundamentals.scss @@ -0,0 +1,29 @@ +#notice { + color: green; +} + + +#error_explanation { + width: 100%; + border: 2px solid #d94949; + padding: 7px; + padding-bottom: 0; + margin-bottom: 20px; + background-color: #f0f0f0; + h2 { + text-align: left; + font-weight: bold; + padding: 5px 5px 5px 15px; + font-size: 16px; + margin: -7px; + margin-bottom: 0px; + background-color: #d94949; + color: #fff; + } + + ul li { + font-size: 16px; + list-style: square; + border-radius:5px; + } +} diff --git a/app/assets/stylesheets/generator.scss b/app/assets/stylesheets/generator.scss new file mode 100644 index 0000000000000..8a6d6edb4ec3d --- /dev/null +++ b/app/assets/stylesheets/generator.scss @@ -0,0 +1,151 @@ +@import 'variables'; +#page-content.pages-generator{ + font-family: $helvetica; + .generator-container{ + padding-top:50px; + min-height:800px; + text-align:center; + h2{ + margin:auto; + font-weight:300; + width:1060px; + max-width:93%; + text-align:left; + margin-bottom:22px; + margin-top:200px; + color:rgb(159, 164, 166); + } + img.loading{ + display:none; + width:120px; + margin-top:40px; + } + img.cover{ + display:none; + width:330px; + margin-top:20px; + box-shadow:10px 10px 80px #888; + } + .slack-butt{ + vertical-align:middle; + display:inline-block; + margin-top:-470px; + width:0px; + overflow:hidden; + @media screen and ( max-width: 600px ){ + margin-top:-1170px; + margin-bottom:1170px; + display:block; + } + } + h4{ + display:none; + font-style:italic; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + width:750px; + max-width:96%; + text-align:center; + margin:150px auto 50px; + font-size:33px; + line-height:45px; + } + .second-slack{ + display:none; + margin-bottom:50px; + } + .loved{ + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-style:italic; + font-size:23px; + padding-top:100px; + padding-bottom:100px; + background:rgb(32, 16, 66); + color:white; + box-shadow: inset 0px 30px 120px rgb(17, 3, 33); + display:none; + text-align:center; + font-size:65px; + img{ + margin-top:50px; + } + } + .thanks{ + background:rgb(13, 3, 31); + color:white; + padding:120px 10px 90px; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + display:none; + h4{ + display:block; + margin-top:10px; + } + &.feedback{ + background:rgb(40, 80, 157); + a{ + color:rgb(24, 221, 195); + } + } + } + .usage{ + display:none; + padding:50px 0px; + pre{ + width:1000px; + max-width:96%; + padding:28px 10px 10px 0px; + border-radius:3px; + margin:20px auto; + text-align:left; + overflow-x:scroll; + background:rgb(246, 246, 246); + font-size:16px; + @media screen and ( max-width: 600px ){ + font-size:14px; + } + } + .animal{ + width:120px; + display:inline-block; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:26px; + margin:40px 22px; + img{ + width:100%; + } + } + .color{ + height:90px; + width:90px; + margin:20px; + border-radius:220px; + color:white; + display:inline-block; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:30px; + line-height:90px; + } + } + } +} + +.typed-cursor{ + opacity: 1; + -webkit-animation: blink 0.7s infinite; + -moz-animation: blink 0.7s infinite; + animation: blink 0.7s infinite; +} +@keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} +@-webkit-keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} +@-moz-keyframes blink{ + 0% { opacity:1; } + 50% { opacity:0; } + 100% { opacity:1; } +} diff --git a/app/assets/stylesheets/giveaways.scss b/app/assets/stylesheets/giveaways.scss new file mode 100644 index 0000000000000..0db578378a50e --- /dev/null +++ b/app/assets/stylesheets/giveaways.scss @@ -0,0 +1,130 @@ +@import 'variables'; +#page-content.giveaways{ + #error_explanation{ + margin-bottom:50px; + } +} +.giveaway-header{ + font-family: $helvetica; + height: calc(22vw + 250px); + z-index:1; + position:relative; + margin-top:-50px; + text-align:center; + background: #000000 no-repeat center 0 fixed; + background-size:110%; + .logo{ + color:white; + font-weight:900; + padding-top: calc(7.5vw + 90px); + margin:0; + width: calc(18vw + 50px); + } + @media screen and ( min-width: 500px ){ + background-size:90%; + } + @media screen and ( min-width: 800px ){ + background-size:70%; + } + @media screen and ( min-width: 1100px ){ + background-size:60%; + } + @media screen and ( min-width: 1400px ){ + background-size:52%; + } +} + +.giveaway-container{ + font-family: $helvetica; + background:white; + padding:1vw 4vw; + width:760px; + max-width:calc(100% - 8vw); + margin:0 auto 100px; + z-index:2; + position:relative; + font-size:calc(0.4vw + 15px); + line-height:calc(0.7vw + 26px); + h1{ + text-align:center; + font-size:calc(3vw + 20px); + } + p{ + font-size:1.1em; + } + img{ + max-width:100%; + } + h2{ + margin:2vw 0px; + padding:0; + } + + .sign-up-link{ + font-size:calc(1.2vw + 18px); + margin:5px 0px; + display:inline-block; + .sign-up-text{ + background: $blue; + padding:14px 20px; + border-radius:5px; + color:white; + &.github-text{ + background: $black; + } + } + img{ + width:calc(1.88vw + 22px); + vertical-align:calc(-0.5vw - 4px); + } + &:hover{ + opacity:0.9; + } + } + .partner-logo{ + width:200px; + vertical-align:middle; + margin:20px; + } + form{ + + .field{ + label{ + padding:10px 0px; + display:inline-block; + font-size:0.95em; + } + input{ + width:calc(100% - 1vw - 6px); + padding:calc(0.3vw + 4px); + border:1px solid darken($light-medium-gray,5%); + font-size:1em; + border-radius:3px; + } + select{ + font-size:1em; + } + } + .actions{ + padding:1vw 0px; + input{ + background:$green; + color:white; + border:0px; + font-size:2em; + padding:10px 40px; + border-radius:5px; + cursor:pointer; + &:hover{ + opacity:0.9; + } + } + } + } +} + +.smarty-suggestion{ + font-size:0.88em; + padding:0.15em 0.2em; + font-family: $helvetica; +} diff --git a/app/assets/stylesheets/index-comments.scss b/app/assets/stylesheets/index-comments.scss new file mode 100644 index 0000000000000..7440b515df2b8 --- /dev/null +++ b/app/assets/stylesheets/index-comments.scss @@ -0,0 +1,75 @@ +@import 'variables'; + +.index-comments{ + text-align:left; + padding-bottom:calc(0.6vw + 5px); + background:white; + border-radius:3px; + border:1px solid #e6e6e5; + box-shadow: $shadow; + margin:auto; + margin-top:8px; + width:94%; + @media screen and ( min-width: 950px ){ + margin-top:12px; + } + @media screen and ( min-width: 950px ){ + width:100%; + } + .breadcrumb{ + margin-top:10px; + margin-left:5px; + text-decoration: underline; + a{ + padding:5px 10px; + color:$dark-gray; + font-weight:500; + font-size:0.85em; + } + } + h2{ + .emoji-img{ + height: 21px; + width: 22px; + } + padding:calc(0.5vw + 3px) 0px; + padding-left:13px; + margin:0; + font-size:21px; + font-family: $helvetica-condensed; + font-stretch:condensed; + @media screen and ( min-width: 430px ){ + font-size:29px; + } + } + a{ + color:$black; + display:block; + padding-left:13px; + padding-right:13px; + } + .single-comment{ + padding:3px 0px; + font-size:16px; + &.strong-comment{ + .comment-title{ + font-weight:600; + } + } + .comment-date{ + font-size:0.7em; + color:$medium-gray; + margin-left:5px; + vertical-align:2px; + display:inline-block; + } + .comment-preview{ + font-size:0.9em; + color:$medium-gray; + } + @media screen and ( min-width: 430px ){ + padding:5px 0px; + font-size:18.5px; + } + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/jquery.highlighttextarea.scss b/app/assets/stylesheets/jquery.highlighttextarea.scss new file mode 100755 index 0000000000000..eb9f2f6b65ae9 --- /dev/null +++ b/app/assets/stylesheets/jquery.highlighttextarea.scss @@ -0,0 +1,52 @@ +/*! + * jQuery highlightTextarea + * Copyright 2014-2015 Damien "Mistic" Sorel (http://www.strangeplanet.fr) + * Licensed under MIT (http://opensource.org/licenses/MIT) + */ + +.highlightTextarea { + position:relative; +} +.highlightTextarea .highlightTextarea-container { + position:absolute; + margin:0; + overflow:hidden; +} +.highlightTextarea .highlightTextarea-highlighter { + position:relative; + border:none; + padding:0; + margin:0; + color:transparent; + cursor:text; + overflow:hidden; + white-space:pre-wrap; + word-wrap:break-word; +} + .highlightTextarea.debug .highlightTextarea-highlighter { + color:#f00; + border:1px solid #f00; + margin:-1px; + } +.highlightTextarea mark { + line-height:inherit; + color:transparent; + margin:0; + padding:0; +} +.highlightTextarea textarea, +.highlightTextarea input { + position:absolute; + left:0; + top:0; + resize:none; + white-space:pre-wrap; + word-wrap:break-word; +} +.highlightTextarea .ui-wrapper { + margin:0 !important; +} +.highlightTextarea .ui-resizable-se { + bottom:15px; + right:0px; +} diff --git a/app/assets/stylesheets/leaderboard.scss b/app/assets/stylesheets/leaderboard.scss new file mode 100644 index 0000000000000..70ab009452b9d --- /dev/null +++ b/app/assets/stylesheets/leaderboard.scss @@ -0,0 +1,70 @@ +@import 'variables'; +.users-index{ + +} +.leaderboard-page{ + background:$light-gray; + min-height:700px; + padding:70px 0px; + font-family: $helvetica; + .leaderboard-container{ + width:800px; + max-width:98%; + margin:0px auto; + background:white; + border:1px solid darken($lightest-gray,4%); + border-radius:5px; + header{ + text-align:center; + padding:10px 0px; + h1{ + font-size:calc(2.5vw + 25px); + } + } + .leaderboard-user{ + overflow:hidden; + position:relative; + padding:10px 0px; + border-top:1px solid darken($lightest-gray,4%); + .profile-pic{ + float:left; + img{ + height:80px; + width:80px; + border-radius:3px; + margin:0; + margin-left:10px; + } + } + .content{ + float:left; + width:calc(100% - 100px); + padding:0px 5px; + .user-name{ + color:$black; + } + h3{ + margin:0px 0px 5px; + font-size:calc(1.9vw + 15px); + font-weight:400; + } + img{ + height:15px; + width:15px; + } + a{ + margin-right:8px; + display:block; + @media screen and ( min-width: 540px ){ + display:inline-block; + } + } + } + } + } + .bottom{ + margin:70px auto 0px; + width:700px; + max-width:90%; + } +} diff --git a/app/assets/stylesheets/live.scss b/app/assets/stylesheets/live.scss new file mode 100644 index 0000000000000..4893182d7d8fc --- /dev/null +++ b/app/assets/stylesheets/live.scss @@ -0,0 +1,57 @@ +.live-container{ + margin:auto; + max-width:1636px; + min-height:96vh; + margin-top:60px; + @media screen and ( min-width:760px ){ + margin-top:78px; + width: 98%; + } + .live-video{ + width: 100%; + height:62.5vw; + text-align:center; + max-height:920px; + float:left; + @media screen and ( min-width:760px ){ + width: calc(100% - 300px); + height: calc(100vh - 132px); + } + @media screen and ( min-width:1200px ){ + width: calc(100% - 400px); + } + } + .live-chat-wrapper{ + text-align:center; + float:left; + width: 100%; + .live-chat{ + height: calc(100vh - 62.5vw - 42px); + } + @media screen and ( min-width: 760px ){ + width:300px; + .live-chat{ + height: calc(100vh - 134px); + max-height:920px; + } + } + @media screen and ( min-width: 1200px ){ + width:400px; + } + } +} +.live-under-message{ + text-align:center; + margin: 10px auto 80px; + width: 96%; + max-width: 650px; + font-size:1.1em; + font-weight: bold; +} + +.live-upcoming-info{ + margin: 30vh auto; + max-width:96%; + width: 700px; + font-size:1.2em; +} \ No newline at end of file diff --git a/app/assets/stylesheets/livechat/_animation.scss b/app/assets/stylesheets/livechat/_animation.scss new file mode 100644 index 0000000000000..bc45e5405b9df --- /dev/null +++ b/app/assets/stylesheets/livechat/_animation.scss @@ -0,0 +1,46 @@ +// Mixin +@mixin keyframes($name) { + @-webkit-keyframes #{$name} { @content; } + @-moz-keyframes #{$name} { @content; } + @-o-keyframes #{$name} { @content; } + @-ms-keyframes #{$name} { @content; } + @keyframes #{$name} { @content; } +} + +@mixin transform-scale($size) { + -webkit-transform: scale($size); + -moz-transform: scale($size); + -ms-transform: scale($size); + -o-transform: scale($size); + transform: scale($size); +} + +@mixin animation($animation...) { + -webkit-animation: $animation; + -moz-animation: $animation; + -o-animation: $animation; + -ms-animation: $animation; + animation: $animation; +} + +@mixin animation-delay($delay) { + -webkit-animation-delay: $delay; + -moz-animation-delay: $delay; + -o-animation-delay: $delay; + -ms-animation-delay: $delay; + animation-delay: $delay; +} + +// Spinner +@include keyframes(sb-loader) { + 0%, 80%, 100% { + @include transform-scale(0) + } + 40% { + @include transform-scale(1.0) + } +} + +@mixin sb-ani-spinner() { + @include animation(sb-loader 1.4s infinite ease-in-out both); +} diff --git a/app/assets/stylesheets/livechat/_icons.scss b/app/assets/stylesheets/livechat/_icons.scss new file mode 100644 index 0000000000000..ebff4cd2882e5 --- /dev/null +++ b/app/assets/stylesheets/livechat/_icons.scss @@ -0,0 +1,11 @@ +// Icons +$icon-prefix: 'https://dxstmhyqfqr1o.cloudfront.net/liveChat/'; + +$icon-send-btn: 'btn-send.svg'; + +@mixin icon($name) { + background-image: url($icon-prefix + $name); + background-position: center; + background-size: 19px 19px; + background-repeat: no-repeat; +} diff --git a/app/assets/stylesheets/livechat/_mixins.scss b/app/assets/stylesheets/livechat/_mixins.scss new file mode 100644 index 0000000000000..5f5f954c92812 --- /dev/null +++ b/app/assets/stylesheets/livechat/_mixins.scss @@ -0,0 +1,5 @@ +@import "mixins/border-radius"; +@import "mixins/box-shadow"; +@import "mixins/state"; +@import "mixins/transform"; +@import "mixins/reset"; diff --git a/app/assets/stylesheets/livechat/_variables.scss b/app/assets/stylesheets/livechat/_variables.scss new file mode 100644 index 0000000000000..f53a5070e8e91 --- /dev/null +++ b/app/assets/stylesheets/livechat/_variables.scss @@ -0,0 +1,53 @@ +// Color +$color-white: #FFFFFF !default; +$color-gray: #B7BFCC !default; + +$color-message-nickname-01: #EA4130 !default; +$color-message-nickname-02: #DF1962 !default; +$color-message-nickname-03: #AB29CC !default; +$color-message-nickname-04: #6634CC !default; +$color-message-nickname-05: #3949BF !default; +$color-message-nickname-06: #4097F6 !default; +$color-message-nickname-07: #40BCD5 !default; +$color-message-nickname-08: #2F9688 !default; +$color-message-nickname-09: #5AAF4B !default; +$color-message-nickname-10: #90C341 !default; +$color-message-nickname-11: #D99100 !default; +$color-message-nickname-12: #F79700 !default; + +$color-text-message: #4D4D4D !default; +$color-text-title: #333333 !default; +$color-text-input: #8090B4 !default; + +$color-more-message-background: rgba(47, 58, 77, 0.8) !default; + +$color-background-gray: #F6F8FA !default; +$color-border-top: #E5E5E5 !default; +$color-border-bottom: #D8D8D8 !default; +$color-border-input: #E2E7EB !default; +$color-border-input-focus: #7B5FD9 !default; + +$color-input-background: #F8F9FA !default; +$color-input-text: #3A414D !default; +$color-input-shadow: #BDB0FF !default; + +$color-box-shadow: #BDB0DD !default; + +$color-link-text: #319EDE !default; + +$color-spinner-default: #A5B3CD !default; + +$color-button-spinner: #35A300 !default; +$color-button-border: #38B349 !default; +$color-button-border-disabled: #95D296 !default; +$color-button-background: #3FCC52 !default; +$color-button-background-disabled: #98DC99 !default; + +$color-login-title: #67769A !default; + +// Font +$font-family-default: 'Lato'; +$font-weight-default: 400; + +$content-message-input-default: 'Type a Message'; +$content-message-input-empty: ''; diff --git a/app/assets/stylesheets/livechat/chat.scss b/app/assets/stylesheets/livechat/chat.scss new file mode 100644 index 0000000000000..0bf28bc92efd8 --- /dev/null +++ b/app/assets/stylesheets/livechat/chat.scss @@ -0,0 +1,305 @@ +@import "variables"; +@import "mixins"; +@import "animation"; +@import "icons"; + +#sb_chat { + font-family: $font-family-default !important; + font-weight: $font-weight-default !important; + -webkit-font-smoothing: antialiased !important; + text-align: left; + + // Spinner + .sb-spinner { + @include reset(); + width: 100%; + text-align: center; + + div { + @include reset(); + display: inline-block; + width: 12px; + height: 12px; + background-color: $color-spinner-default; + @include border-radius(50%); + @include sb-ani-spinner(); + + } + :nth-child(1) { + @include reset(); + @include animation-delay(-0.32s); + } + :nth-child(2) { + @include reset(); + margin: 0 6px; + @include animation-delay(-0.16s); + } + } + + // Btn + .sb-common-btn { + padding: 0 16px; + border: 1px solid $color-button-border; + background-color: $color-button-background; + color: $color-white; + cursor: pointer; + @include border-radius(3px); + @include box-shadow(0 1px 2px rgba(0, 0, 0, 0.05), 0 1px rgba(255, 255, 255, 0.75)); + @include hover { + @include box-shadow(0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.75)); + } + } + .sb-common-btn.disabled { + cursor: default; + background-color: $color-button-background-disabled; + border: 1px solid $color-button-border-disabled; + @include hover { + @include box-shadow(0 1px 2px rgba(0, 0, 0, 0.05), 0 1px rgba(255, 255, 255, 0.75)); + } + } + + // Board + .chat-board { + @include reset(); + width: calc(100% - 2px); + height: calc(100% - 16px); + padding-bottom: 16px; + background-color: $color-white; + border: 1px solid $color-border-top; + + & > .top { + @include reset(); + width: 100%; + height: 50px; + line-height: 50px; + text-align: center; + border-bottom: 1px solid $color-border-top; + background-color: $color-background-gray; + } + } + + // Login + .login-board { + @include reset(); + width: calc(100% - 32px); + padding: 0 16px; + + > .content { + @include reset(); + + > .input-text { + @include reset(); + font-size: 11px; + color: $color-login-title; + padding-bottom: 6px; + } + + > .input { + @include reset(); + height: 32px; + width: calc(100% - 16px); + color: $color-input-text; + border: 1px solid $color-border-input; + background-color: $color-input-background; + font-size: 13px; + padding: 0 8px; + @include border-radius(3px); + @include focus { + outline: none; + border: 1px solid $color-border-input-focus; + @include box-shadow(0 0 4px $color-input-shadow); + } + } + } + > .user-id { + margin-top: 160px; + } + > .nickname { + margin-top: 12px; + } + + > .btn { + @include reset(); + @extend .sb-common-btn; + width: 75px; + text-align: center; + padding: 8px 16px; + margin: 20px auto 0 auto; + > .sb-spinner { + height: 16px; + > div { + width: 8px; + height: 8px; + background-color: $color-button-spinner; + } + :nth-child(2) { + margin: 0 4px; + } + } + } + > .btn.disabled { + @include reset(); + width: 75px; + text-align: center; + padding: 8px 16px; + margin: 20px auto 0 auto; + } + } + + // Message + .message-board { + @include reset(); + width: 100%; + height: calc(100% - 51px); + overflow: hidden; + + > .content { + @include reset(); + width: calc(100% - 32px); + height: calc(100% - 63px); + padding: 0 16px 10px 16px; + overflow-x: hidden; + overflow-y: scroll; + + > .message-item { + @include reset(); + margin-top: 8px; + + > .message-text { + @include reset(); + width: calc(100% - 68px); + display: inline-block; + font-size: 13px; + color: $color-text-message; + word-wrap: break-word; + + > .nickname { + @include reset(); + font-size: 13px; + font-weight: 700 !important; + } + } + + > .time { + @include reset(); + width: 66px; + float: right; + font-size: 11px; + color: $color-gray; + text-align: right; + } + } + + > .sb-spinner { + height: 100%; + > div { + width: 12px; + height: 12px; + background-color: $color-spinner-default; + position: relative; + top: 50%; + @include transform-translate(0, -50%); + } + :nth-child(2) { + margin: 0 6px; + } + } + + } + + > .btn { + @include reset(); + width: calc(100% - 32px); + height: 30px; + line-height: 30px; + margin: 0 16px; + position: relative; + bottom: 82px; + color: $color-white; + background-color: $color-more-message-background; + text-align: center; + font-size: 13px; + cursor: pointer; + } + + > .content-input { + @include reset(); + width: calc(100% - 32px - 2px); + height: 50px; + margin: 0 16px; + padding: 0; + background-color: $color-white; + border: 1px solid $color-border-bottom; + position: relative; + overflow: hidden; + @include border-radius(2px); + + > .input { + @include reset(); + width: calc(100% - 55px); + min-height: 14px; + max-height: 39px; + overflow-y: scroll; + padding-right: 45px !important; + padding: 18px 10px; + display: inline-block; + outline: none !important; + word-wrap: break-word; + background-color: $color-white; + color: $color-text-message; + font-size: 13px; + } + > .input:empty::before { + width: calc(100% - 35px); + font-size: 13px; + content: $content-message-input-default; + color: $color-text-input; + } + > .input:focus:empty::before { + content: $content-message-input-empty; + } + + > .icon { + @include reset(); + position: absolute; + bottom: 15px; + right: 20px; + width: 19px; + height: 19px; + padding-left: 5px; + @include icon($icon-send-btn); + opacity: 0.3; + cursor: default; + } + > .icon.active { + opacity: 1; + cursor: pointer; + } + } + > .content-input.active { + @include reset(); + width: calc(100% - 32px); + height: 50px; + margin: 0 16px; + padding: 0; + background-color: $color-white; + border: 1px solid $color-border-input-focus; + @include border-radius(2px); + @include box-shadow(0 0 4px $color-input-shadow); + } + } + + .nickname-color-01 { color: $color-message-nickname-01; } + .nickname-color-02 { color: $color-message-nickname-02; } + .nickname-color-03 { color: $color-message-nickname-03; } + .nickname-color-04 { color: $color-message-nickname-04; } + .nickname-color-05 { color: $color-message-nickname-05; } + .nickname-color-06 { color: $color-message-nickname-06; } + .nickname-color-07 { color: $color-message-nickname-07; } + .nickname-color-08 { color: $color-message-nickname-08; } + .nickname-color-09 { color: $color-message-nickname-09; } + .nickname-color-10 { color: $color-message-nickname-10; } + .nickname-color-11 { color: $color-message-nickname-11; } + .nickname-color-12 { color: $color-message-nickname-12; } + +} diff --git a/app/assets/stylesheets/livechat/mixins/_border-radius.scss b/app/assets/stylesheets/livechat/mixins/_border-radius.scss new file mode 100644 index 0000000000000..95bb40a191f93 --- /dev/null +++ b/app/assets/stylesheets/livechat/mixins/_border-radius.scss @@ -0,0 +1,59 @@ +@mixin border-radius($radius) { + border-radius: $radius; + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + -ms-border-radius: $radius; + -o-border-radius: $radius; +} + +@mixin border-top-radius($radius) { + border-top-right-radius: $radius; + border-top-left-radius: $radius; + -webkit-border-top-right-radius: $radius; + -webkit-border-top-left-radius: $radius; + -moz-border-top-right-radius: $radius; + -moz-border-top-left-radius: $radius; + -ms-border-top-right-radius: $radius; + -ms-border-top-left-radius: $radius; + -o-border-top-right-radius: $radius; + -o-border-top-left-radius: $radius; +} + +@mixin border-right-radius($radius) { + border-bottom-right-radius: $radius; + border-top-right-radius: $radius; + -webkit-border-bottom-right-radius: $radius; + -webkit-border-top-right-radius: $radius; + -moz-border-bottom-right-radius: $radius; + -moz-border-top-right-radius: $radius; + -ms-border-bottom-right-radius: $radius; + -ms-border-top-right-radius: $radius; + -o-border-bottom-right-radius: $radius; + -o-border-top-right-radius: $radius; +} + +@mixin border-bottom-radius($radius) { + border-bottom-right-radius: $radius; + border-bottom-left-radius: $radius; + -webkit-border-bottom-right-radius: $radius; + -webkit-border-bottom-left-radius: $radius; + -moz-border-bottom-right-radius: $radius; + -moz-border-bottom-left-radius: $radius; + -ms-border-bottom-right-radius: $radius; + -ms-border-bottom-left-radius: $radius; + -o-border-bottom-right-radius: $radius; + -o-border-bottom-left-radius: $radius; +} + +@mixin border-left-radius($radius) { + border-bottom-left-radius: $radius; + border-top-left-radius: $radius; + -webkit-border-bottom-left-radius: $radius; + -webkit-border-top-left-radius: $radius; + -moz-border-bottom-left-radius: $radius; + -moz-border-top-left-radius: $radius; + -ms-border-bottom-left-radius: $radius; + -ms-border-top-left-radius: $radius; + -o-border-bottom-left-radius: $radius; + -o-border-top-left-radius: $radius; +} diff --git a/app/assets/stylesheets/livechat/mixins/_box-shadow.scss b/app/assets/stylesheets/livechat/mixins/_box-shadow.scss new file mode 100644 index 0000000000000..12de9445359eb --- /dev/null +++ b/app/assets/stylesheets/livechat/mixins/_box-shadow.scss @@ -0,0 +1,5 @@ +@mixin box-shadow($shadow...) { + -webkit-box-shadow: $shadow; + -moz-box-shadow: $shadow; + box-shadow: $shadow; +} diff --git a/app/assets/stylesheets/livechat/mixins/_reset.scss b/app/assets/stylesheets/livechat/mixins/_reset.scss new file mode 100644 index 0000000000000..eac43c4cb7f1e --- /dev/null +++ b/app/assets/stylesheets/livechat/mixins/_reset.scss @@ -0,0 +1,9 @@ +@mixin reset { + margin: 0; + padding: 0; + font-size: 100%; + line-height: 1; + width: auto; + height: auto; + box-sizing: initial; +} diff --git a/app/assets/stylesheets/livechat/mixins/_state.scss b/app/assets/stylesheets/livechat/mixins/_state.scss new file mode 100644 index 0000000000000..c1203da124402 --- /dev/null +++ b/app/assets/stylesheets/livechat/mixins/_state.scss @@ -0,0 +1,40 @@ +@mixin hover { + &:hover { @content; } +} + +@mixin plain-hover { + &, + &:hover { @content; } +} + +@mixin focus { + &:focus { @content; } +} + +@mixin plain-focus { + &, + &:focus { @content; } +} + +@mixin hover-focus { + &:hover, + &:focus { @content; } +} + +@mixin plain-hover-focus { + &, + &:hover, + &:focus { @content; } +} + +@mixin after { + &::after { + @content + } +} + +@mixin before { + &::before { + @content + } +} diff --git a/app/assets/stylesheets/livechat/mixins/_transform.scss b/app/assets/stylesheets/livechat/mixins/_transform.scss new file mode 100644 index 0000000000000..026f6d1f4f0ee --- /dev/null +++ b/app/assets/stylesheets/livechat/mixins/_transform.scss @@ -0,0 +1,7 @@ +@mixin transform-translate($x, $y) { + -webkit-transform: translate($x, $y); + -moz-transform: translate($x, $y); + -ms-transform: translate($x, $y); + -o-transform: translate($x, $y); + transform: translate($x, $y); +} diff --git a/app/assets/stylesheets/ltags/CommentTag.scss b/app/assets/stylesheets/ltags/CommentTag.scss new file mode 100644 index 0000000000000..a1a80e95ec73e --- /dev/null +++ b/app/assets/stylesheets/ltags/CommentTag.scss @@ -0,0 +1,230 @@ +@import 'variables'; + +.liquid-comment { + padding: 0px; + background: white; + font-family: $helvetica; + margin:0.95em 0 1.20em; + position: relative; + border:1px solid $light-medium-gray; + box-shadow: $shadow; + border-radius:3px; + @media screen and (min-width: 760px) { + margin: 0.95em auto; + width:620px; + } + + .details { + padding: 0px; + margin: 13px; + height: 33px; + border-top-left-radius: 3px; + border-top-left-radius: 3px; + color: $dark-gray; + display: flex; + + img { + left: inherit; + } + + img.profile-pic { + min-height: inherit; + height: 33px; + width: 33px; + border-radius: 100px; + margin: 0; + } + + .icon-img{ + min-height: inherit; + height: 16px; + width: 16px; + margin-right: 0px; + opacity: 0.7; + } + + .comment-username { + // vertical-align: calc(0.7vw + 12px); + } + + .icon-img{ + // vertical-align:calc(0.7vw + 9px); + } + .comment-date { + border: none; + position: absolute; + top: calc(28px - 0.25vw); + right: calc(5px + 0.1vw) !important; + font-size:12px; + text-align:right; + display: block; + width:100px; + a{ + color:$medium-gray; + } + } + + a { + color: lighten($dark-gray,3%); + line-height: initial; + align-self: center; + margin-right: 6px; + } + + a:last-child { + align-self: baseline; + position: absolute; + right: 5px; + } + } + + .body { + font-family: $helvetica; + color: $black; + font-size: 0.95em; + line-height: 1.35em; + overflow: hidden; + margin: 13px; + word-wrap: break-word; + width: auto; + padding: 0; + margin-bottom: 10px !important; + + pre { + width: auto; + margin-left: 0; + padding: 10px; + } + + h1, h2, h3, h4, h5, h6 { + padding: 0px; + margin: 4px 0px calc(1.1vw + 10px); + font-size: 1em; + font-weight: 600; + } + + h1 { + font-size: 1.3em; + } + + p { + padding: 0px; + font-size: 0.95em; + margin: 0 0 15px 0; + } + + br { + line-height: 220%; + } + + ul, ol { + padding-left: 6px; + margin:0.8em 0.7em 0.8em 1em; + } + + ul { + list-style-type: square; + } + + li { + margin: 3px 0px calc(0.5vw + 5px); + } + + blockquote { + border-left: calc(0.2vw + 2px) solid $dark-gray; + padding: 0.1% 3% 0.1% 2%; + margin: 1.6em 1vw; + font-size: 0.92em; + line-height: 1.4em; + + p { + padding:0; + margin:0.95em 0 0.95em; + } + + &.twitter-tweet { + font-family: $helvetica; + background: white; + max-width: 480px; + min-height: 135px; + border: 1px solid #e9eef2; + font-size: 17px; + line-height: 20px; + border-radius: 5px; + margin-top: 10px; + padding: 10px; + } + } + + .edited-notification { + color:lighten($medium-gray,20%); + font-size:0.7em; + padding:3px 0px 0px; + position:relative; + z-index:1; + } + + code { + margin: auto; + white-space: nowrap; + background: $lightest-gray; + padding: 1px 5px 0px; + border-radius: 2px; + color: #333842; + font-size: 0.8em; + display: inline-block; + vertical-align: 0.1em; + max-width: 100%; + line-height: 1.4em; + } + + img { + max-width:100%; + } + + button { + border:0px; + background:transparent; + vertical-align:2px; + cursor:pointer; + border-radius:3px; + display:block; + padding:0px; + // margin-left:1px; + position:relative; + // margin-top:calc(-0.6vw - 4px); + z-index:6; + img{ + left: inherit; + min-height: 0px; + height:16px; + opacity:0.62; + } + &:hover{ + img{ + opacity:1; + } + } + .voted-heart{ + display:none; + font-size:22px; + line-height:21px; + vertical-align:-2px; + } + @media screen and ( min-width: 390px ){ + vertical-align:-7px; + } + &.reacted{ + color:$green; + img{ + display:none; + } + .voted-heart{ + display:inline-block; + + } + } + } + } + +} diff --git a/app/assets/stylesheets/ltags/GistTag.scss b/app/assets/stylesheets/ltags/GistTag.scss new file mode 100644 index 0000000000000..07a3472ebed36 --- /dev/null +++ b/app/assets/stylesheets/ltags/GistTag.scss @@ -0,0 +1,11 @@ +.ltag_gist-liquid-tag { + table { + margin: 0 !important; + } + + td { + border: 0 !important; + width: 0 !important; + } + +} diff --git a/app/assets/stylesheets/ltags/GithubTag.scss b/app/assets/stylesheets/ltags/GithubTag.scss new file mode 100644 index 0000000000000..6f8ff904ec9f4 --- /dev/null +++ b/app/assets/stylesheets/ltags/GithubTag.scss @@ -0,0 +1,298 @@ +.ltag_github-liquid-tag { + margin: 1em 0; + + h1 { + font-size: 20px; + margin: 0; + + @media screen and (min-width: 500px) { + line-height: 1.125; + word-wrap: break-word; + margin-left: -20px; + margin-bottom: 10px; + } + + a { + color: black; + font-size: 32px; + line-height: 32px; + } + + .issue-title { + font-weight: normal; + } + + .issue-number { + font-weight: 300; + color: #a3aab1; + letter-spacing: -1px; + } + } + + .github-thread { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + background-color: #fff; + border: 1px solid #d1d5da; + border-radius: 3px; + font-size: 14px; + line-height: 1.5; + margin: 0; + width: 98%; + + @media screen and (min-width: 500px) { + width: 90%; + margin-left: 50px; + } + + .arrow-left-outer { + display: none; + @media screen and (min-width: 500px) { + display: block; + width: 0; + height: 0; + border-width: 8px; + border-color: transparent; + border-style: solid solid outset; + border-right-color: #d1d5da; + content: " "; + float: left; + margin-left: -31px; + margin-top: 13px; + } + + } + + .arrow-left-inner { + display: none; + @media screen and (min-width: 500px) { + display: block; + width: 0; + height: 0; + border-width: 8px; + border-color: transparent; + border-style: solid solid outset; + border-right-color: #f6f8fa; + content: " "; + float: left; + margin-left: -30px; + margin-top: 13px; + } + } + + .timeline-comment-header { + display: flex; + background: #f6f8fa; + border-bottom: 1px solid #d1d5da; + padding: 0px 15px; + + @media screen and (min-width: 500px) { + display: block; + } + + img.github-liquid-tag-img { + min-height: inherit; + width: 44px; + height: 44px; + border-radius: 3px; + float: none; + padding: 10px 0 10px 12px; + margin: inherit; + + @media screen and (min-width: 500px) { + float: left; + padding: 0; + margin-left: -75px; + } + } + } + + .timeline-comment-header-text { + padding: 10px 0px; + + a { + color: rgb(88, 96, 105); + } + + a:hover { + color: rgb(88, 96, 105); + text-decoration: underline; + } + } + + .edit-comment-hide { + padding: 15px 15px; + + *:first-child { + margin-top: 0 !important; + } + *:last-child { + margin-bottom: 0 !important; + } + + img { + left: inherit; + } + + blockquote { + color: rgb(106, 115, 125); + padding: 0px 1em; + border-left: 0.25em solid rgb(223, 226, 229); + margin: 16px 0px; + } + + kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #c6cbd1; + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; + } + + p { + margin-top: 0px; + padding: 0px; + margin-bottom: 15px; + white-space: pre-wrap; + + a.github-user-link { + color: #24292e; + font-weight: 600; + white-space: nowrap; + } + + a.github-user-link:hover { + color: #24292e; + text-decoration: underline; + } + } + code { + border-radius: 3px; + padding: 0.2em 5px 0px; + margin: 0px; + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 85%; + } + + pre { + width: 100%; + margin: 0px; + color: black; + background-color: #F6F8FA; + padding: 0; + code { + background-color: #F6F8FA; + color: black; + } + } + + .highlight pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; + box-sizing: border-box;; + } + + .highlight{ + font-size: 14px; + margin-bottom: 16px; + } + + .pl-c { + color: #969896; + } + + .pl-c1,.pl-s .pl-v { + color: #0086b3; + } + + .pl-e,.pl-en { + color: #795da3; + } + + .pl-s .pl-s1,.pl-smi { + color: #333; + } + + .pl-ent { + color: #63a35c; + } + + .pl-k { + color: #a71d5d; + } + + .pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre { + color: #183691; + } + + .pl-v { + color: #ed6a43; + } + + .pl-id { + color: #b52a1d; + } + + .pl-ii { + background-color: #b52a1d; + color: #f8f8f8; + } + + .pl-sr .pl-cce { + color: #63a35c; + font-weight: bold; + } + + .pl-ml { + color: #693a17; + } + + .pl-mh,.pl-mh .pl-en,.pl-ms { + color: #1d3e81; + font-weight: bold; + } + + .pl-mq { + color: #008080; + } + + .pl-mi { + color: #333; + font-style: italic; + } + + .pl-mb { + color: #333; + font-weight: bold; + } + + .pl-md { + background-color: #ffecec; + color: #bd2c00; + } + + .pl-mi1 { + background-color: #eaffea; + color: #55a532; + } + + .pl-mdr { + color: #795da3; + font-weight: bold; + } + + .pl-mo { + color: #1d3e81; + } + } + } +} diff --git a/app/assets/stylesheets/ltags/InstagramTag.scss b/app/assets/stylesheets/ltags/InstagramTag.scss new file mode 100644 index 0000000000000..37beb9211fbfa --- /dev/null +++ b/app/assets/stylesheets/ltags/InstagramTag.scss @@ -0,0 +1,17 @@ +#instagram-liquid-tag { + background: rgb(255, 255, 255); + border: 1px solid rgb(219, 219, 219); + margin: 1px 1px 12px; + max-width: 450px; + width: calc(100% - 2px); + border-radius: 4px; + box-shadow: none; + display: block; + padding: 0px; +} + +.instagram-position { + position: relative; + max-width: 460px; + margin: 0 auto; +} diff --git a/app/assets/stylesheets/ltags/LinkTag.scss b/app/assets/stylesheets/ltags/LinkTag.scss new file mode 100644 index 0000000000000..ff6e920f86ecd --- /dev/null +++ b/app/assets/stylesheets/ltags/LinkTag.scss @@ -0,0 +1,90 @@ +@import 'variables'; +.ltag__link__link{ + color:#111111 !important; + &:active{ + opacity:0.7; + } +} +.ltag__link{ + font-family: $helvetica; + border:1px solid $light-medium-gray; + box-shadow: $shadow; + border-radius:3px; + display:block; + margin:0.95em 0 1.20em; + @media screen and (min-width: 760px) { + margin: 0.95em auto; + width:620px; + } + .ltag__link__pic{ + display:inline-block; + padding: calc(0.4vw + 8px) calc(0.8vw + 8px); + padding-right:8px; + img{ + width:calc(2.2vw + 45px); + height:calc(2.2vw + 45px); + margin:auto auto !important; + border-radius:150px; + } + } + .ltag__link__content{ + display:inline-block; + vertical-align:top; + padding: calc(0.5vw + 6px); + padding-left:0; + width: calc(100% - 5vw - 70px); + h2{ + margin:0; + padding:0; + font-weight: 500; + } + h3{ + margin: 0.1vw 0; + padding:0; + font-size:0.8em; + margin-bottom:0; + font-weight:bold; + color: #666666; + a{ + color: #666666; + } + } + .ltag__link__taglist{ + margin:0; + padding:0; + line-height:1; + } + .ltag__link__tag{ + margin-right:calc(0.4vw + 4px); + font-size:0.8em; + margin-left:1px; + } + } +} + +.single-comment-node{ + .ltag__link{ + width:100%; + margin:0.95em 0 1.20em; + .ltag__link__pic{ + padding-top: calc(0.5vw + 12px); + img{ + width:calc(2.5vw + 40px); + } + } + .ltag__link__content{ + h2{ + font-size:calc(1.1em + 1.4vw) !important; + margin-top:0em !important; + margin-bottom:0.4em !important; + font-weight:400 !important; + line-height:calc(0.9em + 0.8vw) !important; + } + h3{ + margin-bottom: 0.4em !important; + font-size:calc(0.8em + 0.5vw) !important; + font-weight:400 !important; + } + } + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/ltags/LiquidTags.scss b/app/assets/stylesheets/ltags/LiquidTags.scss new file mode 100644 index 0000000000000..9f72f3e30aacd --- /dev/null +++ b/app/assets/stylesheets/ltags/LiquidTags.scss @@ -0,0 +1,10 @@ +@import 'ReplitTag'; +@import 'TweetTag'; +@import 'YoutubeTag'; +@import 'GithubTag'; +@import 'CommentTag'; +@import 'LinkTag'; +@import 'PodcastTag'; +@import 'UserTag'; +@import 'InstagramTag'; +@import 'GistTag'; diff --git a/app/assets/stylesheets/ltags/PodcastTag.scss b/app/assets/stylesheets/ltags/PodcastTag.scss new file mode 100644 index 0000000000000..2ff9d2abe37e4 --- /dev/null +++ b/app/assets/stylesheets/ltags/PodcastTag.scss @@ -0,0 +1,174 @@ +@import 'variables'; + +.podcastliquidtag { + padding: 0px; + margin-bottom: 20px; + margin-top: 90px; + border-radius: 3px; + font-family: $helvetica; + position: relative; + display: flex; + flex-direction: column-reverse; + justify-content: flex-end; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5); + + @media screen and (min-width: 830px) { + flex-direction: row-reverse; + margin: 20px 0; + } + + .podcastliquidtag__info { + color: white; + font-weight: 300; + margin: -5px 15px; + + @media screen and (min-width: 830px) { + margin: 20px 15px; + width: 77% + } + + a { + color: white; + + .tinyimage { + width: 22px; + height: 22px; + border-radius: 100%; + margin-right: 10px; + left: 0; + float: left; + } + } + + a:hover { + color: white; + } + + h1 { + margin: 0px 0px 15px 0px; + font-weight: inherit; + padding: 0; + } + + .podcastliquidtag__info__episodetitle { + font-size:calc(1.8vw + 19px); + } + .podcastliquidtag__info__podcasttitle { + font-size:calc(1vw + 14px); + } + + .podcastliquidtag__links { + display: flex; + flex-direction: row; + font-size: 14px; + a { + margin-right: 10px; + background-color: #292e34; + color: white; + border-radius: 3px; + font-size: 13px; + font-weight: 400; + width: 100px; + border: 1px solid #3c5163; + box-shadow: inset 1px 1px 0 #485f74; + transition: background-color 250ms ease; + text-align: center; + + &:hover { + background-color: #202429; + } + + img { + display: inline; + width: 16px; + height: 16px; + left: 0; + margin-right: 5px; + vertical-align: middle; + } + .service-name{ + display:none; + } + @media screen and (min-width: 630px) { + .service-name{ + display:inline-block; + } + } + } + } + } + + .podcastliquidtag__record { + position: relative; + margin: 20px 20px; + height: 70px; + transform: translateY(-33px); + + @media screen and (min-width: 830px) { + width: 15%; + height: inherit; + transform: none; + } + + &:hover { + cursor: pointer; + } + + img { + max-width: 100%; + } + + .pause-butt { + display: none; + } + + .podcastliquidtag__podcastimage { + border-radius: 100%; + // height: 110px; + // width: 110px; + position: absolute; + z-index: 1; + top: 0; + bottom: 0; + left: 0; + right: 0; + box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.5); + height: 130px; + + @media screen and (min-width: 830px) { + height: inherit; + } + } + + .button { + position: absolute; + height: 115px; + z-index: 2; + top: 0; + bottom: 0; + left: 0; + right: 0; + + @media screen and (min-width: 830px) { + height: 75px; + } + } + } + + .playing { + .play-butt { + display: none; + } + + .pause-butt { + display: block; + } + + .podcastliquidtag__podcastimage { + animation: spin 20s linear infinite; + -webkit-backface-visibility: hidden; + } + } +} + +@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } } diff --git a/app/assets/stylesheets/ltags/ReplitTag.scss b/app/assets/stylesheets/ltags/ReplitTag.scss new file mode 100644 index 0000000000000..5611b041cfbc2 --- /dev/null +++ b/app/assets/stylesheets/ltags/ReplitTag.scss @@ -0,0 +1,9 @@ +.ltag__replit{ + br{ + line-height:0 !important; + display:none !important; + } + iframe{ + margin: 0 !important; + } +} diff --git a/app/assets/stylesheets/ltags/TweetTag.scss b/app/assets/stylesheets/ltags/TweetTag.scss new file mode 100644 index 0000000000000..5ac73a1f77522 --- /dev/null +++ b/app/assets/stylesheets/ltags/TweetTag.scss @@ -0,0 +1,151 @@ +@import 'variables'; +blockquote.ltag__twitter-tweet{ + font-family: $helvetica; + background:white; + max-width:500px; + font-size:0.75em; + line-height:1.35em; + border-radius:3px; + margin:1.6em auto !important; + min-height:60px; + cursor:pointer; + padding:0px !important; + border:1px solid $light-medium-gray !important; + box-shadow: $shadow; + &:hover{ + border:1px solid darken($light-medium-gray, 3%) !important; + } + a{ + color:#55acee; + } + + @media screen and ( min-width: 360px ){ + min-height:105px; + } + .ltag__twitter-tweet__media{ + position:relative; + overflow:hidden; + img{ + width:100%; + left:0; + right:0; + margin:auto; + border-top-left-radius:3px; + border-top-right-radius:3px; + } + img.ltag__twitter-tweet__play-butt{ + width:70px; + height:70px; + margin: auto; + position: absolute; + top: 0; left: 0; bottom: 0; right: 0; + } + } + .ltag__twitter-tweet__video{ + display:none; + video{ + width:100%; + } + } + .ltag__twitter-tweet__header{ + position:relative; + height:45px; + @media screen and ( min-width: 360px ){ + height:52px; + } + .ltag__twitter-tweet__profile-image{ + height:36px; + min-height:36px; + width:36px; + border-radius:50px; + position:absolute; + left:calc(0.3vw + 13px); + top:calc(0.3vw + 13px); + background-color:#ececec; + } + .ltag__twitter-tweet__twitter-logo{ + position:absolute; + right:calc(0.3vw + 8px); + top:20px; + left:auto; + img{ + height:24px; + min-height:24px; + max-width:24px; + display:inline-block; + width:36px; + margin:auto; + } + } + .ltag__twitter-tweet__full-name{ + position:absolute; + left:calc(0.3vw + 57px); + top:calc(0.3vw + 13px); + font-weight:bold; + font-size:16px; + + } + .ltag__twitter-tweet__username{ + position:absolute; + left:calc(0.3vw + 57px); + top:calc(0.3vw + 33px); + color:#697882; + font-size:14px; + } + } + .ltag__twitter-tweet__body{ + color:#1c2022; + font-size:16px; + line-height:22px; + padding:calc(0.3vw + 13px) calc(0.3vw + 13px) 0px; + br{ + line-height:0 !important; + } + } + .ltag__twitter-tweet__date{ + font-size:14px; + color:#697882; + margin-top:3px; + padding:0px calc(0.3vw + 13px); + } + .ltag__twitter-tweet__quote{ + margin:calc(0.3vw + 13px) calc(0.3vw + 13px) 0px; + padding:calc(0.2vw + 8px) calc(0.2vw + 8px); + border:1px solid #dce3e8; + border-radius:4px; + font-size:15px; + line-height: 1.1em; + &:hover{ + border:1px solid #a09dad; + } + .ltag__twitter-tweet__quote__header{ + padding:0 0 calc(0.05vw + 3px); + font-size:0.9em; + .ltag__twitter-tweet__quote__header__name{ + font-weight:bold; + font-size:1.1em; + } + } + } + .ltag__twitter-tweet__actions{ + margin:6px auto 0px; + padding:0px calc(0.3vw + 13px) 5px; + color: #aab8c2; + font-size: 14px; + .ltag__twitter-tweet__actions__button{ + width:18px; + height:22px; + display:inline-block; + margin-left:20px; + margin-right:2px; + vertical-align:-7px; + &:first-child { + margin-left:8px; + } + } + img{ + height:20px; + min-height:20px; + } + } +} diff --git a/app/assets/stylesheets/ltags/UserTag.scss b/app/assets/stylesheets/ltags/UserTag.scss new file mode 100644 index 0000000000000..367c55a4d358f --- /dev/null +++ b/app/assets/stylesheets/ltags/UserTag.scss @@ -0,0 +1,116 @@ +@import 'variables'; +.ltag__user__link { + color: #111111 !important; + &:active { + opacity: 0.7; + } + &.profile-image-link{ + &:hover { + opacity: 1.0; + } + &:active { + opacity: 1.0; + } + } +} +.ltag__user { + font-family: $helvetica; + border:1px solid $light-medium-gray; + box-shadow: $shadow; + border-radius:3px; + display: block; + margin: 0.95em 0 1.2em; + position:relative; + overflow:hidden; + @media screen and (min-width: 760px) { + margin: 0.95em auto; + width:620px; + } + .slanty-accent{ + background:$light-medium-gray; + width: calc(40px + 3vw); + position:absolute; + left:-10px; + top:0px; + bottom: 0px; + transform: skewX(-7deg); + @media screen and (min-width: 760px) { + width: 80px; + } + } + .ltag__user__pic { + display: inline-block; + padding: calc(0.6vw + 8px); + padding-right: 8px; + img { + width: calc(5vw + 30px); + height: calc(5vw + 30px); + margin: auto auto !important; + border-radius: 50%; + } + } + .ltag__user__content { + display: inline-block; + vertical-align: top; + padding: calc(0.5vw + 6px); + padding-left: 0; + width: calc(100% - 8vw - 60px); + h2 { + margin: 0; + padding: 0; + font-weight: 500; + .follow-action-button { + visibility: hidden; + min-height: 25px; + background: white; + display: inline-block; + color: $green; + border: 2px solid $green; + border-radius: 5px; + font-size: 0.6em; + vertical-align: 0.1em; + padding: 2px 20px; + cursor: pointer; + &.following-butt { + background: $green; + color: white; + } + &:hover { + border: 2px solid darken($green, 5%); + } + &.showing { + visibility: visible; + } + } + } + .ltag__user__summary { + margin: 0.5em 0; + padding: 0; + font-size: 0.889em; + margin-bottom: 0; + line-height: 1.2em; + opacity: 0.85; + } + .ltag__user__taglist { + margin: 1em 0px; + padding: 0px; + line-height: 1; + font-size: 0.8em; + opacity: 0.7; + a { + color: $black; + margin-right: 1em; + display: inline-block; + height: 30px; + } + img { + display: inline-block !important; + width: 1em !important; + height: 1em !important; + margin-right: 2px; + vertical-align: -0.1em; + left: 0px; + } + } + } +} diff --git a/app/assets/stylesheets/ltags/YoutubeTag.scss b/app/assets/stylesheets/ltags/YoutubeTag.scss new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/assets/stylesheets/minimal.scss b/app/assets/stylesheets/minimal.scss new file mode 100644 index 0000000000000..71e1eaa845f7d --- /dev/null +++ b/app/assets/stylesheets/minimal.scss @@ -0,0 +1,30 @@ +@import 'variables'; +@import 'fundamentals'; +@import 'scaffolds'; +@import 'top-bar'; +@import 'footer'; +@import 'articles'; +@import 'index-comments'; +@import 'article-show'; +@import 'article_form'; +@import 'shared'; +@import 'dashboard'; +@import 'settings'; +@import 'signin'; +@import 'podcast-episodes-show'; +@import 'more-articles'; +@import 'user-profile-header'; +@import 'comments'; +@import 'leaderboard'; +@import 'onboarding'; +@import 'notifications'; +@import 'syntax'; +@import 'signup-modal'; +@import 'tags'; +@import 'live'; +@import 'delete-confirm'; +@import 'preact/onboarding-modal'; + +@import 'ltags/LiquidTags'; + +@import 'livechat/chat'; diff --git a/app/assets/stylesheets/more-articles.scss b/app/assets/stylesheets/more-articles.scss new file mode 100644 index 0000000000000..a3bcf4e2b9f88 --- /dev/null +++ b/app/assets/stylesheets/more-articles.scss @@ -0,0 +1,80 @@ +@import 'variables'; +.more-articles{ + padding:20px 0px; + vertical-align:top; + text-align:center; + font-family: $helvetica; + margin:40px auto; + a{ + color:rgb(19, 19, 19); + } + .single-other-article{ + width:94%; + @media screen and ( min-width: 680px ){ + width:calc(50% - 40px); + margin-bottom:25px; + } + display:inline-block; + max-width:94%; + margin:auto; + padding:10px; + vertical-align:top; + text-align:left; + &:hover{ + background: $light-gray; + } + .picture{ + height:60px; + width:60px; + background-size: cover; + display:inline-block; + img,.color{ + width:100%; + height:100%; + border-radius:100px; + } + } + .content{ + display:inline-block; + width: calc(100% - 70px); + padding-left:4px; + min-height:60px; + vertical-align:top; + font-size:0.8em; + @media screen and ( min-width: 480px ){ + font-size:1em; + } + } + h3{ + margin:0px 0px 5px; + padding:0px; + font-size:1.4em; + font-weight:500; + } + h4{ + margin:0; + font-weight:500; + color:lighten($medium-gray,4%); + font-size:1em; + @media screen and ( min-width: 480px ){ + font-size:0.88em; + } + a{ + color:rgb(105, 103, 103); + } + } + hr{ + width:100%; + border: 0; + height: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(255, 255, 255, 0.5); + margin-bottom:8px; + } + + p{ + margin:7px 0px; + line-height:24px; + } + } +} diff --git a/app/assets/stylesheets/notifications.scss b/app/assets/stylesheets/notifications.scss new file mode 100644 index 0000000000000..78f4400cacf76 --- /dev/null +++ b/app/assets/stylesheets/notifications.scss @@ -0,0 +1,274 @@ +@import 'variables'; +.notifications-index { + background:$light-gray; + .home{ + .articles-list{ + .signup-cue{ + padding:30px 25px; + background:white; + border-radius:6px; + box-shadow: 0px 3px 9px #d4dce4; + hr{ + margin:30px auto 15px; + } + a.sign-up-link { + display:inline-block; + border:1px solid $medium-gray; + padding:4px 8px; + border-radius:3px; + margin:20px 6px; + img { + width:18px; + vertical-align: -1px; + } + } + } + .signup-cue-advanced{ + text-align:left; + padding:30px 25px; + .sloan{ + height:calc(5vw + 200px); + margin:10px auto 30px; + display:block; + } + } + .single-article{ + .reaction-images{ + display:inline-block; + } + .reaction-image{ + width:21px; + height:21px; + vertical-align:-4px; + } + .content{ + padding-bottom:18px; + &.notification-content{ + a{ + color:$sky-blue; + font-weight:500; + } + } + &.reaction-content{ + width:calc(100% - 145px); + } + .follow-action-button{ + display:block; + color:white; + background:$sky-blue; + border:2px solid $sky-blue; + border-radius:3px; + font-size:1.1em; + margin-top:0.3em; + padding:2px 10px; + min-width:150px; + &.following-butt{ + background:$sky-blue; + color:white; + } + &:hover{ + border:2px solid darken($sky-blue,5%); + } + } + .mod-instructions{ + font-size:0.9em; + background: darken($light-gray,1%); + border:1px solid darken($light-gray,12%); + width:80%; + padding:10px 0px 10px 35px; + border-radius:3px; + } + .notification-comment-reacted-link{ + padding:2px 6px; + border:1px solid lighten($medium-gray,9%); + border-radius:3px; + max-width:100%; + display:inline-block; + margin-bottom:3px; + color:$black !important; + &:hover{ + background:lighten($blue,57%); + border:1px solid lighten($sky-blue,17%); + } + } + .notification-new-post{ + padding:12px 10px; + margin-top:10px; + border: 1px solid lighten($dark-gray,18%); + border-radius:3px; + color:$black; + position:relative; + .notification-new-post-title{ + font-size:1.7em; + } + .notification-new-post-tags{ + margin-top:6px; + color:$medium-gray; + } + } + .footnote{ + font-size:0.8em; + opacity:0.9; + } + } + .comment-link-wrapper{ + display:block; + position:absolute; + left:0; + right:0; + top:0; + bottom:0; + } + .comment-text{ + padding:10px; + margin-top:10px; + border: 1px solid lighten($dark-gray,18%); + border-radius:3px; + color:$black; + position:relative; + &:hover{ + border: 1px solid $black; + background:white; + } + h1,h2,h3,h4,h5,h6{ + font-size:1.2em; + } + p{ + color:$black; + width:99%; + padding:0; + margin-left:0; + } + img{ + max-width:100%; + max-height:400px; + } + } + .comment-actions{ + position:relative; + button{ + background: transparent; + border:0px; + margin-top:5px; + font-size:22px; + margin-left:-5px; + margin-right:3px; + height:30px; + width:45px; + padding:3px 0px; + overflow-y:hidden; + -webkit-appearance: none; + .reacted-emoji{ + display:none; + } + &.reacted { + .reacted-emoji{ + display:inline; + } + img{ + display:none; + } + } + } + img{ + height:25px; + width:25px; + opacity:0.7; + &:hover{ + opacity:1; + } + } + .toggle-reply-form{ + position:absolute; + right:5px; + bottom:8px; + font-weight:300; + font-family: $helvetica-condensed; + font-stretch:condensed; + color: $bold-blue; + &.already-replied-link{ + color: $green; + } + } + } + .reply-sent-notice{ + text-align:center; + padding:10px 0px; + background: $light-green; + a { + display:inline-block; + background: $green; + color:white !important; + padding: 3px 8px; + border-radius:3px; + } + } + form{ + width:104%; + background:$light-gray; + overflow:auto; + position:relative; + margin-bottom:calc(0.8vw - 6px); + z-index:4; + margin-left:-2%; + border-top:1px solid $light-medium-gray; + text-align:right; + display:none; + margin-top:4px; + &.showing{ + display:block; + } + &.submitting{ + input[type="submit"]{ + background: #00bbff; + } + textarea{ + color:lighten($dark-gray,25%); + border: 1px solid $light-green; + background: white url(image_path('loading-ellipsis.svg')) no-repeat center center; + background-size: 50px; + } + } + @media screen and ( min-width: 820px ){ + width:100%; + margin-left:0%; + border-radius:3px; + border:1px solid $light-medium-gray; + } + + .field{ + margin-bottom:0px; + } + textarea{ + width:92%; + margin:15px auto 2px; + display:block; + resize:none; + border-radius:3px; + border:1px solid rgb(232, 229, 229); + height:55px; + font-size:16px; + padding:6px; + transition: height 0.3s ease; + height:calc(4vw + 68px); + } + input[type="submit"]{ + margin-right:15px; + background:rgb(0, 146, 228); + color:white; + border:0px; + font-size:11px; + font-weight:500; + margin-top:3px; + padding:5px 12px; + border-radius:3px; + appearance: none; + } + } + } + .unseen{ + background-color: $light-purple; + } + } + } +} diff --git a/app/assets/stylesheets/onboarding.scss b/app/assets/stylesheets/onboarding.scss new file mode 100644 index 0000000000000..489cb9f9d4d48 --- /dev/null +++ b/app/assets/stylesheets/onboarding.scss @@ -0,0 +1,41 @@ +@import 'variables'; +.onboarding-container{ + padding-top:calc(5% + 50px); + text-align:center; + min-height:550px; + font-family: $helvetica; + h2{ + font-weight:300; + } + form{ + width:98%; + max-width:500px; + margin:auto; + input, textarea{ + width:80%; + padding:10px; + border:1px solid $light-medium-gray; + display:block; + margin:5px auto; + border-radius:2px; + font-size:20px; + + &[type=submit]{ + background:$blue; + border:1px solid darken($blue,4%); + color:white; + width:calc(80% + 22px); + cursor:pointer; + &:hover{ + opacity:0.92; + } + + } + } + textarea{ + resize:none; + font-size:17px; + height:80px; + } + } +} diff --git a/app/assets/stylesheets/podcast-episodes-show.scss b/app/assets/stylesheets/podcast-episodes-show.scss new file mode 100644 index 0000000000000..51a0b72a52440 --- /dev/null +++ b/app/assets/stylesheets/podcast-episodes-show.scss @@ -0,0 +1,228 @@ +@import 'variables'; + +.podcast-episode-container{ + font-family: $helvetica; + + .hero{ + padding-bottom:30px; + text-align:center; + .title{ + padding-top:40px; + background:rgb(6, 32, 48) url(https://i.imgur.com/fKYKgo4.png); + height:300px; + margin-bottom:-120px; + @media screen and ( min-width: 600px ){ + padding-top:60px; + height:400px; + margin-bottom:-200px; + } + color:white; + h2{ + font-weight:300; + margin:0; + margin-top:40px; + font-size:18px; + color:rgb(235, 243, 245); + a{ + color:white; + } + img{ + height:28px; + width:28px; + vertical-align:-5px; + height:23px; + width:23px; + vertical-align:-4px; + margin-right:8px; + border-radius:30px; + } + @media screen and ( min-width: 600px ){ + font-size:22px; + img{ + height:28px; + width:28px; + vertical-align:-5px; + } + } + + } + h1{ + font-weight:300; + margin:15px auto 18px; + font-size:27px; + line-height:31px; + max-width:94%; + + @media screen and ( min-width: 680px ){ + font-size:40px; + line-height:44px; + + margin-bottom:48px; + } + @media screen and ( min-width: 800px ){ + font-size:44px; + line-height:49px; + } + &.smaller{ + font-size:23px; + line-height:25.5px; + @media screen and ( min-width: 490px ){ + font-size:27px; + line-height:30px; + } + @media screen and ( min-width: 680px ){ + font-size:30px; + line-height:33px; + + margin-bottom:40px; + } + @media screen and ( min-width: 800px ){ + font-size:40px; + line-height:43px; + } + } + } + } + .status-message{ + margin:auto; + margin-top:-52px; + @media screen and ( min-width: 680px ){ + margin-top:-63px; + } + position:absolute; + z-index:13; + text-align:center; + left:0; + right:0; + color:$black; + padding:1px 0px 2px; + border-radius:2px; + transition: opacity 400ms ease; + background:white; + width:66px; + font-size:13px; + font-weight:bold; + } + + .playing{ + .record{ + .main-image{ + animation:spin 20s linear infinite; + -webkit-backface-visibility: hidden; + } + .play-butt{ + display:none; + } + .pause-butt{ + display:block; + } + } + } + // .loading{ + // .loading-message{ + // opacity:1; + // } + // } + .record{ + position:relative; + cursor:pointer; + width:72vw; + height:72vw; + margin:auto; + @media screen and ( min-width: 380px ){ + width:270px; + height:270px; + } + @media screen and ( min-width: 680px ){ + width:290px; + height:290px; + } + .main-image{ + border-radius:450px; + box-shadow:5px 5px 60px rgba(0,0,0,0.3); + background:$black; + position:relative; + z-index:12; + width:100%; + height:100%; + min-height:160px; + @media screen and ( min-width: 680px ){ + width:290px; + min-height:290px; + } + } + .butt{ + position:absolute; + width: 160px; + height: 160px; + position: absolute; + top: 50%; + left: 50%; + margin: -80px 0 0 -80px; + z-index:18; + } + .pause-butt{ + display:none; + } + &.playing{ + .main-image{ + animation:spin 20s linear infinite; + -webkit-backface-visibility: hidden; + } + .play-butt{ + display:none; + } + .pause-butt{ + display:block; + } + } + } + audio{ + display:none; + } + } + .subscribe-buttons{ + text-align:center; + a{ + padding:5px; + background-color:rgb(47, 61, 73); + color:white; + border-radius:3px; + margin:6px; + font-size:14px; + display:inline-block; + width:40%; + border: 1px solid rgb(60, 81, 99); + box-shadow: inset 1px 1px 0 rgb(72, 95, 116); + transition: background-color 250ms ease; + @media screen and ( min-width: 590px ){ + width:112px; + } + &:hover{ + background-color:rgb(41, 46, 52); + } + img{ + width:20px; + height:20px; + vertical-align:-4px; + margin-right:4px; + } + } + } + .container{ + margin-bottom: 60px; + margin-top: 40px; + .comments-container{ + margin-bottom:20px; + } + } + .body{ + padding:calc(0.7vw + 4px) 0px calc(0.5vw + 2px); + font-family: $helvetica; + img{ + min-height:0px !important; + } + } +} + +@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } } diff --git a/app/assets/stylesheets/preact/onboarding-modal.scss b/app/assets/stylesheets/preact/onboarding-modal.scss new file mode 100644 index 0000000000000..0a2fe1204e090 --- /dev/null +++ b/app/assets/stylesheets/preact/onboarding-modal.scss @@ -0,0 +1,237 @@ +@import 'variables'; +.global-modal { + color: blue; + display:block; + position:fixed; + top:calc(15% - 33px); + left:calc(15% - 33px); + right:calc(15% - 33px); + bottom:calc(15% - 33px); + z-index:899900; + animation: fadein 0.15s ease ; + @keyframes fadein{ + 0% { opacity:0;} + 100% { opacity:1;} + } + .close-button { + position:fixed; + text-align: right; + color:black; + border:0; + font-size: 1em; + background:transparent; + top:4%; + left:7%; + cursor:pointer; + img{ + width:calc(0.8vw + 20px); + } + } + + .global-modal-bg { + position:fixed; + top:0; + left:0; + right:0; + bottom:0; + background-color: #bac5fa; + z-index:899901; + opacity: 0.9; + } + + .yellow{ + background: $yellow; + } + + .modal-header { + height: 10%; + display:block; + font-weight: 500; + font-size: 1.1em; + max-width: 350px; + font-family: $helvetica-condensed; + font-stretch:condensed; + .triangle-isosceles { + margin-left: 5px; + position:relative; + padding:10px 3px; + color:white; + background:#6091fb; + -webkit-border-radius:10px; + -moz-border-radius:10px; + border-radius:10px; + } + + .triangle-isosceles:after { + content:""; + position:absolute; + bottom:-0.5em; + left:5%; /* controls horizontal position */ + border-width:.75em .75em 0; + border-style:solid; + border-color:#6091fb transparent; + display:block; + width:0; + } + } + + .modal-body { + height:80%; + display:block; + overflow: hidden; + p { + text-align: left; + color: black; + } + .sloan-bar { + width:15%; + float:left; + height: 100%; + .sloan-img { + width:100%; + } + } + .body-message { + height:100%; + width:80%; + padding-left: calc(3% + 2px); + max-width: 730px; + float:left; + } + + .tags-slide { + height: 100%; + } + + .tags-col-container { + height: 40vh; + overflow-x: hidden; + overflow-y: auto; + .col-1{ + float: left; + width: 50%; + text-align:left; + @media screen and (max-width: 900px) { + float: none; + width: 100%; + margin: 0 auto; + } + } + + .col-2 { + float: left; + width:50%; + text-align: left; + @media screen and (max-width: 900px) { + display: none; + } + } + } + + .onboarding-tag-container { + background:$black; + color:white; + display:block; + font-family: "Lucida Console", Monaco, monospace, sans-serif; + position:relative; + opacity:0.8; + width: 90%; + border-radius: 50px; + margin-top: calc(0.2vw + 3px); + font-size: .75em; + border: 4px solid white; + &:hover{ + opacity:92; + } + &.followed-tag{ + opacity:1; + border: 4px solid $green; + } + a.onboarding-tag-link{ + color:white; + padding:7px 14px; + display:inline-block; + width:100%; + } + a.onboarding-tag-link-follow { + position:absolute; + right:9px; + top: calc(0.7vw - 1px); + width:30px; + height:30px; + text-align:center; + color:white; + border-radius:100px; + font-weight:900; + line-height:26px; + font-size:1.1em; + &.following-butt { + font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + top:8px; + right:6px; + border: 2px solid white; + color:white; + line-height:33px; + } + } + } + + } + + .modal-footer { + height:10%; + display:block; + .modal-footer-left { + float: left; + width: 50%; + height: 100%; + text-align:left; + } + + .modal-footer-right { + float: left; + width:50%; + height:100%; + text-align: right; + } + + .button { + border: 3px solid $black; + border-radius: 3px; + text-align: center; + margin: 1% auto 0; + cursor: pointer; + display: inline-block; + font-size: calc(1vw + 20px); + padding: 4px 6px; + a { + color: black; + } + } + } + + .global-modal-inner { + font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + position:fixed; + top:calc(14% - 33px); + left:calc(15% - 33px); + right:calc(15% - 33px); + bottom:calc(14% - 33px); + background:white; + z-index:899902; + text-align:center; + font-size:calc(1.1vw + 15px); + box-shadow:0px 0px 100px 1px rgba(0,0,0,0.3); + border-radius:5px; + padding:calc(1.2vw + 6px); + h1{ + font-size:1.4em; + font-weight:400; + } + @media screen and (min-width: 900px) { + top:calc(13% - 33px); + bottom:calc(13% - 33px); + } + } + +} diff --git a/app/assets/stylesheets/rlyweb.scss b/app/assets/stylesheets/rlyweb.scss new file mode 100644 index 0000000000000..3236c3f6594e5 --- /dev/null +++ b/app/assets/stylesheets/rlyweb.scss @@ -0,0 +1,180 @@ +@import 'variables'; +#page-content.pages-rlyweb,#page-content.pages-rlytest{ + font-family: $helvetica; + .rlyweb-container{ + min-height:800px; + text-align:center; + .hero{ + max-width:96%; + margin-top:100px; + text-align:center; + vertical-align:top; + h1{ + font-weight:300; + font-size:50px; + } + .gen-form{ + display:inline-block; + width:400px; + max-width:96%; + text-align:left; + label{ + font-size:12px; + } + input{ + width:calc(100% - 10px); + padding:8px 10px; + font-size:18px; + margin-bottom:5px; + border:1px solid rgb(194, 194, 194); + border-radius:2px; + -webkit-appearance: none; + &.error{ + border-color:rgb(236, 22, 87); + } + } + select{ + display:block; + width:calc(100% + 12px); + -webkit-appearance: none; + padding:8px 10px; + background:white; + border-radius:2px; + margin-bottom:15px; + font-size:18px; + border:1px solid rgb(194, 194, 194); + color:rgb(52, 52, 52); + background: url(https://i.imgur.com/VfIXRsi.png) no-repeat right #fff; + } + button{ + width:calc(100% + 12px); + background:rgb(20, 175, 164); + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + color:white; + border:0px; + padding:15px; + font-size:32px; + cursor:pointer; + -webkit-appearance: none; + border-radius:2px; + + } + } + .result{ + display:inline-block; + width:400px; + max-width:96%; + vertical-align:center; + text-align:center; + padding-top:60px; + img{ + width:300px; + height:420px; + box-shadow:7px 7px 30px rgba(64, 64, 64, 0.81); + } + a{ + display:inline-block; + margin-top:6px; + padding:10px 0px; + width:300px; + background:rgb(34, 36, 38); + color:white; + border-radius:5px; + } + @media screen and ( min-width: 839px ){ + padding-top:0px; + } + } + } + h4{ + font-style:italic; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + width:750px; + max-width:96%; + text-align:center; + margin:150px auto 50px; + font-size:33px; + line-height:45px; + &.ps{ + font-size:20px; + margin-top:50px; + line-height:25px; + width:580px; + } + } + hr{ + width:60px; + margin-top:-30px; + opacity:0.5; + } + .thanks{ + background:rgb(13, 3, 31); + color:white; + padding:120px 10px 90px; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + h4{ + display:block; + margin-top:10px; + } + } + .usage{ + padding:50px 0px; + pre{ + width:1000px; + max-width:96%; + padding:28px 10px 10px 0px; + border-radius:3px; + margin:20px auto; + text-align:left; + overflow-x:scroll; + background:rgb(246, 246, 246); + font-size:16px; + @media screen and ( max-width: 600px ){ + font-size:14px; + } + } + .animal{ + width:120px; + display:inline-block; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:26px; + margin:40px 22px; + img{ + width:100%; + } + } + .color{ + height:90px; + width:90px; + margin:20px; + border-radius:220px; + color:white; + display:inline-block; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:30px; + line-height:90px; + } + } + .slack{ + padding:100px 20px; + img{ + width:150px; + } + h2{ + font-weight:300; + font-size:33px; + } + a{ + display:block; + margin:50px auto; + background:rgb(224, 20, 63); + color:white; + width:400px; + padding:40px 0px; + max-width:96%; + font-size:25px; + border-radius:12px; + } + } + } +} diff --git a/app/assets/stylesheets/scaffolds.scss b/app/assets/stylesheets/scaffolds.scss new file mode 100644 index 0000000000000..2ef11dffb6ce0 --- /dev/null +++ b/app/assets/stylesheets/scaffolds.scss @@ -0,0 +1,89 @@ +@import 'variables'; +body { + background: $lightest-gray; + color: $black; + font-family: $helvetica; + font-size: 18px; + padding:0 !important; + margin:0 !important; + margin-top:-20px !important; + :focus { + outline: 0; + } +} + +.modal-open{ + margin: 0; + overflow: hidden; + overflow-y: hidden; +} + + +.universal-page-content-wrapper{ + overflow:hidden; + min-height:88vh; + visibility: visible; + &.stories-index,&.notifications-index,&.stories-search,&.podcast_episodes-index,&.reading_list_items-index,.tags-index{ + margin-top:60px; + } +} + +pre { + background-color: #2b2b32; + padding: 10px; + font-size: 15px; +} + +a { + color: $sky-blue; + text-decoration:none; + &:hover{ + opacity:0.9; + } +} + +div { + &.field, &.actions { + margin-bottom: 5px; + } +} + +#instantclick { + display: none; +} + +pre{ + background:#29292e; + border-radius:2px; + overflow-x:scroll; + font-size:11px; + color:#eff0f9; + line-height:1.42em; + font-size:13px; + width:calc(100% - 25px); + @media screen and ( min-width: 380px ){ + font-size:15px; + } + code{ + background:#29292e; + color:#eff0f9; + white-space: pre; + } + +} + +.cta { + color: $black; + background: $green; + font-family: $helvetica-condensed; + -webkit-appearance: none; + font-stretch:condensed; +} + +button{ + cursor:pointer; +} + +input[type="submit"]{ + cursor:pointer; +}; \ No newline at end of file diff --git a/app/assets/stylesheets/settings.scss b/app/assets/stylesheets/settings.scss new file mode 100644 index 0000000000000..e875f1f24bbe4 --- /dev/null +++ b/app/assets/stylesheets/settings.scss @@ -0,0 +1,464 @@ +@import 'variables'; +#page-content.users-edit,#page-content.users-update,#page-content.organizations-create,#page-content.organizations-update{ + font-family: $helvetica; + #notice{ + background:$green; + color:white; + padding:40px 0px 40px; + text-align:center; + position:relative; + top:60px; + left:0px; + right:0px; + &.error-notice{ + background: rgba(255, 80, 80, 0.7); + } + } + .user-settings-page { + padding-top:10px; + width:900px; + max-width:94%; + margin:40px auto; + font-size:15px; + .finish-notice { + background:rgb(102, 93, 162); + max-width:95%; + padding:25px 0px; + text-align:center; + margin:0px 0px 25px; + color:white; + font-weight:bold; + border-radius:2px; + .small { + font-size:13px; + font-weight:300; + padding:15px 5px 5px; + line-height:19px; + } + } + .field-notice { + background:$red; + max-width:95%; + padding:25px 0px; + text-align:center; + margin:0px 0px 25px; + color:white; + font-weight:bold; + border-radius:2px; + .small { + font-size:13px; + font-weight:300; + padding:15px 5px 5px; + line-height:19px; + } + } + .settings-hub { + border-radius: 3px; + list-style: none; + font-size: 20px; + font-family: $helvetica-condensed; + font-stretch:condensed; + margin: 0px auto; + line-height: 33px; + padding-left: 4px; + width: 90%; + margin-bottom: 15px; + @media screen and ( min-width: 835px ) { + float: left; + width: 250px; + } + .single-settings-tab { + padding-left: 5px; + width: 210px; + display:inline-block; + color: $black; + &.selected { + background: $purple; + } + } + } + .settings-form { + margin: 0px auto 50px; + width: 94%; + max-width:700px; + float: left; + h2{ + font-size: 2.5em; + } + @media screen and ( min-width: 835px ) { + width: 66%; + } + } + #error_explanation { + max-width:calc(95% - 18px); + margin-bottom:25px; + } + .big-button { + display:inline-block; + width:561px; + max-width:calc(100% - 18px); + padding:10px 0px; + padding-left:10px; + border-radius:3px; + font-size: 1.2em; + img { + vertical-align:-3px; + height: 1.2em; + width: 1.2em; + } + } + label { + width: 160px; + display:inline-block; + vertical-align:top; + padding:14px 0px 8px; + } + .field { + input[type="checkbox"] { + margin-top: 15px; + display: inline; + width: 100px; + } + select { + margin-top: 15px; + } + &.checkbox-label-first { + label { + width: auto; + } + } + .field-notice { + text-align:right; + .field-notice-inner { + width:550px; + max-width:calc(100% - 2vw); + background:$red; + color:white; + padding:1vw; + border-radius:5px; + display:inline-block; + text-align:center; + margin-right:10px; + line-height:1.5em; + margin-top:10px; + a { + color:white; + text-decoration:underline; + } + } + } + } + .checkbox-field { + display: flex; + flex-direction: column; + padding:10px 0px 20px; + max-width:750px; + font-size:17px; + .sub-field { + display:inline-block; + } + label { + width:auto; + display:inline; + padding:0px; + } + input { + display:inline; + width:30px; + } + .field-explainer { + opacity:0.7; + margin:8px auto; + width:87%; + font-size:0.9em; + } + } + .field_with_errors { + display:inline-block; + vertical-align:top; + max-width:100%; + input { + border:2px solid rgb(237, 65, 65); + background:rgb(252, 241, 243); + } + } + form { + input { + width:650px; + max-width:calc(100% - 30px); + padding:12px; + font-size:19px; + border:1px solid rgb(222, 230, 233); + border-radius:3px; + &[type="file"] { + border:0px; + } + &[type="submit"] { + width:255px; + max-width:100%; + padding:14px 0px; + margin-top:20px; + font-size:1.8em; + cursor:pointer; + &.danger-button { + background:$red; + } + &:hover { + opacity:0.88; + } + } + } + .image-present { + @media screen and ( max-width: 700px ) { + display:block; + } + img { + height:48px;width:48px;border-radius:70px; + &.nav-image-version { + height:auto; + border-radius:0px; + } + } + input { + width:497px; + max-width:calc(100% - 84px); + vertical-align:top; + } + } + textarea { + border:1px solid rgb(222, 230, 233); + width:550px; + max-width:calc(100% - 30px); + padding:12px; + border-radius:3px; + height:120px; + font-size:16px; + resize:none; + } + } + h2 { + font-size:calc(40px + 1vw); + font-family: $helvetica-condensed; + font-stretch:condensed; + a { + color: $black; + background: $yellow; + } + } + .secret-field { + margin:30px 0px; + } + } + .default-billing-message { + margin:10px 0px; + } + .stripe-button-wrapper { + height:40px; + } + .credit-card-button { + background: lighten($blue, 3%); + color: white; + padding: 12px 25px; + border:1px solid darken($blue,8%); + border-radius:3px; + cursor:pointer; + font-size:1.3em; + box-shadow: inset 0 -5px 5px darken($blue,2%); + &:hover { + opacity:0.95; + } + .remove-card { + background : lighten($red, 3%); + } + } + .billing-history-header { + margin-top:35px; + font-size:2em; + border-bottom: 5px solid $black; + padding:5px; + width:270px; + } + .billing-item { + padding:10px 5px; + border-bottom: 1px solid $light-medium-gray; + margin-top:5px; + font-size:1.3em; + &:hover{ + background: $light-gray; + } + .billing-item-detail { + display: inline-block; + color: $medium-gray; + font-size: 0.8em; + margin-top: 6px; + margin-right: 6px; + background: $light-gray; + padding: 3px 8px; + border-radius: 8px; + border: 1px solid $light-medium-gray; + &.billing-item-green { + color: $green; + } + &.billing-item-blue { + color: $blue; + } + &.billing-item-red { + color: $red; + } + } + form { + display:inline-block; + button { + cursor:pointer; + &:hover { + color:$blue; + border: 1px solid $blue; + } + } + } + } +} + +.settings-hr { + opacity:0.3; + width:570px; + max-width:98%; + margin:0; +} + +.github-repos { + max-height:400px; + overflow-y: auto; + background: white; + box-shadow: $shadow; + .github-repo-row { + background:white; + padding: 12px; + margin:5px 0px; + &.github-repo-row-selected { + background: $light-green; + } + .github-repo-row-name { + font-weight:bold; + } + .github-repo-fork { + font-weight:400; + background: $purple; + color:$bold-blue; + border-radius: 3px; + padding: 1px 6px; + font-size:0.9em; + } + form { + display:inline-block; + float:right; + button { + cursor:pointer; + font-size:13px; + background: white; + border:1px solid $medium-gray; + border-radius:3px; + padding: 2px 8px; + margin-top:-5px; + &:hover { + opacity:0.9; + } + } + } + .github-repo-featured-indicator { + display:inline-block; + float:right; + background:$green; + color:white; + border:0px; + } + } +} + +.settings-org-members { + margin-bottom:50px; + width:550px; + max-width:92%; + h3 { + margin-bottom:18px; + } + .settings-org-member-row { + padding:10px; + font-size:20px; + position:relative; + width:100%; + background: $light-gray; + margin:3px 0px; + border-left:5px solid darken($light-gray,5%); + &.settings-org-admin-row { + border-left:5px solid $green; + background: $light-green; + } + .settings-org-member-actions { + margin-top:5px; + } + form { + display:inline-block; + } + .settings-org-member { + background: $green; + color:white; + padding:3px 8px; + border-radius:3px; + font-size:0.7em; + border:0px; + cursor:pointer; + &.settings-org-member-admin-self { + cursor:default; + background:$medium-gray; + } + &.settings-org-member-admin-other { + background:$green; + cursor:default; + } + &.settings-org-member-make-admin { + color:$green; + background: $light-green; + border:1px solid $green; + } + &.settings-org-member-remove { + color:$red; + background:lighten($red,36%); + border:1px solid $red; + } + } + } + h5 { + color:$medium-gray; + font-size:0.9em; + margin-top:-18px; + margin-bottom:10px; + } + .settings-org-secret { + overflow-x:scroll; + padding:7px; + border:1px dashed $medium-gray; + width:100%; + border-radius:3px; + font-size:1.1em; + } + .settings-generate-new-secret { + margin-top:10px; + background:$black; + color:white; + border:0px; + padding:4px 14px; + border-radius:3px; + font-size: 15px; + cursor:pointer; + &:hover { + background:lighten($black,14%); + } + } +} + + +.signout_confirm-wrapper { + padding:calc(15% + 50px) 2% 30%; + text-align:center; +} diff --git a/app/assets/stylesheets/shared.scss b/app/assets/stylesheets/shared.scss new file mode 100644 index 0000000000000..74d365aeed53e --- /dev/null +++ b/app/assets/stylesheets/shared.scss @@ -0,0 +1,330 @@ +@import 'variables'; +#audiocontent{ + position:fixed; + bottom:0px; + left:0px; + right:0px; + z-index:15; + font-family: $helvetica; + #progressBar { + color:#fff; + width:100%; + height:48px; + margin-top:100px; + position:fixed; + left:0; + bottom:0; + right:0; + text-align:left; + background:rgb(236, 236, 236); + z-index:19; + display:none; + &.playing{ + display:block; + } + #episode-profile-image{ + height:48px; + width:48px; + } + #animated-bars{ + position:absolute; + bottom:-12px; + left:-15px; + width:80px; + opacity:0.3; + display:none; + &.playing{ + display:block; + } + } + #barPlayPause{ + height:48px; + width:48px; + background:rgb(32, 32, 32); + position:absolute; + left:48px; + bottom:0px; + cursor:pointer; + .butt{ + width:30px; + margin:10px 9px; + } + .pause-butt{ + display:none; + } + &.playing{ + .play-butt{ + display:none; + } + .pause-butt{ + display:block; + } + } + } + .showing{ + display:block; + } + .hidden{ + display:none; + } + #volume{ + height:48px; + width:32px; + background:rgb(32, 32, 32); + position:absolute; + left:96px; + bottom:0px; + cursor:pointer; + img{ + padding:3px; + margin-top:4px; + margin-left:4px; + margin-bottom:-11px; + } + #speed{ + font-weight:300; + font-size:12px; + padding:3px 0px; + width:28px; + margin-left:-0.5px; + text-align:center; + margin-top:2px; + display:block; + user-select: none; + background:transparent; + color:rgb(201, 201, 201); + } + .volume-icon-wrapper{ + padding:1px 0px; + } + #volumeindicator{ + .range-wrapper{ + position:absolute; + top:0px; + left:22px; + background:rgb(32, 32, 32); + z-index:30; + width:0; + overflow:hidden; + transition: width 200ms ease-out 95ms; + padding:8px 0px 5px; + text-align:center; + input{ + width:80%; + cursor:pointer; + } + } + @media screen and ( min-width: 430px ){ + &:hover{ + .range-wrapper{ + width:170px; + } + } + } + } + } + .buffer-wrapper{ + height:48px; + position:absolute; + left:128px; + right:0; + bottom:0; + cursor:pointer; + #progress { + background-color:#00ffa3; // red + height:48px; + display:inline-block; + position:relative; + z-index:23; + transition: width 0.25s ease-in-out; + } + #buffer { + background-color:#96ffd9; // red + height:48px; + display:inline-block; + position:absolute; + bottom:0; + z-index:22; + transition: width 0.15s ease-in-out; + } + #time{ + position:absolute; + right:30px; + top:16px; + z-index:23; + color:rgb(161, 161, 161); + font-size:13px; + background:rgba(236, 236, 236, 0.74); + padding:2px; + } + #closebutt { + position: absolute; + user-select: none; + right: 3px; + margin: 0px; + padding: 0px; + color: #535353; + font-size: 13.5px; + z-index: 25; + height: 22px; + width: 22px; + transition: all 0.3s ease 0s; + &:hover { + color: #ff4343; + } + } + } + } +} + +.navigation-progress{ + position:fixed; + top:0; + left:-20%; + background:$green; + z-index:100; + height:43px; + // display:none; + width:0%; + &.showing{ + display:block; + width:140%; + animation: grow-width 3200ms ease-out, pulsate 1.4s infinite ease-in-out; + + } +} + +.live-link{ + color:$black; +} + +.live-article-indicator{ + position: fixed; + bottom: 20px; + right: 20px; + z-index:100; +} +.live-article-indicator-inner{ + padding:10px 20px; + background: $yellow; + border: 4px solid $black; + border-radius: 3px; + max-width:300px; + min-width:200px; + display:none; + @media screen and ( min-width: 1410px ){ + display:block; + } + &:hover{ + background: darkend($light-green, 3%); + } + .live-pre-header{ + font-size:1em; + margin-top:7px; + margin-left:30px; + margin-bottom:15px; + font-weight:800; + font-family: $helvetica-condensed; + font-stretch:condensed; + } + .live-article-title{ + font-size:1.6em; + font-weight:600; + margin: 5px 0px; + } + .live-tags{ + margin: 8px 0px; + color:$medium-gray; + font-size:0.8em; + .live-tag{ + margin-right:6px; + } + } +} + +.live-exit-button{ + border:0px; + background:transparent; + position:absolute; + top:12px; + right:8px; + padding: 5px 10px 1px; + border-radius: 3px; + &:hover{ + background:lighten($red,28%); + } + img{ + height:15px; + width:15px; + } +} + + +@keyframes grow-width { + 0% { width: 0%; } + 100% { width: 140%; } +} + +@keyframes pulsate { + 0% {opacity: 0.25;} + 50% {opacity: 1.0;} + 100% {opacity: 0.25;} +} + +.pulsating-circle { + position: absolute; + left: 25px; + top: 27px; + transform: translateX(-50%) translateY(-50%); + width: 30px; + height: 30px; + + &:before { + content: ''; + position: relative; + display: block; + width: 300%; + height: 300%; + box-sizing: border-box; + margin-left: -100%; + margin-top: -100%; + border-radius: 45px; + background-color: $dark-purple; + animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; + } + + &:after { + content: ''; + position: absolute; + left: 0; + top: 0; + display: block; + width: 100%; + height: 100%; + background-color: $dark-purple; + border-radius: 15px; + box-shadow: 0 0 8px rgba(0,0,0,.3); + animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite; + } +} + +@keyframes pulse-ring { + 0% { + transform: scale(.33); + } + 80%, 100% { + opacity: 0; + } +} + +@keyframes pulse-dot { + 0% { + transform: scale(.8); + } + 50% { + transform: scale(1); + } + 100% { + transform: scale(.8); + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/signin.scss b/app/assets/stylesheets/signin.scss new file mode 100644 index 0000000000000..ba5b3043237b4 --- /dev/null +++ b/app/assets/stylesheets/signin.scss @@ -0,0 +1,39 @@ +@import 'variables'; +#page-content.registrations{ + .devise-container{ + min-height:480px; + padding-top:calc(10vw + 35px); + h1{ + font-weight:300; + text-align:center; + font-family: $helvetica; + font-size:30px; + @media screen and ( min-width: 520px) { + font-size:50px; + } + } + a.sign-up-link{ + display:block; + margin:50px auto; + width:280px; + max-width:92%; + text-align:center; + padding:20px 0px; + border:1px solid rgb(245, 245, 245); + font-family: $helvetica; + color:rgb(86, 98, 103); + border-radius:3px; + font-size:22px; + img{ + opacity:0.7; + width:24px; + height:24px; + margin-right:3px; + vertical-align:-3px; + } + &:hover{ + border:1px solid rgb(0, 231, 255); + } + } + } +} diff --git a/app/assets/stylesheets/signup-modal.scss b/app/assets/stylesheets/signup-modal.scss new file mode 100644 index 0000000000000..6a26e3b4f420c --- /dev/null +++ b/app/assets/stylesheets/signup-modal.scss @@ -0,0 +1,111 @@ +@import 'variables'; +.global-signup-modal{ + display:none; + position:fixed; + top:0; + left:0; + right:0; + bottom:0; + z-index:899900; + &.showing{ + display:block; + } + .global-signup-modal--bg{ + position:fixed; + top:0; + left:0; + right:0; + bottom:0; + background:rgba(255, 255, 255, 0.88); + z-index:899901; + .close-modal-button { + position:fixed; + top:3%; + left:5%; + border:0; + background:transparent; + cursor:pointer; + img{ + width:calc(0.8vw + 20px); + } + } + } + .global-signup-modal--inner-b{ + font-family: $helvetica; + position:fixed; + top:calc(15% - 33px); + left:calc(15% - 33px); + right:calc(15% - 33px); + bottom:calc(15% - 33px); + background:white; + z-index:899902; + text-align:center; + font-size:calc(2vw + 20px); + box-shadow:0px 0px 100px 20px rgba(0,0,0,0.3); + border-radius:8px; + padding:calc(4vw + 24px) calc(1vw + 10px); + h1{ + font-size:1.4em; + font-weight:400; + } + a{ + display:inline-block; + margin:calc(3vw + 5px) 10px; + border:1px solid #b5b5b5; + border-radius:8px; + padding: calc(1vw + 4px) calc(3vw + 10px); + img{ + width:calc(1.1vw + 23px); + height:calc(1.1vw + 23px); + vertical-align: -3px; + } + } + .heart{ + display:block; + margin:auto; + width:40px; + } + } + .global-signup-modal--inner-a{ + font-family: $helvetica; + position:fixed; + top:calc(15% - 33px); + left:calc(15% - 33px); + right:calc(15% - 33px); + bottom:calc(15% - 33px); + background:white; + z-index:899902; + text-align:center; + font-size:calc(2vw + 20px); + box-shadow:0px 0px 100px 20px rgba(0,0,0,0.3); + border-radius:8px; + padding:calc(1vw + 24px) calc(1vw + 10px); + h1{ + font-size:.8em; + font-weight:600; + margin-top:0px; + margin-bottom:5px; + } + p{ + font-size: .5em; + max-width: 75%; + text-align: center; + margin:auto; + } + a{ + display:inline-block; + margin:calc(2vw + 5px) 10px; + border:1px solid #b5b5b5; + border-radius:8px; + padding: calc(.5vw + 4px) calc(1.5vw + 10px); + img{ + width:calc(1.1vw + 23px); + height:calc(1.1vw + 23px); + vertical-align: -3px; + } + } + .sloan{ + height: calc(7vw + 80px); + } + } +} diff --git a/app/assets/stylesheets/syntax.scss b/app/assets/stylesheets/syntax.scss new file mode 100644 index 0000000000000..c16372ee628bd --- /dev/null +++ b/app/assets/stylesheets/syntax.scss @@ -0,0 +1,85 @@ +div.highlight pre.highlight code { + font-size: inherit; + padding: 0px; +} + +div.inner-comment div.body div.highlight pre.highlight { + background: #29292e; + code { + font-size: inherit; + white-space: inherit; + background: inherit; + color: inherit; + } +} + +.highlight .hll { background-color: #49483e } +.highlight { background: #29292e; color: #f8f8f2 } +.highlight .c { color: #75715e } /* Comment */ +.highlight .err { color: #960050; background-color: #1e0010 } /* Error */ +.highlight .k { color: #66d9ef } /* Keyword */ +.highlight .l { color: #ae81ff } /* Literal */ +.highlight .n { color: #f8f8f2 } /* Name */ +.highlight .o { color: #f92672 } /* Operator */ +.highlight .p { color: #f8f8f2 } /* Punctuation */ +.highlight .ch { color: #75715e } /* Comment.Hashbang */ +.highlight .cm { color: #75715e } /* Comment.Multiline */ +.highlight .cp { color: #75715e } /* Comment.Preproc */ +.highlight .cpf { color: #75715e } /* Comment.PreprocFile */ +.highlight .c1 { color: #75715e } /* Comment.Single */ +.highlight .cs { color: #75715e } /* Comment.Special */ +.highlight .gd { color: #f92672 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gi { color: #a6e22e } /* Generic.Inserted */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #75715e } /* Generic.Subheading */ +.highlight .kc { color: #66d9ef } /* Keyword.Constant */ +.highlight .kd { color: #66d9ef } /* Keyword.Declaration */ +.highlight .kn { color: #f92672 } /* Keyword.Namespace */ +.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ +.highlight .kr { color: #66d9ef } /* Keyword.Reserved */ +.highlight .kt { color: #66d9ef } /* Keyword.Type */ +.highlight .ld { color: #e6db74 } /* Literal.Date */ +.highlight .m { color: #ae81ff } /* Literal.Number */ +.highlight .s { color: #e6db74 } /* Literal.String */ +.highlight .na { color: #a6e22e } /* Name.Attribute */ +.highlight .nb { color: #f8f8f2 } /* Name.Builtin */ +.highlight .nc { color: #a6e22e } /* Name.Class */ +.highlight .no { color: #66d9ef } /* Name.Constant */ +.highlight .nd { color: #a6e22e } /* Name.Decorator */ +.highlight .ni { color: #f8f8f2 } /* Name.Entity */ +.highlight .ne { color: #a6e22e } /* Name.Exception */ +.highlight .nf { color: #a6e22e } /* Name.Function */ +.highlight .nl { color: #f8f8f2 } /* Name.Label */ +.highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +.highlight .nx { color: #a6e22e } /* Name.Other */ +.highlight .py { color: #f8f8f2 } /* Name.Property */ +.highlight .nt { color: #f92672 } /* Name.Tag */ +.highlight .nv { color: #f8f8f2 } /* Name.Variable */ +.highlight .ow { color: #f92672 } /* Operator.Word */ +.highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ +.highlight .mf { color: #ae81ff } /* Literal.Number.Float */ +.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ +.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ +.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ +.highlight .sa { color: #e6db74 } /* Literal.String.Affix */ +.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ +.highlight .sc { color: #e6db74 } /* Literal.String.Char */ +.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ +.highlight .sd { color: #e6db74 } /* Literal.String.Doc */ +.highlight .s2 { color: #e6db74 } /* Literal.String.Double */ +.highlight .se { color: #ae81ff } /* Literal.String.Escape */ +.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ +.highlight .si { color: #e6db74 } /* Literal.String.Interpol */ +.highlight .sx { color: #e6db74 } /* Literal.String.Other */ +.highlight .sr { color: #e6db74 } /* Literal.String.Regex */ +.highlight .s1 { color: #e6db74 } /* Literal.String.Single */ +.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ +.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #a6e22e } /* Name.Function.Magic */ +.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ +.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ +.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ +.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ +.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ diff --git a/app/assets/stylesheets/tags.scss b/app/assets/stylesheets/tags.scss new file mode 100644 index 0000000000000..3088b3fa0a5a0 --- /dev/null +++ b/app/assets/stylesheets/tags.scss @@ -0,0 +1,68 @@ +@import 'variables'; + +.home { + &.tag-home{ + margin-top: 20px; + } + .tag-list-container{ + background:$black; + color:white; + margin-bottom:0px; + display:block; + font-family: "Lucida Console", Monaco, monospace, sans-serif; + position:relative; + text-align: left; + border-radius: 3px; + box-shadow: $shadow; + margin: 6px auto 0px; + width: 92%; + &:hover{ + opacity:0.8; + } + h2 { + display: inline-block; + font-size: calc(1vw + 15px); + margin: 15px 0px; + } + a.tag-show-link{ + color:white; + padding:5px 15px; + display:inline-block; + width:calc(100% - 75px - 3vw); + opacity:0.9; + + p { + font-size: calc(0.4vw + 13px); + display: inline-block; + } + &:hover{ + opacity:1; + } + } + } + a.tag-follow-link{ + position:absolute; + right:0px; + top:0px; + bottom:0px; + padding:5px 1px 5px 2px; + text-align:center; + width:calc(3vw + 45px); + color:white; + background:white; + border-left:1px solid white; + font-weight:900; + font-size:calc(1.3vw + 33px); + &.showing{ + color:$black; + } + &:hover{ + background:lighten($blue,57%); + } + + &.following-butt{ + color:white; + background:$blue; + } + } +} diff --git a/app/assets/stylesheets/top-bar.scss b/app/assets/stylesheets/top-bar.scss new file mode 100644 index 0000000000000..15dc3d9433641 --- /dev/null +++ b/app/assets/stylesheets/top-bar.scss @@ -0,0 +1,248 @@ +@import 'variables'; +.stories-index,.comments-index,.users-index,.notifications-index{ + .top-bar{ + @media screen and ( min-width: 820px ){ + border-bottom:1.5px solid darken($lightest-gray,4%); + box-shadow:0px 0px 2px 0px rgba(97, 95, 95, 0.18); + } + } +} +.top-bar{ + font-family: $helvetica; + position:absolute; + top:0px; + left:0px; + right:0px; + -webkit-backface-visibility: hidden; + z-index:1000; + font-size:17px; + height:40px; + background:$tan; + position:fixed; + box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.13); + nav{ + max-width:99%; + width:1250px; + margin:auto; + position:relative; + a{ + &:active{ + opacity:0.8; + } + } + .nav-link{ + position:absolute; + top:13px; + width:120px; + height:30px; + border-radius:2px; + padding-right:10px; + font-size:14px; + font-weight:400; + display:none; + } + .write{ + width:111px; + padding: 3px 0px; + height: auto; + top:7px; + text-align:center; + font-weight:bold; + border-radius: 3px; + border: 2px solid $black; + @media screen and ( min-width: 560px ){ + display:block; + right:100px; + } + @media screen and ( min-width: 700px ){ + display:block; + right:120px; + } + } + .notifications-icon{ + right:50px; + top:0px; + width:22px; + height:41px; + display:block; + text-align:center; + z-index:10; + @media screen and ( min-width:700px ){ + right:71px; + } + img{ + margin-top:10px; + height:23px; + } + .notifications-number{ + position:absolute; + top:3px; + left:11px; + background:$red; + padding:2px 7px; + border-radius:8px; + color:white; + display:none; + font-size:1.05em; + &.showing{ + display:block; + } + } + &:hover{ + img{ + opacity:0.9; + } + .notifications-number{ + background:#e92525; + } + } + + } + .nav-search-form{ + position:absolute; + top:5px; + left:calc(50px + 5vw); + width: calc(55vw - 30px); + @media screen and ( min-width: 350px ){ + width: calc(61vw - 38px); + } + @media screen and ( min-width: 560px ){ + width: calc(45vw - 30px); + } + @media screen and ( min-width: 950px ){ + left: 0; + right: 0; + margin: auto; + width:300px; + } + @media screen and ( min-width: 1120px ){ + width:calc(100% - 760px); + } + input{ + margin:0; + width: calc(100% - 12px); + border-radius:3px; + border:0px; + padding:6px; + font-size:0.9em; + background:#e8e7e7; + -webkit-appearance: none; + } + } + .nav-profile-image{ + height: 33px; + width: 33px; + background: $dark-gray; + border-radius: 3px; + margin-top:-5px; + } + .bars{ + height:22px; + width:22px; + background:transparent; + } + .navbar-menu-wrapper{ + position:absolute; + right:0px; + top:0px; + &.showing{ + .menu,.menubg{ + display:block; + } + } + &.desktop{ + &:hover{ + .menu{ + display:block; + } + } + } + } + .navigation-butt{ + all: unset; + position:absolute; + right:0px; + top:3px; + padding-top:6px; + padding-bottom:6px; + padding-left:28px; + padding-right:6px; + border-bottom-left-radius:8px; + cursor:pointer; + @media screen and ( min-width: 700px ){ + padding-right:25px; + } + } + .menubg{ + position:fixed; + left:0;right:0;bottom:0; + background:rgba(17, 17, 17, 0.88); + z-index:-5; + top:40px; + display:none; + } + .menu{ + position:absolute; + right:-3px; + padding:30px 10px; + text-align:left; + background:rgb(255, 255, 255); + border: 1px solid rgb(219,222,225); + border-top:0px; + display:none; + width:calc(100vw - 20px); + top: 37px; + @media screen and ( min-width: 380px ){ + position: fixed; + width: 230px; + border-right: none; + padding: 15px 10px; + border-bottom-left-radius: 5px; + box-shadow: 0px 4px 5px 1px rgba(97, 95, 95, 0.18) + } + @media screen and ( min-width: 1250px) { + position: absolute; + right: 4px; + } + .header{ + padding:3px 10px; + border-bottom: 3px solid rgb(241, 244, 246); + margin-bottom:5px; + color:rgb(178, 192, 203); + } + .option{ + padding:15px 10px; + @media screen and ( min-width: 380px ){ + padding:6px 10px; + } + &.prime-option{ + border-bottom:3px solid #7a7e81; + margin-bottom:5px; + font-size:1.22em; + font-weight:500; + } + &:hover{ + background:$light-purple; + } + } + a{ + color:$black; + } + } + } + // border-bottom:2px solid rgb(10, 10, 10); + .logo-link{ + display:inline-block; + margin-left:2%; + } + .logo{ + width:33px; + height:21px; + padding:5px 8px 4px 10px; + margin-top:5px; + fill:white; + // border-right:1px solid #a5a6a8; + // border-left:1px solid #a5a6a8; + background:$black; + } +} diff --git a/app/assets/stylesheets/user-profile-header.scss b/app/assets/stylesheets/user-profile-header.scss new file mode 100644 index 0000000000000..a18c4ceffb473 --- /dev/null +++ b/app/assets/stylesheets/user-profile-header.scss @@ -0,0 +1,290 @@ +@import 'variables'; +.user-profile-header{ + padding:calc(0.6vw + 15px) 0px calc(0.1vw + 60px); + margin-bottom:-85px; + font-family: $helvetica; + position:relative; + overflow:hidden; + &.tag-header{ + // padding-left:calc(2vw + 12px); + h1{ + font-size:calc(3vw + 23px); + margin-top:1.2vw; + margin-bottom:8px; + margin-left:3%; + text-align:center; + width:94%; + &.query-header-text{ + font-size:calc(0.9vw + 28px); + font-weight:500; + } + @media screen and ( min-width: 950px ){ + width:580px; + margin-left: calc(0.2vw + 320px); + text-align:left; + } + } + .slanty-accent{ + transform: skewX(7deg); + } + } + &.readinglist-header{ + display: block; + @media screen and ( min-width: 950px ){ + display: none; + } + } + &.podcast-header{ + background:rgb(5, 22, 32); + text-align:center; + padding-bottom:60px; + color:white; + h1{ + font-size:calc(2vw + 28px); + } + img.record{ + height:150px; + width:150px; + border-radius:100px; + border:0px; + display:block; + margin:0px auto 10px; + } + @media screen and ( min-width: 950px ){ + img.record{ + height:calc(2.4vw + 50px); + width:calc(2.4vw + 50px); + display:inline-block; + vertical-align:calc(-1vw - 15px); + } + } + .subscribe-buttons{ + text-align:center; + margin-top:35px; + z-index:10; + position:relative; + a{ + padding:5px; + background-color:rgb(47, 61, 73); + color:white; + border-radius:3px; + margin:6px; + font-size:14px; + display:inline-block; + width:40%; + border: 1px solid rgb(60, 81, 99); + box-shadow: inset 1px 1px 0 rgb(72, 95, 116); + transition: background-color 250ms ease; + @media screen and ( min-width: 590px ){ + width:112px; + } + &:hover{ + background-color:rgb(41, 46, 52); + } + img{ + width:20px; + height:20px; + vertical-align:-4px; + margin-right:4px; + } + } + } + } + .slanty-accent{ + width: 23vw; + position:absolute; + left:-10vw; + top:0px; + bottom: 0px; + transform: skewX(-7deg); + @media screen and ( min-width: 1260px ){ + width: calc(58vw - 430px); + } + } + .user-profile-header-container{ + overflow-y: auto; + } + .user-profile-header-container,.tag-or-query-header-container{ + width:1220px; + max-width:96%; + margin:auto; + margin-bottom:20px; + h1 { + position:relative; + } + a{ + color:rgb(97, 97, 97); + } + .notifications-header{ + font-size:calc(28px + 0.2vw); + padding-bottom:13px; + font-weight:500; + img{ + width: calc(30px + 0.2vw); + margin-right: 9px; + vertical-align:-4px; + } + } + .profile-pic-wrapper{ + float:left; + width:calc(14.5vw + 60px); + max-width: 300px; + position:relative; + z-index:5; + .profile-pic{ + width:calc(12.2vw + 50px); + height:calc(12.2vw + 50px); + border-radius:200px; + max-width:270px; + max-height:270px; + border: 4px solid white; + margin-top:10px; + background: no-repeat center center; + background-size: cover; + img{ + height: 100%; + width: 100%; + } + } + } + .profile-details{ + float:left; + width:calc(100% - (13vw + 95px)); + padding-top: calc(2px + 2.7vw); + h1{ + margin:5px auto 1vw; + font-weight:500; + color:rgb(27, 27, 28); + font-size:26px; + padding:0; + @media screen and ( min-width: 382px ){ + font-size:31px; + } + @media screen and ( min-width: 430px ){ + font-size:48px; + margin-top:0px; + } + } + p{ + font-size:16px; + padding:0px 0px; + margin:0; + color:rgb(67, 75, 79); + } + } + .social{ + font-size:15px; + text-align:center; + // width:550px; + max-width:100%; + float:left; + margin:14px 0px 18px; + z-index:3; + position:relative; + &.all-three-present{ + a{ + padding:0px 2px; + } + } + @media screen and ( min-width: 600px ){ + text-align:left; + display:inline-block; + } + @media screen and ( max-width: 450px ){ + &.all-three-present{ + margin:22px auto 22px; + width:100%; + text-align:center; + a{ + padding:0px 30px; + margin-right:1px; + + } + .social-anchor{ + display:none; + } + } + } + &.no-description{ + text-align:left; + a{ + margin-top:3px; + padding-left:0; + } + @media screen and ( min-width: 450px ){ + a{ + margin-top:-6px; + } + } + } + a{ + margin-right:5px; + display:inline-block; + margin-bottom:0px; + margin-top:0px; + padding:3px; + @media screen and ( min-width: 580px ){ + margin-bottom:8px; + } + .icon-img{ + width:15px; + height:15px; + vertical-align:-6px; + margin:0px 1px; + opacity:1; + background:white; + padding:3px; + border-radius:100px; + border:1px solid darken($light-gray,10%); + } + } + } + } + .tag-action-buttons{ + height:30px; + margin-top:calc(0.5vw + 6px); + margin-bottom:8px; + margin-left:1%; + text-align:center; + @media screen and ( min-width: 430px ){ + margin-bottom:20px; + } + @media screen and ( min-width: 800px ){ + margin-bottom:25px; + } + @media screen and ( min-width: 850px ){ + margin-bottom:10px; + } + @media screen and ( min-width: 950px ){ + margin-left: calc(0.2vw + 320px); + text-align:left; + } + } + .user-profile-follow-button-wrapper{ + position:relative; + z-index:5; + display:inline-block; + } + .user-profile-follow-button{ + background: $green; + color:white; + border:0; + font-size:17px; + border-radius:3px; + vertical-align:2px; + padding:2px 6px; + cursor:pointer; + min-width: 120px; + opacity:0.7; + &.showing{ + opacity:1; + } + @media screen and ( min-width: 430px ){ + font-size:22px; + padding:4px 8px; + vertical-align:6px; + border-radius:5px; + min-width: 140px; + } + } +} diff --git a/app/assets/stylesheets/variables.scss b/app/assets/stylesheets/variables.scss new file mode 100644 index 0000000000000..86b768687cfad --- /dev/null +++ b/app/assets/stylesheets/variables.scss @@ -0,0 +1,25 @@ +$black: #0a0a0a; +$white: #ffffff; +$aqua: #00ffd9; +$green: #66e2d5; +$light-green: lighten($green,30%); +$dark-purple: #4e57ef; +$purple: #cfd7ff; +$light-purple: lighten($purple, 7%); +$blue: #1395b8; +$sky-blue: #557de8; +$light-sky-blue: lighten($sky-blue, 30%); +$lightest-gray: #f9f9fa; +$light-gray: #f5f6f7; +$light-medium-gray:#dbdbdb; +$medium-gray:#666666; +$dark-gray:#333333; +$red:#ff0000; +$yellow: #fefa87; +$tan: #fdf9f3; +$off-white: #fffffe; +$bold-blue: #0045ff; + +$helvetica: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; +$helvetica-condensed: "HelveticaNeue-CondensedBold", "HelveticaNeueBoldCondensed", "HelveticaNeue-Bold-Condensed", "Helvetica Neue Bold Condensed", "HelveticaNeueBold", "HelveticaNeue-Bold", "Helvetica Neue Bold", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosCnBold', "Helvetica", "Tahoma", "Geneva", "Arial Narrow", "Arial", sans-serif; +$shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); \ No newline at end of file diff --git a/app/black_box/black_box.rb b/app/black_box/black_box.rb new file mode 100644 index 0000000000000..a1a97ebbab321 --- /dev/null +++ b/app/black_box/black_box.rb @@ -0,0 +1,31 @@ +class BlackBox + def self.article_hotness_score(article) + return (article.featured_number|| 10000)/10000 unless Rails.env.production? + FunctionCaller.new("aws-nodejs-ecma-script-dev-articleHotness", + {article: article, user: article.user}.to_json).call + end + + def self.comment_quality_score(comment) + descendants_points = (comment.descendants.size/2) + rep_points = comment.reactions.sum(:points) + bonus_points = calculate_bonus_score(comment.body_markdown) + spaminess_rating = calculate_spaminess(comment) + (rep_points + descendants_points + bonus_points - spaminess_rating).to_i + end + + def self.calculate_spaminess(story) + #accepts comment or article as story + return 0 unless Rails.env.production? + return 100 unless story.user + FunctionCaller.new("aws-nodejs-ecma-script-dev-spamScore", + {story: story, user: story.user}.to_json).call + end + + private + + def self.calculate_bonus_score(body_markdown) + size_bonus = body_markdown.size > 200 ? 2 : 0 + code_bonus = body_markdown.include?('`') ? 1 : 0 + size_bonus + code_bonus + end +end diff --git a/app/black_box/google_analytics.rb b/app/black_box/google_analytics.rb new file mode 100644 index 0000000000000..93883d67ffa04 --- /dev/null +++ b/app/black_box/google_analytics.rb @@ -0,0 +1,65 @@ +require "google/apis/analyticsreporting_v4" +require "googleauth" +require "ostruct" + +class GoogleAnalytics + include Google::Apis::AnalyticsreportingV4 + include Google::Auth + + def initialize(article_ids = []) + @article_ids = article_ids + @client = AnalyticsReportingService.new + @client.authorization = create_service_account_credential + end + + def get_pageviews + requests = @article_ids.map do |id| + article = Article.find_by_id(id) + make_report_request("/#{article.username}/#{article.slug}") + end + pageviews = [] + i = 0 + while i < requests.length + done_request = fetch_analytics_for(*requests[i..i + 4]) + pageviews.concat(done_request) + i += 5 + end + pageviews = adjust(pageviews) + @article_ids.zip(pageviews).to_h + end + + private + + def make_report_request(url) + ReportRequest.new( + view_id: ENV["GA_VIEW_ID"], + filters_expression: "ga:pagePath==#{url}", + metrics: [Metric.new(expression: "ga:pageviews")], + date_ranges: [ + DateRange.new(start_date: "2012-01-01", end_date: "today"), + ], + ) + end + + def fetch_analytics_for(*report_requests) + grr = GetReportsRequest.new(report_requests: report_requests) + response = @client.batch_get_reports(grr) + response.reports.map do |report| + report.data.totals[0].values[0] + end + end + + def create_service_account_credential + ServiceAccountCredentials.make_creds( + json_key_io: OpenStruct.new(read: ENV["GA_SERVICE_ACCOUNT_JSON"]), + scope: [AUTH_ANALYTICS_READONLY], + ) + end + + def adjust(pageviews) + # This is naiively adjusting for "lost views" from adblockers, + # and ghostery, non-js loaded, etc. + # We can loosen this in the near future. + pageviews.map { |n| (n.to_i * 1.1).to_i.to_s } + end +end diff --git a/app/controllers/admin/application_controller.rb b/app/controllers/admin/application_controller.rb new file mode 100644 index 0000000000000..3f4052ee872e6 --- /dev/null +++ b/app/controllers/admin/application_controller.rb @@ -0,0 +1,31 @@ +# All Administrate controllers inherit from this `Admin::ApplicationController`, +# making it the ideal place to put authentication logic or other +# before_filters. +# +# If you want to add pagination or other controller-level concerns, +# you're free to overwrite the RESTful controller actions. +module Admin + class ApplicationController < Administrate::ApplicationController + skip_before_action :verify_authenticity_token + include EnforceAdmin + before_action :authenticate_admin + + def authenticate_admin + unless current_user_is_admin? + authenticate_or_request_with_http_basic do |username, password| + username == ENV["APP_NAME"] && password == ENV["APP_PASSWORD"] + end + end + end + + # Override this value to specify the number of elements to display at a time + # on index pages. Defaults to 20. + # def records_per_page + # params[:per_page] || 20 + # end + def order + @_order ||= Administrate::Order.new(params[:order] || "id",params[:direction] || "desc") + end + + end +end diff --git a/app/controllers/admin/articles_controller.rb b/app/controllers/admin/articles_controller.rb new file mode 100644 index 0000000000000..2820cfae19df4 --- /dev/null +++ b/app/controllers/admin/articles_controller.rb @@ -0,0 +1,19 @@ +module Admin + class ArticlesController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Article.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Article.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/collections_controller.rb b/app/controllers/admin/collections_controller.rb new file mode 100644 index 0000000000000..be43cfd9c5e2a --- /dev/null +++ b/app/controllers/admin/collections_controller.rb @@ -0,0 +1,19 @@ +module Admin + class CollectionsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Collection.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Collection.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb new file mode 100644 index 0000000000000..c74e48319e860 --- /dev/null +++ b/app/controllers/admin/comments_controller.rb @@ -0,0 +1,19 @@ +module Admin + class CommentsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Comment.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Comment.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/display_ads_controller.rb b/app/controllers/admin/display_ads_controller.rb new file mode 100644 index 0000000000000..5996530d29397 --- /dev/null +++ b/app/controllers/admin/display_ads_controller.rb @@ -0,0 +1,21 @@ +module Admin + class DisplayAdsController < Admin::ApplicationController + # To customize the behavior of this controller, + # you can overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = DisplayAd. + # page(params[:page]). + # per(10) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # DisplayAd.find_by!(slug: param) + # end + + # See https://administrate-prototype.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/email_messages_controller.rb b/app/controllers/admin/email_messages_controller.rb new file mode 100644 index 0000000000000..bdae7940fc18d --- /dev/null +++ b/app/controllers/admin/email_messages_controller.rb @@ -0,0 +1,21 @@ +module Admin + class EmailMessagesController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Ahoy::Message. + # page(params[:page]). + # per(8) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Ahoy::Message.find_by!(slug: param) + # end + + # See https://administrate-prototype.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/feedback_messages_controller.rb b/app/controllers/admin/feedback_messages_controller.rb new file mode 100644 index 0000000000000..0f724c449a77f --- /dev/null +++ b/app/controllers/admin/feedback_messages_controller.rb @@ -0,0 +1,21 @@ +module Admin + class FeedbackMessagesController < Admin::ApplicationController + # To customize the behavior of this controller, + # you can overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = FeedbackMessage. + # page(params[:page]). + # per(10) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # FeedbackMessage.find_by!(slug: param) + # end + + # See https://administrate-prototype.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/follows_controller.rb b/app/controllers/admin/follows_controller.rb new file mode 100644 index 0000000000000..092458ad09acc --- /dev/null +++ b/app/controllers/admin/follows_controller.rb @@ -0,0 +1,19 @@ +module Admin + class FollowsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Follow.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Follow.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/organizations_controller.rb b/app/controllers/admin/organizations_controller.rb new file mode 100644 index 0000000000000..4e11f1344e9f7 --- /dev/null +++ b/app/controllers/admin/organizations_controller.rb @@ -0,0 +1,19 @@ +module Admin + class OrganizationsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Organization.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Organization.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/podcast_episodes_controller.rb b/app/controllers/admin/podcast_episodes_controller.rb new file mode 100644 index 0000000000000..af782327ba2e4 --- /dev/null +++ b/app/controllers/admin/podcast_episodes_controller.rb @@ -0,0 +1,19 @@ +module Admin + class PodcastEpisodesController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = PodcastEpisode.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # PodcastEpisode.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/podcasts_controller.rb b/app/controllers/admin/podcasts_controller.rb new file mode 100644 index 0000000000000..a48a02c575405 --- /dev/null +++ b/app/controllers/admin/podcasts_controller.rb @@ -0,0 +1,19 @@ +module Admin + class PodcastsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Podcast.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Podcast.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/reactions_controller.rb b/app/controllers/admin/reactions_controller.rb new file mode 100644 index 0000000000000..c8de8d65bcdfe --- /dev/null +++ b/app/controllers/admin/reactions_controller.rb @@ -0,0 +1,19 @@ +module Admin + class ReactionsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Reaction.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Reaction.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/tags_controller.rb b/app/controllers/admin/tags_controller.rb new file mode 100644 index 0000000000000..f9306845d733c --- /dev/null +++ b/app/controllers/admin/tags_controller.rb @@ -0,0 +1,19 @@ +module Admin + class TagsController < Admin::ApplicationController + # To customize the behavior of this controller, + # simply overwrite any of the RESTful actions. For example: + # + # def index + # super + # @resources = Tag.all.paginate(10, params[:page]) + # end + + # Define a custom finder by overriding the `find_resource` method: + # def find_resource(param) + # Tag.find_by!(slug: param) + # end + + # See https://administrate-docs.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb new file mode 100644 index 0000000000000..bb3bba9decc0e --- /dev/null +++ b/app/controllers/admin/users_controller.rb @@ -0,0 +1,72 @@ +module Admin + class UsersController < Admin::ApplicationController + def update + user = User.find(params[:id]) + UserRoleService.new(user).check_for_roles(params[:user]) + if user.errors.messages.blank? && user.update(user_params) + redirect_to "/admin/users/#{params[:id]}" + else + render_with_errors(user) + end + end + + private + + def render_with_errors(user) + flash.now[:notice] = user.errors.full_messages + render :new, locals: { page: Administrate::Page::Form.new(dashboard, user) } + end + + def user_params + accessible = %i[name + email + username + twitter_username + github_username + profile_image + website_url + summary + email_newsletter + email_comment_notifications + email_follower_notifications + organization_id + org_admin + bg_color_hex + text_color_hex + employer_name + employer_url + employment_title + currently_learning + available_for + mostly_work_with + currently_hacking_on + location + email_public + education + looking_for_work + looking_for_work_publicly + contact_consent + feed_url + feed_mark_canonical + feed_admin_publish_permission + reputation_modifier + onboarding_package_requested + onboarding_package_fulfilled + onboarding_package_requested_again + shipping_name + shipping_company + shipping_address + shipping_address_line_2 + shipping_city + shipping_state + shipping_country + shipping_postal_code + shirt_size + shirt_gender + saw_onboarding + scholar_email] + accessible << %i[password password_confirmation] unless params[:user][:password].blank? + params.require(:user).permit(accessible) + end + end +end diff --git a/app/controllers/analytics_controller.rb b/app/controllers/analytics_controller.rb new file mode 100644 index 0000000000000..3ccae34960236 --- /dev/null +++ b/app/controllers/analytics_controller.rb @@ -0,0 +1,41 @@ +class AnalyticsController < ApplicationController + caches_action :index, + cache_path: Proc.new { "#{request.params}___#{current_user.id}" }, + expires_in: 15.minutes + + def index + article_ids = analytics_params.split(",") + if has_analytics_privilege?(article_ids.first, current_user) + cache_name = "pageviews-#{article_ids}/dashboard-index" + pageviews = Rails.cache.fetch(cache_name, expires_in: 15.minutes) do + GoogleAnalytics.new(article_ids).get_pageviews + end + render json: pageviews.to_json + else + render json: {} + end + end + + private + + def has_analytics_privilege?(article_id, current_user) + return false unless current_user + current_user_is_admin? || + current_user_is_author_with_beta_acess?(article_id, current_user) || + current_user_is_org_admin?(article_id, current_user) + end + + def current_user_is_author_with_beta_acess?(article_id, user) + author = Article.find_by_id(article_id)&.user + author == user && user.has_role?(:analytics_beta_tester) + end + + def current_user_is_org_admin?(article_id, user) + org_id = Article.find_by_id(article_id)&.organization_id + user.org_admin && user.organization_id == org_id + end + + def analytics_params + params.require(:article_ids) + end +end diff --git a/app/controllers/api/v0/api_controller.rb b/app/controllers/api/v0/api_controller.rb new file mode 100644 index 0000000000000..dd88cbbbd2810 --- /dev/null +++ b/app/controllers/api/v0/api_controller.rb @@ -0,0 +1,19 @@ +class Api::V0::ApiController < ApplicationController + def cors_set_access_control_headers + headers['Access-Control-Allow-Origin'] = '*' + headers['Access-Control-Allow-Methods'] = 'POST, GET, PUT, DELETE, OPTIONS' + headers['Access-Control-Allow-Headers'] = 'Origin, Content-Type, Accept, Authorization, Token' + headers['Access-Control-Max-Age'] = "1728000" + end + + def cors_preflight_check + if request.method == 'OPTIONS' + headers['Access-Control-Allow-Origin'] = '*' + headers['Access-Control-Allow-Methods'] = 'POST, GET, PUT, DELETE, OPTIONS' + headers['Access-Control-Allow-Headers'] = 'X-Requested-With, X-Prototype-Version, Token' + headers['Access-Control-Max-Age'] = '1728000' + + render :text => '', :content_type => 'text/plain' + end + end +end \ No newline at end of file diff --git a/app/controllers/api/v0/articles_controller.rb b/app/controllers/api/v0/articles_controller.rb new file mode 100644 index 0000000000000..fb00b1ea2eda4 --- /dev/null +++ b/app/controllers/api/v0/articles_controller.rb @@ -0,0 +1,24 @@ +module Api + module V0 + class ArticlesController < ApiController + before_action :set_cache_control_headers, only: [:index] + caches_action :show, + :cache_path => Proc.new { |c| c.params.permit! }, + :expires_in => 5.minutes + respond_to :json + + before_action :cors_preflight_check + after_action :cors_set_access_control_headers + + def index + @articles = ArticleApiIndexService.new(params).get + set_surrogate_key_header "articles_api_#{params[:tag]}_#{params[:page]}_#{params[:userame]}_#{params[:signature]}_#{params[:state]}" + end + + def show + @article = Article.includes(:user).find(params[:id]).decorate + not_found unless @article.published + end + end + end +end diff --git a/app/controllers/api/v0/comments_controller.rb b/app/controllers/api/v0/comments_controller.rb new file mode 100644 index 0000000000000..5d1c0f3b910b3 --- /dev/null +++ b/app/controllers/api/v0/comments_controller.rb @@ -0,0 +1,27 @@ +module Api + module V0 + class CommentsController < ApplicationController + + # before_action :set_cache_control_headers, only: [:index, :show] + caches_action :index, + :cache_path => Proc.new { |c| c.params.permit! }, + :expires_in => 10.minutes + respond_to :json + + caches_action :show, + :cache_path => Proc.new { |c| c.params.permit! }, + :expires_in => 10.minutes + respond_to :json + + def index + @commentable = Article.find(params[:a_id])# or not_found + @commentable_type = "Article" + end + + def show + @comment = Comment.find(params[:id].to_i(26)) or not_found + end + + end + end +end diff --git a/app/controllers/api/v0/podcast_episodes_controller.rb b/app/controllers/api/v0/podcast_episodes_controller.rb new file mode 100644 index 0000000000000..c0a687ac3db28 --- /dev/null +++ b/app/controllers/api/v0/podcast_episodes_controller.rb @@ -0,0 +1,33 @@ +module Api + module V0 + class PodcastEpisodesController < ApiController + + # before_action :set_cache_control_headers, only: [:index, :show] + caches_action :index, + :cache_path => Proc.new { |c| c.params.permit! }, + :expires_in => 10.minutes + respond_to :json + + caches_action :show, + :cache_path => Proc.new { |c| c.params.permit! }, + :expires_in => 10.minutes + respond_to :json + + before_action :cors_preflight_check + after_action :cors_set_access_control_headers + + def index + @page = params[:page] + if params[:username] + @podcast = Podcast.find_by_slug(params[:username]) || not_found + @podcast_episodes = @podcast. + podcast_episodes.order("published_at desc"). + page(@page). + per(30) + else + @podcast_episodes = PodcastEpisode.order("published_at desc").page(@page).per(30) + end + end + end + end +end diff --git a/app/controllers/api/v0/reactions_controller.rb b/app/controllers/api/v0/reactions_controller.rb new file mode 100644 index 0000000000000..bc4d7e353dfee --- /dev/null +++ b/app/controllers/api/v0/reactions_controller.rb @@ -0,0 +1,30 @@ +module Api + module V0 + class ReactionsController < ApplicationController + skip_before_action :verify_authenticity_token + def create + @user = valid_user + unless @user + render json: { message: "invalid_user" }, :status => 422 + return + end + Rails.cache.delete "count_for_reactable-#{params[:reactable_type]}-#{params[:reactable_id]}" + @reaction = Reaction.create( + user_id: @user.id, + reactable_id: params[:reactable_id], + reactable_type: params[:reactable_type], + category: params[:category] || "like", + ) + render json: { reaction: @reaction.to_json } + end + + private + + def valid_user + user = User.find_by_secret(params[:key]) + user = nil if !user.has_role?(:super_admin) + user + end + end + end +end diff --git a/app/controllers/api/v0/tags_controller.rb b/app/controllers/api/v0/tags_controller.rb new file mode 100644 index 0000000000000..cdde0ececc15d --- /dev/null +++ b/app/controllers/api/v0/tags_controller.rb @@ -0,0 +1,39 @@ +module Api + module V0 + class TagsController < ApplicationController + # before_action :set_cache_control_headers, only: [:index] + caches_action :index, + cache_path: Proc.new { |c| c.params.permit! }, + expires_in: 10.minutes + respond_to :json + + def index + @page = params[:page] + @tags = Tag.all.order("taggings_count DESC").page(@page).per(10) + end + + def onboarding + # Andy: Alphabetized by names + tag_names = %w[ + beginners + career + computerscience + git + go + java + javascript + linux + productivity + python + security + webdev + ] + @tags = [] + tag_names.each do |tag_name| + @tags.push(Tag.find_by(name: tag_name)) + end + @tags = @tags.reject(&:nil?) + end + end + end +end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb new file mode 100644 index 0000000000000..d2c59af56f1d5 --- /dev/null +++ b/app/controllers/application_controller.rb @@ -0,0 +1,131 @@ +class ApplicationController < ActionController::Base + protect_from_forgery with: :exception, prepend: true + + include EnforceAdmin + + include Pundit + rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized + + # before_action :require_http_auth if ENV["APP_NAME"] == "dev_stage" + + before_action :ensure_signup_complete + before_action :skip_devise_tracking + + #before_action :customize_params + + def require_http_auth + authenticate_or_request_with_http_basic do |username, password| + username == ENV["APP_NAME"] && password == ENV["APP_PASSWORD"] + end + end + + def not_found + raise ActionController::RoutingError.new("Not Found") + end + + def ensure_signup_complete + return if controller_name == "users" || controller_name == "onboarding" || params[:confirmation_token].present? + return if !request.get? + if current_user && current_user.email.blank? + redirect_to "/getting-started" + return + end + end + + def efficient_current_user_id + if session["warden.user.user.key"].present? + session["warden.user.user.key"].flatten[0] + end + end + + def authenticate_user! + unless current_user + redirect_to "/enter" + end + end + + def customize_params + params[:signed_in] = user_signed_in?.to_s + end + + def after_sign_in_path_for(resource) + location = request.env["omniauth.origin"] || stored_location_for(resource) || "/dashboard" + context_param = resource.created_at > 40.seconds.ago ? "?newly-registered-user=true" : "?returning-user=true" + location + context_param + end + + def raise_banned + raise "BANNED" if current_user && current_user.banned + end + + def is_internal_navigation? + params[:i] == "i" + end + helper_method :is_internal_navigation? + + def valid_request_origin? + # This manually does what it was supposed to do on its own. + # We were getting this issue: + # HTTP Origin header (https://dev.to) didn't match request.base_url (http://dev.to) + # Not sure why, but once we work it out, we can delete this method. + # We are at least secure for now. + return if Rails.env.test? + logger.info "**REQUEST ORIGIN CHECK** #{request.referer}" + request.referer.start_with?(ENV["APP_PROTOCOL"].to_s + ENV["APP_DOMAIN"].to_s) + end + + def csrf_logger_info(action) + sent_via_ajax = request.headers["X-CSRF-token"] ? true : false + logger_data = { + action: action, + sent_via_ajax: sent_via_ajax, + csrf_token: request.x_csrf_token, + form_token: form_authenticity_param, + any_authenticity_token_valid: any_authenticity_token_valid?, + valid_request_origin: valid_request_origin?, + valid_authenticity_token_form_token: valid_authenticity_token?(session, form_authenticity_param), + valid_authenticity_token_header_token: valid_authenticity_token?(session, request.x_csrf_token), + request_authenticity_tokens: request_authenticity_tokens, + current_user_id: current_user&.id, + } + logger.info "** SESSION STATE RIGHT NOW [#{current_user&.id}] #{session.to_hash} **" + logger.info "** SESSION STATE RIGHT NOW :: Any valid token? #{any_authenticity_token_valid?} **" + logger.info "** SESSION STATE RIGHT NOW --------------- **" + logger.info "**CSRF CHECK** Any valid token? #{any_authenticity_token_valid?}" + logger.info "Skipped unverified request", planned_unverified_request: logger_data + end + + def skip_devise_tracking + request.env["devise.skip_trackable"] = true + end + + def set_no_cache_header + response.headers["Cache-Control"] = "no-cache, no-store" + response.headers["Pragma"] = "no-cache" + response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT" + end + + def tab_list(user) + tab_list = ["Profile", + "Integrations", + "Notifications", + "Publishing from RSS", + "Organization", + "Billing"] + tab_list << "Membership" if user&.monthly_dues&.positive? && user&.stripe_id_code + tab_list << "Switch Organizations" if user&.has_role?(:switch_between_orgs) + tab_list << "Misc" + tab_list + end + + def touch_current_user + current_user.touch + end + + private + + def user_not_authorized + flash[:alert] = "You are not authorized to perform this action." + redirect_to(request.referrer || root_path) + end +end diff --git a/app/controllers/articles_controller.rb b/app/controllers/articles_controller.rb new file mode 100644 index 0000000000000..e7bcb5612e7b8 --- /dev/null +++ b/app/controllers/articles_controller.rb @@ -0,0 +1,209 @@ +class ArticlesController < ApplicationController + include ApplicationHelper + before_action :authenticate_user!, except: [:feed, :new] + before_action :set_article, only: [:edit, :update, :destroy] + before_action :raise_banned, only: [:new, :create, :update] + before_action :set_cache_control_headers, only: [:feed] + + def feed + @page = params[:page].to_i + if params[:username] + if @user = User.find_by_username(params[:username]) + @articles = Article.where(published: true, user_id: @user.id). + includes(:user). + select(:published_at, :slug, :processed_html, :user_id, :organization_id, :title). + order('published_at DESC'). + page(@page).per(15) + elsif @user = Organization.find_by_slug(params[:username]) + @articles = Article.where(published: true, organization_id: @user.id). + includes(:user). + select(:published_at, :slug, :processed_html, :user_id, :organization_id, :title). + order('published_at DESC'). + page(@page).per(15) + else + render body: nil + return + end + else + @articles = Article.where(published: true, featured: true). + includes(:user). + select(:published_at, :slug, :processed_html, :user_id, :organization_id, :title). + order('published_at DESC'). + page(@page).per(15) + end + set_surrogate_key_header "feed", @articles.map(&:record_key) + response.headers["Surrogate-Control"] = "max-age=600, stale-while-revalidate=30, stale-if-error=86400" + render layout: false + end + + def new + authorize Article + @user = current_user + @tag = Tag.find_by_name(params[:template]) + if @tag && @tag.submission_template.present? && @user + @article = Article.new(body_markdown:@tag.submission_template_customized(@user.name),processed_html:"") + else + @article = Article.new(body_markdown:"---\ntitle: \npublished: false\ndescription: \ntags: \n---\n\n",processed_html:"") + end + end + + def edit + authorize @article + @user = @article.user + end + + def preview + csrf_logger_info("article preview") + begin + fixed_body_markdown = MarkdownFixer.fix_for_preview(params[:article_body]) + parsed = FrontMatterParser::Parser.new(:md).call(fixed_body_markdown) + parsed_markdown = MarkdownParser.new(parsed.content) + processed_html = parsed_markdown.finalize + rescue StandardError => e + @article = Article.new(body_markdown: params[:article_body]) + @article.errors[:base] << ErrorMessageCleaner.new(e.message).clean + end + respond_to do |format| + if @article + format.json { render json: @article.errors, status: :unprocessable_entity } + else + format.json { render json: { processed_html: processed_html, title: parsed["title"] }, status: 200 } + end + end + end + + def create + authorize Article + @user = current_user + @article = ArticleCreationService. + new(@user, article_params, job_opportunity_params). + create! + redirect_after_creation + end + + def update + authorize @article + @user = @article.user || current_user + @article.tag_list = [] + @article.main_image = nil + respond_to do |format| + edited_at_date = if @article.user == current_user && @article.published + DateTime.now + else + @article.edited_at + end + if @article.update(article_params.merge(edited_at: edited_at_date)) + handle_org_assignment + handle_hiring_tag + if @article.published + Notification.send_all(@article, "Published") if @article.previous_changes.include?("published_at") + path = @article.path + else + Notification.remove_all(@article, "Published") + path = "/#{@article.username}/#{@article.slug}?preview=#{@article.password}" + end + format.html { redirect_to (params[:destination] || path), notice: "Article was successfully updated." } + format.json { render :show, status: :ok, location: @article } + else + format.html { render :edit } + format.json { render json: @article.errors, status: :unprocessable_entity } + end + end + end + + def delete_confirm + @article = current_user.articles.find_by_slug(params[:slug]) + end + + def destroy + if current_user == @article.user + @article.destroy + respond_to do |format| + format.html { redirect_to "/dashboard", notice: "Article was successfully deleted." } + format.json { head :no_content } + end + else + respond_to do |format| + format.html { redirect_to "/dashboard", notice: "Unauthorized attempt" } + format.json { head :no_content } + end + end + end + + private + + def user_not_authorized + redirect_to @article ? @article.path : "/" + end + + def handle_org_assignment + if @user.organization_id.present? && article_params[:publish_under_org].to_i == 1 + @article.organization_id = @user.organization_id + @article.save + elsif article_params[:publish_under_org].present? + @article.organization_id = nil + @article.save + end + end + + def handle_hiring_tag + if job_opportunity_params.present? && @article.tag_list.include?("hiring") + create_or_update_job_opportunity + elsif @article.job_opportunity && !@article.tag_list.include?("hiring") + @article.job_opportunity.destroy! + end + end + + def create_or_update_job_opportunity + if @article.job_opportunity.present? + @article.job_opportunity.update(job_opportunity_params) + else + @job_opportunity = JobOpportunity.create(job_opportunity_params) + @article.job_opportunity = @job_opportunity + @article.save + end + end + + def set_article + owner = if User.find_by_username(params[:username]) + User.find_by_username(params[:username]) + else + Organization.find_by_slug(params[:username]) + end + found_article = if params[:slug] + owner.articles.includes(:user).find_by_slug(params[:slug]) + else + Article.includes(:user).find(params[:id]) + end + @article = found_article || not_found + end + + def article_params + params[:article][:published] = true if params[:submit_button] == "PUBLISH" + params.require(:article). + permit(:title, :body_html, :body_markdown, :user_id, :main_image, :published, + :description, :allow_small_edits, :allow_big_edits, :tag_list, :publish_under_org) + end + + def job_opportunity_params + return nil unless params[:article][:job_opportunity].present? + params[:article].require(:job_opportunity).permit( + :remoteness, :location_given, :location_city, :location_postal_code, + :location_country_code, :location_lat, :location_long + ) + end + + def redirect_after_creation + @article.decorate + if @article.persisted? + redirect_to @article.current_state_path, notice: "Article was successfully created." + else + if @article.errors.to_h[:body_markdown] == "has already been taken" + @article = Article.find_by_body_markdown(@article.body_markdown) + redirect_to @article.current_state_path + return + end + render :new + end + end +end diff --git a/app/controllers/async_info_controller.rb b/app/controllers/async_info_controller.rb new file mode 100644 index 0000000000000..42c4fd6ad2d08 --- /dev/null +++ b/app/controllers/async_info_controller.rb @@ -0,0 +1,55 @@ +class AsyncInfoController < ApplicationController + skip_before_action :ensure_signup_complete + include Devise::Controllers::Rememberable + + caches_action :base_data, + cache_path: Proc.new { "#{request.path}__ + #{request.session_options[:id]}__ + #{current_user.id}__ + #{current_user.last_sign_in_at}__ + #{current_user.updated_at}__ + #{current_user.reactions_count}__ + #{current_user.comments_count}__ + #{current_user.saw_onboarding}__ + #{current_user.checked_code_of_conduct}__ + #{current_user.articles_count}__ + #{cookies[:remember_user_token]}" }, + expires_in: 15.minutes + + def base_data + flash.discard(:notice) + unless user_signed_in? + render json: {} + return + end + if cookies[:remember_user_token].blank? + current_user.remember_me = true + current_user.remember_me! + remember_me(current_user) + end + @user = current_user.decorate + respond_to do |format| + format.json do + render json: { + param: request_forgery_protection_token, + token: form_authenticity_token, + user: { + id: @user.id, + name: @user.name, + username: @user.username, + profile_image_90: ProfileImage.new(@user).get(90), + followed_tag_names: @user.cached_followed_tag_names, + followed_tags: @user.cached_followed_tags.to_json(only: [:id,:name,:bg_color_hex,:text_color_hex]), + followed_user_ids: @user.cached_following_users_ids, + reading_list_ids: ReadingList.new(@user).cached_ids_of_articles, + saw_onboarding: @user.saw_onboarding, + onboarding_checklist: UserStates.new(@user).cached_onboarding_checklist, + checked_code_of_conduct: @user.checked_code_of_conduct, + number_of_comments: @user.comments.count, + display_sponsors: @user.display_sponsors, + }.to_json + } + end + end + end +end diff --git a/app/controllers/blocks_controller.rb b/app/controllers/blocks_controller.rb new file mode 100644 index 0000000000000..63400bd42eb19 --- /dev/null +++ b/app/controllers/blocks_controller.rb @@ -0,0 +1,84 @@ +class BlocksController < ApplicationController + before_action :set_block, only: [:show, :edit, :update, :destroy] + + before_action :require_super_admin + + # GET /blocks + # GET /blocks.json + def index + @blocks = Block.order("index_position ASC") + end + + # GET /blocks/1 + # GET /blocks/1.json + def show + end + + # GET /blocks/new + def new + @block = Block.new + end + + # GET /blocks/1/edit + def edit + end + + # POST /blocks + # POST /blocks.json + def create + @block = Block.new(block_params) + + respond_to do |format| + if @block.save + format.html { redirect_to @block, notice: 'Block was successfully created.' } + format.json { render :show, status: :created, location: @block } + else + format.html { render :new } + format.json { render json: @block.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /blocks/1 + # PATCH/PUT /blocks/1.json + def update + respond_to do |format| + if @block.update(block_params) + if block_params[:publish_now] + @block.publish! + end + format.html { redirect_to @block, notice: 'Block was successfully updated.' } + format.json { render :show, status: :ok, location: @block } + else + format.html { render :edit } + format.json { render json: @block.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /blocks/1 + # DELETE /blocks/1.json + def destroy + @block.destroy + respond_to do |format| + format.html { redirect_to blocks_url, notice: 'Block was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_block + @block = Block.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def block_params + params.require(:block).permit(:input_html, + :input_css, + :input_javascript, + :featured, + :index_position, + :publish_now) + end +end diff --git a/app/controllers/buffered_articles_controller.rb b/app/controllers/buffered_articles_controller.rb new file mode 100644 index 0000000000000..7e19f99722999 --- /dev/null +++ b/app/controllers/buffered_articles_controller.rb @@ -0,0 +1,18 @@ +class BufferedArticlesController < ApplicationController + def index + @article_urls = buffered_article_urls + render json: { + urls: @article_urls, + }.to_json + end + + def buffered_article_urls + if Rails.env.production? + Article. + where("last_buffered > ?", 24.hours.ago). + map { |a| "https://dev.to#{a.path}" } + else + Article.all.map { |a| "https://dev.to#{a.path}" } + end + end +end diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb new file mode 100644 index 0000000000000..7b4989c6e6be5 --- /dev/null +++ b/app/controllers/comments_controller.rb @@ -0,0 +1,153 @@ +class CommentsController < ApplicationController + before_action :set_comment, only: [ :update, :destroy] + before_action :set_cache_control_headers, only: [:index] + before_action :raise_banned, only: [:create,:update] + + # GET /comments + # GET /comments.json + def index + @on_comments_page = true + @comment = Comment.new + @podcast = Podcast.find_by_slug(params[:username]) + + if params[:id_code].present? + @root_comment = Comment.find(params[:id_code].to_i(26)) + end + + if @podcast + @user = @podcast + @commentable = @user.podcast_episodes.find_by_slug(params[:slug]) or not_found + else + @user = User.find_by_username(params[:username]) || + Organization.find_by_slug(params[:username]) || + not_found + @commentable = @root_comment&.commentable || + @user.articles.find_by_slug(params[:slug]) || + not_found + @article = @commentable + end + @commentable_type = @commentable.class.name + if params[:id_code].present? + @root_comment = Comment.find(params[:id_code].to_i(26)) + end + + set_surrogate_key_header "comments-for-#{@commentable.id}-#{@commentable_type}" + end + + # GET /comments/1 + # GET /comments/1.json + # def show + # @comment = Comment.find_by_id_code(params[:id_code]) + # end + + # GET /comments/1/edit + def edit + @comment = Comment.find(params[:id_code].to_i(26)) + not_found unless current_user && current_user.id == @comment.user_id + @parent_comment = @comment.parent + @commentable = @comment.commentable + end + + # POST /comments + # POST /comments.json + def create + csrf_logger_info("comment creation") + unless current_user + redirect_to "/" + return + end + raise if RateLimitChecker.new(current_user).limit_by_situation("comment_creation") + @comment = Comment.new(comment_params) + @comment.user_id = current_user.id + if @comment.save + if params[:checked_code_of_conduct].present? && !current_user.checked_code_of_conduct + current_user.update(checked_code_of_conduct: true) + end + Mention.create_all(@comment) + if @comment.invalid? + @comment.destroy + render json: { status: "comment already exists" } + return + end + render json: { status: "created", + css: @comment.custom_css, + depth: @comment.depth, + url: @comment.path, + readable_publish_date: @comment.readable_publish_date, + body_html: @comment.processed_html, + id: @comment.id, + id_code: @comment.id_code_generated, + user: { + id: current_user.id, + username: current_user.username, + name: current_user.name, + profile_pic: ProfileImage.new(current_user).get(50), + twitter_username: current_user.twitter_username, + github_username: current_user.github_username, + } } + elsif @comment = Comment.where(body_markdown: @comment.body_markdown, + commentable_id: @comment.commentable.id, + ancestry: @comment.ancestry)[1] + @comment.destroy + render json: { status: "comment already exists" } + return + else + render json: { status: "errors" } + return + end + end + + # PATCH/PUT /comments/1 + # PATCH/PUT /comments/1.json + def update + raise unless @comment.user_id == current_user.id + if @comment.update(comment_update_params.merge({ edited_at: DateTime.now })) + Mention.create_all(@comment) + redirect_to "#{@comment.commentable.path}/comments/#{@comment.id_code_generated}", notice: "Comment was successfully updated." + else + @commentable = @comment.commentable + render :edit + end + end + + # DELETE /comments/1 + # DELETE /comments/1.json + def destroy + raise unless @comment.user_id == current_user.id + @commentable_path = @comment.commentable.path + if @comment.is_childless? + @comment.destroy + else + @comment.deleted = true + @comment.save! + end + redirect_to @commentable_path, notice: "Comment was successfully deleted." + end + + def delete_confirm + unless current_user && Comment.where(id: params[:id_code].to_i(26), user_id: current_user.id ).first + @comment = Comment.find(params[:id_code].to_i(26)) + redirect_to @comment.path + return + end + @comment = Comment.where(id: params[:id_code].to_i(26), user_id: current_user.id ).first + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_comment + @comment = Comment.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def comment_params + params.require(:comment).permit(:body_markdown, + :commentable_id, + :commentable_type, + :parent_id) + end + + def comment_update_params + params.require(:comment).permit(:body_markdown) + end +end diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/controllers/concerns/enforce_admin.rb b/app/controllers/concerns/enforce_admin.rb new file mode 100644 index 0000000000000..b83c4ac69bf08 --- /dev/null +++ b/app/controllers/concerns/enforce_admin.rb @@ -0,0 +1,17 @@ +module EnforceAdmin + extend ActiveSupport::Concern + + def require_super_admin + return verify_admin_status if current_user + redirect_to "/enter" + end + + def verify_admin_status + return if current_user_is_admin? + redirect_to "/", status: 422 + end + + def current_user_is_admin? + current_user&.has_any_role?(:super_admin, :admin) + end +end diff --git a/app/controllers/dashboards_controller.rb b/app/controllers/dashboards_controller.rb new file mode 100644 index 0000000000000..bfcd3e7ebc9ce --- /dev/null +++ b/app/controllers/dashboards_controller.rb @@ -0,0 +1,21 @@ +class DashboardsController < ApplicationController + before_action :set_no_cache_header + def show + @user = if params[:username] && current_user_is_admin? + User.find_by_username(params[:username]) + else + current_user + end + if params[:which] == "following_users" + @users = @user.following_users + elsif params[:which] == "user_followers" + @users = @user.user_followers + elsif @user&.organization && @user.org_admin && params[:which] == "organization" + @articles = @user.organization.articles.order("created_at DESC").decorate + elsif @user + @articles = @user.articles.order("created_at DESC").decorate + else + redirect_to "/enter" + end + end +end diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb new file mode 100644 index 0000000000000..d67b50c530b68 --- /dev/null +++ b/app/controllers/events_controller.rb @@ -0,0 +1,12 @@ +class EventsController < ApplicationController + before_action :set_cache_control_headers, only: [:index] + def index + @events = Event.in_the_future_and_published.sort_by(&:starts_at) + @past_events = Event.in_the_past_and_published.sort_by(&:starts_at) + set_surrogate_key_header "events_index_page" + end + + def show + @event = Event.find(params[:id]) + end +end diff --git a/app/controllers/feedback_messages_controller.rb b/app/controllers/feedback_messages_controller.rb new file mode 100644 index 0000000000000..236d282cdc777 --- /dev/null +++ b/app/controllers/feedback_messages_controller.rb @@ -0,0 +1,83 @@ +class FeedbackMessagesController < ApplicationController + skip_before_action :verify_authenticity_token + + def create + flash.clear + @feedback = FeedbackMessage.new(feedback_message_params.merge(user_id: current_user&.id)) + if authorize_send? + send_slack_message + @feedback.save + render :index + elsif feedback_message_params[:feedback_type] == "bug-reports" + flash.now[:notice] = "Make sure the forms are filled 🤖 " + render file: "public/500.html", status: 500, layout: false + else + flash.now[:notice] = "Make sure the forms are filled 🤖 " + @previous_message = feedback_message_params[:message] + render "pages/report-abuse.html.erb" + end + end + + def authorize_send? + recaptcha_verified? && form_filled? + end + + private + + def recaptcha_verified? + params["g-recaptcha-response"] && verify_recaptcha(secret_key: ENV["RECAPTCHA_SECRET"]) + end + + def send_slack_message + SlackBot.ping( + generate_message, + channel: "#{feedback_message_params[:feedback_type]}", + username: "#{feedback_message_params[:feedback_type]}_bot", + icon_emoji: ":#{emoji_for_feedback(feedback_message_params[:feedback_type])}:", + ) + end + + def generate_message + <<~HEREDOC + #{generate_user_detail} + Category: #{feedback_message_params[:category_selection]} + Message: #{feedback_message_params[:message]} + URL: #{params[:url]} + HEREDOC + end + + def generate_user_detail + return "" unless current_user + <<~HEREDOC + *Logged in user:* + username: #{current_user.username} + email: #{current_user.email} + twitter: #{current_user.twitter_username} + github: #{current_user.github_username} + HEREDOC + end + + def form_filled? + if feedback_message_params[:feedback_type] == "abuse-reports" + feedback_message_params[:category_selection].present? + else + feedback_message_params[:message].present? || + feedback_message_params[:category_selection].present? + end + end + + def emoji_for_feedback(feedback_type) + case feedback_type + when "abuse-reports" + "cry" + when "bug-reports" + "face_with_head_bandage" + else + "robot_face" + end + end + + def feedback_message_params + params[:feedback_message].permit(:message, :feedback_type, :category_selection) + end +end diff --git a/app/controllers/followed_articles_controller.rb b/app/controllers/followed_articles_controller.rb new file mode 100644 index 0000000000000..4b2a631aca800 --- /dev/null +++ b/app/controllers/followed_articles_controller.rb @@ -0,0 +1,61 @@ +class FollowedArticlesController < ApplicationController + skip_before_action :ensure_signup_complete + + caches_action :index, + :cache_path => Proc.new { "followed_articles_#{current_user.id}__#{current_user.updated_at}__#{user_signed_in?.to_s}" }, + :expires_in => 35.minutes + + def index + if current_user + @articles = Rails.cache.fetch("user-#{current_user.id}__#{current_user.updated_at}/followed_articles", expires_in: 30.minutes) do + current_user. + followed_articles. + includes(:user). + where("published_at > ?", 5.days.ago). + order("hotness_score DESC"). + limit(25). + map do |a| + unless inappropriate_hiring_instance(a) + article_json(a) + end + end.compact + end + else + @articles = [] + end + classic_article = ClassicArticle.new(current_user).get + response.headers["Cache-Control"] = "public, max-age=150" + render json: { + articles: @articles, + classic_article: (article_json(classic_article) if classic_article), + }.to_json + end + + def inappropriate_hiring_instance(article) + (article.decorate.cached_tag_list_array.include?("hiring") && !article.approved) || + (article.decorate.cached_tag_list_array.include?("hiring") && current_user.cached_followed_tag_names.exclude?("hiring")) + end + + def article_json(a) + Rails.cache.fetch("article_json-#{a.id}-#{a.updated_at}-#{a.comments_count}-#{a.reactions_count}", expires_in: 30.minutes) do + { + id: a.id, + path: a.path, + tag_list: a.decorate.cached_tag_list_array, + title: a.title, + published_at_int: a.published_at.to_i, + published_at_month_day: a.published_at.strftime("%B #{a.published_at.day.ordinalize}"), + is_classic: a.published_at < 7.days.ago, + comments_count: a.comments_count, + reactions_count: a.positive_reactions_count, + language: a.language, + user: { + name: a.user.name, + username: a.user.username, + profile_image_90: ProfileImage.new(a.user).get(90), + }, + flare_tag: FlareTag.new(a).tag_hash, + } + end + end +end diff --git a/app/controllers/follows_controller.rb b/app/controllers/follows_controller.rb new file mode 100644 index 0000000000000..1a3f3de4355c4 --- /dev/null +++ b/app/controllers/follows_controller.rb @@ -0,0 +1,35 @@ +class FollowsController < ApplicationController + skip_before_action :ensure_signup_complete + + def show + unless current_user + render plain: "not-logged-in" + return + end + if current_user.id == params[:id].to_i && params[:followable_type] == "User" + render plain: "self" + return + end + render plain: FollowChecker.new(current_user, params[:followable_type], params[:id]).cached_follow_check + end + + def create + if params[:followable_type] == "Organization" + followable = Organization.find(params[:followable_id]) + elsif params[:followable_type] == "Tag" + followable = Tag.find(params[:followable_id]) + else + followable = User.find(params[:followable_id]) + end + if params[:verb] == "unfollow" + current_user.stop_following(followable) + @result = "unfollowed" + else + current_user.follow(followable) + @result = "followed" + end + current_user.save + current_user.touch + render json: { outcome: @result } + end +end diff --git a/app/controllers/ga_events_controller.rb b/app/controllers/ga_events_controller.rb new file mode 100644 index 0000000000000..218e1d0ad2ab6 --- /dev/null +++ b/app/controllers/ga_events_controller.rb @@ -0,0 +1,34 @@ +class GaEventsController < ApplicationController + skip_before_action :verify_authenticity_token + def create + # unless valid_request_origin? + # render body: nil + # return + # end + json = JSON.parse(request.raw_post) + user_id = user_signed_in? ? current_user.id : nil + client_id = "#{ip[0..12]}_#{json['user_agent']}_#{user_id}" + tracker = Staccato.tracker(ENV["GA_TRACKING_ID"], client_id) + tracker.pageview( + path: json["path"], + user_id: user_id, + user_ip: ip, + user_language: json["user_language"], + referrer: (json["referrer"] if json["referrer"] && !json["referrer"].start_with?("https://dev.to")), + user_agent: json["user_agent"], + viewport_size: json["viewport_size"], + screen_resolution: json["screen_resolution"], + document_title: json["document_title"], + document_encoding: json["document_encoding"], + document_path: json["document_path"], + cache_buster: rand(100000000000).to_s, + data_source: "web", + ) + logger.info("Server-Side Google Analytics Tracking - #{client_id}") + render body: nil + end + + def ip + request.env["HTTP_X_FORWARDED_FOR"] || request.remote_ip + end +end diff --git a/app/controllers/github_repos_controller.rb b/app/controllers/github_repos_controller.rb new file mode 100644 index 0000000000000..2efbe5e9775df --- /dev/null +++ b/app/controllers/github_repos_controller.rb @@ -0,0 +1,46 @@ +class GithubReposController < ApplicationController + def create + @client = create_octokit_client + @repo = GithubRepo.find_or_create(github_repo_params[:url], fetched_repo_params) + redirect_to "/settings/integrations", notice: "GitHub repo added" + end + + def update + @repo = GithubRepo.find(params[:id]) + @repo.update(featured: false) + redirect_to "/settings/integrations", notice: "GitHub repo added" + end + + private + + def create_octokit_client + current_user_token = current_user.identities.where(provider: "github").last.token + client = Octokit::Client.new(access_token: current_user_token) + client.repositories.sort_by!(&:name) if client + client + end + + def fetched_repo_params + fetched_repo = @client.repositories.select do |repo| + repo.id == github_repo_params[:github_id_code].to_i + end.first + { + github_id_code: fetched_repo.id, + user_id: current_user.id, + name: fetched_repo.name, + description: fetched_repo.description, + language: fetched_repo.language, + fork: fetched_repo.fork, + url: fetched_repo.html_url, + bytes_size: fetched_repo.size, + watchers_count: fetched_repo.watchers, + stargazers_count: fetched_repo.stargazers_count, + featured: true, + info_hash: fetched_repo.to_hash, + } + end + + def github_repo_params + params.require(:github_repo).permit(:github_id_code) + end +end diff --git a/app/controllers/giveaways_controller.rb b/app/controllers/giveaways_controller.rb new file mode 100644 index 0000000000000..ee7e2e2a071cc --- /dev/null +++ b/app/controllers/giveaways_controller.rb @@ -0,0 +1,113 @@ +class GiveawaysController < ApplicationController + # GET /giveaways/new + skip_before_action :ensure_signup_complete + + def new + @user = current_user + @errors = [] + end + + def edit + @user = current_user + @errors = [] + end + + # POST /giveaways + # POST /giveaways.json + # def create + # @user = User.new(giveaway_params) + # + # respond_to do |format| + # if @user.save + # format.html { redirect_to @user, notice: 'Giveaway was successfully created.' } + # format.json { render :show, status: :created, location: @user } + # else + # format.html { render :new } + # format.json { render json: @user.errors, status: :unprocessable_entity } + # end + # end + # end + + # PATCH/PUT /giveaways/1 + # PATCH/PUT /giveaways/1.json + def update + prevent_request_if_requested_twice + @user = current_user + @user.assign_attributes(user_params) + @errors = [] + confirm_presence + respond_to do |format| + if @invalid_form + render :edit + return + end + @user.onboarding_package_requested_again = true if @user.onboarding_package_requested + @user.onboarding_package_requested = true + @user.onboarding_package_form_submmitted_at = Time.now.to_datetime + @user.personal_data_updated_at = Time.now.to_datetime + @user.shipping_validated_at = Time.now.to_datetime if user_params[:shipping_validated] == "1" + if @user.save! + format.html { redirect_to "/freestickers/edit" } + format.json { render :show, status: :ok, location: @user } + else + format.html { render :edit } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + private + # Never trust parameters from the scary internet, only allow the white list through. + def user_params + accessible = [ + :email, + :shipping_name, + :shipping_company, + :shipping_address, + :shipping_address_line_2, + :shipping_city, + :shipping_state, + :shipping_country, + :shipping_postal_code, + :shipping_validated, + :top_languages, + :experience_level, + :specialty, + :tabs_or_spaces, + :onboarding_package_requested, + :onboarding_package_form_submmitted_at, + :personal_data_updated_at, + :shirt_size, + :shirt_gender, + ] + params.require(:user).permit(accessible) + end + + def confirm_presence + unless user_params[:shipping_name].present? + @errors << "You need a shipping name" + @invalid_form = true + end + unless user_params[:shipping_address].present? + @errors << "You need a shipping address" + @invalid_form = true + end + unless user_params[:shipping_city].present? + @errors << "You need a shipping city" + @invalid_form = true + end + unless user_params[:shipping_country].present? + @errors << "You need a shipping country" + @invalid_form = true + end + unless user_params[:top_languages].present? + @errors << "You need to include your favorite languages. It's a spam filter." + @invalid_form = true + end + + end + + def prevent_request_if_requested_twice + return if current_user.onboarding_package_requested_again + end +end diff --git a/app/controllers/image_uploads_controller.rb b/app/controllers/image_uploads_controller.rb new file mode 100644 index 0000000000000..4853ea4bdbe84 --- /dev/null +++ b/app/controllers/image_uploads_controller.rb @@ -0,0 +1,14 @@ +class ImageUploadsController < ApplicationController + before_action :authenticate_user! + skip_before_action :verify_authenticity_token + + def create + csrf_logger_info("image upload") + uploader = ArticleImageUploader.new + uploader.store!(params[:image]) + link = uploader.url + respond_to do |format| + format.json { render json: { link: link }, status: 200 } + end + end +end diff --git a/app/controllers/internal/application_controller.rb b/app/controllers/internal/application_controller.rb new file mode 100644 index 0000000000000..69b88e8494422 --- /dev/null +++ b/app/controllers/internal/application_controller.rb @@ -0,0 +1,4 @@ +class Internal::ApplicationController < ApplicationController + include EnforceAdmin + before_action :require_super_admin +end diff --git a/app/controllers/internal/articles_controller.rb b/app/controllers/internal/articles_controller.rb new file mode 100644 index 0000000000000..994e3d195b5dd --- /dev/null +++ b/app/controllers/internal/articles_controller.rb @@ -0,0 +1,101 @@ +class Internal::ArticlesController < Internal::ApplicationController + layout "internal" + + def index + case params[:state] + + when "by-featured-number" + @articles = Article. + where(published: true). + includes(:user). + order("featured_number DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + when "unfeatured-by-published" + @articles = Article. + where(featured: false, published: true). + includes(:user). + order("published_at DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + when "rss" + @articles = Article. + where(published_from_feed: true). + includes(:user). + order("created_at DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + when "rss-recent" + @articles = Article. + where(published_from_feed: true). + includes(:user). + order("published_at DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + when "spam" + @articles = Article. + where(published: true). + where("spaminess_rating > ?", 10). + includes(:user). + order("published_at DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + when /top\-/ + @articles = Article. + where("published_at > ?", params[:state].split("-")[1].to_i.months.ago). + includes(:user). + order("positive_reactions_count DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + else #MIX + @articles = Article. + where(published: true). + order("published_at DESC"). + page(params[:page]). + limited_columns_internal_select. + per(50) + + @featured_articles = Article. + where(published: true). + or(Article.where(published_from_feed: true)). + where(featured: true). + where("featured_number > ?", Time.now.to_i). + includes(:user). + limited_columns_internal_select. + order("featured_number DESC") + end + + end + + def update + article = Article.find(params[:id]) + article.featured = article_params[:featured].to_s == "true" + article.approved = article_params[:approved].to_s == "true" + article.live_now = article_params[:live_now].to_s == "true" + article.update!(article_params) + if article.live_now + Article.where.not(id: article.id).where(live_now: true).update_all(live_now: false) + end + CacheBuster.new.bust "/live_articles" + # raise + render body: nil + # redirect_to "/internal/articles" + end + + private + + def article_params + params.require(:article).permit(:featured, + :social_image, + :approved, + :live_now, + :main_image_background_hex_color, + :featured_number) + end +end diff --git a/app/controllers/internal/broadcasts_controller.rb b/app/controllers/internal/broadcasts_controller.rb new file mode 100644 index 0000000000000..79a29e2307247 --- /dev/null +++ b/app/controllers/internal/broadcasts_controller.rb @@ -0,0 +1,49 @@ +class Internal::BroadcastsController < Internal::ApplicationController + layout "internal" + skip_before_action :verify_authenticity_token + + def create + @broadcast = Broadcast.new(broadcast_params) + if @broadcast.save + # custom notifications not in use yet + # if @broadcast.sent && @broadcast.type_of == "Announcement" + # # only send new notifications for announcements + # # onboarding notifications are automated + # Notification.send_all(@broadcast, @broadcast.type_of) + # end + end + redirect_to "/internal/broadcasts" + end + + def update + @broadcast = Broadcast.find(params[:id]) + @broadcast.update(broadcast_params) + # if @broadcast.save + # if @broadcast.sent && @broadcast.type_of == "Announcement" + # # see create action comments + # Notification.send_all(@broadcast, @broadcast.type_of) + # end + # end + redirect_to "/internal/broadcasts" + end + + def new + @broadcast = Broadcast.new + end + + def edit + @broadcast = Broadcast.find(params[:id]) + end + + def index + @broadcasts = Broadcast.all + end + + private + + def broadcast_params + params.permit(:title, :processed_html, :type_of, :sent) + # left out body_markdown and processed_html attributes + # until we decide we're using them + end +end diff --git a/app/controllers/internal/buffer_updates_controller.rb b/app/controllers/internal/buffer_updates_controller.rb new file mode 100644 index 0000000000000..aef25399a970b --- /dev/null +++ b/app/controllers/internal/buffer_updates_controller.rb @@ -0,0 +1,14 @@ +class Internal::BufferUpdatesController < Internal::ApplicationController + def create + article = Article.find(params[:article_id]) + fb_post = params[:fb_post] + tweet = params[:tweet] + if params[:social_channel] == "twitter" + Bufferizer.new(article, tweet).twitter_post! + render body: nil + elsif params[:social_channel] == "facebook" + Bufferizer.new(article, fb_post).facebook_post! + render body: nil + end + end +end \ No newline at end of file diff --git a/app/controllers/internal/comments_controller.rb b/app/controllers/internal/comments_controller.rb new file mode 100644 index 0000000000000..1cb02e9da8126 --- /dev/null +++ b/app/controllers/internal/comments_controller.rb @@ -0,0 +1,47 @@ +class Internal::CommentsController < Internal::ApplicationController + layout 'internal' + skip_before_action :verify_authenticity_token + + def index + if params[:state]&.start_with?("toplast-") + @comments = Comment. + includes(:user). + includes(:commentable). + includes(:reactions). + order("positive_reactions_count DESC"). + where("created_at > ?", params[:state].split("-").last.to_i.days.ago). + page(params[:page] || 1).per(50) + else + @comments = Comment + .includes(:user) + .includes(:commentable) + .includes(:reactions) + .order("created_at DESC") + .page(params[:page] || 1).per(50) + end + end + + def update + @comment = Comment.find(params[:id]) + respond_to do |format| + if @comment.update(comment_params) + format.html { redirect_to "/internal/comments", notice: 'This comment was updated.' } + format.json { head :no_content } + else + format.html { render :index } + format.json { render json: @comment.errors, status: :unprocessable_entity } + end + end + end + + private + + # Never trust parameters from the scary internet, only allow the white list through. + def comment_params + params.require(:comment).permit(:article_conversion_inquiry, + :article_conversion_won, + :article_conversion_lost) + end + + +end diff --git a/app/controllers/internal/dogfood_controller.rb b/app/controllers/internal/dogfood_controller.rb new file mode 100644 index 0000000000000..8552ebeba8f0e --- /dev/null +++ b/app/controllers/internal/dogfood_controller.rb @@ -0,0 +1,26 @@ +class Internal::DogfoodController < Internal::ApplicationController + layout "internal" + + def index + usernames = if Rails.env.production? + ["ben", "jess", "peter", "maestromac", "andy", "lianafelt"] + else + ["thepracticaldev", "bendhalpern"] + end + + @team_members = User.where(username: usernames) + @comments_this_week = Comment.where(user_id: @team_members.pluck(:id)).where("created_at > ?", Date.today.beginning_of_week).pluck(:user_id) + @comment_totals_this_week = frequency(@comments_this_week) + @comments_24_hours = Comment.where(user_id: @team_members.pluck(:id)).where("created_at > ?",24.hours.ago).pluck(:user_id) + @comment_totals_24_hours = frequency(@comments_24_hours) + end + + def frequency(a) + a.group_by do |e| + e + end.map do |key, values| + { number_of_comments: values.size, username: User.find(key).username } + end.sort_by { |hsh| hsh[:number_of_comments] }.reverse! + end + +end diff --git a/app/controllers/internal/events_controller.rb b/app/controllers/internal/events_controller.rb new file mode 100644 index 0000000000000..978a69be52fba --- /dev/null +++ b/app/controllers/internal/events_controller.rb @@ -0,0 +1,39 @@ +module Internal + class EventsController < ApplicationController + layout "internal" + def index + @events = Event.order("starts_at ASC") + @event = Event.new(location_name: "dev.to/live", + location_url: "https://dev.to", + description_markdown: "*Description* *Pre-requisites:* *Bio*" ) + end + + def create + @event = Event.create!(event_params) + redirect_to(action: :index) + rescue ActiveRecord::RecordInvalid => error + flash[:alert] = error.message + redirect_to(action: :index) + end + + def update + @event = Event.find(params[:id]) + @event.update(event_params) + end + + private + + def event_params + params.require(:event).permit(:title, + :category, + :event_date, + :starts_at, + :ends_at, + :location_name, + :cover_image, + :location_url, + :description_markdown, + :published) + end + end +end diff --git a/app/controllers/internal/members_controller.rb b/app/controllers/internal/members_controller.rb new file mode 100644 index 0000000000000..4a15839ab5408 --- /dev/null +++ b/app/controllers/internal/members_controller.rb @@ -0,0 +1,24 @@ +class Internal::MembersController < Internal::ApplicationController + layout "internal" + + def index + # Andy: with_role and with_any_role returns an array and not an ActiveRecord collection + @users = case params[:state] + when "by-scholars" + User.with_role(:workshop_pass).sort_by(&:name) + when "by-members" + User.with_any_role(:level_1_member, + :level_2_member, + :level_3_member, + :level_4_member, + :triple_unicorn_member).sort_by(&:name) + else # members and scholars + User.with_any_role(:level_1_member, + :level_2_member, + :level_3_member, + :level_4_member, + :triple_unicorn_member, + :workshop_pass).sort_by(&:name) + end + end +end diff --git a/app/controllers/internal/tags_controller.rb b/app/controllers/internal/tags_controller.rb new file mode 100644 index 0000000000000..6cf8fc6556adb --- /dev/null +++ b/app/controllers/internal/tags_controller.rb @@ -0,0 +1,30 @@ +class Internal::TagsController < Internal::ApplicationController + layout 'internal' + skip_before_action :verify_authenticity_token + + def index + if params[:state] == "supported" + @tags = Tag.where(supported: true).order("taggings_count DESC").limit(120) + else + @tags = Tag.order("taggings_count DESC").limit(120) + end + end + + def update + @tag = Tag.find(params[:id]) + @tag.update(tag_params) + redirect_to(action: :index) + end + + private + + def tag_params + params.require(:tag).permit(:supported, + :rules_markdown, + :short_summary, + :pretty_name, + :bg_color_hex, + :text_color_hex) + end + +end \ No newline at end of file diff --git a/app/controllers/internal/users_controller.rb b/app/controllers/internal/users_controller.rb new file mode 100644 index 0000000000000..42bb0d01ccf56 --- /dev/null +++ b/app/controllers/internal/users_controller.rb @@ -0,0 +1,38 @@ +class Internal::UsersController < Internal::ApplicationController + layout 'internal' + + def index + @users = User.where.not(feed_url: nil) + end + + def edit + @user = User.find(params[:id]) + end + + def update + # Only used for stripping user right now. + @user = User.find(params[:id]) + strip_user(@user) + redirect_to "/internal/users/#{@user.id}/edit" + end + + def strip_user(user) + return unless user.comments.where("created_at < ?", 7.days.ago).empty? + user.summary = "" + user.twitter_username = "" + user.github_username = "" + user.website_url = "" + user.add_role :banned + unless user.notes.where(reason: "banned").any? + user.notes.create!(reason: "banned", content: "spam account") + end + user.comments.each do |comment| + comment.reactions.each &:destroy! + comment.destroy! + end + user.articles.each &:destroy! + user.save! + rescue => e + flash[:error] = e.message + end +end diff --git a/app/controllers/internal/welcome_controller.rb b/app/controllers/internal/welcome_controller.rb new file mode 100644 index 0000000000000..256dbe71fd6f3 --- /dev/null +++ b/app/controllers/internal/welcome_controller.rb @@ -0,0 +1,35 @@ +class Internal::WelcomeController < Internal::ApplicationController + layout "internal" + skip_before_action :verify_authenticity_token + + def index + @daily_threads = Article.where("title LIKE 'Welcome Thread - %'") + end + + def create + welcome_thread = Article.create( + body_markdown: welcome_thread_content, + user_id: ENV["DEVTO_USER_ID"], + ) + redirect_to welcome_thread.path + "/edit" + end + + private + + def welcome_thread_content + <<~HEREDOC + --- + title: Welcome Thread - v0 + published: false + description: Introduce yourself to the community! + tags: welcome + --- + + Hey there! Welcome to dev.to! + + ![WELCOME TO THE INTERNET](https://slack-imgs.com/?c=1&url=http%3A%2F%2Fmedia0.giphy.com%2Fmedia%2FzhbrTTpmSCYog%2Fgiphy-downsized.gif) + + Leave a comment below to introduce yourself to the community!✌️ + HEREDOC + end +end diff --git a/app/controllers/live_articles_controller.rb b/app/controllers/live_articles_controller.rb new file mode 100644 index 0000000000000..7886fb8533996 --- /dev/null +++ b/app/controllers/live_articles_controller.rb @@ -0,0 +1,23 @@ +class LiveArticlesController < ApplicationController + before_action :set_cache_control_headers, only: [:index] + + def index + if @article = Article.where(live_now: true).order("featured_number DESC").first + set_surrogate_key_header "live--#{@article.id}" + render json: { + title: @article.title, + path: @article.path, + tag_list: @article.tag_list, + comments_count: @article.comments_count, + positive_reactions_count: @article.positive_reactions_count, + user: { + name: @article.user.name, + profile_pic: ProfileImage.new(@article.user).get(50), + } + } + else + set_surrogate_key_header "live--nothing" + render json: {} + end + end +end diff --git a/app/controllers/notifications/counts_controller.rb b/app/controllers/notifications/counts_controller.rb new file mode 100644 index 0000000000000..e5dc0e785c697 --- /dev/null +++ b/app/controllers/notifications/counts_controller.rb @@ -0,0 +1,7 @@ +class Notifications::CountsController < ApplicationController + skip_before_action :ensure_signup_complete + def index + count = GetUnseenNotificationsService.new(current_user).get + render plain: count.to_s + end +end diff --git a/app/controllers/notifications/reads_controller.rb b/app/controllers/notifications/reads_controller.rb new file mode 100644 index 0000000000000..a0bd4dc864fad --- /dev/null +++ b/app/controllers/notifications/reads_controller.rb @@ -0,0 +1,10 @@ +class Notifications::ReadsController < ApplicationController + skip_before_action :verify_authenticity_token + skip_before_action :ensure_signup_complete + def create + result = "" + result = ReadNotificationsService.new(current_user).mark_as_read if current_user + current_user&.touch(:last_notification_activity) + render plain: result + end +end diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb new file mode 100644 index 0000000000000..46559d835cdbf --- /dev/null +++ b/app/controllers/notifications_controller.rb @@ -0,0 +1,66 @@ +class NotificationsController < ApplicationController + before_action :create_enricher + + def index + if user_signed_in? + @notifications_index = true + @user = if params[:username] && current_user_is_admin? + User.find_by_username(params[:username]) + else + current_user + end + @activities = cached_activities + @last_user_reaction = @user.reactions.pluck(:id).last + @last_user_comment = @user.comments.pluck(:id).last + end + end + + private + + def cached_activities + return feed_activities if Rails.env.development? + Rails.cache.fetch("notifications-fetch-#{@user.id}-#{@user.last_notification_activity}", + expires_in: 5.hours) do + feed_activities + end + end + + def feed_activities + feed = StreamRails.feed_manager.get_notification_feed(@user.id) + results = feed.get(limit: 45)["results"] + @enricher.enrich_aggregated_activities(results) + end + + def create_enricher + @enricher = StreamRails::Enrich.new + end +end + +module StreamRails + class Enrich + def retrieve_objects(references) + Hash[references.map { |model, ids| [model, Hash[construct_query(model, ids).map { |i| [i.id.to_s, i] }]] }] + end + + def construct_query(model, ids) + case model + when "User" + model.classify.constantize.where(id: ids.keys).select(:id, :name, :username, :profile_image) + when "Comment" + model.classify.constantize.where(id: ids.keys). + select(:id, :id_code, :user_id, :processed_html, + :commentable_id, :commentable_type, + :updated_at, :ancestry). + includes(:user, :commentable) + when "Reaction" + model.classify.constantize.where(id: ids.keys). + includes(reactable: :user) + when "Article" + model.classify.constantize.where(id: ids.keys). + select(:id, :title, :path, :user_id, :updated_at, :cached_tag_list) + else + model.classify.constantize.where(id: ids.keys) + end + end + end +end \ No newline at end of file diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb new file mode 100644 index 0000000000000..9929af82f0b5f --- /dev/null +++ b/app/controllers/omniauth_callbacks_controller.rb @@ -0,0 +1,25 @@ +class OmniauthCallbacksController < Devise::OmniauthCallbacksController + include Devise::Controllers::Rememberable + def self.provides_callback_for(provider) + # raise env["omniauth.auth"].to_yaml + class_eval %Q{ + def #{provider} + cta_variant = request.env["omniauth.params"]['state'] + @user = AuthorizationService.new(request.env["omniauth.auth"], current_user, cta_variant).get_user + if @user.persisted? + remember_me(@user) + sign_in_and_redirect @user, event: :authentication + set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format? + else + session["devise.#{provider}_data"] = request.env["omniauth.auth"] + redirect_to new_user_registration_url + end + end + } + end + + [:twitter, :github].each do |provider| + provides_callback_for provider + end + +end diff --git a/app/controllers/onboarding_controller.rb b/app/controllers/onboarding_controller.rb new file mode 100644 index 0000000000000..0aad609818438 --- /dev/null +++ b/app/controllers/onboarding_controller.rb @@ -0,0 +1,17 @@ +class OnboardingController < ApplicationController + + def index + if Rails.env.test? + redirect_to "/" + elsif current_user.email.blank? && current_user.unconfirmed_email.blank? + basic_info + else + redirect_to "/settings" + end + end + + def basic_info + @user = current_user + render :basic_info + end +end diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb new file mode 100644 index 0000000000000..04d70cca78048 --- /dev/null +++ b/app/controllers/organizations_controller.rb @@ -0,0 +1,66 @@ +class OrganizationsController < ApplicationController + before_action :authenticate_user!, except: [:show] + + def create + @tab = "organization" + @user = current_user + @tab_list = tab_list(@user) + @organization = Organization.new(organization_params) + if @organization.save + current_user.update(organization_id: @organization.id, org_admin: true) + redirect_to "/settings/organization", notice: "Your organization was successfully created and you are an admin." + else + @tab = "switch-organizations" if @user.has_role?(:switch_between_orgs) + render template: "users/edit" + end + end + + # GET /users/:id/edit + def update + @user = current_user + @tab = "organization" + @tab_list = tab_list(@user) + raise unless @user.org_admin + @organization = @user.organization + if @organization.update(organization_params) + redirect_to "/settings/organization", notice: 'Your organization was successfully updated.' + else + render template: 'users/edit' + end + end + + def generate_new_secret + raise unless current_user.org_admin + @organization = current_user.organization + @organization.secret = @organization.generated_random_secret + @organization.save + redirect_to "/settings/organization", notice: 'Your org secret was updated' + end + + private + + def organization_params + params.require(:organization).permit(:name, + :summary, + :slug, + :url, + :proof, + :profile_image, + :location, + :company_size, + :tech_stack, + :email, + :story, + :bg_color_hex, + :text_color_hex, + :twitter_username, + :github_username). + transform_values do |value| + if value.class.name == "String" + ActionController::Base.helpers.strip_tags(value) + else + value + end + end + end +end diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb new file mode 100644 index 0000000000000..2d10b287502c6 --- /dev/null +++ b/app/controllers/pages_controller.rb @@ -0,0 +1,62 @@ +class PagesController < ApplicationController + before_action :set_cache_control_headers, only: [:rlyweb, :now, :events, :membership] + + def phishing + @user = current_user + end + + def now + set_surrogate_key_header "now_page" + end + + def about + set_surrogate_key_header "about_page" + end + + def membership + flash[:notice] = "" + flash[:error] = "" + @members = members_for_display + set_surrogate_key_header "membership_page" + end + + def membership_form + render "membership_form", layout: false + end + + def rlyweb + set_surrogate_key_header "rlyweb" + end + + def welcome + daily_thread = latest_published_welcome_thread + if daily_thread + redirect_to daily_thread.path + else + # fail safe if we haven't made the first welcome thread + redirect_to "/notifications" + end + end + + def live; end + + private # helpers + + def latest_published_welcome_thread + Article.where(user_id: ENV["DEVTO_USER_ID"], published: true). + tagged_with("welcome").last + end + + def members_for_display + Rails.cache.fetch("members-for-display-on-membership-page", expires_in: 6.hours) do + members = User.with_any_role(:level_1_member, + :level_2_member, + :level_3_member, + :level_4_member, + :triple_unicorn_member, + :workshop_pass) + team_ids = [1, 264, 6, 3, 31047, 510, 560, 1075, 48943, 13962] + members.reject { |user| team_ids.include?(user.id) }.shuffle + end + end +end diff --git a/app/controllers/podcast_episodes_controller.rb b/app/controllers/podcast_episodes_controller.rb new file mode 100644 index 0000000000000..17b8b6434fdc5 --- /dev/null +++ b/app/controllers/podcast_episodes_controller.rb @@ -0,0 +1,33 @@ +class PodcastEpisodesController < ApplicationController + + before_action :require_http_auth, only: [:edit,:update,:admin] + before_action :set_cache_control_headers, only: [:index, :show] + + def index + @podcast_index = true + @podcasts = Podcast.order("title asc") + @podcast_episodes = PodcastEpisode.order("published_at desc").first(20) + unless params[:q].present? + set_surrogate_key_header 'podcast_episodes_all '+params[:q].to_s, @podcast_episodes.map { |e| e["record_key"]} + end + @featured_story = Article.new + @podcast_index = true + @article_index = true + @list_of = "podcast-episodes" + render :template => 'articles/index' + end + + private + + def podcast_episode_params + params.require(:podcast_episode).permit(:title, + :body, + :image, + :social_image, + :remote_social_image_url, + :quote) + end + + + +end diff --git a/app/controllers/reactions_controller.rb b/app/controllers/reactions_controller.rb new file mode 100644 index 0000000000000..43232f5567b23 --- /dev/null +++ b/app/controllers/reactions_controller.rb @@ -0,0 +1,94 @@ +class ReactionsController < ApplicationController + before_action :set_cache_control_headers, only: [:logged_out_reaction_counts] + + def index + if params[:article_id] + article = Article.cached_find(params[:article_id]) + reactions = if efficient_current_user_id.present? + Reaction.where(reactable_id: article.id, + reactable_type: "Article", + user_id: efficient_current_user_id). + where("points > ?", 0) + else + [] + end + render json: + { + current_user: { id: efficient_current_user_id }, + article_reaction_counts: Reaction.count_for_reactable(article), + reactions: reactions, + }.to_json + else + comments = Comment.where( + commentable_id: params[:commentable_id], + commentable_type: params[:commentable_type], + ).select([:id, :positive_reactions_count]) + comment_ids = comments.map(&:id) + reaction_counts = comments.map { |c| { id: c.id, count: c.positive_reactions_count } } + reactions = current_user ? cached_user_positive_reactions(current_user).where(reactable_id: comment_ids) : [] + render json: + { + current_user: { id: current_user&.id }, + positive_reaction_counts: reaction_counts, + reactions: reactions, + }.to_json + end + end + + def logged_out_reaction_counts + if params[:article_id] + article = Article.cached_find(params[:article_id]) + render json: + { + current_user: { id: nil }, + article_reaction_counts: Reaction.count_for_reactable(article), + reactions: [], + }.to_json + else + comments = Comment.where( + commentable_id: params[:commentable_id], + commentable_type: params[:commentable_type], + ).select([:id, :positive_reactions_count]) + reaction_counts = comments.map { |c| { id: c.id, count: c.positive_reactions_count } } + render json: + { + current_user: { id: nil }, + positive_reaction_counts: reaction_counts, + reactions: [], + }.to_json + end + set_surrogate_key_header params.to_s + end + + def create + csrf_logger_info("reaction creation") + Rails.cache.delete "count_for_reactable-#{params[:reactable_type]}-#{params[:reactable_id]}" + reaction = Reaction.where( + user_id: current_user.id, + reactable_id: params[:reactable_id], + reactable_type: params[:reactable_type], + category: params[:category] || "like", + ).first + if reaction + reaction.user.touch + reaction.destroy + @result = "destroy" + else + Reaction.create!( + user_id: current_user.id, + reactable_id: params[:reactable_id], + reactable_type: params[:reactable_type], + category: params[:category] || "like", + ) + @result = "create" + end + render json: { result: @result } + end + + def cached_user_positive_reactions(user) + Rails.cache.fetch("cached_user_reactions-#{user.id}-#{user.updated_at}", expires_in: 24.hours) do + Reaction.where(user_id: user.id). + where("points > ?", 0) + end + end +end diff --git a/app/controllers/reading_list_items_controller.rb b/app/controllers/reading_list_items_controller.rb new file mode 100644 index 0000000000000..d42d19cbf0c66 --- /dev/null +++ b/app/controllers/reading_list_items_controller.rb @@ -0,0 +1,8 @@ +class ReadingListItemsController < ApplicationController + before_action :set_cache_control_headers, only: [:index] + skip_before_action :ensure_signup_complete + def index + @reading_list_items_index = true + set_surrogate_key_header "reading-list-index" + end +end diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb new file mode 100644 index 0000000000000..332d1b4e9a7b9 --- /dev/null +++ b/app/controllers/registrations_controller.rb @@ -0,0 +1,10 @@ +class RegistrationsController < Devise::RegistrationsController + prepend_before_action :require_no_authentication, :only => [] + def new + if user_signed_in? + redirect_to "/dashboard?signed-in-already&t=#{Time.now.to_i}" + return + end + super + end +end diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb new file mode 100644 index 0000000000000..5402005a8036c --- /dev/null +++ b/app/controllers/stories_controller.rb @@ -0,0 +1,256 @@ +class StoriesController < ApplicationController + before_action :authenticate_user!, except: [:index,:search,:show,:amp, :feed, :new] + before_action :set_cache_control_headers, only: [:index, :search, :show] + + skip_before_action :ensure_signup_complete + + layout "amp", only: [:amp] + + def index + return handle_user_or_organization_or_podcast_index if params[:username] + return handle_tag_index if params[:tag] + handle_base_index + end + + def search + @query = "...searching" + @stories = Article.none + @featured_story = Article.new + @article_index = true + set_surrogate_key_header "articles-page-with-query" + render template: "articles/index" + end + + def show + @story_show = true + @podcast = Podcast.find_by_slug(params[:username]) + @episode = PodcastEpisode.find_by_slug(params[:slug]) + if @podcast && @episode + handle_podcast_show + else + handle_article_show + end + end + + private + + def redirect_to_changed_username_profile + if @user = User.find_by_old_username(params[:username].tr("@", "").downcase) + redirect_to @user.path + return + end + if @user = User.find_by_old_old_username(params[:username].tr("@", "").downcase) + redirect_to @user.path + return + end + not_found + end + + def redirect_to_changed_username_article_page + if @user = User.find_by_old_username(params[:username].tr("@", "").downcase) + if @user.articles.find_by_slug(params[:slug]) + redirect_to "/#{@user.username}/#{params[:slug]}" + return + end + end + if @user = User.find_by_old_old_username(params[:username].tr("@", "").downcase) + if @user.articles.find_by_slug(params[:slug]) + redirect_to "/#{@user.username}/#{params[:slug]}" + return + end + end + not_found + end + + def handle_user_or_organization_or_podcast_index + @podcast = Podcast.find_by_slug(params[:username].downcase) + @organization = Organization.find_by_slug(params[:username].downcase) + if @podcast + handle_podcast_index + elsif @organization + handle_organization_index + else + handle_user_index + end + end + + def handle_tag_index + @tag = params[:tag].downcase + @page = (params[:page] || 1).to_i + @tag_model = Tag.find_by_name(@tag) || not_found + if @tag_model.alias_for.present? + redirect_to "/t/#{@tag_model.alias_for}" + return + end + if @tag_model && @tag_model.requires_approval + @stories = ArticleDecorator.decorate_collection(Article. + where(published: true, approved: true). + order("#{@tag_model.requires_approval ? "featured_number" : "hotness_score"} DESC"). + includes(:user). + limited_column_select. + page(@page). + per(8). + filter_excluded_tags(@tag)) + else + @stories = ArticleDecorator.decorate_collection(Article. + where(published: true). + order("hotness_score DESC"). + includes(:user). + limited_column_select. + page(@page). + per(user_signed_in? ? 4 : 10). + filter_excluded_tags(@tag)) + end + @featured_story = Article.new + @article_index = true + set_surrogate_key_header "articles-#{@tag}", @stories.map(&:record_key) + response.headers["Surrogate-Control"] = "max-age=600, stale-while-revalidate=30, stale-if-error=86400" + render template: "articles/index" + end + + def handle_base_index + @home_page = true + @page = (params[:page] || 1).to_i + num_articles = user_signed_in? ? 3 : 15 + @stories = ArticleDecorator.decorate_collection(Article.where(published: true, featured: true). + order("hotness_score DESC"). + includes(:user). + limited_column_select. + page(@page). + per(num_articles). + filter_excluded_tags(params[:tag])) + @featured_story = Article.where(published: true, featured: true). + where.not(main_image: nil). + limited_column_select. + order("hotness_score DESC").first&.decorate || Article.new + @podcast_episodes = PodcastEpisode. + includes(:podcast). + order("published_at desc"). + select(:slug, :title, :podcast_id).limit(5) + @article_index = true + @sidebar_ad = DisplayAd.where(approved: true, published: true, placement_area: "sidebar").first + set_surrogate_key_header "articles", @stories.map(&:record_key) + response.headers["Surrogate-Control"] = "max-age=600, stale-while-revalidate=30, stale-if-error=86400" + render template: "articles/index" + end + + def handle_podcast_index + @featured_story = Article.new + @podcast_index = true + @article_index = true + @list_of = "podcast-episodes" + @podcast_episodes = @podcast.podcast_episodes.order("published_at DESC").limit(30) + set_surrogate_key_header "podcast_episodes", (@podcast_episodes.map { |e| e["record_key"] }) + render template: "articles/index" + end + + def handle_organization_index + @user = @organization + @stories = ArticleDecorator.decorate_collection(@organization.articles. + where(published: true). + limited_column_select. + includes(:user). + order("published_at DESC").page(@page).per(8)) + @featured_story = Article.new + @article_index = true + @organization_article_index = true + set_surrogate_key_header "articles-org-#{@organization.id}", @stories.map(&:record_key) + render template: "articles/index" + end + + def handle_user_index + @user = User.find_by_username(params[:username].tr("@","").downcase) + unless @user + redirect_to_changed_username_profile + return + end + comment_count = params[:view] == "comments" ? 250 : 8 + @comments = @user.comments. + order("created_at DESC").includes(:commentable).limit(comment_count) + @stories = ArticleDecorator.decorate_collection(@user. + articles.where(published: true). + limited_column_select. + order("published_at DESC").page(@page).per(user_signed_in? ? 2 : 5)) + @featured_story = Article.new + @article_index = true + @list_of = "articles" + redirect_if_view_param; return if performed? + set_surrogate_key_header "articles-user-#{@user.id}", @stories.map(&:record_key) + render template: "articles/index" + end + + def handle_podcast_show + set_surrogate_key_header @episode.record_key + @podcast_episode_show = true + @comments_to_show_count = 25 + @comment = Comment.new + render template: "podcast_episodes/show" + return + end + + def redirect_if_view_param + if params[:view] == "moderate" + redirect_to "/internal/users/#{@user.id}/edit" + end + if params[:view] == "admin" + redirect_to "/admin/users/#{@user.id}/edit" + end + end + + def handle_article_show + @article_show = true + @comment = Comment.new + assign_article_and_user_and_organization + handle_possible_redirect; return if performed? + not_found unless @article + @comments_to_show_count = @article.cached_tag_list_array.include?("discuss") ? 75 : 25 + assign_second_and_third_user + not_found if permission_denied? + set_surrogate_key_header @article.record_key + unless user_signed_in? + response.headers["Surrogate-Control"] = "max-age=10000, stale-while-revalidate=30, stale-if-error=86400" + end + render template: "articles/show" + end + + def permission_denied? + !@article.published && params[:preview] != @article.password + end + + def assign_article_and_user_and_organization + @organization = Organization.find_by_slug(params[:username].downcase) + @organization ? assign_organization_article : assign_user_article + end + + def assign_second_and_third_user + if @article.second_user_id.present? + @second_user = User.find(@article.second_user_id) + if @article.third_user_id.present? + @third_user = User.find(@article.third_user_id) + end + end + end + + def handle_possible_redirect + if !@user && !@organization + redirect_to_changed_username_article_page + end + if @article&.organization.present? && @organization.blank? + redirect_to @article.path + end + end + + def assign_organization_article + @article = @organization.articles.find_by_slug(params[:slug])&.decorate + @user = @article&.user || not_found #The org may have changed back to user and this does not handle that properly + end + + def assign_user_article + @user = User.find_by_username(params[:username].downcase) + return unless @user + @article = @user. + articles. + find_by_slug(params[:slug])&. + decorate + end +end diff --git a/app/controllers/stripe_active_cards_controller.rb b/app/controllers/stripe_active_cards_controller.rb new file mode 100644 index 0000000000000..83a9f17d36a0f --- /dev/null +++ b/app/controllers/stripe_active_cards_controller.rb @@ -0,0 +1,65 @@ +class StripeActiveCardsController < ApplicationController + before_action :touch_current_user + + def create + customer = find_or_create_customer + if customer.sources.create(source: stripe_params[:stripe_token]) + logger.info("Stripe Add New Card Success - #{current_user.username}") + redirect_to "/settings/billing", notice: + "Your billing information has been updated" + else + logger.info("Stripe Add New Card Failure - #{current_user.username}") + redirect_to "/settings/billing", flash: { error: + "There was a problem updating your billing info." } + end + end + + def update + customer = find_or_create_customer + card = customer.sources.retrieve(params[:id]) + customer.default_source = card.id + if customer.save + logger.info("Stripe Card Update Success - #{current_user.username}") + redirect_to "/settings/billing", notice: + "Your billing information has been updated" + else + logger.error("Stripe Card Update Failure - #{current_user.username}") + redirect_to "/settings/billing", flash: { error: + "There was a problem updating your billing info." } + end + rescue Stripe::CardError => e + flash[:error] = e.message + redirect_to "/settings/billing" + end + + def destroy + customer = find_or_create_customer + if customer.subscriptions.count.zero? || customer.sources.all(object: "card").count > 1 + customer.sources.retrieve(params[:id]).delete + customer.save + redirect_to "/settings/billing", + notice: "Your card has been successfully removed." + else + redirect_to "/settings/billing", flash: { error: + "Can't remove card if you have an active membership. Please cancel your membership first." } + end + end + + def find_or_create_customer + if current_user.stripe_id_code.present? + customer = Stripe::Customer.retrieve(current_user.stripe_id_code) + else + customer = Stripe::Customer.create( + email: current_user.email, + source: params[:stripe_token], + ) + current_user.update(stripe_id_code: customer.id) + customer + end + end + + def stripe_params + accessible = %i[id stripe_token] + params.permit(accessible) + end +end diff --git a/app/controllers/stripe_subscriptions_controller.rb b/app/controllers/stripe_subscriptions_controller.rb new file mode 100644 index 0000000000000..69a3e591c7dcc --- /dev/null +++ b/app/controllers/stripe_subscriptions_controller.rb @@ -0,0 +1,100 @@ +class StripeSubscriptionsController < ApplicationController + before_action :authenticate_user! + before_action :touch_current_user + + def create + amount = stripe_params[:amount] + customer = find_or_create_customer + if customer && + MembershipService.new(customer, current_user, amount).subscribe_customer + logger.info("Stripe New Subscription Success - #{current_user.username}") + else + logger.error("Stripe New Subscription Failure - #{current_user.username}") + redirect_to "/membership", flash: { error: + "There was a problem updating your billing info." } + end + rescue Stripe::CardError, Stripe::InvalidRequestError => e + logger.error("Stripe Error - #{e.message} - #{current_user.email}") + message = if e.message.include?("This customer has no attached payment source") + "Something went wrong! Please try again or contact members@dev.to" + else + e.message + end + redirect_to "/membership", flash: { error: message } + end + + def update + amount = stripe_params[:amount] + customer = find_or_create_customer + if MembershipService.new(customer, current_user, amount).update_subscription + logger.info("Stripe Update Subscription Success - #{current_user.username}") + redirect_to "/settings/membership", notice: + "Your new membership is now active. Thanks for your support!" + else + logger.error("Stripe Update Subscription Failure - #{current_user.username}") + redirect_to "/settings/membership", flash: { error: + "There was a problem updating your new plan." } + end + rescue Stripe::CardError, Stripe::InvalidRequestError => e + redirect_to "/settings/billing", flash: { error: e.message } + end + + def destroy + customer = find_or_create_customer + if MembershipService.new(customer, current_user, nil).unsubscribe_customer + logger.info("Stripe Cancel Subscription Success - #{current_user.username}") + redirect_to "/settings", notice: + "Your membership is cancelled. Thanks for your support." + else + logger.info("Stripe Cancel Subscription Failure - #{current_user.username}") + redirect_to "/settings", flash: { error: + "There was a problem updating your plan." } + end + end + + def find_or_create_customer + if current_user.stripe_id_code.present? + customer = Stripe::Customer.retrieve(current_user.stripe_id_code) + customer.sources.create(source: params[:stripe_token]) if params[:stripe_token].present? + else + customer = Stripe::Customer.create( + email: current_user.email, + source: params[:stripe_token], + ) + end + customer + end + + private + + def stripe_params + params[:amount] = convert_amount_to_cent + raise custom_error if invalid_amount? + accessible = %i[amount existing_card_id stripe_token] + params.permit(accessible) + end + + def custom_error + message = <<-HTML + Oops, something went wrong. You have not been charged. +
+ Please + #{view_context.link_to('try again', '/membership')} or #{view_context.link_to('contact us', 'mailto:members@dev.to')}. + HTML + Stripe::CardError.new( + message.html_safe, + params[:amount], + 400, + ) + end + + def convert_amount_to_cent + amount = params[:amount] || params[:input_amount] + amount ? (amount.to_d * 100).to_i : nil + end + + def invalid_amount? + amount = params[:amount] || params[:input_amount] + amount.nil? || amount < 100 + end +end diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb new file mode 100644 index 0000000000000..b577145004566 --- /dev/null +++ b/app/controllers/tags_controller.rb @@ -0,0 +1,8 @@ +class TagsController < ApplicationController + before_action :set_cache_control_headers, only: [:index] + + def index + @tags_index = true + @tags = Tag.all.order("hotness_score DESC").first(100) + end +end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb new file mode 100644 index 0000000000000..58c020bc5ffa3 --- /dev/null +++ b/app/controllers/users_controller.rb @@ -0,0 +1,195 @@ +class UsersController < ApplicationController + before_action :set_user, only: %i[show update destroy finish_signup] + before_action :set_no_cache_header, except: [:index] + + def index + #Soft internal deprecation. Should be removed at some point. + return redirect_to "/" unless current_user + @users = case params[:user_board].downcase + when "following" then current_user.following_users + when "followers" then current_user.user_followers + end + end + + # GET /settings/@tab + def edit + @user = current_user + @tab_list = tab_list(@user) + unless @user + redirect_to "/enter" + return + end + @tab = params["tab"] + handle_settings_tab + # authorize! :update, @user + end + + # PATCH/PUT /users/:id.:format + def update + @user = current_user + @tab_list = tab_list(@user) + @tab = params["user"]["tab"] || "profile" + if @user.update(user_params) + RssReader.new.delay.fetch_user(@user) if @user.feed_url.present? + notice = "Your profile was successfully updated." + follow_hiring_tag(@user) + redirect_to "/settings/#{@tab}", notice: notice + else + render :edit + end + end + + def onboarding_update + current_user.saw_onboarding = true + if current_user.save! + respond_to do |format| + format.json { render json: { outcome: 'onboarding closed' } } + end + else + respond_to do |format| + format.json { render json: { outcome: 'onboarding opened' } } + end + end + end + + def join_org + if @organization = Organization.find_by_secret(params[:org_secret]) + current_user.update(organization_id: @organization.id) + redirect_to "/settings/organization", + notice: "You have joined the #{@organization.name} organization." + else + not_found + end + end + + def leave_org + current_user.update(organization_id: nil, org_admin: nil) + redirect_to "/settings/organization", + notice: "You have left your organization." + end + + def add_org_admin + raise unless current_user.org_admin + user = User.find(params[:user_id]) + raise unless current_user.organization_id == user.organization_id + user.update(org_admin: true) + redirect_to "/settings/organization", + notice: "That user is now an admin." + end + + def remove_org_admin + raise unless current_user.org_admin + raise if current_user.id == params[:user_id] + user = User.find(params[:user_id]) + raise unless current_user.organization_id == user.organization_id + user.update(org_admin: false) + redirect_to "/settings/organization", + notice: "That user is no longer an admin." + end + + def remove_from_org + raise unless current_user.org_admin + raise if current_user.id == params[:user_id] + User.find(params[:user_id]).update(organization_id: nil) + redirect_to "/settings/organization", + notice: "That user is no longer an admin." + end + + def signout_confirm; end + + # GET/PATCH /users/:id/finish_signup + def finish_signup + # authorize! :update, @user + if request.patch? && params[:user] # && params[:user][:email] + if @user.update(user_params) + # @user.skip_reconfirmation! + sign_in(@user, bypass: true) + redirect_to "/", notice: "Your profile was successfully updated." + else + @show_errors = true + end + end + end + + def follow_hiring_tag(user) + return unless user.looking_for_work? + user.delay.follow(Tag.find_by(name: "hiring")) + end + + def handle_settings_tab + return @tab = "profile" if @tab.blank? + case @tab + when "organization" + @organization = @user.organization || Organization.new + when "switch-organizations" + @organization = Organization.new + when "integrations" + if current_user.identities.where(provider: "github").any? + @client = Octokit::Client. + new(access_token: current_user.identities.where(provider: "github").last.token) + end + when "billing" + @customer = Stripe::Customer.retrieve(current_user.stripe_id_code) if current_user.stripe_id_code + when "membership" + if current_user.monthly_dues.zero? + redirect_to "/membership" + return + end + end + end + + private + + def set_user + @user = User.find(params[:id]) + end + + def user_params + accessible = %i[name + email + username + profile_image + website_url + summary + email_newsletter + email_membership_newsletter + email_comment_notifications + email_mention_notifications + email_follower_notifications + email_unread_notifications + bg_color_hex + text_color_hex + employer_name + employer_url + employment_title + currently_learning + available_for + mostly_work_with + currently_hacking_on + location + email_public + education + looking_for_work + looking_for_work_publicly + contact_consent + feed_url + feed_mark_canonical + prefer_language_en + prefer_language_ja + prefer_language_es + prefer_language_fr + prefer_language_it + display_sponsors + feed_admin_publish_permission] + accessible << %i[password password_confirmation] unless params[:user][:password].blank? + params.require(:user). + permit(accessible). + transform_values do |value| + if value.class.name == "String" + ActionController::Base.helpers.strip_tags(value) + else + value + end + end + end +end diff --git a/app/dashboards/article_dashboard.rb b/app/dashboards/article_dashboard.rb new file mode 100644 index 0000000000000..acc732ee987c9 --- /dev/null +++ b/app/dashboards/article_dashboard.rb @@ -0,0 +1,108 @@ +require "administrate/base_dashboard" + +class ArticleDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + user: Field::BelongsTo, + user_id: UserIdField, + second_user_id: Field::Number, + third_user_id: Field::Number, + organization: Field::BelongsTo, + id: Field::Number, + title: Field::String, + body_html: Field::Text, + body_markdown: Field::Text, + intro_html: Field::Text, + slug: Field::String, + canonical_url: Field::String, + created_at: Field::DateTime, + updated_at: Field::DateTime, + main_image: Field::String, + description: Field::String, + published: Field::Boolean, + featured: Field::Boolean, + approved: Field::Boolean, + allow_small_edits: Field::Boolean, + allow_big_edits: Field::Boolean, + featured_number: Field::Number, + password: Field::String, + programming_category: Field::String, + published_at: Field::DateTime, + social_image: Field::String, + collection: Field::BelongsTo, + collection_position: Field::Number, + name_within_collection: Field::String, + show_comments: Field::Boolean, + main_image_background_hex_color: Field::String, + ids_for_suggested_articles: Field::String, + comments: Field::HasMany, + video: Field::String, + video_code: Field::String, + video_source_url: Field::String, + video_thumbnail_url: Field::String, + video_closed_caption_track_url: Field::String, + main_tag_name_for_social: Field::String, + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :user, + :title, + :published, + :featured, + :comments + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = ATTRIBUTE_TYPES.keys + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :user_id, + :second_user_id, + :third_user_id, + :organization, + :title, + :body_markdown, + :slug, + :social_image, + :featured, + :approved, + :featured_number, + :canonical_url, + :password, + :published_at, + :collection, + :collection_position, + :name_within_collection, + :show_comments, + :main_image_background_hex_color, + :ids_for_suggested_articles, + :video, + :video_code, + :video_source_url, + :video_thumbnail_url, + :video_closed_caption_track_url, + :main_tag_name_for_social + + ] + + # Overwrite this method to customize how articles are displayed + # across all pages of the admin dashboard. + # + def display_resource(article) + article.title + end +end diff --git a/app/dashboards/collection_dashboard.rb b/app/dashboards/collection_dashboard.rb new file mode 100644 index 0000000000000..567d2d285c3cd --- /dev/null +++ b/app/dashboards/collection_dashboard.rb @@ -0,0 +1,75 @@ +require "administrate/base_dashboard" + +class CollectionDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + articles: Field::HasMany, + user: Field::BelongsTo, + organization: Field::BelongsTo, + id: Field::Number, + title: Field::String, + slug: Field::String, + description: Field::String, + main_image: Field::String, + social_image: Field::String, + published: Field::Boolean, + created_at: Field::DateTime, + updated_at: Field::DateTime, + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :articles, + :user, + :organization, + :id, + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :articles, + :user, + :organization, + :id, + :title, + :slug, + :description, + :main_image, + :social_image, + :published, + :created_at, + :updated_at, + ] + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :articles, + :user, + :organization, + :title, + :slug, + :description, + :main_image, + :social_image, + :published, + ] + + # Overwrite this method to customize how collections are displayed + # across all pages of the admin dashboard. + # + # def display_resource(collection) + # "Collection ##{collection.id}" + # end +end diff --git a/app/dashboards/comment_dashboard.rb b/app/dashboards/comment_dashboard.rb new file mode 100644 index 0000000000000..29a990df173fb --- /dev/null +++ b/app/dashboards/comment_dashboard.rb @@ -0,0 +1,74 @@ +require "administrate/base_dashboard" + +class CommentDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + commentable: Field::Polymorphic, + user: Field::BelongsTo, + user_id: UserIdField, + name_of_user: NameOfUserField, + reactions: Field::HasMany, + id: Field::Number, + link_id: Field::Number, + body_markdown: Field::Text.with_options(searchable: true), + body_html: Field::Text, + edited: Field::Boolean, + created_at: Field::DateTime, + updated_at: Field::DateTime, + ancestry: Field::String, + id_code: Field::String, + score: Field::Number, + deleted: Field::Boolean, + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :id, + :name_of_user, + :body_markdown, + :reactions, + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :commentable, + :user, + :name_of_user, + :reactions, + :id, + :link_id, + :body_markdown, + :edited, + :created_at, + :updated_at, + :ancestry, + :id_code, + :score, + :deleted, + ] + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :body_markdown, + :deleted, + ] + + # Overwrite this method to customize how comments are displayed + # across all pages of the admin dashboard. + # + # def display_resource(comment) + # "Comment ##{comment.id}" + # end +end diff --git a/app/dashboards/dashboard_manifest.rb b/app/dashboards/dashboard_manifest.rb new file mode 100644 index 0000000000000..ce0f0939a9766 --- /dev/null +++ b/app/dashboards/dashboard_manifest.rb @@ -0,0 +1,39 @@ +# DashboardManifest tells Administrate which dashboards to display +class DashboardManifest + # `DASHBOARDS` + # a list of dashboards to display in the side navigation menu + # + # These are all of the rails models that we found in your database + # at the time you installed Administrate. + # + # To show or hide dashboards, add or remove the model name from this list. + # Dashboards returned from this method must be Rails models for Administrate + # to work correctly. + DASHBOARDS = [ + :articles, + :users, + :organizations, + :comments, + :follows, + :reactions, + :podcasts, + :podcast_episodes, + :collections, + :tags, + :email_messages, + :feedback_messages, + :display_ads, + ] + # DASHBOARDS = [ + # :users, + # :articles, + # :podcast_episodes, + # ] + # `ROOT_DASHBOARD` + # the name of the dashboard that will be displayed + # at "http://your_site.com/admin" + # + # This dashboard will likely be the first page that admins see + # when they log into the dashboard. + ROOT_DASHBOARD = DASHBOARDS.first +end diff --git a/app/dashboards/display_ad_dashboard.rb b/app/dashboards/display_ad_dashboard.rb new file mode 100644 index 0000000000000..eb22c2894b3a8 --- /dev/null +++ b/app/dashboards/display_ad_dashboard.rb @@ -0,0 +1,75 @@ +require "administrate/base_dashboard" + +class DisplayAdDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + organization: Field::BelongsTo, + id: Field::Number, + placement_area: Field::String, + body_markdown: Field::Text, + processed_html: Field::Text, + cost_per_impression: Field::Number.with_options(decimals: 2), + cost_per_click: Field::Number.with_options(decimals: 2), + impressions_count: Field::Number, + clicks_count: Field::Number, + published: Field::Boolean, + approved: Field::Boolean, + created_at: Field::DateTime, + updated_at: Field::DateTime, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :organization, + :id, + :placement_area, + :body_markdown, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :organization, + :id, + :placement_area, + :body_markdown, + :processed_html, + :cost_per_impression, + :cost_per_click, + :impressions_count, + :clicks_count, + :published, + :approved, + :created_at, + :updated_at, + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :organization, + :placement_area, + :body_markdown, + :cost_per_impression, + :cost_per_click, + :published, + :approved, + ].freeze + + # Overwrite this method to customize how display ads are displayed + # across all pages of the admin dashboard. + # + # def display_resource(display_ad) + # "DisplayAd ##{display_ad.id}" + # end +end diff --git a/app/dashboards/email_message_dashboard.rb b/app/dashboards/email_message_dashboard.rb new file mode 100644 index 0000000000000..a717239f009ac --- /dev/null +++ b/app/dashboards/email_message_dashboard.rb @@ -0,0 +1,74 @@ +require "administrate/base_dashboard" + +class EmailMessageDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + user: Field::Polymorphic, + id: Field::Number, + token: Field::String, + to: Field::Text, + mailer: Field::String, + subject: Field::Text, + content: Field::Text, + utm_source: Field::String, + utm_medium: Field::String, + utm_term: Field::String, + utm_content: Field::String, + utm_campaign: Field::String, + sent_at: Field::DateTime, + opened_at: Field::DateTime, + clicked_at: Field::DateTime, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :user, + :id, + :subject, + :opened_at, + :clicked_at, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :user, + :id, + :token, + :to, + :mailer, + :subject, + :content, + :utm_source, + :utm_medium, + :utm_term, + :utm_content, + :utm_campaign, + :sent_at, + :opened_at, + :clicked_at, + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + ].freeze + + # Overwrite this method to customize how messages are displayed + # across all pages of the admin dashboard. + # + # def display_resource(message) + # "Ahoy::Message ##{message.id}" + # end + # Mac is cool. +end diff --git a/app/dashboards/feedback_message_dashboard.rb b/app/dashboards/feedback_message_dashboard.rb new file mode 100644 index 0000000000000..fdd66049ae17e --- /dev/null +++ b/app/dashboards/feedback_message_dashboard.rb @@ -0,0 +1,56 @@ +require "administrate/base_dashboard" + +class FeedbackMessageDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + user: Field::BelongsTo, + id: Field::Number, + message: Field::Text, + feedback_type: Field::String, + category_selection: Field::String, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :user, + :id, + :message, + :feedback_type, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :user, + :id, + :message, + :feedback_type, + :category_selection, + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :user, + :message, + :feedback_type, + :category_selection, + ].freeze + + # Overwrite this method to customize how feedback messages are displayed + # across all pages of the admin dashboard. + # + # def display_resource(feedback_message) + # "FeedbackMessage ##{feedback_message.id}" + # end +end diff --git a/app/dashboards/follow_dashboard.rb b/app/dashboards/follow_dashboard.rb new file mode 100644 index 0000000000000..0fb57b4fc92cf --- /dev/null +++ b/app/dashboards/follow_dashboard.rb @@ -0,0 +1,60 @@ +require "administrate/base_dashboard" + +class FollowDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + followable: Field::Polymorphic, + follower: Field::Polymorphic, + followable_type: Field::String, + followable_id: Field::Number, + id: Field::Number, + blocked: Field::Boolean, + created_at: Field::DateTime, + updated_at: Field::DateTime, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :created_at, + :followable_type, + :follower, + :blocked, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :followable_type, + :followable_id, + :follower, + :id, + :blocked, + :created_at, + :updated_at, + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :followable_id, + :follower, + :blocked, + ].freeze + + # Overwrite this method to customize how follows are displayed + # across all pages of the admin dashboard. + # + # def display_resource(follow) + # "Follow ##{follow.id}" + # end +end diff --git a/app/dashboards/organization_dashboard.rb b/app/dashboards/organization_dashboard.rb new file mode 100644 index 0000000000000..4a5f15427276c --- /dev/null +++ b/app/dashboards/organization_dashboard.rb @@ -0,0 +1,78 @@ +require "administrate/base_dashboard" + +class OrganizationDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + id: Field::Number, + name: Field::String, + slug: Field::String, + summary: Field::Text, + profile_image: CarrierwaveField, + nav_image: CarrierwaveField, + url: Field::String, + twitter_username: Field::String, + github_username: Field::String, + jobs_url: Field::String, + jobs_email: Field::String, + address: Field::String, + city: Field::String, + state: Field::String, + zip_code: Field::String, + country: Field::String, + bg_color_hex: Field::String, + text_color_hex: Field::String, + country: Field::String, + created_at: Field::DateTime, + updated_at: Field::DateTime, + users: Field::HasMany, + + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :profile_image, + :name, + :url, + :twitter_username + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = ATTRIBUTE_TYPES.keys + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :name, + :slug, + :summary, + :profile_image, + :nav_image, + :url, + :bg_color_hex, + :text_color_hex, + :twitter_username, + :github_username, + :jobs_url, + :jobs_email, + :address, + :city, + :state, + :zip_code, + :country, + ] + + def display_resource(organization) + organization.name + end +end diff --git a/app/dashboards/podcast_dashboard.rb b/app/dashboards/podcast_dashboard.rb new file mode 100644 index 0000000000000..57437f6b15731 --- /dev/null +++ b/app/dashboards/podcast_dashboard.rb @@ -0,0 +1,93 @@ +require "administrate/base_dashboard" + +class PodcastDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + podcast_episodes: Field::HasMany, + id: Field::Number, + title: Field::String, + description: Field::Text, + feed_url: Field::String, + itunes_url: Field::String, + overcast_url: Field::String, + android_url: Field::String, + soundcloud_url: Field::String, + website_url: Field::String, + main_color_hex: Field::String, + twitter_username: Field::String, + image: CarrierwaveField, + pattern_image: CarrierwaveField, + slug: Field::String, + status_notice: Field::Text, + created_at: Field::DateTime, + updated_at: Field::DateTime, + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :podcast_episodes, + :id, + :title, + :description, + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :podcast_episodes, + :id, + :title, + :description, + :feed_url, + :itunes_url, + :overcast_url, + :android_url, + :soundcloud_url, + :website_url, + :status_notice, + :twitter_username, + :main_color_hex, + :image, + :pattern_image, + :slug, + :created_at, + :updated_at, + ] + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :podcast_episodes, + :title, + :description, + :status_notice, + :feed_url, + :itunes_url, + :overcast_url, + :android_url, + :soundcloud_url, + :website_url, + :twitter_username, + :pattern_image, + :main_color_hex, + :image, + :slug, + ] + + # Overwrite this method to customize how podcasts are displayed + # across all pages of the admin dashboard. + # + # def display_resource(podcast) + # "Podcast ##{podcast.id}" + # end +end diff --git a/app/dashboards/podcast_episode_dashboard.rb b/app/dashboards/podcast_episode_dashboard.rb new file mode 100644 index 0000000000000..23e3c7d0c2dbe --- /dev/null +++ b/app/dashboards/podcast_episode_dashboard.rb @@ -0,0 +1,88 @@ +require "administrate/base_dashboard" + +class PodcastEpisodeDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + id: Field::Number, + title: Field::String, + subtitle: Field::String, + summary: Field::Text, + body: Field::Text, + quote: Field::Text, + featured_number: Field::Number, + featured: Field::Boolean, + order_key: Field::String, + processed_html: Field::Text, + comments_count: Field::Number, + reactions_count: Field::Number, + media_url: Field::String, + website_url: Field::String, + itunes_url: Field::String, + image: CarrierwaveField, + podcast: Field::BelongsTo, + duration_in_seconds: Field::Number, + published_at: Field::DateTime, + slug: Field::String, + guid: Field::String, + created_at: Field::DateTime, + updated_at: Field::DateTime, + social_image: CarrierwaveField, + } + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :id, + :title, + ] + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :id, + :podcast, + :title, + :image, + :social_image, + :body, + :featured, + :featured_number, + :media_url, + :website_url, + :itunes_url, + :duration_in_seconds, + :published_at, + :slug, + :created_at, + :updated_at, + ] + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :title, + :body, + :website_url, + :media_url, + :itunes_url, + :social_image, + :duration_in_seconds, + :published_at, + ] + + # Overwrite this method to customize how podcast episodes are displayed + # across all pages of the admin dashboard. + # + # def display_resource(podcast_episode) + # "PodcastEpisode ##{podcast_episode.id}" + # end +end diff --git a/app/dashboards/reaction_dashboard.rb b/app/dashboards/reaction_dashboard.rb new file mode 100644 index 0000000000000..33c19c149569b --- /dev/null +++ b/app/dashboards/reaction_dashboard.rb @@ -0,0 +1,62 @@ +require "administrate/base_dashboard" + +class ReactionDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + reactable: Field::Polymorphic, + user: Field::BelongsTo, + user_id: UserIdField, + id: Field::Number, + category: Field::String, + points: Field::Number.with_options(decimals: 2), + created_at: Field::DateTime, + updated_at: Field::DateTime, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :reactable, + :user, + :id, + :category, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :reactable, + :user, + :user_id, + :id, + :category, + :points, + :created_at, + :updated_at, + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :reactable, + :user_id, + :category, + :points, + ].freeze + + # Overwrite this method to customize how reactions are displayed + # across all pages of the admin dashboard. + # + # def display_resource(reaction) + # "Reaction ##{reaction.id}" + # end +end diff --git a/app/dashboards/tag_dashboard.rb b/app/dashboards/tag_dashboard.rb new file mode 100644 index 0000000000000..2210a384ba597 --- /dev/null +++ b/app/dashboards/tag_dashboard.rb @@ -0,0 +1,96 @@ +require "administrate/base_dashboard" + +class TagDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + id: Field::Number, + name: Field::String, + supported: Field::Boolean, + wiki_body_markdown: Field::Text, + wiki_body_html: Field::Text, + rules_markdown: Field::Text, + rules_html: Field::Text, + short_summary: Field::String, + requires_approval: Field::Boolean, + submission_template: Field::Text, + submission_rules_headsup: Field::String, + pretty_name: Field::String, + profile_image: CarrierwaveField, + social_image: CarrierwaveField, + bg_color_hex: Field::String, + text_color_hex: Field::String, + alias_for: Field::String, + keywords_for_search: Field::String, + taggings_count: Field::Number + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to five items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :id, + :name, + :supported, + :alias_for, + :taggings_count + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :id, + :name, + :supported, + :alias_for, + :wiki_body_markdown, + :wiki_body_html, + :rules_markdown, + :rules_html, + :short_summary, + :requires_approval, + :submission_template, + :submission_rules_headsup, + :pretty_name, + :profile_image, + :social_image, + :bg_color_hex, + :text_color_hex, + :keywords_for_search + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :name, + :supported, + :alias_for, + :wiki_body_markdown, + :wiki_body_html, + :rules_markdown, + :short_summary, + :requires_approval, + :submission_template, + :submission_rules_headsup, + :pretty_name, + :profile_image, + :social_image, + :bg_color_hex, + :text_color_hex, + :keywords_for_search + ].freeze + + # Overwrite this method to customize how tags are displayed + # across all pages of the admin dashboard. + # + # def display_resource(tag) + # "Tag ##{tag.id}" + # end +end diff --git a/app/dashboards/user_dashboard.rb b/app/dashboards/user_dashboard.rb new file mode 100644 index 0000000000000..6737db8533128 --- /dev/null +++ b/app/dashboards/user_dashboard.rb @@ -0,0 +1,106 @@ +require "administrate/base_dashboard" + +class UserDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + organization: Field::BelongsTo, + id: Field::Number, + name: Field::String, + profile_image: CarrierwaveField, + username: Field::String, + twitter_username: Field::String, + github_username: Field::String, + banned: UserBannedField, + reason_for_ban: ReasonForBanField, + warned: UserWarnedField, + reason_for_warning: ReasonForWarningField, + trusted: TrustedUserField, + scholar: UserScholarField, + analytics: UserAnalyticsField, + summary: Field::String, + email: Field::String, + website_url: Field::String, + org_admin: Field::Boolean, + created_at: Field::DateTime, + updated_at: Field::DateTime, + articles: Field::HasMany, + comments: Field::HasMany, + sign_in_count: Field::Number, + reputation_modifier: Field::Number, + signup_cta_variant: Field::String, + onboarding_package_requested: Field::Boolean, + onboarding_package_fulfilled: Field::Boolean, + onboarding_package_requested_again: Field::Boolean, + twitter_followers_count: Field::Number, + bg_color_hex: Field::String, + text_color_hex: Field::String, + feed_url: Field::String, + feed_admin_publish_permission: Field::Boolean, + feed_mark_canonical: Field::Boolean, + saw_onboarding: Field::Boolean, + following_tags_count: Field::Number, + monthly_dues: Field::Number, + stripe_id_code: Field::String, + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :profile_image, + :id, + :created_at, + :username, + :name, + :twitter_username, + :github_username, + :following_tags_count, + :saw_onboarding, + :monthly_dues, + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = ATTRIBUTE_TYPES.keys + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [ + :organization, + :name, + :username, + :twitter_username, + :github_username, + :profile_image, + :org_admin, + :banned, + :reason_for_ban, + :warned, + :reason_for_warning, + :trusted, + :scholar, + :analytics, + :summary, + :website_url, + :bg_color_hex, + :text_color_hex, + :reputation_modifier, + :feed_url, + :saw_onboarding, + ].freeze + + # Overwrite this method to customize how users are displayed + # across all pages of the admin dashboard. + # + # def display_resource(user) + # user.username + # end +end diff --git a/app/decorators/application_decorator.rb b/app/decorators/application_decorator.rb new file mode 100644 index 0000000000000..5caf08b699cef --- /dev/null +++ b/app/decorators/application_decorator.rb @@ -0,0 +1,8 @@ +class ApplicationDecorator < Draper::Decorator + # Define methods for all decorated objects. + # Helpers are accessed through `helpers` (aka `h`). For example: + # + # def percent_amount + # h.number_to_percentage object.amount, precision: 2 + # end +end diff --git a/app/decorators/article_decorator.rb b/app/decorators/article_decorator.rb new file mode 100644 index 0000000000000..d21d26c408f8a --- /dev/null +++ b/app/decorators/article_decorator.rb @@ -0,0 +1,45 @@ +class ArticleDecorator < ApplicationDecorator + delegate_all + + def current_state_path + published ? "/#{username}/#{slug}" : "/#{username}/#{slug}?preview=#{password}" + end + + def processed_canonical_url + if canonical_url.present? + canonical_url.to_s.strip + else + url + end + end + + def comments_to_show_count + cached_tag_list_array.include?("discuss") ? 75 : 25 + end + + def cached_tag_list_array + (cached_tag_list || "").split(", ") + end + + def url + "https://dev.to#{path}" + end + + def liquid_tags_used + MarkdownParser.new(body_markdown.to_s + comments_blob.to_s).tags_used + end + + def title_length_classification + if article.title.size > 105 + "longest" + elsif article.title.size > 80 + "longer" + elsif article.title.size > 60 + "long" + elsif article.title.size > 22 + "medium" + else + "short" + end + end +end diff --git a/app/decorators/user_decorator.rb b/app/decorators/user_decorator.rb new file mode 100644 index 0000000000000..ac01af64363b6 --- /dev/null +++ b/app/decorators/user_decorator.rb @@ -0,0 +1,9 @@ +class UserDecorator < ApplicationDecorator + delegate_all + + def cached_followed_tags + Rails.cache.fetch("user-#{id}-#{updated_at}/followed_tags", expires_in: 100.hours) do + Tag.where(id: Follow.where(follower_id: id, followable_type: "ActsAsTaggableOn::Tag").pluck(:followable_id)).order("hotness_score DESC") + end + end +end diff --git a/app/fields/carrierwave_field.rb b/app/fields/carrierwave_field.rb new file mode 100644 index 0000000000000..7e22aa54ebbfc --- /dev/null +++ b/app/fields/carrierwave_field.rb @@ -0,0 +1,11 @@ +require "administrate/field/base" + +class CarrierwaveField < Administrate::Field::Base + def url + data.url + end + + def to_s + data + end +end diff --git a/app/fields/name_of_user_field.rb b/app/fields/name_of_user_field.rb new file mode 100644 index 0000000000000..53272b7297e83 --- /dev/null +++ b/app/fields/name_of_user_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class NameOfUserField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/reason_for_ban_field.rb b/app/fields/reason_for_ban_field.rb new file mode 100644 index 0000000000000..ef96c26820f69 --- /dev/null +++ b/app/fields/reason_for_ban_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class ReasonForBanField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/reason_for_warning_field.rb b/app/fields/reason_for_warning_field.rb new file mode 100644 index 0000000000000..6c7d5cbef3ba2 --- /dev/null +++ b/app/fields/reason_for_warning_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class ReasonForWarningField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/trusted_user_field.rb b/app/fields/trusted_user_field.rb new file mode 100644 index 0000000000000..b3a618a806602 --- /dev/null +++ b/app/fields/trusted_user_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class TrustedUserField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/user_analytics_field.rb b/app/fields/user_analytics_field.rb new file mode 100644 index 0000000000000..5dcea697f93b9 --- /dev/null +++ b/app/fields/user_analytics_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class UserAnalyticsField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/user_banned_field.rb b/app/fields/user_banned_field.rb new file mode 100644 index 0000000000000..3c63a51ed374c --- /dev/null +++ b/app/fields/user_banned_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class UserBannedField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/user_id_field.rb b/app/fields/user_id_field.rb new file mode 100644 index 0000000000000..597e3c7f5c5a9 --- /dev/null +++ b/app/fields/user_id_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class UserIdField < Administrate::Field::Base + def find_user_id + data + end +end diff --git a/app/fields/user_scholar_field.rb b/app/fields/user_scholar_field.rb new file mode 100644 index 0000000000000..8d1af414f002d --- /dev/null +++ b/app/fields/user_scholar_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class UserScholarField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/fields/user_warned_field.rb b/app/fields/user_warned_field.rb new file mode 100644 index 0000000000000..d7dcf775a875a --- /dev/null +++ b/app/fields/user_warned_field.rb @@ -0,0 +1,7 @@ +require "administrate/field/base" + +class UserWarnedField < Administrate::Field::Base + def to_s + data + end +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 0000000000000..a0045505b86c3 --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,220 @@ +module ApplicationHelper + + def user_logged_in_status + user_signed_in? ? "logged-in" : "logged-out" + end + + def current_page + "#{controller_name}-#{controller.action_name}" + end + + def view_class + "#{controller_name} #{controller_name}-#{controller.action_name}" + end + + def core_pages? + controller_name == "articles" || + controller_name == "podcast_episodes" || + controller_name == "events" || + controller_name == "users" || + controller_name == "pages" || + controller_name == "dashboards"|| + controller_name == "stories" || + controller_name == "comments" || + controller_name == "notifications" || + controller_name == "reading_list_items" + end + + def render_js? + !((controller_name == "articles" && (controller.action_name == "index" || controller.action_name == "show")) || controller_name == "pulses") + end + + def title(page_title) + content_for(:title){ page_title } + page_title + end + + def icon(name,pixels="20") + image_tag icon_url(name), alt: name, class:"icon-img", height: pixels, width: pixels + end + + def icon_url(name) + prefix = "https://res.cloudinary.com/practicaldev/image/upload/" + case name + when "twitter" + url = prefix+"v1456342401/twitter-logo-silhouette_1_letrqc.png" + when "github" + url = prefix+"v1456342401/github-logo_m841aq.png" + when "link" + url = prefix+"v1456342401/link-symbol_apfbll.png" + when "volume" + url = prefix+"v1461589297/technology_1_aefet2.png" + when "volume-mute" + url = prefix+"v1461589297/technology_jiugwb.png" + else + url = prefix+"v1456342953/star-in-black-of-five-points-shape_sor40l.png" + end + end + + def cloudinary(url,width=nil,quality=80,format="jpg") + if Rails.env.development? && (url.blank? || !url.include?("http")) + url = "http://www.lawyersweekly.com.au/images/LW_Media_Library/594partner-profile-pic-An.jpg" + end + if url && url.size > 0 + if width + "https://res.cloudinary.com/practicaldev/image/fetch/c_scale,fl_progressive,q_auto,w_#{width}/f_auto/#{url}" + else + "https://res.cloudinary.com/practicaldev/image/fetch/c_scale,fl_progressive,q_auto/f_auto/#{url}" + end + else + "https://res.cloudinary.com/practicaldev/image/fetch/c_scale,fl_progressive,q_1/f_auto/https://pbs.twimg.com/profile_images/481625927911092224/iAVNQXjn_normal.jpeg" + end + end + + def cloud_cover_url(url) + return nil unless url.present? + width = 1000 + height = 420 + quality = "auto" + + cl_image_path(url, + :type=>"fetch", + :width => width, + :height => height, + :crop => "imagga_scale", + :quality => quality, + :flags => "progressive", + :fetch_format => "auto", + :sign_url => true) + end + + def cloud_social_image(article) + Rails.cache. + fetch("article-social-img-#{article}-#{article.updated_at}-#{article.comments_count}", + expires_in: 1.hour) do + src = GeneratedImage.new(article).social_image + return src if src.include? "res.cloudinary" + cl_image_path(src, + type: "fetch", + width: "1000", + height: "500", + crop: "imagga_scale", + quality: "auto", + flags: "progressive", + fetch_format: "auto", + sign_url: true) + end + end + + def tag_colors(tag) + Rails.cache.fetch("view-helper-#{tag}/tag_colors", expires_in: 5.hours) do + if found_tag = Tag.find_by_name(tag) + {background:found_tag.bg_color_hex,color:found_tag.text_color_hex} + else + {background:"#d6d9e0",color:"#606570"} + end + end + end + + def beautified_url(url) + begin + url.sub(/^((http[s]?|ftp):\/)?\//, '').sub(/\?.*/, '').chomp('/') + rescue + url + end + end + + def org_bg_or_white(org) + return "#ffffff" unless (org && org.bg_color_hex) + org.bg_color_hex + end + + def org_text_or_blue(org) + return "#557de8" unless (org && org.text_color_hex) + org.text_color_hex + end + + def sanitized_article_body(processed_html) + ActionController::Base.helpers.sanitize processed_html.html_safe, + tags: %w(button strong em a table tbody thead tfoot th tr td col colgroup del p h1 h2 h3 h4 h5 h6 blockquote time div span i em u b ul ol li dd dl dt q code pre img sup sub cite center br small hr video source figcaption add ruby rp rt), + attributes: %w(href strong em class ref rel src title alt colspan height width size rowspan span value start data-conversation data-lang data-no-instant data-url id name type loop) + end + + def sanitized_sidebar(text) + ActionController::Base.helpers.sanitize simple_format(text), + tags: %w(p, b, i, em, strike, strong, u, br), + attributes: %w() + end + + def track_split_version(url,version) + "trackOutboundLink('#{url}','#{version}'); return false;" + end + + def follow_button(followable,style="full") + "".html_safe + end + + def user_colors_style(user) + "background-color:#{user_colors(user)[:bg]};color:#{user_colors(user)[:text]}" + end + + def user_colors(user) + if user.bg_color_hex.blank? + { + bg: assigned_color(user)[:bg], + text: assigned_color(user)[:text] + } + else + { + bg: user.bg_color_hex || assigned_color(user)[:bg], + text: user.text_color_hex || assigned_color(user)[:text] + } + end + end + + def assigned_color(user) + colors = [ + { + bg: "#093656", + text: "#ffffff" + }, + { + bg: "#19063A", + text: "#dce9f3" + }, + { + bg: "#0D4D4B", + text: "#fdf9f3" + }, + { + bg: "#61122f", + text: "#ffffff" + }, + { + bg: "#edebf6", + text:" #070126" + }, + { + bg: "#080E3B", + text: "#ffffff" + }, + { + bg: "#010C1F", + text: "#aebcd5" + }, + { + bg: "#d7dee2", + text: "#022235" + }, + { + bg: "#161616", + text: "#66e2d5" + }, + { + bg: "#1c0bba", + text: "#c9d2dd" + }, + ] + colors[user.id % 10] + end +end diff --git a/app/helpers/articles_helper.rb b/app/helpers/articles_helper.rb new file mode 100644 index 0000000000000..471ad26e8954b --- /dev/null +++ b/app/helpers/articles_helper.rb @@ -0,0 +1,49 @@ +module ArticlesHelper + + def hasVid(article) + article.processed_html.include?("youtube.com/embed/") || article.processed_html.include?("player.vimeo.com") || article.comments_blob.include?("youtube") + end + + def collection_link_class(current_article,linked_article) + if (current_article.id == linked_article.id) + "current-article" + elsif !linked_article.published + "coming-soon" + end + end + + def image_tag_or_inline_svg(service_name) + if is_internal_navigation? + image_tag("#{service_name}-logo.svg", class:"icon-img") + else + inline_svg("#{service_name}-logo.svg", class:"icon-img") + end + end + + def should_show_updated_on?(article) + article.edited_at && + article.published && + !article.published_from_feed && + article.published_at.next_day < article.edited_at + end + + def should_show_crossposted_on?(article) + article.crossposted_at && + article.published_from_feed && + article.published && + article.published_at && + article.feed_source_url.present? && + article.published_at.next_day < article.crossposted_at + end + + def get_host_without_www(url) + url = "http://#{url}" if URI.parse(url).scheme.nil? + host = URI.parse(url).host.downcase + host.gsub!("medium.com", "Medium") if host.include?("medium.com") + host.start_with?("www.") ? host[4..-1] : host + end + + def is_hiring_form?(tag,article) + tag.to_s == "hiring" || article.tag_list.include?("hiring") + end +end diff --git a/app/helpers/comments_helper.rb b/app/helpers/comments_helper.rb new file mode 100644 index 0000000000000..5f7f050794b40 --- /dev/null +++ b/app/helpers/comments_helper.rb @@ -0,0 +1,13 @@ +module CommentsHelper + def comment_class(comment, is_view_root = false) + if comment.root? || is_view_root + "root" + else + "child" + end + end + + def comment_user_id_unless_deleted(comment) + comment.deleted ? 0 : comment.user_id + end +end diff --git a/app/javascript/.eslintrc.js b/app/javascript/.eslintrc.js new file mode 100644 index 0000000000000..fd72b608458cb --- /dev/null +++ b/app/javascript/.eslintrc.js @@ -0,0 +1,12 @@ +module.exports = { + "extends": "airbnb", + "settings": { + "react": { + "pragma": "h" + }, + }, + "env": { + "jest": true, + "browser": true, + }, +}; diff --git a/app/javascript/packs/pack.js b/app/javascript/packs/pack.js new file mode 100644 index 0000000000000..7c1fb7b7310a2 --- /dev/null +++ b/app/javascript/packs/pack.js @@ -0,0 +1,29 @@ +import { h, render } from 'preact'; +import Onboarding from '../src/Onboarding'; +import { getUserData } from '../src/utils/getUserData'; + +HTMLDocument.prototype.ready = new Promise((resolve) => { + if (document.readyState !== 'loading') { return resolve(); } + document.addEventListener('DOMContentLoaded', () => resolve()); +}); + +function shouldShowOnboarding() { + return document.head.getElementsByTagName('meta')[2].content === 'true' && + document.body.getAttribute('data-user') && + document.body.getAttribute('data-user') !== 'undefined' && + JSON.parse(document.body.getAttribute('data-user')).saw_onboarding === false +} + +function renderPage() { + if (shouldShowOnboarding()) { + setTimeout(() => { + render(, document.getElementById('top-bar')); + }, 500); + } +} + +document.ready + .then(getUserData() + .then(() => { + renderPage(); + })); diff --git a/app/javascript/packs/sendbird.js b/app/javascript/packs/sendbird.js new file mode 100644 index 0000000000000..cded6118ddea8 --- /dev/null +++ b/app/javascript/packs/sendbird.js @@ -0,0 +1,24 @@ +import { LiveChat } from '../src-sendbird/chat'; +import { getUserData } from '../src/utils/getUserData'; + +HTMLDocument.prototype.ready = new Promise((resolve) => { + if (document.readyState !== 'loading') { return resolve(); } + document.addEventListener('DOMContentLoaded', () => resolve()); +}); + +document.ready + .then(getUserData() + .then(() => { + if (document.getElementById('sb_chat')) { + const userData = JSON.parse(document.body.getAttribute('data-user')); + const livechatData = document.getElementById('sb_chat').dataset; + const appId = livechatData.sendbirdAppId; + const channelUrl = livechatData.sendbirdLivechatUrl; + const userId = userData.id.toString(); + const nickname = userData.username; + window.liveChat.startWithConnect(appId, userId, nickname, () => { + window.liveChat.enterChannel(channelUrl, () => { + }); + }); + } + })); diff --git a/app/javascript/src-sendbird/chat.js b/app/javascript/src-sendbird/chat.js new file mode 100644 index 0000000000000..021cf8690ee54 --- /dev/null +++ b/app/javascript/src-sendbird/chat.js @@ -0,0 +1,190 @@ +import * as sendbirdLib from 'sendbird'; +import Sendbird from './sendbird.js'; +import Spinner from './elements/spinner.js'; +import ChatBoard from './elements/chat-board.js'; +import LoginBoard from './elements/login-board.js'; +import MessageBoard from './elements/message-board.js'; +import { hasClass } from './utils.js'; + +const ELEMENT_ID = 'sb_chat'; +const ERROR_MESSAGE_SDK = 'Please import "SendBird SDK" on first.'; +const ERROR_MESSAGE_APP_ID = 'Please pass "APP_ID" when start.'; +const ERROR_MESSAGE_USER_INFO = 'Please pass "USER_ID" and "NICKNAME" when start.'; +const ERROR_MESSAGE_CHANNEL_URL = 'Please pass "CHANNEL_URL" when start.'; +const ERROR_MESSAGE = 'Please create "sb_chat" element on first.'; + +const MAX_MESSAGE_COUNT = 100; + +window.WebFontConfig = { + google: { families: ['Lato:400,700'] } +}; + +let chat; +let sendbird; +let spinner; +let board; +let loginBoard; +let messageBoard; + +class LiveChat { + constructor() {} + + start(appId, channelUrl) { + if (!window.SendBird) { + if (sendbirdLib !== null) { + window.SendBird = sendbirdLib; + } else { + console.error(ERROR_MESSAGE_SDK); + return; + } + } + if (!appId) { + console.error(ERROR_MESSAGE_APP_ID); + return; + } + if (!channelUrl) { + console.error(ERROR_MESSAGE_CHANNEL_URL); + return; + } + this._getGoogleFont(); + + chat = document.getElementById(ELEMENT_ID); + if (chat) { + this._init(appId, chat); + + loginBoard = new LoginBoard(board.self); + loginBoard.addLoginBtnClickEvent(() => { + if (!hasClass(loginBoard.loginBtn, loginBoard.classes.DISABLED)) { + loginBoard.disableLoginBoard(); + spinner.insert(loginBoard.loginBtn); + this._connectUser(loginBoard.userId.value, loginBoard.nickname.value, () => { + spinner.remove(loginBoard.loginBtn); + loginBoard.reset(); + spinner.insert(messageBoard.content); + board.self.replaceChild(messageBoard.self, loginBoard.self); + this._enterChannel(channelUrl); + }); + } + }); + } else { + console.error(ERROR_MESSAGE); + } + } + + startWithConnect(appId, userId, nickname, callback) { + if (!window.SendBird) { + if (sendbirdLib !== null) { + window.SendBird = sendbirdLib; + } else { + console.error(ERROR_MESSAGE_SDK); + return; + } + } + if (!appId) { + console.error(ERROR_MESSAGE_APP_ID); + return; + } + if (!userId || !nickname) { + console.error(ERROR_MESSAGE_USER_INFO); + return; + } + this._getGoogleFont(); + + chat = document.getElementById(ELEMENT_ID); + if (chat) { + this._init(appId, chat); + this._connectUser(userId, nickname, () => { + spinner.insert(messageBoard.content); + board.self.appendChild(messageBoard.self); + callback(); + }); + } else { + console.error(ERROR_MESSAGE); + } + } + + _init(appId, chat) { + sendbird = new Sendbird(appId); + spinner = new Spinner(); + board = new ChatBoard(chat); + + messageBoard = new MessageBoard(); + messageBoard.setScrollEvent(() => { + sendbird.getMessageList((messageList) => { + messageBoard.renderMessage(messageList, false, true); + }); + }); + messageBoard.iconClickEvent(() => { + let textMessage = messageBoard.getMessage(); + messageBoard.clearInput(); + if (textMessage) { + sendbird.sendMessage(textMessage, (message) => { + messageBoard.renderMessage([message], true, false); + this._removeOverCountMessage(); + }); + } + }); + } + + _getGoogleFont() { + var wf = document.createElement('script'); + wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + + '://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js'; + wf.type = 'text/javascript'; + wf.async = 'true'; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(wf, s); + } + + _connectUser(userId, nickname, callback) { + sendbird.connect(userId, nickname, () => { + callback(); + }); + } + + enterChannel(channelUrl, callback) { + this._enterChannel(channelUrl,callback); + } + + exitChannel(callback) { + sendbird.exitChannel(callback); + } + + _enterChannel(channelUrl, callback) { + sendbird.enterChannel(channelUrl, () => { + sendbird.getMessageList((messageList) => { + spinner.remove(messageBoard.content); + messageBoard.renderMessage(messageList, true, false); + sendbird.createHandler((channel, message) => { + if (channel.url == channelUrl) { + let isBottom = messageBoard.isBottom(); + messageBoard.renderMessage([message], isBottom, false); + if (!isBottom) { + messageBoard.createBottomBtn(); + } else { + this._removeOverCountMessage(); + } + } + }); + }); + + if (callback) { + callback(); + } + }); + } + + _removeOverCountMessage() { + let messages = messageBoard.content.children; + let overCount = messages.length - MAX_MESSAGE_COUNT; + if (overCount > 0) { + var i; + for (i = 0 ; i < overCount ; i++) { + messageBoard.content.removeChild(messageBoard.content.firstChild); + } + } + } + +} + +window.liveChat = new LiveChat(); diff --git a/app/javascript/src-sendbird/consts.js b/app/javascript/src-sendbird/consts.js new file mode 100644 index 0000000000000..444f1d6e4d7a4 --- /dev/null +++ b/app/javascript/src-sendbird/consts.js @@ -0,0 +1,12 @@ +export const EMPTY_STRING = ''; +export const TITLE_BOARD_TOP = 'Chat Live'; + +export const CURSOR = { + INIT: '', + DEFAULT: 'default' +}; + +export const KEY_CODE = { + ENTER: 13, + KR: 229 +}; diff --git a/app/javascript/src-sendbird/elements/chat-board.js b/app/javascript/src-sendbird/elements/chat-board.js new file mode 100644 index 0000000000000..93aa395fa0651 --- /dev/null +++ b/app/javascript/src-sendbird/elements/chat-board.js @@ -0,0 +1,27 @@ +import Element from './element.js'; +import { TITLE_BOARD_TOP } from '../consts.js'; + +class ChatBoard extends Element { + constructor(chat) { + super(); + this._create(); + chat.appendChild(this.self); + } + + reset() { + } + + _create() { + let board = this._createDiv(); + this._setClass(board, [this.classes.CHAT_BOARD]); + + let top = this._createDiv(); + this._setClass(top, [this.classes.TOP]); + this._setContent(top, TITLE_BOARD_TOP); + + board.appendChild(top); + this.self = board; + } +} + +export { ChatBoard as default }; diff --git a/app/javascript/src-sendbird/elements/element.js b/app/javascript/src-sendbird/elements/element.js new file mode 100644 index 0000000000000..1fa200e2ea92a --- /dev/null +++ b/app/javascript/src-sendbird/elements/element.js @@ -0,0 +1,137 @@ +// import '../../scss/chat.scss'; + +class Element { + constructor() { + this.tags = { + DIV: 'div', + SPAN: 'span', + INPUT: 'input', + LABEL: 'label' + }; + this.events = { + CLICK: 'click', + KEYDOWN: 'keydown', + KEYUP: 'keyup', + SCROLL: 'scroll', + PASTE: 'paste', + CHANGE: 'change', + FOCUS: 'focus', + FOCUSOUT: 'focusout' + }; + this.classes = { + SPINNER: 'sb-spinner', + + CHAT_BOARD: 'chat-board', + LOGIN_BOARD: 'login-board', + MESSAGE_BOARD: 'message-board', + MESSAGE_ITEM: 'message-item', + MESSAGE_TEXT: 'message-text', + + INPUT_TEXT: 'input-text', + CONTENT_INPUT: 'content-input', + INPUT: 'input', + + CONTENT: 'content', + TOP: 'top', + BTN: 'btn', + TIME: 'time', + ICON: 'icon', + + DISABLED: 'disabled', + ACTIVE: 'active', + + USER_ID: 'user-id', + NICKNAME: 'nickname', + NICKNAME_COLOR: 'nickname-color-' + }; + } + + _createDiv() { + return document.createElement(this.tags.DIV); + } + + _createSpan() { + return document.createElement(this.tags.SPAN); + } + + _createInput() { + return document.createElement(this.tags.INPUT); + } + + _createLabel() { + return document.createElement(this.tags.LABEL); + } + + _setClass(...args) { + args.reduce((target, classes) => { + return target.className += classes.join(' '); + }); + } + + _setContent(target, text) { + target.innerHTML = text; + } + + _addContent(target, text) { + target.innerHTML += text; + } + + _setClickEvent(target, action) { + target.addEventListener(this.events.CLICK, () => { + action(); + }); + } + + _setScrollEvent(target, action) { + target.addEventListener(this.events.SCROLL, () => { + action(); + }); + } + + _setPasteEvent(target, action) { + target.addEventListener(this.events.PASTE, (event) => { + action(event); + }); + } + + _setKeyupEvent(target, action) { + target.addEventListener(this.events.KEYUP, (event) => { + action(event); + }); + } + + _setKeydownEvent(target, action) { + target.addEventListener(this.events.KEYDOWN, (event) => { + action(event); + }); + } + + _setChangeEvent(target, action) { + target.addEventListener(this.events.CHANGE, () => { + action(); + }); + } + + _setFocusEvent(target, action) { + target.addEventListener(this.events.FOCUS, () => { + action(); + }); + } + + _setFocusOutEvent(target, action) { + target.addEventListener(this.events.FOCUSOUT, () => { + action(); + }); + } + + _setHeight(target, height) { + target.style.height = height + 'px'; + } + + _setPaddingTopBottom(target, padding) { + target.style.paddingTop = padding + 'px'; + target.style.paddingBottom = padding + 'px'; + } +} + +export { Element as default }; diff --git a/app/javascript/src-sendbird/elements/login-board.js b/app/javascript/src-sendbird/elements/login-board.js new file mode 100644 index 0000000000000..38a87fdd5bf3c --- /dev/null +++ b/app/javascript/src-sendbird/elements/login-board.js @@ -0,0 +1,127 @@ +import Element from './element.js'; + +import { EMPTY_STRING, CURSOR, KEY_CODE } from '../consts.js'; +import { removeClass, addClass, hasClass, isEmptyString } from '../utils.js'; + +const TEXT_INPUT_USER_ID = 'USER ID'; +const TEXT_INPUT_NICKNAME = 'NICKNAME'; +const TEXT_LOIN_BTN = 'Start Chat'; + +class LoginBoard extends Element { + constructor(board) { + super(); + this._create(); + board.appendChild(this.self); + } + + reset() { + this.userId.disabled = false; + this.userId.value = EMPTY_STRING; + this.nickname.disabled = false; + this.nickname.value = EMPTY_STRING; + this._setContent(this.loginBtn, TEXT_LOIN_BTN); + this.loginBtnToggle(false); + } + + _create() { + let board = this._createDiv(); + this._setClass(board, [this.classes.LOGIN_BOARD]); + + let userIdDiv = this._createDiv(); + this._setClass(userIdDiv, [this.classes.CONTENT, this.classes.USER_ID]); + + let userIdText = this._createDiv(); + this._setClass(userIdText, [this.classes.INPUT_TEXT]); + this._setContent(userIdText, TEXT_INPUT_USER_ID); + userIdDiv.appendChild(userIdText); + + let userIdInput = this._createInput(); + this._setClass(userIdInput, [this.classes.INPUT]); + userIdDiv.appendChild(userIdInput); + + board.appendChild(userIdDiv); + + let nicknameDiv = this._createDiv(); + this._setClass(nicknameDiv, [this.classes.CONTENT, this.classes.NICKNAME]); + + let nicknameText = this._createDiv(); + this._setClass(nicknameText, [this.classes.INPUT_TEXT]); + this._setContent(nicknameText, TEXT_INPUT_NICKNAME); + nicknameDiv.appendChild(nicknameText); + + let nicknameInput = this._createInput(); + this._setClass(nicknameInput, [this.classes.INPUT]); + nicknameDiv.appendChild(nicknameInput); + + board.appendChild(nicknameDiv); + + let loginBtn = this._createDiv(); + this._setClass(loginBtn, [this.classes.BTN, this.classes.DISABLED]); + this._setContent(loginBtn, TEXT_LOIN_BTN); + + board.appendChild(loginBtn); + this.self = board; + this.userId = userIdInput; + this.nickname = nicknameInput; + this.loginBtn = loginBtn; + + this._setEvents(); + } + + _checkEnableLoginBtn() { + if (!isEmptyString(this.userId.value.trim()) && !isEmptyString(this.nickname.value.trim())) { + removeClass(this.loginBtn, this.classes.DISABLED); + } else { + if (!hasClass(this.loginBtn, this.classes.DISABLED)) { + addClass(this.loginBtn, this.classes.DISABLED); + } + } + } + + _setEvents() { + let userIdEvent = (event) => { + if (event && event.keyCode == KEY_CODE.ENTER) { + this.nickname.focus(); + } else { + this._checkEnableLoginBtn(); + } + }; + let nicknameEvent = (event) => { + if (event && event.keyCode == KEY_CODE.ENTER) { + if (!hasClass(this.loginBtn, this.classes.DISABLED)) { + this.loginBtn.click(); + } + } else { + this._checkEnableLoginBtn(); + } + }; + + this._setKeyupEvent(this.userId, (event) => { userIdEvent(event); }); + this._setChangeEvent(this.userId, () => { userIdEvent(); }); + this._setKeyupEvent(this.nickname, (event) => { nicknameEvent(event); }); + this._setChangeEvent(this.nickname, () => { nicknameEvent(); }); + } + + addLoginBtnClickEvent(action) { + this._setClickEvent(this.loginBtn, action); + } + + disableLoginBoard() { + this.userId.disabled = true; + this.nickname.disabled = true; + addClass(this.loginBtn, this.classes.DISABLED); + } + + loginBtnToggle(isEnabled) { + if (isEnabled || isEnabled === undefined) { + removeClass(this.loginBtn, this.classes.DISABLED); + this.loginBtn.style.cursor = CURSOR.INIT; + } else { + addClass(this.loginBtn, this.classes.DISABLED); + this.loginBtn.style.cursor = CURSOR.DEFAULT; + } + } + +} + +export { LoginBoard as default }; diff --git a/app/javascript/src-sendbird/elements/message-board.js b/app/javascript/src-sendbird/elements/message-board.js new file mode 100644 index 0000000000000..4fd5cab7c979e --- /dev/null +++ b/app/javascript/src-sendbird/elements/message-board.js @@ -0,0 +1,274 @@ +import Element from './element.js'; +import { EMPTY_STRING, KEY_CODE } from '../consts.js'; +import { hasClass, addClass, removeClass, getPaddingTop, getFullHeight, xssEscape } from '../utils.js'; + +const MESSAGE_PREFIX = ' : '; +const LAST_MESSAGE_YESTERDAY = 'YESTERDAY'; +const MORE_MESSAGE_BELOW = 'More message below.'; + +const MAX_HEIGHT_INPUT_OUTER = 50; +const MAX_HEIGHT_INPUT_INNER = 39; +const MIN_HEIGHT_INPUT_INNER = 14; + +class MessageBoard extends Element{ + constructor() { + super(); + this._create(); + this.senderColor = {}; + this.kr = null; + } + + reset() { + this.senderColor = {}; + this.kr = null; + } + + _create() { + let board = this._createDiv(); + this._setClass(board, [this.classes.MESSAGE_BOARD]); + + let content = this._createDiv(); + this._setClass(content, [this.classes.CONTENT]); + board.appendChild(content); + + let contentInput = this._createDiv(); + this._setClass(contentInput, [this.classes.CONTENT_INPUT]); + + let input = this._createDiv(); + this._setClass(input, [this.classes.INPUT]); + input.setAttribute('contenteditable', true); + this._setFocusEvent(input, () => { + if (!hasClass(contentInput, this.classes.ACTIVE)) { + addClass(contentInput, this.classes.ACTIVE); + } + }); + this._setFocusOutEvent(input, () => { + if (hasClass(contentInput, this.classes.ACTIVE)) { + removeClass(contentInput, this.classes.ACTIVE); + } + }); + this._setKeydownEvent(input, (event) => { + this._responsiveTextInput(); + if (event.keyCode == KEY_CODE.KR) { + this.kr = this.input.textContent; + } + if (event.keyCode == KEY_CODE.ENTER && !event.shiftKey) { + event.preventDefault(); + this.icon.click(); + this.clearInput(); + } + }); + this._setKeyupEvent(input, () => { + this._responsiveTextInput(); + }); + this._setPasteEvent(input, (event) => { + let clipboardData; + let pastedData; + + event.stopPropagation(); + event.preventDefault(); + + clipboardData = event.clipboardData || window.clipboardData; + pastedData = clipboardData.getData('Text'); + + input.textContent += pastedData; + }); + contentInput.appendChild(input); + + let icon = this._createDiv(); + this._setClass(icon, [this.classes.ICON]); + contentInput.appendChild(icon); + + board.appendChild(contentInput); + + this.self = board; + this.content = content; + this.input = input; + this.icon = icon; + } + + getMessage() { + if (this.input.textContent || this.kr) { + let textMessage = this.input.textContent || this.kr; + return textMessage.trim(); + } + } + + clearInput() { + let items = this.input.querySelectorAll(this.tags.DIV); + for (var i = 0 ; i < items.length ; i++) { + let item = items[i]; + item.remove(); + } + this._setContent(this.input, EMPTY_STRING); + this.kr = null; + this._iconToggle(); + } + + iconClickEvent(action) { + this._setClickEvent(this.icon, action); + } + + _responsiveTextInput() { + let outerHeight = this.input.scrollHeight; + let paddingTop = getPaddingTop(this.input); + let innerHeight = (outerHeight - (paddingTop * 2)); + let expectPadding = (MAX_HEIGHT_INPUT_OUTER - innerHeight); + + if (innerHeight < MIN_HEIGHT_INPUT_INNER) { + this._setPaddingTopBottom(this.input, ((MAX_HEIGHT_INPUT_OUTER - MIN_HEIGHT_INPUT_INNER)/2)); + } else if (innerHeight > MAX_HEIGHT_INPUT_INNER) { + this._setPaddingTopBottom(this.input, ((MAX_HEIGHT_INPUT_OUTER - MAX_HEIGHT_INPUT_INNER)/2)); + } else { + this._setPaddingTopBottom(this.input, (expectPadding/2)); + } + this._iconToggle(); + } + + _iconToggle() { + if (this.input.textContent.length > 0) { + if (!hasClass(this.icon, this.classes.ACTIVE)) { + addClass(this.icon, this.classes.ACTIVE); + } + } else { + removeClass(this.icon, this.classes.ACTIVE); + } + } + + setScrollEvent(action) { + let _self = this; + _self._setScrollEvent(_self.content, () => { + if (_self.content.scrollTop == 0) { + action(); + } + if (_self.isBottom()) { + this._removeToBottomBtn(); + } + }); + } + + renderMessage(messageList, isScrollToBottom, isLoadMore) { + let firstChild = this.content.firstChild; + var moveScroll = 0; + var i; + for (i = 0 ; i < messageList.length ; i++) { + let message = messageList[i]; + if (message.isUserMessage()) { + let item = this._createMessageItem(message); + isLoadMore ? this.content.insertBefore(item, firstChild) : this.content.appendChild(item); + moveScroll += getFullHeight(item); + } else { + // do something... + } + } + if (isLoadMore) { + this.content.scrollTop = moveScroll; + } + if (isScrollToBottom) { + this._scrollToBottom(); + } + } + + _createMessageItem(message) { + let item = this._createDiv(); + this._setClass(item, [this.classes.MESSAGE_ITEM]); + item.setAttribute('id', message.messageId); + + let text = this._createDiv(); + this._setClass(text, [this.classes.MESSAGE_TEXT]); + + let nickname = this._createLabel(); + let nicknameColor = this.senderColor[message.sender.userId]; + if (!nicknameColor) { + nicknameColor = Math.floor((Math.random() * 12) + 1); + nicknameColor = (nicknameColor < 10) ? '0' + nicknameColor.toString() : nicknameColor.toString(); + this.senderColor[message.sender.userId] = nicknameColor; + } + this._setClass(nickname, [this.classes.NICKNAME, this.classes.NICKNAME_COLOR + nicknameColor]); + this._setContent(nickname, xssEscape(message.sender.nickname)); + + text.appendChild(nickname); + this._addContent(text, MESSAGE_PREFIX + xssEscape(message.message)); + + item.appendChild(text); + + let time = this._createDiv(); + this._setClass(time, [this.classes.TIME]); + this._setContent(time, this._getTime(message)); + item.appendChild(time); + + return item; + } + + createBottomBtn() { + let btn = this._createDiv(); + this._setClass(btn, [this.classes.BTN]); + this._setContent(btn, MORE_MESSAGE_BELOW); + if (!this.bottomBtn) { + this.self.appendChild(btn); + this.bottomBtn = btn; + } + this._setClickEvent(btn, () => { + this._scrollToBottom(); + this._removeToBottomBtn(); + }); + } + + _removeToBottomBtn() { + if (this.bottomBtn) { + this.self.removeChild(this.bottomBtn); + this.bottomBtn = null; + } + } + + isBottom() { + return this.content.scrollTop == this.content.scrollHeight - this.content.clientHeight; + } + + _scrollToBottom() { + this.content.scrollTop = this.content.scrollHeight - this.content.clientHeight; + } + + _getTime(message) { + const months = [ + 'JAN', 'FEB', 'MAR', 'APR', 'MAY', + 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', + 'NOV', 'DEC' + ]; + + var _getDay = (val) => { + let day = parseInt(val); + if (day == 1) { + return day + 'st'; + } else if (day == 2) { + return day + 'en'; + } else if (day == 3) { + return day + 'rd'; + } else { + return day + 'th'; + } + }; + + var _checkTime = (val) => { + return (+val < 10) ? '0' + val : val; + }; + + if (message) { + var _nowDate = new Date(); + var _date = new Date(message.createdAt); + if (_nowDate.getDate() - _date.getDate() == 1) { + return LAST_MESSAGE_YESTERDAY; + } else if (_nowDate.getFullYear() == _date.getFullYear() + && _nowDate.getMonth() == _date.getMonth() + && _nowDate.getDate() == _date.getDate()) { + return _checkTime(_date.getHours()) + ':' + _checkTime(_date.getMinutes()); + } else { + return months[_date.getMonth()] + ' ' + _getDay(_date.getDate()); + } + } + return ''; + } + +} + +export { MessageBoard as default }; diff --git a/app/javascript/src-sendbird/elements/spinner.js b/app/javascript/src-sendbird/elements/spinner.js new file mode 100644 index 0000000000000..88b7058c2d120 --- /dev/null +++ b/app/javascript/src-sendbird/elements/spinner.js @@ -0,0 +1,32 @@ +import { EMPTY_STRING } from '../consts.js'; +import Element from './element.js'; + +class Spinner extends Element { + constructor() { + super(); + this._create(); + } + + _create() { + let spinner = this._createDiv(); + this._setClass(spinner, [this.classes.SPINNER]); + var i; + for (i = 0 ; i < 3 ; i++) { + spinner.appendChild(this._createDiv()); + } + this.self = spinner; + } + + insert(target) { + this._setContent(target, EMPTY_STRING); + target.appendChild(this.self); + } + + remove(target) { + if (target.firstElementChild) { + target.removeChild(this.self); + } + } +} + +export { Spinner as default }; diff --git a/app/javascript/src-sendbird/sendbird.js b/app/javascript/src-sendbird/sendbird.js new file mode 100644 index 0000000000000..4595080a1777b --- /dev/null +++ b/app/javascript/src-sendbird/sendbird.js @@ -0,0 +1,128 @@ +const GLOBAL_HANDLER = 'GLOBAL_HANDLER'; +const GET_MESSAGE_LIMIT = 30; + +class Sendbird { + constructor(appId) { + this.self = new window.SendBird({ appId: appId }); + this.messageListQuery = null; + this.channel = null; + } + + reset() { + this.channel = null; + this.self.removeChannelHandler(GLOBAL_HANDLER); + } + + /* + User + */ + isConnected() { + return !!this.self.currentUser; + } + + connect(userId, nickname, action) { + this.self.connect(userId.trim(), (user, error) => { + if (error) { + console.error(error); + return; + } + this.self.updateCurrentUserInfo(nickname.trim(), '', (response, error) => { + if (error) { + console.error(error); + return; + } + action(); + }); + }); + } + + disconnect(action) { + if(this.isConnected()) { + this.self.disconnect(() => { + action(); + }); + } + } + + isCurrentUser(user) { + return this.self.currentUser.userId == user.userId; + } + + /* + Channel + */ + enterChannel(channelUrl, action) { + this.self.OpenChannel.getChannel(channelUrl, (channel, error) => { + if (error) { + console.error(error); + return; + } + channel.enter((response, error) => { + if (error) { + console.error(error); + return; + } + this.channel = channel; + action(); + }); + }); + } + + exitChannel(callback) { + this.channel.exit((response, error) => { + if (error) { + console.error(error); + return; + } + this.channel = null; + callback(); + }); + } + + /* + Message + */ + getMessageList(action) { + if (!this.messageListQuery) { + this.messageListQuery = this.channel.createPreviousMessageListQuery(); + } + if (this.messageListQuery.hasMore && !this.messageListQuery.isLoading) { + this.messageListQuery.load(GET_MESSAGE_LIMIT, false, (messageList, error) => { + if (error) { + console.error(error); + return; + } + action(messageList); + }); + } + } + + sendMessage(textMessage, action) { + this.channel.sendUserMessage(textMessage, (message, error) => { + if (error) { + console.error(error); + return; + } + action(message); + }); + } + + /* + Handler + */ + createHandler(messageReceivedFunc) { + let channelHandler = new this.self.ChannelHandler(); + channelHandler.onMessageReceived = (channel, message) => { + messageReceivedFunc(channel, message); + }; + channelHandler.onMessageDeleted = (channel, messageId) => { + var deletedMessage = document.getElementById(messageId); + if (deletedMessage) { + deletedMessage.remove(); + } + }; + this.self.addChannelHandler(GLOBAL_HANDLER, channelHandler); + } +} + +export { Sendbird as default }; diff --git a/app/javascript/src-sendbird/utils.js b/app/javascript/src-sendbird/utils.js new file mode 100644 index 0000000000000..d4974f0d12319 --- /dev/null +++ b/app/javascript/src-sendbird/utils.js @@ -0,0 +1,82 @@ +const DISPLAY_NONE = 'none'; +const DISPLAY_BLOCK = 'block'; + +export function hide(target) { + if (target) { + target.style.display = DISPLAY_NONE; + } +} + +export function show(target, displayType) { + if (target) { + displayType ? target.style.display = displayType : target.style.display = DISPLAY_BLOCK; + } +} + +export function hasClass(target, className) { + if (target.classList) { + return target.classList.contains(className); + } else { + return new RegExp('(^| )' + className + '( |$)', 'gi').test(target.className); + } +} + +export function addClass(target, className) { + if (target.classList) { + if (!(className in target.classList)) { + target.classList.add(className); + } + } else { + if (target.className.indexOf(className) < 0) { + target.className += ' ' + className; + } + } + return target; +} + +export function removeClass(target, className) { + if (target.classList) { + target.classList.remove(className); + } else { + target.className = target.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ''); + } + return target; +} + +export function isEmptyString(target) { + return !!(target == null || target == undefined || target.length == 0); +} + +export function getFullHeight(target) { + var height = target.offsetHeight; + var style = getComputedStyle(target); + height += parseInt(style.marginTop) + parseInt(style.marginBottom); + return height; +} + +export function getPaddingTop(target) { + try { + return parseFloat(window.getComputedStyle(target, null).getPropertyValue('padding-top')); + } catch(e) { + return parseFloat(target.currentStyle.paddingTop); + } +} + +export function xssEscape(target) { + if (typeof target === 'string') { + return target + .split('&').join('&') + .split('#').join('#') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"') + .split('\'').join(''') + .split('+').join('+') + .split('-').join('-') + .split('(').join('(') + .split(')').join(')') + .split('%').join('%'); + } else { + return target; + } +} diff --git a/app/javascript/src/Onboarding.jsx b/app/javascript/src/Onboarding.jsx new file mode 100644 index 0000000000000..e648ea9ff5adc --- /dev/null +++ b/app/javascript/src/Onboarding.jsx @@ -0,0 +1,223 @@ +import { h, render, Component } from 'preact'; +import OnboardingWelcome from './components/OnboardingWelcome'; +import OnboardingFollowTags from './components/OnboardingFollowTags'; +import OnboardingWelcomeThread from './components/OnboardingWelcomeThread'; +import cancelSvg from '../../assets/images/cancel.svg'; + +class Onboarding extends Component { + constructor() { + super(); + this.handleNextButton = this.handleNextButton.bind(this); + this.handleBackButton = this.handleBackButton.bind(this); + this.closeOnboarding = this.closeOnboarding.bind(this); + this.handleFollowTag = this.handleFollowTag.bind(this); + this.updateUserData = this.updateUserData.bind(this); + this.getUserTags = this.getUserTags.bind(this); + this.state = { + pageNumber: 1, + showOnboarding: false, + userData: null, + allTags: [], + }; + } + + componentDidMount() { + this.updateUserData(); + this.getUserTags(); + document.getElementsByTagName('body')[0].classList.add('modal-open'); + } + + getUserTags() { + fetch('/api/tags/onboarding') + .then(response => response.json()) + .then((json) => { + const followedTagNames = JSON.parse(document.body.getAttribute('data-user')).followed_tag_names.sort(); + function checkFollowingStatus(followedTags, jsonTags) { + const newJSON = jsonTags; + jsonTags.map((tag, index) => { + if (tag.name === followedTags[index]) { + newJSON[index].following = true; + } else { newJSON[index].following = false; } + return newJSON; + }); + return newJSON; + } + const updatedJSON = checkFollowingStatus(followedTagNames, json); + this.setState({ allTags: updatedJSON }); + }) + .catch((huh) => { + console.log(huh); + }); + } + + updateUserData() { + this.setState({ userData: JSON.parse(document.body.getAttribute('data-user')) }); + if (this.state.userData.saw_onboarding === true) { + this.setState({ showOnboarding: false }); + } else { + this.setState({ showOnboarding: true }); + } + } + + handleFollowTag(tag) { + const csrfToken = document.querySelector("meta[name='csrf-token']").content; + + const formData = new FormData(); + formData.append('followable_type', 'Tag'); + formData.append('followable_id', tag.id); + formData.append('verb', (tag.following ? 'unfollow' : 'follow')); + formData.append('authenticity_token', csrfToken); + + fetch('/follows', { + method: 'POST', + headers: { + 'X-CSRF-Token': csrfToken, + }, + body: formData, + credentials: 'same-origin', + }) + .then((response) => { + // change allTags state + // this.setState({ allTags: [] }); + return response.json().then((json) => { + this.setState({ + allTags: this.state.allTags.map((currentTag) => { + const newTag = currentTag; + if (currentTag.name === tag.name) { + newTag.following = json.outcome === 'followed'; + } + return newTag; + // add in optimistic rendering + }), + }); + }); + }) + .catch((error) => { + console.log(error); + }); + } + + handleNextButton() { + if (this.state.pageNumber < 3) { + this.setState({ pageNumber: this.state.pageNumber + 1 }); + } else if (this.state.pageNumber === 3) { + this.closeOnboarding(); + } + } + + handleBackButton() { + if (this.state.pageNumber > 1) { + this.setState({ pageNumber: this.state.pageNumber - 1 }); + } + } + + closeOnboarding() { + const csrfToken = document.querySelector("meta[name='csrf-token']").content; + document.getElementsByTagName('body')[0].classList.remove('modal-open'); + const formData = new FormData(); + formData.append('saw_onboarding', true); + + fetch('/onboarding_update', { + method: 'PATCH', + headers: { + 'X-CSRF-Token': csrfToken, + }, + body: formData, + credentials: 'same-origin', + }) + .then(response => response.json()) + .then((json) => { + this.setState({ showOnboarding: json.outcome === 'onboarding opened' }); + // console.log('this is special') + // console.log(this.state) + }) + .catch((error) => { + console.log(error); + }); + } + + toggleOnboardingSlide() { + if (this.state.pageNumber === 1) { + return ; + } else if (this.state.pageNumber === 2) { + return ( + + ); + } else if (this.state.pageNumber === 3) { + return ( + + ); + } + } + + renderBackButton() { + if (this.state.pageNumber > 1) { + return ( + + ); + } + } + + renderNextButton() { + const onclick = this.handleNextButton; + return ( + + ); + } + + renderSloanMessage() { + const messages = { + 1: 'WELCOME!', + 2: 'FOLLOW TAGS!', + 3: 'GET INVOLVED!', + }; + return messages[this.state.pageNumber]; + } + + render() { + if (this.state.showOnboarding) { + return ( +
+
+ +
+
+
+
+ {this.renderSloanMessage()} +
+
+
+
+ +
+
+ {this.toggleOnboardingSlide()} +
+
+
+
+ {this.renderBackButton()} +
+
+
+ {this.renderNextButton()} +
+
+
+
+ ); + } + } +} + +export default Onboarding; diff --git a/app/javascript/src/__tests__/Onboarding.test.jsx b/app/javascript/src/__tests__/Onboarding.test.jsx new file mode 100644 index 0000000000000..759f0c5be03ca --- /dev/null +++ b/app/javascript/src/__tests__/Onboarding.test.jsx @@ -0,0 +1,139 @@ +import { h } from 'preact'; +import { shallow, deep } from 'preact-render-spy'; +import fetch from 'jest-fetch-mock'; +import Onboarding from '../Onboarding'; + +global.fetch = fetch; + +// process.on('unhandledRejection', (reason, p) => { +// console.log('Unhandled Rejection at: Promise', p, 'reason:', reason); +// // application specific logging, throwing an error, or other logic here +// }); + +describe('', () => { + afterEach(() => { + document.body.setAttribute('data-user', null); + }); + + const fakeResponse = JSON.stringify([{ + bg_color_hex: '#000000', + id: 715, + name: 'discuss', + text_color_hex: '#ffffff', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }, { + bg_color_hex: '#2a2566', + id: 630, + name: 'career', + text_color_hex: '#ffffff', + }]); + + it('shows nothing if there is no current user', () => { + const dataUser = JSON.stringify({ + saw_onboarding: true, + followed_tag_names: [], + }); + document.body.setAttribute('data-user', dataUser); + fetch.mockResponse(fakeResponse); + const context = shallow(); + expect(context.state('showOnboarding')).toEqual(false); + }); + + it('display if there is current user', () => { + const dataUser = JSON.stringify({ + followed_tag_names: [{ + bg_color_hex: '#000000', + id: 715, + name: 'discuss', + text_color_hex: '#ffffff', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }], + }); + document.body.setAttribute('data-user', dataUser); + fetch.mockResponse(fakeResponse); + const context = shallow(); + expect(context.state()).toMatchSnapshot(); + }); + + it('allows user to interact properly', () => { + const dataUser = JSON.stringify({ + followed_tag_names: [{ + bg_color_hex: '#000000', + id: 715, + name: 'discuss', + text_color_hex: '#ffffff', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }], + }); + document.body.setAttribute('data-user', dataUser); + const meta = document.createElement('meta'); + meta.setAttribute('name', 'csrf-token'); + document.body.appendChild(meta); + fetch.mockResponseOnce(fakeResponse); + const context = deep(, { depth: 3 }); + context.rerender(); + context.find('.button').simulate('click'); + // going to page two + expect(context.state('pageNumber')).toEqual(2); + expect(context.find('[onClick]')).toMatchSnapshot(); + // going to page three + fetch.mockResponse(JSON.stringify({ outcome: 'onboarding closed' })); + context.find('.button').at(1).simulate('click'); + expect(context.state('pageNumber')).toEqual(3); + // going back to page two + context.find('.button').at(0).simulate('click'); + expect(context.state('pageNumber')).toEqual(2); + // going back to page three + context.find('.button').at(1).simulate('click'); + expect(context.state('pageNumber')).toEqual(3); + // evaluting the button text on page 3 + expect(context.find('[onClick]').at(2).text()).toEqual("LET'S GO"); + context.find('.button').at(1).simulate('click'); + // clicking the final button + setImmediate(() => { + expect(context.state('showOnboarding')).toEqual(false); + }); + }); + + xit('allow user to follow tags flawlessly', async () => { + const dataUser = JSON.stringify({ + followed_tag_names: [{ + bg_color_hex: '#000000', + id: 715, + name: 'discuss', + text_color_hex: '#ffffff', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }], + }); + document.body.setAttribute('data-user', dataUser); + const meta = document.createElement('meta'); + meta.setAttribute('name', 'csrf-token'); + document.body.appendChild(meta); + fetch.mockResponseOnce(fakeResponse); + const context = await deep(, { depth: 10 }); + context.setState({ pageNumber: 2 }); + context.rerender(); + console.log(context.find('.onboarding-tag-link-follow')); + }); +}); diff --git a/app/javascript/src/__tests__/__snapshots__/Onboarding.test.jsx.snap b/app/javascript/src/__tests__/__snapshots__/Onboarding.test.jsx.snap new file mode 100644 index 0000000000000..01c35217733c3 --- /dev/null +++ b/app/javascript/src/__tests__/__snapshots__/Onboarding.test.jsx.snap @@ -0,0 +1,72 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` allows user to interact properly 1`] = ` +FindWrapper { + "0": VNode { + "attributes": Object { + "className": "close-button", + "onClick": [Function], + }, + "children": Array [ + VNode { + "attributes": Object { + "alt": "cancel button", + "src": "", + }, + "children": Array [], + "key": undefined, + "nodeName": "img", + }, + ], + "key": undefined, + "nodeName": "button", + }, + "1": VNode { + "attributes": Object { + "className": "button cta", + "onClick": [Function], + }, + "children": Array [ + " BACK ", + ], + "key": undefined, + "nodeName": "button", + }, + "2": VNode { + "attributes": Object { + "className": "button cta", + "onClick": [Function], + }, + "children": Array [ + "NEXT", + ], + "key": undefined, + "nodeName": "button", + }, + "length": 3, +} +`; + +exports[` display if there is current user 1`] = ` +Object { + "allTags": Array [], + "pageNumber": 1, + "showOnboarding": true, + "userData": Object { + "followed_tag_names": Array [ + Object { + "bg_color_hex": "#000000", + "id": 715, + "name": "discuss", + "text_color_hex": "#ffffff", + }, + Object { + "bg_color_hex": "#f7df1e", + "id": 6, + "name": "javascript", + "text_color_hex": "#000000", + }, + ], + }, +} +`; diff --git a/app/javascript/src/components/OnboardingFollowTags.jsx b/app/javascript/src/components/OnboardingFollowTags.jsx new file mode 100644 index 0000000000000..fa1073111d17c --- /dev/null +++ b/app/javascript/src/components/OnboardingFollowTags.jsx @@ -0,0 +1,14 @@ +import { h } from 'preact'; +import OnboardingTags from './OnboardingTags'; + +// component of page 2 +const OnboardingFollowTags = ({ userData, allTags, followedTags, handleFollowTag }) => ( + +); + +export default OnboardingFollowTags; diff --git a/app/javascript/src/components/OnboardingSingleTag.jsx b/app/javascript/src/components/OnboardingSingleTag.jsx new file mode 100644 index 0000000000000..f53f32120ad3d --- /dev/null +++ b/app/javascript/src/components/OnboardingSingleTag.jsx @@ -0,0 +1,44 @@ +import { h, Component } from 'preact'; +import PropTypes from 'prop-types'; + +class OnboardingSingleTag extends Component { + constructor(props) { + super(props); + this.onClick = this.onClick.bind(this); + } + + onClick() { + this.props.onTagClick(this.props.tag); + } + + render() { + return ( + + ); + } +} + +OnboardingSingleTag.propTypes = { + onTagClick: PropTypes.func.isRequired, + tag: PropTypes.object.isRequired, +}; + +export default OnboardingSingleTag; diff --git a/app/javascript/src/components/OnboardingTags.jsx b/app/javascript/src/components/OnboardingTags.jsx new file mode 100644 index 0000000000000..ec68bed80fd01 --- /dev/null +++ b/app/javascript/src/components/OnboardingTags.jsx @@ -0,0 +1,34 @@ +import { h, render, Component } from 'preact'; +import OnboardingSingleTag from './OnboardingSingleTag'; + +// page 2 +class OnboardingTags extends Component { + constructor(props) { + super(props); + } + render() { + const tags = this.props.allTags.map((tag) => { + return ( + + ); + }); + + return ( +
+

+ What topics are you interested in? Here are a few tags to follow (There are plenty more you can choose from later) +

+
+
+ {tags.slice(0, 6)} +
+
+ {tags.slice(6)} +
+
+
+ ); + } +} + +export default OnboardingTags; diff --git a/app/javascript/src/components/OnboardingWelcome.jsx b/app/javascript/src/components/OnboardingWelcome.jsx new file mode 100644 index 0000000000000..e6395aaca747c --- /dev/null +++ b/app/javascript/src/components/OnboardingWelcome.jsx @@ -0,0 +1,21 @@ +import { h, render, Component } from 'preact'; + +// page 1 +const OnboardingWelcome = () => { + const messages = [ + "Hi there, I'm Sloan. It's nice to meet you!", + "Welcome to the community. It's a place to talk shop and keep up with other devs.", + "Share more, learn more, write better code; I think you'll like it here. 🐨", + ]; + + const specialMessage = "Let's get started"; + + return ( +
+ {messages.map(item => (

{item}

))} +

{specialMessage}.

+
+ ); +}; + +export default OnboardingWelcome; diff --git a/app/javascript/src/components/OnboardingWelcomeThread.jsx b/app/javascript/src/components/OnboardingWelcomeThread.jsx new file mode 100644 index 0000000000000..0e69c99a06cce --- /dev/null +++ b/app/javascript/src/components/OnboardingWelcomeThread.jsx @@ -0,0 +1,19 @@ +import { h } from 'preact'; + +const OnboardingWelcomeThread = () => { + const wrapInYellow = message => ( + {message} + ); + + return ( +
+

Got a question? {wrapInYellow('Start a discussion')}.

+

Got a blog post? {wrapInYellow('Publish it')}.

+

Not sure what to say? {wrapInYellow('Fill out your profile')} or just poke around and read.

+

Like something you read? {wrapInYellow('Follow the author')} for more from them.

+

See you around! ✌️

+
+ ); +}; + +export default OnboardingWelcomeThread; diff --git a/app/javascript/src/components/__tests__/OnboardingFollowTags.test.jsx b/app/javascript/src/components/__tests__/OnboardingFollowTags.test.jsx new file mode 100644 index 0000000000000..514a1d3c519e1 --- /dev/null +++ b/app/javascript/src/components/__tests__/OnboardingFollowTags.test.jsx @@ -0,0 +1,34 @@ +import { h } from 'preact'; +import render from 'preact-render-to-json'; +import OnboardingFollowTags from '../OnboardingFollowTags'; + +describe('', () => { + it('renders properly when given a tag', () => { + const userData = {}; + const allTags = [{ + bg_color_hex: '#000000', + id: 715, + name: 'discuss', + text_color_hex: '#ffffff', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }, { + bg_color_hex: '#f7df1e', + id: 6, + name: 'javascript', + text_color_hex: '#000000', + }]; + const followedTags = {}; + const handleFollowTag = jest.fn(); + const tree = render(); + expect(tree).toMatchSnapshot(); + }); +}); diff --git a/app/javascript/src/components/__tests__/OnboardingSingleTag.test.jsx b/app/javascript/src/components/__tests__/OnboardingSingleTag.test.jsx new file mode 100644 index 0000000000000..ac3d248b3f4ea --- /dev/null +++ b/app/javascript/src/components/__tests__/OnboardingSingleTag.test.jsx @@ -0,0 +1,43 @@ +import { h } from 'preact'; +import { shallow } from 'preact-render-spy'; +import { render } from 'preact-render-to-json'; +import OnboardingSingleTag from '../OnboardingSingleTag'; + +describe('', () => { + const followingTag = { following: true }; + const notFollowingTag = { following: false }; + + describe('when given a following tag', () => { + it('renders correctly', () => { + const context = render(); + expect(context).toMatchSnapshot(); + }); + + it('responses to clicks', () => { + const onClick = jest.fn(); + const context = shallow(); + expect(context.find('a').text()).toEqual('✓'); + context.find('.onboarding-tag-link-follow').simulate('click'); + expect(onClick).toHaveBeenCalledTimes(1); + context.render(); + expect(context.find('a').text()).toEqual('+'); + }); + }); + + describe('when given a non-following tag', () => { + it('renders correctly', () => { + const context = render(); + expect(context).toMatchSnapshot(); + }); + + it('responses to clicks', () => { + const onClick = jest.fn(); + const context = shallow(); + expect(context.find('a').text()).toEqual('+'); + context.find('.onboarding-tag-link-follow').simulate('click'); + expect(onClick).toHaveBeenCalledTimes(1); + context.render(); + expect(context.find('a').text()).toEqual('✓'); + }); + }); +}); diff --git a/app/javascript/src/components/__tests__/OnboardingWelcome.test.jsx b/app/javascript/src/components/__tests__/OnboardingWelcome.test.jsx new file mode 100644 index 0000000000000..bec908009e79c --- /dev/null +++ b/app/javascript/src/components/__tests__/OnboardingWelcome.test.jsx @@ -0,0 +1,10 @@ +import { h } from 'preact'; +import { render } from 'preact-render-to-json'; +import OnboardingWelcome from '../OnboardingWelcome'; + +describe('', () => { + it('renders correctly', () => { + const tree = render(); + expect(tree).toMatchSnapshot(); + }); +}); diff --git a/app/javascript/src/components/__tests__/OnboardingWelcomeThread.test.jsx b/app/javascript/src/components/__tests__/OnboardingWelcomeThread.test.jsx new file mode 100644 index 0000000000000..56dd3b2a49cf1 --- /dev/null +++ b/app/javascript/src/components/__tests__/OnboardingWelcomeThread.test.jsx @@ -0,0 +1,10 @@ +import { h } from 'preact'; +import { render } from 'preact-render-to-json'; +import OnboardingWelcomeThread from '../OnboardingWelcomeThread'; + +describe('', () => { + it('renders correctly', () => { + const tree = render(); + expect(tree).toMatchSnapshot(); + }); +}); diff --git a/app/javascript/src/components/__tests__/__snapshots__/OnboardingFollowTags.test.jsx.snap b/app/javascript/src/components/__tests__/__snapshots__/OnboardingFollowTags.test.jsx.snap new file mode 100644 index 0000000000000..4459613d3964b --- /dev/null +++ b/app/javascript/src/components/__tests__/__snapshots__/OnboardingFollowTags.test.jsx.snap @@ -0,0 +1,96 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders properly when given a tag 1`] = ` +
+

+ + What topics are you interested in? + + Here are a few tags to follow (There are plenty more you can choose from later) +

+ +`; diff --git a/app/javascript/src/components/__tests__/__snapshots__/OnboardingSingleTag.test.jsx.snap b/app/javascript/src/components/__tests__/__snapshots__/OnboardingSingleTag.test.jsx.snap new file mode 100644 index 0000000000000..fb0e226052c62 --- /dev/null +++ b/app/javascript/src/components/__tests__/__snapshots__/OnboardingSingleTag.test.jsx.snap @@ -0,0 +1,49 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` when given a following tag renders correctly 1`] = ` + +`; + +exports[` when given a non-following tag renders correctly 1`] = ` + +`; diff --git a/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcome.test.jsx.snap b/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcome.test.jsx.snap new file mode 100644 index 0000000000000..04cf7d5d8801f --- /dev/null +++ b/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcome.test.jsx.snap @@ -0,0 +1,23 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders correctly 1`] = ` +
+

+ Hi there, I'm Sloan. It's nice to meet you! +

+

+ Welcome to the community. It's a place to talk shop and keep up with other devs. +

+

+ Share more, learn more, write better code; I think you'll like it here. 🐨 +

+

+ + Let's get started + + . +

+
+`; diff --git a/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcomeThread.test.jsx.snap b/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcomeThread.test.jsx.snap new file mode 100644 index 0000000000000..203fac54979d9 --- /dev/null +++ b/app/javascript/src/components/__tests__/__snapshots__/OnboardingWelcomeThread.test.jsx.snap @@ -0,0 +1,52 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders correctly 1`] = ` +
+

+ Got a question? + + Start a discussion + + . +

+

+ Got a blog post? + + Publish it + + . +

+

+ Not sure what to say? + + Fill out your profile + + or just poke around and read. +

+

+ Like something you read? + + Follow the author + + for more from them. +

+

+ See you around! + + ✌️ + + +

+
+`; diff --git a/app/javascript/src/utils/__tests__/getUserData.test.js b/app/javascript/src/utils/__tests__/getUserData.test.js new file mode 100644 index 0000000000000..fd9d1c78ac3c8 --- /dev/null +++ b/app/javascript/src/utils/__tests__/getUserData.test.js @@ -0,0 +1,30 @@ +import { getUserData } from '../getUserData'; + +describe('getUserData', () => { + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + document.body.setAttribute('data-user', null); + }); + + it('returns user data if available in document', async () => { + document.body.setAttribute('data-user', '{}'); + const data = getUserData().then(d => d); + expect(setInterval).toHaveBeenCalledTimes(1); + expect(setInterval).toHaveBeenLastCalledWith(expect.any(Function), 5); + jest.runOnlyPendingTimers(); + expect(clearInterval).toHaveBeenCalledTimes(1); + await expect(data).resolves.toEqual({}); + }); + + it('return error rejects if no user data is located', async () => { + const data = getUserData().then(d => d); + expect(setInterval).toHaveBeenCalledTimes(1); + expect(setInterval).toHaveBeenLastCalledWith(expect.any(Function), 5); + jest.advanceTimersByTime(200000); + expect(clearInterval).toHaveBeenCalledTimes(1); + await expect(data).rejects.toEqual("Couldn't find user data on page."); + }); +}); diff --git a/app/javascript/src/utils/getUserData.js b/app/javascript/src/utils/getUserData.js new file mode 100644 index 0000000000000..c75fcb0098c0e --- /dev/null +++ b/app/javascript/src/utils/getUserData.js @@ -0,0 +1,23 @@ +export function getUserData() { + const promise = new Promise((resolve, reject) => { + let i = 0; + const waitingOnUserData = setInterval(() => { + let userData = null; + const dataUserAttribute = document.body.getAttribute('data-user'); + if (dataUserAttribute && dataUserAttribute !== 'undefined' && dataUserAttribute !== undefined) { + userData = JSON.parse(dataUserAttribute); + } + i += 1; + if (userData) { + clearInterval(waitingOnUserData); + resolve(userData); + } else if (i === 3000) { + clearInterval(waitingOnUserData); + reject("Couldn't find user data on page."); + } + }, 5); + }); + return promise; +} + +export default 'getUserData'; diff --git a/app/labor/article_suggester.rb b/app/labor/article_suggester.rb new file mode 100644 index 0000000000000..b6fddf81b9d08 --- /dev/null +++ b/app/labor/article_suggester.rb @@ -0,0 +1,37 @@ +class ArticleSuggester + attr_accessor :article + def initialize(article) + @article = article + end + + def articles(num = 4) + if article.tag_list.any? + (suggestions_by_tag + other_suggestions(num)).flatten.first(num).to_a + else + other_suggestions(num).to_a + end + end + + def other_suggestions(num = 4) + Article.where(featured: true, published: true). + where.not(id: article.id). + order("hotness_score DESC"). + includes(:user). + offset(rand(0..offsets[1])). + first(num) + end + + def suggestions_by_tag + Article.tagged_with(article.tag_list, any: true). + where(published: true). + where.not(id: article.id). + order("hotness_score DESC"). + includes(:user). + offset(rand(0..offsets[0])). + first(4) + end + + def offsets + Rails.env.production? ? [10, 50] : [0, 0] + end +end diff --git a/app/labor/bufferizer.rb b/app/labor/bufferizer.rb new file mode 100644 index 0000000000000..86e766c1bf39c --- /dev/null +++ b/app/labor/bufferizer.rb @@ -0,0 +1,50 @@ +class Bufferizer + def initialize(article, text) + @article = article + @text = text + end + + def twitter_post! + client = Buffer::Client.new(ENV["BUFFER_ACCESS_TOKEN"]) + client.create_update( + body: { + text: + twitter_buffer_text, + profile_ids: [ + ENV["BUFFER_TWITTER_ID"], + ], + }, + ) + @article.update(last_buffered: Time.now) + end + + def facebook_post! + client = Buffer::Client.new(ENV["BUFFER_ACCESS_TOKEN"]) + client.create_update( + body: { + text: + fb_buffer_text, + profile_ids: [ + ENV["BUFFER_FACEBOOK_ID"], # We're sending to LinkedIn and FB with this. + ENV["BUFFER_LINKEDIN_ID"], # That's why there are two profile IDs + ], + }, + ) + @article.update(facebook_last_buffered: Time.now) + end + + private + + def twitter_buffer_text + twit_name = @article.user.twitter_username + if twit_name.present? && @text.size < 230 + "#{@text}\n{ author: @#{twit_name} }\nhttps://dev.to#{@article.path}" + else + "#{@text} https://dev.to#{@article.path}" + end + end + + def fb_buffer_text + "#{@text} https://dev.to#{@article.path}" + end +end diff --git a/app/labor/cache_buster.rb b/app/labor/cache_buster.rb new file mode 100644 index 0000000000000..efe2788195394 --- /dev/null +++ b/app/labor/cache_buster.rb @@ -0,0 +1,65 @@ +class CacheBuster + + def bust(path) + request = HTTParty.post("https://api.fastly.com/purge/https://dev.to#{path}", + :headers => { 'Fastly-Key' => 'f15066a3abedf47238b08e437684c84f' } ) + request = HTTParty.post("https://api.fastly.com/purge/https://dev.to#{path}?i=i", + :headers => { 'Fastly-Key' => 'f15066a3abedf47238b08e437684c84f' } ) + return request + end + + def bust_comment(comment) + if comment.commentable.featured_number.to_i > (Time.now.to_i - 5.hours.to_i) + bust("/") + bust("/?i=i") + bust("?i=i") + end + if comment.commentable.decorate.cached_tag_list_array.include?("discuss") && + comment.commentable.featured_number.to_i > (Time.now.to_i - 35.hours.to_i) + bust("/") + bust("/?i=i") + bust("?i=i") + end + bust("#{comment.commentable.path}/comments/") + bust("#{comment.commentable.path}") + comment.commentable.comments.each do |c| + bust(c.path) + bust(c.path+"?i=i") + end + bust("#{comment.commentable.path}/comments/*") + bust("/#{comment.user.username}") + bust("/#{comment.user.username}/comments") + bust("/#{comment.user.username}/comments?i=i") + bust("/#{comment.user.username}/comments/?i=i") + end + + def bust_article(article) + bust("/" + article.user.username) + bust(article.path + "/") + bust(article.path + "?i=i") + bust(article.path + "/?i=i") + bust(article.path + "/comments") + bust(article.path + "?preview=" + article.password) + if article.organization.present? + bust("/#{article.organization.slug}") + end + if article.featured_number.to_i > Time.now.to_i + bust("/") + bust("?i=i") + end + begin + if article.published_at.to_i > 3.minutes.ago.to_i + article.tag_list.each do |tag| + bust("/t/#{tag}") + end + end + if article.collection + article.collection.articles.each do |a| + bust(a.path) + end + end + rescue + puts "Tag issue" + end + end +end diff --git a/app/labor/classic_article.rb b/app/labor/classic_article.rb new file mode 100644 index 0000000000000..6c875d0fe37a4 --- /dev/null +++ b/app/labor/classic_article.rb @@ -0,0 +1,37 @@ +class ClassicArticle + attr_accessor :user + def initialize(user) + @user = user + end + + def get + possible_articles = [] + 5.times do + possible_articles << cached_qualifying_article + end + possible_articles.compact.sample + end + + def cached_qualifying_article + Rails.cache.fetch("classic-article-for-tag-#{random_supported_tag_name}_#{rand(0..1)}", expires_in: 45.minutes) do + Article.tagged_with(random_supported_tag_name). + where(published: true, featured: true). + where("positive_reactions_count > ?", minimum_reaction_count). + where("published_at > ?", 10.months.ago). + order("RANDOM()"). + first + end + end + + def random_supported_tag_name + user.decorate.cached_followed_tags.where(supported: true).where.not(name: "ama").sample&.name + end + + def minimum_reaction_count + if Rails.env.production? + 36 + else + 1 + end + end +end diff --git a/app/labor/color_from_image.rb b/app/labor/color_from_image.rb new file mode 100644 index 0000000000000..3bac7e91e4fa8 --- /dev/null +++ b/app/labor/color_from_image.rb @@ -0,0 +1,26 @@ +class ColorFromImage + + def initialize(url) + @url = url + end + + def main + return "#000000" unless Rails.env.production? + begin + get_palette["colors"][0]["hex"] + rescue + "#dddddd" + end + end + + def get_palette + input = { + url: @url + } + client = Algorithmia.client(ENV["ALGORITHMIA_KEY"]) + algo = client.algo('vagrant/ColorSchemeExtraction/0.2.0') + algo.pipe(input).result + end + + +end diff --git a/app/labor/coupon_generator.rb b/app/labor/coupon_generator.rb new file mode 100644 index 0000000000000..0050ab990384e --- /dev/null +++ b/app/labor/coupon_generator.rb @@ -0,0 +1,20 @@ +class CouponGenerator + attr_accessor :id, :version + + def initialize(id, version) + @id = id + @version = version + end + + def generate + "#{version}_#{lambda_generated_code}" + end + + private + + def lambda_generated_code + response = FunctionCaller.new("aws-nodejs-ecma-script-dev-couponCode", + { inputNumber: id, version: version }.to_json).call + response.to_s(36) + end +end diff --git a/app/labor/error_message_cleaner.rb b/app/labor/error_message_cleaner.rb new file mode 100644 index 0000000000000..b84293870ba77 --- /dev/null +++ b/app/labor/error_message_cleaner.rb @@ -0,0 +1,17 @@ +class ErrorMessageCleaner + + attr_accessor :error_message + + def initialize(error_message) + @error_message = error_message + end + + def clean + if error_message.include? "expected key while parsing a block mapping at line" + "There was a problem parsing the front-matter YAML. Perhaps you need to escape a quote or a colon or something. Email yo@dev.to if you are having trouble." + else + error_message + end + end + +end diff --git a/app/labor/flare_tag.rb b/app/labor/flare_tag.rb new file mode 100644 index 0000000000000..c1bdbe295ba13 --- /dev/null +++ b/app/labor/flare_tag.rb @@ -0,0 +1,32 @@ +class FlareTag + attr_accessor :article + def initialize(article) + @article = article.decorate + end + + def tag + Rails.cache.fetch("article_flare_tag-#{article.id}-#{article.updated_at}", expires_in: 12.hours) do + flares = ["explainlikeimfive", + "ama", + "techtalks", + "help", + "news", + "showdev", + "challenge", + "anonymous", + "hiring", + "discuss"] + flares.each do |f| + return Tag.find_by_name(f) if article.cached_tag_list_array.include?(f) + end + nil + end + end + + def tag_hash + return unless tag + { name: tag.name, + bg_color_hex: tag.bg_color_hex, + text_color_hex: tag.text_color_hex } + end +end diff --git a/app/labor/follow_checker.rb b/app/labor/follow_checker.rb new file mode 100644 index 0000000000000..7f19703e1f619 --- /dev/null +++ b/app/labor/follow_checker.rb @@ -0,0 +1,23 @@ +class FollowChecker + + attr_accessor :follower, :followable_type, :followable_id + + def initialize(follower, followable_type, followable_id) + @follower = follower + @followable_type = followable_type + @followable_id = followable_id + end + + def cached_follow_check + Rails.cache.fetch("user-#{follower.id}-#{follower.updated_at}/is_following_#{followable_type}_#{followable_id}", expires_in: 100.hours) do + if followable_type == "Tag" + followable = Tag.find(followable_id) + elsif followable_type == "Organization" + followable = Organization.find(followable_id) + else + followable = User.find(followable_id) + end + follower.following?(followable) + end + end +end diff --git a/app/labor/function_caller.rb b/app/labor/function_caller.rb new file mode 100644 index 0000000000000..e12be3f9de50f --- /dev/null +++ b/app/labor/function_caller.rb @@ -0,0 +1,12 @@ +class FunctionCaller + attr_accessor :function_name, :payload + def initialize(function_name, payload) + @function_name = function_name + @payload = payload + end + + def call + response = AwsLambda.invoke(function_name: function_name, payload: payload) + JSON.parse(JSON.parse(response.payload.as_json[0])["body"])["message"] + end +end diff --git a/app/labor/generated_image.rb b/app/labor/generated_image.rb new file mode 100644 index 0000000000000..91ed54a138284 --- /dev/null +++ b/app/labor/generated_image.rb @@ -0,0 +1,72 @@ +class GeneratedImage + include CloudinaryHelper + attr_reader :article + + def initialize(article) + @article = article.decorate + end + + def social_image + return article.social_image if article.social_image.present? + return article.main_image if article.main_image.present? + generated + end + + def generated + img = she_coded_image_path(article) if article.cached_tag_list_array.include? "shecoded" + img = discuss_image_path(article) if article.cached_tag_list_array.include? "discuss" + img || default_social_image(article) + end + + def she_coded_image_path(article) + path = cl_image_path(article.user.profile_image_url || "http://41orchard.com/wp-content/uploads/2011/12/Robot-Chalkboard-Decal.gif", :sign_url=>true, :type=>"fetch", :transformation=>[ + {:height=>520, :width=>420, :crop=>"imagga_scale"}, + {:effect=>"sharpen:50", :gravity=>"east", :underlay=>"nevertheless-shecoded-2_q0c81o"} + ]) + "#{path}?shecoded&t=#{Time.now.to_i}" + end + + def discuss_image_path(article) + if article.comments_count == 0 + comments_string = "New%20discussion%20(0%20responses)" + else + comments_string = "#{ActionController::Base.helpers.pluralize(article.comments_count, 'Response')} and counting".gsub(" ","%20") + end + "http://res.cloudinary.com/practicaldev/image/upload/c_fit,co_rgb:fcfcfc,h_270,l_text:Montserrat_#{font_size}:#{processed_title},w_810/c_fit,co_rgb:e05252,g_north,h_499,l_text:Roboto%20Mono_50:#{comments_string},w_950,y_400/v1489507069/devdiscuss_base_mvcvmb.png?default&t=#{Time.now.to_i}" + end + + def selected_tag + main_tag = OpenStruct.new(bg_color_hex: "#050505", text_color_hex: "#ffffff") + article.cached_tag_list_array.each do |t| + tag = Tag.find_by_name(t) + main_tag = tag if tag && tag.bg_color_hex.present? && tag.text_color_hex.present? + end + if found_tag = Tag.find_by_name(article.main_tag_name_for_social) + if article.cached_tag_list_array.include?(found_tag.name) && found_tag.bg_color_hex.present? && found_tag.text_color_hex.present? + main_tag = found_tag + end + end + main_tag + end + + def processed_title + ERB::Util.url_encode(article.title.gsub(",", "%252C%2520").gsub("/","%2F").gsub(" ","%20")).gsub("%25252C%252520%2520", "%252C%2520") + end + + def default_social_image(article) + name = (article.user.text_only_name || article.user.name).titleize + profile_image_url = if Rails.env.production? + article.user.profile_image_url + else + "https://thepracticaldev.s3.amazonaws.com/uploads/user/profile_image/1075/c097c6cf3c694ac216b084710d06d416.png" + end + text_color = selected_tag.text_color_hex.gsub("#", "") + bg_color = selected_tag.bg_color_hex.gsub("#", "") + "http://res.cloudinary.com/practicaldev/image/fetch/bo_4px_solid_rgb:#{text_color},c_scale,w_73/co_rgb:#{bg_color},e_colorize:115,u_dev-social-bg_yaczxp,x_-425,y_-190/c_fit,co_rgb:#{text_color},l_text:Oxygen_#{font_size}_bold:#{processed_title},w_850/co_rgb:#{bg_color},g_north_east,l_text:Patua%20One_34:#{name.gsub(" ","%20")},x_115,y_400,b_rgb:#{text_color},bo_20px_solid_rgb:#{text_color}/c_scale,l_j_dhfgoj_400x400_1_krefkk,w_80,x_-425,y_-190/https://res.cloudinary.com/practicaldev/image/fetch/s--mr1p-SEq--/c_fill,f_auto,fl_progressive,h_220,q_auto,w_220/#{profile_image_url}?default" + end + + def font_size + calculated = 93 - (article.title.size / 1.86) + calculated.to_i + end +end diff --git a/app/labor/hex_comparer.rb b/app/labor/hex_comparer.rb new file mode 100644 index 0000000000000..fe603e5d9f201 --- /dev/null +++ b/app/labor/hex_comparer.rb @@ -0,0 +1,49 @@ +class HexComparer + + attr_accessor :hexes + def initialize(hexes) + @hexes = hexes + end + + def order + hexes.sort + end + + def smallest + order.first + end + + def biggest + order.last + end + + def brightness(amount = 1) + begin + rgb = smallest.gsub("#","").scan(/../).map(&:hex).map{ |color| color * amount }.map(&:round) + "#%02x%02x%02x" % rgb + rescue + smallest + end + end + + def accent + if brightness(1.14).size == 7 + brightness(1.14) + elsif brightness(1.08).size == 7 + brightness(1.08) + elsif brightness(1.06).size == 7 + brightness(1.06) + elsif brightness(0.96).size == 7 + brightness(0.96) + elsif brightness(0.9).size == 7 + brightness(0.9) + elsif brightness(0.8).size == 7 + brightness(0.8) + elsif brightness(0.7).size == 7 + brightness(0.7) + elsif brightness(0.6).size == 7 + brightness(0.6) + end + end + +end diff --git a/app/labor/html_cleaner.rb b/app/labor/html_cleaner.rb new file mode 100644 index 0000000000000..7cfa895e127f0 --- /dev/null +++ b/app/labor/html_cleaner.rb @@ -0,0 +1,30 @@ +class HtmlCleaner + + def clean_html(html) + doc = Nokogiri::HTML(html) + # Remove Medium tracking pixel + doc.css("img").each do |img| + if img.attr('src') && (img.attr('src').include? "medium.com/_/stat") + img.remove + end + end + # Remove Medium catch phrase + doc.css("p").each do |p| + if p.text.include? "where people are continuing the conversation by highlighting" + p.remove + end + end + + doc.css("pre br").each do |br| + br.replace "\n" + end + doc.css('figure').each do |el| + el.name = 'p' + end + + doc.xpath('//@class').remove + doc.to_html + end + + +end diff --git a/app/labor/html_rouge.rb b/app/labor/html_rouge.rb new file mode 100644 index 0000000000000..9d29bc0160d7e --- /dev/null +++ b/app/labor/html_rouge.rb @@ -0,0 +1,12 @@ +require "rouge/plugins/redcarpet" + +class HtmlRouge < Redcarpet::Render::HTML + include Rouge::Plugins::Redcarpet + + def link(link, _title, content) + # Probably not the best fix but it does it's job of preventing + # a nested links. + return nil if // =~ content + %(#{content}) + end +end diff --git a/app/labor/language_detector.rb b/app/labor/language_detector.rb new file mode 100644 index 0000000000000..8dbd5faa68bc8 --- /dev/null +++ b/app/labor/language_detector.rb @@ -0,0 +1,32 @@ +class LanguageDetector + + def initialize(article) + @article = article + end + + def detect + begin + response = get_language + response["result"] if response["confidence"] > 0.8 + rescue + nil + end + end + + def get_language + return { "result" => "en", "confidence" => 0.9 } unless Rails.env.production? + client = Algorithmia.client(ENV["ALGORITHMIA_KEY"]) + algo = client.algo('miguelher/LanguageDetector/0.1.0') + algo.pipe(text).result + end + + def text + @article.title + "\n" + + non_default_description.to_s + + FrontMatterParser::Parser.new(:md).call(@article.body_markdown).content.split("`")[0] + end + + def non_default_description + @article.description + "\n" unless @article.description.include? "From the DEV community" + end +end diff --git a/app/labor/mailchimp_bot.rb b/app/labor/mailchimp_bot.rb new file mode 100644 index 0000000000000..f0f07b6965a28 --- /dev/null +++ b/app/labor/mailchimp_bot.rb @@ -0,0 +1,103 @@ +class MailchimpBot + attr_reader :user, :saved_changes, :gibbon + + def initialize(user) + @user = user + @saved_changes = user.saved_changes + @gibbon = Gibbon::Request.new + end + + def upsert + return true unless Rails.env.production? || Rails.env.test? + upsert_to_membership_newsletter + upsert_to_newsletter + end + + def upsert_to_newsletter + # attempt to update email if user changed email addresses + success = false + begin + gibbon.lists(ENV["MAILCHIMP_NEWSLETTER_ID"]).members(target_md5_email).upsert( + body: { + email_address: user.email, + status: user.email_newsletter ? "subscribed" : "unsubscribed", + merge_fields: { + NAME: user.name.to_s, + USERNAME: user.username.to_s, + TWITTER: user.twitter_username.to_s, + GITHUB: user.github_username.to_s, + IMAGE_URL: user.profile_image_url.to_s, + ARTICLES: user.articles.size, + COMMENTS: user.comments.size, + ONBOARD_PK: user.onboarding_package_requested.to_s, + EXPERIENCE: user.experience_level || 666, + COUNTRY: user.shipping_country.to_s, + STATE: user.shipping_state.to_s, + POSTAL_ZIP: user.shipping_postal_code.to_s, + }, + }, + ) + success = true + rescue Gibbon::MailChimpError => e + report_error(e) + end + success + end + + def upsert_to_membership_newsletter + return false unless a_sustaining_member? + success = false + # !!! user.monthly_due = 0 ? unsubscibe + tiers = %i[ triple_unicorn_member + level_4_member + level_3_member + level_2_member + level_1_member] + membership = tiers.each { |t| break t if user.has_role?(t) } + status = user.email_membership_newsletter ? "subscribed" : "unsubscribed" + + begin + gibbon.lists(ENV["MAILCHIMP_NEWSLETTER_ID"]).members(target_md5_email).upsert( + body: { + email_address: user.email, + status: status, + merge_fields: { + NAME: user.name.to_s, + USERNAME: user.username.to_s, + TWITTER: user.twitter_username.to_s, + GITHUB: user.github_username.to_s, + IMAGE_URL: user.profile_image_url.to_s, + MEMBERSHIP: membership.to_s, + }, + }, + ) + success = true + rescue Gibbon::MailChimpError => e + report_error(e) + end + success + end + + private + + def a_sustaining_member? + # Reasoning for including => saved_changes["monthly_dues"] + # Is that mailchimp should be updated if a user decides to + # unsubscribes + user.monthly_dues.positive? || saved_changes["monthly_dues"] + end + + def md5_email(email) + Digest::MD5.hexdigest(email.downcase) + end + + def report_error(e) + logger = Logger.new(STDOUT) + logger.error(e) + end + + def target_md5_email + email = saved_changes["unconfirmed_email"] ? saved_changes["email"][0] : user.email + md5_email(email) + end +end diff --git a/app/labor/markdown_fixer.rb b/app/labor/markdown_fixer.rb new file mode 100644 index 0000000000000..35f3e034534ce --- /dev/null +++ b/app/labor/markdown_fixer.rb @@ -0,0 +1,35 @@ +class MarkdownFixer + class << self + def fix_all(markdown) + methods = %i(add_quotes_to_title modify_hr_tags convert_new_lines split_tags) + methods.reduce(markdown) { |result, method| send(method, result) } + end + + def fix_for_preview(markdown) + modify_hr_tags(add_quotes_to_title(markdown)) + end + + def add_quotes_to_title(markdown) + # Andy: hacky way of checking for a quotation mark in the beginning + return markdown if markdown[0..12].include?("\"") + markdown.gsub("title: ", "title: \""). + gsub("\npublished: ", "\"\npublished: ") + end + + # This turns --- into ------- after the first two, + # because --- messes with front matter + def modify_hr_tags(markdown) + markdown.gsub(/^---/).with_index { |m, i| i > 1 ? "#{m}-----" : m } + end + + def convert_new_lines(markdown) + markdown.gsub("\r\n", "\n") + end + + def split_tags(markdown) + markdown.gsub(/\ntags:.*\n/) do |tags| + tags.split(" #").join(",").gsub("#", "").gsub(":,", ": ") + end + end + end +end diff --git a/app/labor/markdown_parser.rb b/app/labor/markdown_parser.rb new file mode 100644 index 0000000000000..0552d49719819 --- /dev/null +++ b/app/labor/markdown_parser.rb @@ -0,0 +1,193 @@ +class MarkdownParser + include ApplicationHelper + + def initialize(content) + @content = content + register_all_custom_liquid_tags if Rails.env != "production" + end + + def finalize + parse_it + end + + def evaluate_markdown + return if @content.blank? + renderer = HtmlRouge.new(hard_wrap: true, filter_html: false) + markdown = Redcarpet::Markdown.new(renderer, REDCARPET_CONFIG) + tag_whitelist = %w(strong em p h1 h2 h3 h4 h5 h6 i u b code pre + br ul ol li small sup sub img a span hr blockquote) + attribute_whitelist = %w(href strong em ref rel src title alt class) + ActionController::Base.helpers.sanitize markdown.render(@content).html_safe, + tags: tag_whitelist, + attributes: attribute_whitelist + end + + def tags_used + return [] unless @content.present? + cleaned_parsed = escape_liquid_tags_in_codeblock(@content) + tags = [] + Liquid::Template.parse(cleaned_parsed).root.nodelist.each do |node| + if node.class.superclass.to_s == LiquidTagBase.to_s + tags << node.class + end + end + tags.uniq + end + + def prefix_all_images(html, width = 880) + doc = Nokogiri::HTML.fragment(html) + doc.css("img").each do |img| + if img.attr("src") + src = img.attr("src") + img["src"] = img_of_size(src, width) + end + end + doc.to_html + end + + private + + def parse_it + renderer = HtmlRouge.new(hard_wrap: true, filter_html: false) + markdown = Redcarpet::Markdown.new(renderer, REDCARPET_CONFIG) + catch_xss_attempts(@content) + escaped_content = escape_liquid_tags_in_codeblock(@content) + html = markdown.render(escaped_content) + sanitized_content = sanitized_article_body(html) + begin + parsed_liquid = Liquid::Template.parse(sanitized_content) + rescue StandardError => e + raise StandardError, e.message + end + html = markdown.render(parsed_liquid.render) + html = remove_nested_linebreak_in_list(html) + html = prefix_all_images(html) + html = wrap_all_images_in_links(html) + html = wrap_all_tables(html) + html = remove_empty_paragraphs(html) + html = wrap_mentions_with_links!(html) + end + + def catch_xss_attempts(markdown) + bad_xss = ['src="data', "src='data", "src='&", 'src="&', "data:text/html"] + bad_xss.each do |xss_attempt| + raise if markdown.include?(xss_attempt) + end + end + + def remove_nested_linebreak_in_list(html) + html_doc = Nokogiri::HTML(html) + html_doc.xpath("//*[self::ul or self::ol or self::li]/br[last()]").each(&:remove) + html_doc.to_html + end + + def escape_liquid_tags_in_codeblock(content) + # Escape BOTH codeblock and inline code + content.gsub(/`{3}.*?`{3}|`{1}.+?`{1}/m) do |codeblock| + if codeblock.include?("```") + "\n{% raw %}\n" + codeblock + "\n{% endraw %}\n" + else + "{% raw %}" + codeblock + "{% endraw %}" + end + # Below is the old implementation that replaces all liquid tag. + # codeblock.gsub(/{%.{1,}[^}]{2}%}/) do |liquid_tag| + # liquid_tag.gsub(/{%/, '{{ "{%').gsub(/%}/, '" }}%}') + # end + end + end + + def wrap_mentions_with_links!(html) + html_doc = Nokogiri::HTML(html) + html_doc.xpath("//body/*[not (@class='highlight')]").each do |el| + el.children.each do |child| + if child.text? + new_child = child.text.gsub(/\B@[a-z0-9_-]+/i) do |s| + user_link_if_exists(s) + end + child.replace(new_child) if new_child != child.text + end + end + end + html_doc.to_html + end + + def user_link_if_exists(mention) + username = mention.gsub("@", "").downcase + if User.find_by_username(username) + <<~HTML + @#{username} + HTML + else + mention + end + end + + def img_of_size(source, width = 880) + quality = if source && (source.include? ".gif") + 66 + else + "auto" + end + cl_image_path(source, + type: "fetch", + width: width, + crop: "limit", + quality: quality, + flags: "progressive", + fetch_format: "auto", + sign_url: true).gsub(",", "%2C") + end + + def wrap_all_images_in_links(html) + doc = Nokogiri::HTML.fragment(html) + doc.search("p img").each do |i| + unless i.parent.name == "a" + i.swap("#{i}") + end + end + doc.to_html + end + + def remove_empty_paragraphs(html) + doc = Nokogiri::HTML.fragment(html) + doc.css("p").select { |p| all_children_are_blank?(p) }.each(&:remove) + doc.to_html + end + + def wrap_all_tables(html) + doc = Nokogiri::HTML.fragment(html) + doc.search("table").each { |i| i.swap("
#{i}
") } + doc.to_html + end + + def all_children_are_blank?(node) + node.children.all? { |child| blank?(child) } + end + + def blank?(node) + (node.text? && node.content.strip == "") || (node.element? && node.name == "br") + end + + def register_all_custom_liquid_tags + # Be sure to also include this in liquid.rb + # This is needed in development and test because classes are + # not cached unless in development. + # !!This method should remain consistent with liquid.rb + + # dynamic + Liquid::Template.register_tag("devcomment", CommentTag) + Liquid::Template.register_tag("github", GithubTag) + Liquid::Template.register_tag("link", LinkTag) + Liquid::Template.register_tag("podcast", PodcastTag) + Liquid::Template.register_tag("tweet", TweetTag) + Liquid::Template.register_tag("twitter", TweetTag) + Liquid::Template.register_tag("user", UserTag) + # static + Liquid::Template.register_tag("codepen", CodepenTag) + Liquid::Template.register_tag("gist", GistTag) + Liquid::Template.register_tag("instagram", InstagramTag) + Liquid::Template.register_tag("replit", ReplitTag) + Liquid::Template.register_tag("youtube", YoutubeTag) + Liquid::Template.register_filter(UrlDecodeFilter) + end +end diff --git a/app/labor/notification_counter.rb b/app/labor/notification_counter.rb new file mode 100644 index 0000000000000..e8c192b5ee752 --- /dev/null +++ b/app/labor/notification_counter.rb @@ -0,0 +1,14 @@ +class NotificationCounter + + def initialize(user) + @user = user + end + + def unread_notification_count + StreamRails.feed_manager.get_notification_feed(@user.id).get['unseen'] + end + + def set_to_zero + StreamRails.feed_manager.get_notification_feed(@user.id).get(mark_seen:true) + end +end diff --git a/app/labor/podcast_feed.rb b/app/labor/podcast_feed.rb new file mode 100644 index 0000000000000..122d45972de00 --- /dev/null +++ b/app/labor/podcast_feed.rb @@ -0,0 +1,91 @@ +require "rss" +require "rss/itunes" +require "open-uri" + +class PodcastFeed + def get_all_episodes + Podcast.find_each do |podcast| + get_episodes(podcast) + end + end + + def get_episodes(podcast, num = 1000) + rss = open(podcast.feed_url).read + feed = RSS::Parser.parse(rss, false) + feed.items.first(num).each do |item| + if !existing_episode(item, podcast) + create_new_episode(item, podcast) + elsif ep = existing_episode(item, podcast).first + update_existing_episode(ep, item, podcast) + end + end + return feed.items.size + rescue => e + puts e.message + end + + def create_new_episode(item, podcast) + ep = PodcastEpisode.new + ep.title = item.title + ep.podcast_id = podcast.id + ep.slug = item.title.downcase.gsub(/[^0-9a-z ]/i, "").gsub(" ", "-") + ep.subtitle = item.itunes_subtitle + ep.summary = item.itunes_summary + ep.website_url = item.link + ep.guid = item.guid + get_media_url(ep, item, podcast) + begin + ep.published_at = item.pubDate.to_date + rescue + puts "not valid date" + end + ep.body = item.content_encoded || item.itunes_summary || item.description + ep.save! + end + + def update_existing_episode(ep, item, podcast) + if ep.published_at == nil + begin + ep.published_at = item.pubDate.to_date + ep.save + rescue + puts "not valid date" + end + end + update_media_url(ep, item) + end + + def existing_episode(item, podcast) + # Andy: presence returns nil if the query is an empty array, otherwise returns the array + PodcastEpisode.where(media_url: item.enclosure.url).presence || + PodcastEpisode.where(title: item.title).presence || + PodcastEpisode.where(guid: item.guid.to_s).presence || + (podcast.unique_website_url? && PodcastEpisode.where(website_url: item.link).presence) + end + + def get_media_url(ep, item, podcast) + ep.media_url = if Rails.env.test? || + open(item.enclosure.url.gsub(/http:/, "https:")).status[0] == "200" + item.enclosure.url.gsub(/http:/, "https:") + else + item.enclosure.url + end + rescue + # Andy: podcast episode must have a media_url + ep.media_url = item.enclosure.url + if podcast.status_notice.empty? + podcast.update(status_notice: "This podcast may not be playable in the browser") + end + end + + def update_media_url(ep, item) + if ep.media_url.include?("https") + return + elsif !ep.media_url.include?("https") && + item.enclosure.url.include?("https") + ep.update!(media_url: item.enclosure.url) + end + rescue + logger.info "something went wrong with #{podcast.title}, #{ep.title} -- #{ep.media_url}" + end +end diff --git a/app/labor/profile_image.rb b/app/labor/profile_image.rb new file mode 100644 index 0000000000000..14ffea9b8a1c6 --- /dev/null +++ b/app/labor/profile_image.rb @@ -0,0 +1,29 @@ +class ProfileImage + attr_accessor :resource, :image_link, :backup_link + + def initialize(resource) + @resource = resource + @image_link = resource.profile_image_url + @backup_link = "https://thepracticaldev.s3.amazonaws.com/i/99mvlsfu5tfj9m7ku25d.png" + end + + def get(width = 120) + CloudinaryHelper.cl_image_path(get_link, + type: "fetch", + crop: "fill", + width: width, + height: width, + quality: "auto", + flags: "progressive", + fetch_format: "auto", + sign_url: true) + end + + def get_link + image_link || backup_link + end + + def get_external_link + image_link ? "#{ENV['APP_PROTOCOL']}#{ENV['APP_DOMAIN']}#{image_link}" : backup_link + end +end diff --git a/app/labor/rate_limit_checker.rb b/app/labor/rate_limit_checker.rb new file mode 100644 index 0000000000000..479b31f07dbfd --- /dev/null +++ b/app/labor/rate_limit_checker.rb @@ -0,0 +1,39 @@ +class RateLimitChecker + attr_accessor :user + def initialize(user = nil) + @user = user + end + + def limit_by_situation(situation) + result = false + case situation + when "comment_creation" + result = user.comments.where("created_at > ?", 30.seconds.ago).size > 9 + when "published_article_creation" + result = user.articles. + where(published: true). + where("created_at > ?", 30.seconds.ago).size > 9 + else + result = false + end + ping_admins if result == true + result + end + + def limit_by_email_recipient_address(address) + # This is related to the recipient, not the "user" initiator, like in situation. + EmailMessage.where(to: address). + where("sent_at > ?", 2.minutes.ago).size > 5 + end + + def ping_admins + return unless user + SlackBot.ping( + "Rate limit exceeded. https://dev.to#{user.path}", + channel: "abuse-reports", + username: "rate_limit", + icon_emoji: ":hand:", + ) + end + handle_asynchronously :ping_admins +end diff --git a/app/labor/reaction_image.rb b/app/labor/reaction_image.rb new file mode 100644 index 0000000000000..dfd627fe7574b --- /dev/null +++ b/app/labor/reaction_image.rb @@ -0,0 +1,18 @@ +class ReactionImage + attr_accessor :category + + def initialize(category) + @category = category + end + + def path + images = { + 'like' => 'emoji/emoji-one-heart.png', + 'unicorn' => 'emoji/emoji-one-unicorn.png', + 'hands' => 'emoji/emoji-one-hands.png', + 'thinking' => 'emoji/emoji-one-thinking.png', + 'readinglist' => 'emoji/emoji-one-bookmark.png' + }.freeze + images[category] + end +end diff --git a/app/labor/reading_list.rb b/app/labor/reading_list.rb new file mode 100644 index 0000000000000..d551c53d21235 --- /dev/null +++ b/app/labor/reading_list.rb @@ -0,0 +1,32 @@ +class ReadingList + attr_accessor :user + def initialize(user) + @user = user + end + + def get + Article. + joins(:reactions). + includes(:user). + where(reactions: reaction_criteria). + order("reactions.created_at DESC") + end + + def cached_ids_of_articles + Rails.cache.fetch("reading_list_ids_of_articles_#{user.id}_#{user.updated_at}") do + ids_of_articles + end + end + + def ids_of_articles + Reaction.where(reaction_criteria).order("created_at DESC").pluck(:reactable_id) + end + + def count + get.size + end + + def reaction_criteria + { user_id: user.id, reactable_type: "Article", category: "readinglist" } + end +end \ No newline at end of file diff --git a/app/labor/rss_reader.rb b/app/labor/rss_reader.rb new file mode 100644 index 0000000000000..5031c9ec844d3 --- /dev/null +++ b/app/labor/rss_reader.rb @@ -0,0 +1,220 @@ +require "rss" +require "open-uri" +require "nokogiri" +require "httparty" + +class RssReader + def self.get_all_articles + new.get_all_articles + end + + def get_all_articles + User.where.not(feed_url: nil).each do |u| + feed_url = u.feed_url.strip + next if feed_url == "" + create_articles_for_user(u) + end + end + + def fetch_user(user) + create_articles_for_user(user) + end + + def valid_feed_url?(link) + true if fetch_rss(link) + rescue + return false + end + + private + + def create_articles_for_user(user) + feed = fetch_rss(user.feed_url) + feed.entries.reverse_each do |item| + begin + make_from_rss_item(item, user, feed) + rescue => e + log_error("RssReaderError: occurred while creating article for " \ + "USER: #{user.username} " \ + "FEED-URL: #{user.feed_url} " \ + "ITEM-TITLE: #{item.title ? item.title : 'no title'} " \ + "ERROR: #{e}") + end + end + rescue => e + log_error("RssReaderError: occurred while fetch feed for " \ + "USER: #{user.username} " \ + "FEED-URL: #{user.feed_url} " \ + "ITEM-COUNT: #{get_item_count_error(feed)} " \ + "ERROR: #{e}") + end + + def get_item_count_error(feed) + if feed + feed.entries ? feed.entries.length : "no count" + else + "NIL FEED, INVALID URL" + end + end + + def fetch_rss(url) + xml = HTTParty.get(url).body + Feedjira::Feed.parse xml + end + + def make_from_rss_item(item, user, feed) + return if medium_reply?(item) || article_exist?(user, item) + article_params = { + feed_source_url: feed_source_url = item.url.strip.split("?source=")[0], + user_id: user.id, + published_at: item.published, + published_from_feed: true, + show_comments: true, + body_markdown: assemble_body_markdown(item, user, feed, feed_source_url), + organization_id: user.organization_id.present? ? user.organization_id : nil, + } + article = Article.create!(article_params) + SlackBot.delay.ping( + "New Article Retrieved via RSS: #{article.title}\nhttps://dev.to#{article.path}", + channel: "activity", + username: "article_bot", + icon_emoji: ":robot_face:", + ) + end + + def assemble_body_markdown(item, user, feed, feed_source_url) + body = <<~HEREDOC + --- + title: "#{item.title.strip.gsub('"', '\"')}" + published: false + tags: #{get_tags(item[:categories])} + canonical_url: #{user.feed_mark_canonical ? feed_source_url : ''} + --- + + #{finalize_reverse_markdown(item, feed)} + + HEREDOC + body.strip + end + + def get_tags(categories) + categories.first(4).map { |tag| tag[0..19] }.join(",") if categories + end + + def get_content(item) + item.content || item.summary || item.description + end + + def finalize_reverse_markdown(item, feed) + cleaned_item_content = HtmlCleaner.new.clean_html(get_content(item)) + cleaned_item_content = thorough_parsing(cleaned_item_content, feed.url) + ReverseMarkdown.convert(cleaned_item_content, github_flavored: true). + gsub("```\n\n```", "").gsub(" ", " ") + end + + def thorough_parsing(content, feed_url) + html_doc = Nokogiri::HTML(content) + find_and_replace_possible_links!(html_doc) + if feed_url.include?("medium.com") + parse_and_translate_gist_iframe!(html_doc) + parse_and_translate_youtube_iframe!(html_doc) + parse_and_translate_tweet!(html_doc) + else + clean_relative_path!(html_doc, feed_url) + end + html_doc.to_html + end + + def parse_and_translate_gist_iframe!(html_doc) + html_doc.css("iframe").each do |iframe| + a_tag = iframe.css("a") + next if a_tag.empty? + possible_link = a_tag[0].inner_html + if possible_link =~ /medium\.com\/media\/.+\/href/ + real_link = "" + open(possible_link) do |h| + real_link = h.base_uri.to_s + end + return unless real_link.include?("gist.github.com") + iframe.name = "p" + iframe.keys.each { |attr| iframe.remove_attribute(attr) } + iframe.inner_html = "{% gist #{real_link} %}" + end + end + html_doc + end + + def parse_and_translate_tweet!(html_doc) + html_doc.search("style").remove + html_doc.search("script").remove + html_doc.css("blockquote").each do |bq| + bq_with_p = bq.css("p") + next if bq_with_p.empty? + second_content = bq_with_p.css("p")[1].css("a")[0].attributes["href"].value + if bq_with_p.length == 2 && second_content.include?("twitter.com") + bq.name = "p" + tweet_id = second_content.scan(/\/status\/(\d{10,})/).flatten.first + bq.inner_html = "{% tweet #{tweet_id} %}" + end + end + end + + def parse_and_translate_youtube_iframe!(html_doc) + html_doc.css("iframe").each do |iframe| + if iframe.attributes["src"].value =~ /youtube\.com/ + iframe.name = "p" + youtube_id = iframe.attributes["src"].value.scan(/embed%2F(.{4,12})%3F/).flatten.first + iframe.keys.each { |attr| iframe.remove_attribute(attr) } + iframe.inner_html = "{% youtube #{youtube_id} %}" + end + end + end + + def clean_relative_path!(html_doc, url) + html_doc.css("img").each do |img_tag| + path = img_tag.attributes["src"].value + if path[0] == "/" + img_tag.attributes["src"].value = url + path + end + end + end + + def find_and_replace_possible_links!(html_doc) + html_doc.css("a").each do |a_tag| + link = a_tag.attributes["href"]&.value + next unless link + found_article = Article.find_by(feed_source_url: link)&.decorate + if found_article + a_tag.attributes["href"].value = found_article.url + end + end + end + + def get_host_without_www(url) + url = "http://#{url}" if URI.parse(url).scheme.nil? + host = URI.parse(url).host.downcase + host.start_with?("www.") ? host[4..-1] : host + end + + def medium_reply?(item) + get_host_without_www(item.url.strip) == "medium.com" && + !item[:categories] && + content_is_not_the_title?(item) + end + + def content_is_not_the_title?(item) + # [[:space:]] removes all whitespace, including unicode ones. + content = item.content.gsub(/[[:space:]]/, " ") + title = item.title.gsub("…", "") + content.include?(title) + end + + def article_exist?(user, item) + user.articles.find_by_title(item.title.strip.gsub('"', '\"')) + end + + def log_error(error_output) + logger = Logger.new(STDOUT) + logger.info(error_output) + end +end diff --git a/app/labor/stream_notifier.rb b/app/labor/stream_notifier.rb new file mode 100644 index 0000000000000..4acec3d58d743 --- /dev/null +++ b/app/labor/stream_notifier.rb @@ -0,0 +1,12 @@ +class StreamNotifier + attr_accessor :user_id, :user + def initialize(user_id) + @user_id = user_id + @user = User.find(user_id) + end + + def notify + user&.touch(:last_notification_activity) + StreamRails.feed_manager.get_notification_feed(user_id) + end +end diff --git a/app/labor/tag_parser.rb b/app/labor/tag_parser.rb new file mode 100644 index 0000000000000..f462c25a15257 --- /dev/null +++ b/app/labor/tag_parser.rb @@ -0,0 +1,35 @@ +class TagParser < ActsAsTaggableOn::GenericParser + def parse + ActsAsTaggableOn::TagList.new.tap do |tag_list| + tag_list.add replace_with_tag_alias(clean(@tag_list)) + end + end + + private + + def clean(string) + string = string.to_s + return [] if string.blank? + string.downcase.split(",").map do |t| + t.strip.gsub(" ","").gsub(/[^0-9a-z]/i,"") + end + end + + def replace_with_tag_alias(tags) + tags.map do |tag| + possible_alias = tag + found_alias = tag + until possible_alias == nil + possible_alias = find_tag_alias(possible_alias) + found_alias = possible_alias if possible_alias + end + found_alias + end + end + + def find_tag_alias(tag) + # "&." is "Safe Navigation"; ensure not called on nil + alias_for = Tag.find_by_name(tag)&.alias_for + alias_for if alias_for.present? + end +end diff --git a/app/labor/twitter_bot.rb b/app/labor/twitter_bot.rb new file mode 100644 index 0000000000000..8827979190517 --- /dev/null +++ b/app/labor/twitter_bot.rb @@ -0,0 +1,23 @@ +class TwitterBot + + def initialize(identity=nil) + if identity + token = identity.token + secret = identity.secret + else + token = ENV["TWITTER_KEY"] + secret = ENV["TWITTER_SECRET"] + end + @twitter = Twitter::REST::Client.new do |config| + config.consumer_key = ENV["TWITTER_KEY"] + config.consumer_secret = ENV["TWITTER_SECRET"] + config.access_token = token + config.access_token_secret = secret + end + end + + def client + @twitter + end + +end diff --git a/app/labor/unread_notifications_emailer.rb b/app/labor/unread_notifications_emailer.rb new file mode 100644 index 0000000000000..2a0852b29d7d9 --- /dev/null +++ b/app/labor/unread_notifications_emailer.rb @@ -0,0 +1,61 @@ +class UnreadNotificationsEmailer + attr_reader :user + + def self.send_all_emails(num = 1000) + # This will run once a day (defined outside the app) + # only to users who have made at least one comment or article. + # We can change this up later. + users = User.where("comments_count > ? OR reactions_count > ?", 0, 0).order("RANDOM()").limit(num) + users.find_each do |user| + begin + UnreadNotificationsEmailer.new(user).send_email_if_appropriate + rescue => e + logger = Logger.new(STDOUT) + logger = Airbrake::AirbrakeLogger.new(logger) + logger.error(e) + end + end + end + + def initialize(user) + @user = user + end + + def send_email_if_appropriate + if should_send_email? + send_email + end + end + + def should_send_email? + return false if !user.email_unread_notifications + return false if last_email_sent_after(24.hours.ago) + emailable_notifications_count = 0 + user_activities.each do |activity| + emailable_notifications_count += 1 if proper_activity(activity) + end + emailable_notifications_count > rand(1..6) + end + + def user_activities + feed = StreamRails.feed_manager.get_notification_feed(user.id) + results = feed.get["results"] + StreamRails::Enrich.new.enrich_aggregated_activities(results) + end + + def send_email + NotifyMailer.unread_notifications_email(user).deliver + end + + private + + def proper_activity(activity) + activity["verb"] != "Reaction" && activity["is_seen"] == false + end + + def last_email_sent_after(time) + last_email = user.email_messages.last + time_check = last_email && last_email.sent_at && (last_email.sent_at > time) + time_check.present? + end +end diff --git a/app/labor/user_states.rb b/app/labor/user_states.rb new file mode 100644 index 0000000000000..60abfa1292181 --- /dev/null +++ b/app/labor/user_states.rb @@ -0,0 +1,44 @@ +class UserStates + attr_accessor :user + + def initialize(user) + @user = user + end + + def cached_onboarding_checklist + Rails.cache.fetch("user-#{user.id}-#{user.updated_at}-#{user.comments_count}-#{user.articles_count}-#{user.reactions_count}/onboarding_checklist", expires_in: 100.hours) do + { + write_your_first_article: made_first_article, + follow_your_first_tag: follows_a_tag, + fill_out_your_profile: fill_out_your_profile, + leave_your_first_reaction: leave_reactions, + follow_your_first_dev: follow_people, + leave_your_first_comment: leave_comments, + } + end + end + + def made_first_article + user.articles.where(published:true).size > 0 + end + + def follows_a_tag + user.follows.where(followable_type:"ActsAsTaggableOn::Tag").size > 0 + end + + def fill_out_your_profile + user.summary.present? && user.summary.size > 0 + end + + def leave_reactions + user.reactions.size > 0 + end + + def follow_people + user.follows.where(followable_type:"User").size > 0 + end + + def leave_comments + user.comments.size > 0 + end +end diff --git a/app/liquid_tags/codepen_tag.rb b/app/liquid_tags/codepen_tag.rb new file mode 100644 index 0000000000000..8e13014369a66 --- /dev/null +++ b/app/liquid_tags/codepen_tag.rb @@ -0,0 +1,38 @@ +class CodepenTag < LiquidTagBase + def initialize(tag_name, link, tokens) + super + @link = parse_link(link) + @height = 500 + end + + def render(context) + html = <<~HTML + + HTML + finalize_html(html) + end + + private + + def parse_link(link) + striped_link = ActionController::Base.helpers.strip_tags(link) + raise_error unless valid_link?(striped_link) + striped_link.gsub("/pen/", "/embed/") + end + + def valid_link?(link) + # TODO: the ideal link should look like below + # https://codepen.io/{sjdklfjsdklf}/embed/{sjdklfjsldf} + link.include?("codepen.io") + end + + def raise_error + raise StandardError, "Invalid CodePen URL" + end +end diff --git a/app/liquid_tags/comment_tag.rb b/app/liquid_tags/comment_tag.rb new file mode 100644 index 0000000000000..f6251d2acbbd0 --- /dev/null +++ b/app/liquid_tags/comment_tag.rb @@ -0,0 +1,72 @@ +class CommentTag < LiquidTagBase + attr_reader :id_code, :comment + + def initialize(tag_name, id_code, tokens) + @id_code = parse_id(id_code) + @comment = find_comment + end + + def render(context) + raise_error unless @comment + commentable = if @comment.commentable_type == "Article" + Article.find_by_id(@comment.commentable_id) + else + PodcastEpisode.find_by_id(@comment.commentable_id) + end + + html = '' \ + "
" \ + "
" \ + "" \ + "\"#{@comment.user.username}" \ + "" \ + "" \ + "#{@comment.user.name}" \ + "" \ + "#{render_twitter_and_github}" \ + "" \ + "
" \ + "
" \ + + @comment.processed_html.html_safe+ \ + "
" \ + "
" + end + + def render_twitter_and_github + result = '' + if @comment.user.twitter_username.present? + result += "" \ + +image_tag('/assets/twitter-logo.svg', class:'icon-img', alt: 'twitter')+ \ + "" + end + if @comment.user.github_username.present? + result += "" \ + +image_tag('/assets/github-logo.svg', class:'icon-img', alt: 'github')+ \ + "" + end + end + + private + + def parse_id(id) + id_no_space = id.delete(' ') + raise_error unless valid_id?(id_no_space) + id_no_space + end + + def find_comment + comment = Comment.find_by_id(@id_code.to_i(26)) + raise_error unless comment + comment + end + + def valid_id?(id) + id.length < 10 && !(id !~ /^[a-zA-Z0-9]*$/) + end + + def raise_error + raise StandardError, 'Invalid comment ID or comment does not exist' + end +end diff --git a/app/liquid_tags/gist_tag.rb b/app/liquid_tags/gist_tag.rb new file mode 100644 index 0000000000000..854029516a0a3 --- /dev/null +++ b/app/liquid_tags/gist_tag.rb @@ -0,0 +1,42 @@ +class GistTag < LiquidTagBase + def initialize(tag_name, link, tokens) + super + @link = parse_link(link) + end + + def render(context) + html = <<~HTML +
+ +
+ HTML + finalize_html(html) + end + + def self.special_script + <<~JAVASCRIPT + if (postscribe) { + var els = document.getElementsByClassName("ltag_gist-liquid-tag") + for (i = 0; i < els.length; i++) { + postscribe(els[i], els[i].firstElementChild.outerHTML); + } + } + JAVASCRIPT + end + + private + + def parse_link(link) + link = ActionController::Base.helpers.strip_tags(link) + input_no_space = link.delete(" ").gsub(".js", "") + if valid_link?(link) + input_no_space + else + raise StandardError, "Invalid Gist link" + end + end + + def valid_link?(link) + link.include?("gist.github.com") + end +end diff --git a/app/liquid_tags/github_tag.rb b/app/liquid_tags/github_tag.rb new file mode 100644 index 0000000000000..e3625441c346a --- /dev/null +++ b/app/liquid_tags/github_tag.rb @@ -0,0 +1,103 @@ +# GithubTag generates the following api links +# getting an issue +# https://api.github.com/repos/facebook/react/issues/9218 +# getting comments of an issue +# https://api.github.com/repos/facebook/react/issues/9218/comments +# getting exat comment of an issue +# https://api.github.com/repos/facebook/react/issues/comments/287635042 + +class GithubTag < LiquidTagBase + def initialize(tag_name, link, tokens) + super + @orig_link = link + @link = parse_link(link) + @content = GithubIssue.find_or_fetch(@link) + end + + def render(context) + contentJSON = @content.issue_serialized + body = @content.processed_html + username = contentJSON[:user][:login] + user_html_url = contentJSON[:user][:html_url] + user_avatar_url = contentJSON[:user][:avatar_url] + date = Date.parse(contentJSON[:created_at].to_s).strftime('%b %d, %Y') + date_link = contentJSON[:html_url] + title = generate_title + html = '' \ + "
"\ + "#{title}" \ + "
" \ + "
" \ + " " \ + "\"#{username} " \ + " " \ + " " \ + " " \ + "
" \ + " " \ + "#{username} " \ + " commented on #{date} " \ + "
" \ + "
" \ + "
" \ + "#{body.chomp} " \ + "
" \ + "
" \ + "
" + + finalize_html(html) + end + + private + + def parse_link(link) + link = ActionController::Base.helpers.strip_tags(link) + link_no_space = link.delete(' ') + if valid_link?(link_no_space) + generate_api_link(link_no_space) + else + raise_error + end + end + + def generate_api_link(input) + input = input.gsub(/\?.*/, '') + if input.include?('#issuecomment-') + input = input.gsub(/\d{1,}#issuecomment-/, 'comments/') + end + "https://api.github.com/repos/#{input.gsub(/.*github\.com\//, '')}" + end + + def generate_title + contentJSON = @content.issue_serialized + title = contentJSON[:title] + number = contentJSON[:number] + link = contentJSON[:html_url] + return unless title + "

" \ + "" \ + "#{title} ##{number} " \ + "" \ + "

" + end + + def finalize_html(input) + input.gsub(/(?!]*?>)(@[a-zA-Z]{3,})(?![^<]*?<\/code>)/) do |target| + "#{target}" + end.html_safe + end + + def valid_link?(link) + link_without_domain = link.gsub(/.*github\.com\//, '').split('/') + raise_error unless [ + !(link !~ /.*github\.com\//), + link_without_domain.length == 4, + link_without_domain[3].to_i > 0 + ].all? { |bool| bool == true } + true + end + + def raise_error + raise StandardError, 'Invalid Github issue link' + end +end diff --git a/app/liquid_tags/instagram_tag.rb b/app/liquid_tags/instagram_tag.rb new file mode 100644 index 0000000000000..861fbaac0d9d7 --- /dev/null +++ b/app/liquid_tags/instagram_tag.rb @@ -0,0 +1,38 @@ +class InstagramTag < LiquidTagBase + def initialize(tag_name, id, tokens) + super + @id = parse_id(id) + end + + def render(context) + html = <<-HTML +
+ + +
+ HTML + finalize_html(html) + end + + private + + def parse_id(input) + input_no_space = input.delete(" ") + if valid_id?(input_no_space) + input_no_space + else + raise StandardError, "Invalid Instagram Id" + end + end + + def valid_id?(id) + id.length == 11 && !(id !~ /[a-zA-Z0-9_-]{11}/) + end +end diff --git a/app/liquid_tags/link_tag.rb b/app/liquid_tags/link_tag.rb new file mode 100644 index 0000000000000..3ae9d04b729dc --- /dev/null +++ b/app/liquid_tags/link_tag.rb @@ -0,0 +1,55 @@ +class LinkTag < LiquidTagBase + include ActionView::Helpers + attr_reader :article + + def initialize(tag_name, url, tokens) + @article = parse_url_for_article(url) + end + + def render(context) + tags = article.tag_list.map { |t| "##{t}" }.join + <<-HTML + + HTML + end + + private + + def parse_url_for_article(url) + url = ActionController::Base.helpers.strip_tags(url) + hash = Rails.application.routes.recognize_path(url) + article = find_article_by_user(hash) || find_article_by_org(hash) + raise_error unless article + article + rescue + raise_error + end + + def find_article_by_user(hash) + user = User.find_by_username(hash[:username]) + return unless user + user.articles.where(slug: hash[:slug])&.first + end + + def find_article_by_org(hash) + org = Organization.find_by_slug(hash[:username]) + return unless org + org.articles.where(slug: hash[:slug])&.first + end + + def raise_error + raise StandardError, "Invalid link URL or link URL does not exist" + end +end diff --git a/app/liquid_tags/liquid_tag_base.rb b/app/liquid_tags/liquid_tag_base.rb new file mode 100644 index 0000000000000..5b82b4d883ea7 --- /dev/null +++ b/app/liquid_tags/liquid_tag_base.rb @@ -0,0 +1,13 @@ +class LiquidTagBase < Liquid::Tag + def self.script + '' + end + + def finalize_html(input) + input.gsub(/ {2,}/, '') + .gsub(/\n/m, ' ') + .gsub(/>\n{1,}<') + .strip + .html_safe + end +end diff --git a/app/liquid_tags/podcast_tag.rb b/app/liquid_tags/podcast_tag.rb new file mode 100644 index 0000000000000..65d890891450e --- /dev/null +++ b/app/liquid_tags/podcast_tag.rb @@ -0,0 +1,171 @@ +class PodcastTag < LiquidTagBase + include ApplicationHelper + + attr_reader :episode, :podcast + + IMAGE_LINK = { + itunes: 'https://d.ibtimes.co.uk/en/full/1423047/itunes-12.png', + overcast: 'https://d2uzvmey2c90kn.cloudfront.net/img/logo.svg', + android: 'http://storage.googleapis.com/ix_choosemuse/uploads/2016/02/android-logo.png', + rss: 'https://temenos.com/globalassets/img/marketplace/temenos/rss/rss.png', + }.freeze + + def initialize(tag_name, link, tokens) + @episode = fetch_podcast(link) + @podcast + end + + def render(context) + html = <<-HTML +
+ + +
+ + + #{cl_image_tag(@podcast.image_url, + :type=>"fetch", + :crop => "fill", + :quality => "auto", + :sign_url => true, + :flags => "progressive", + :fetch_format => "auto", + :class => "podcastliquidtag__podcastimage", + :id => "podcastimage-#{episode.slug}")} +
+ #{render_hidden_audio} +
+ HTML + finalize_html(html) + end + + def renderStyle + "background:##{@podcast.main_color_hex} " \ + "url(#{cl_image_path(@podcast.pattern_image_url || 'https://i.imgur.com/fKYKgo4.png', :type=>'fetch', :quality => 'auto', :sign_url => true, :flags => 'progressive', :fetch_format => 'jpg')})" + end + + def render_hidden_audio + <<~HTML + + HTML + end + + def self.script + <<~JAVASCRIPT + var waitingOnPodcast = setInterval(function(){ + if (typeof initializePodcastPlayback !== 'undefined') { + initializePodcastPlayback(); + clearInterval(waitingOnPodcast); + } + },1); + JAVASCRIPT + end + + def render_subscribe_links + <<~HTML + + HTML + end + + def render_podcast_links(name, source) + if source + <<~HTML + + + #{name} + + HTML + end + end + + private + + def fetch_podcast(link) + cleaned_link = parse_link(link) + podcast_slug, episode_slug = cleaned_link.split('/').last(2) + target_podcast = Podcast.find_by_slug(podcast_slug) + target_episode = PodcastEpisode.find_by_slug(episode_slug) + raise_error unless target_podcast && target_episode + raise_error unless target_episode.podcast_id == target_podcast.id + @podcast = target_podcast + target_episode + end + + def parse_link(link) + new_link = ActionController::Base.helpers.strip_tags(link).delete(' ').gsub(/\?.*/, '') + component_count = new_link.split('/').count + raise_error if component_count < 2 || component_count > 5 + new_link + end + + def raise_error + raise StandardError, 'Invalid podcast link' + end +end diff --git a/app/liquid_tags/replit_tag.rb b/app/liquid_tags/replit_tag.rb new file mode 100644 index 0000000000000..8b82076ef0e9d --- /dev/null +++ b/app/liquid_tags/replit_tag.rb @@ -0,0 +1,27 @@ +class ReplitTag < LiquidTagBase + def initialize(tag_name, id, tokens) + super + @id = parse_id(id) + end + + def render(context) + '
+ +
' + end + + private + + def parse_id(input) + input_no_space = input.delete(' ') + if valid_id?(input_no_space) + input_no_space + else + raise StandardError, 'Invalid repl.it Id' + end + end + + def valid_id?(id) + id.length > 1 && !(id !~ /[a-zA-Z0-9\/]/) + end +end diff --git a/app/liquid_tags/tweet_tag.rb b/app/liquid_tags/tweet_tag.rb new file mode 100644 index 0000000000000..9fa36760da5a4 --- /dev/null +++ b/app/liquid_tags/tweet_tag.rb @@ -0,0 +1,97 @@ +class TweetTag < LiquidTagBase + attr_reader :tweet + + def initialize(tag_name, id, tokens) + super + @id = parse_id(id) + @tweet = Tweet.find_or_fetch(@id) + end + + def render(context) + media_div = "" + video_div = "" + play_butt = "" + quote_div = "" + if @tweet.extended_entities_serialized.present? && @tweet.extended_entities_serialized[:media] && @tweet.extended_entities_serialized[:media].size == 1 + media_item = @tweet.extended_entities_serialized[:media].first + if media_item[:type] == "animated_gif" || media_item[:type] == "video" + play_butt = image_tag("/assets/play-butt.svg", class:"ltag__twitter-tweet__play-butt") + preview_div = "" + video_div = "" + media_div = "" + else + media_div = "" + end + elsif @tweet.extended_entities_serialized.present? && @tweet.extended_entities_serialized[:media] && @tweet.extended_entities_serialized[:media].size > 1 + # Currently only showing first pic. TODO: show 2-4 pics. But lots of work. + media_item = @tweet.extended_entities_serialized[:media].first + media_div = "" + end + + if @tweet.is_quote_status && @tweet.full_fetched_object_serialized[:quoted_status] + quoted_status = @tweet.full_fetched_object_serialized[:quoted_status] + quote_div = "" + end + '
'\ + +media_div+\ + ''\ + '
' + end + + def self.script + 'var videoPreviews = document.getElementsByClassName("ltag__twitter-tweet__media__video-wrapper"); + [].forEach.call(videoPreviews, function(el){ + el.onclick= function(e){ + var divHeight = el.offsetHeight; + el.style.maxHeight = divHeight + "px"; + el.getElementsByClassName("ltag__twitter-tweet__media--video-preview")[0].style.display = "none"; + el.getElementsByClassName("ltag__twitter-tweet__video")[0].style.display = "block"; + el.getElementsByTagName("video")[0].play(); + } + }) + var tweets = document.getElementsByClassName("ltag__twitter-tweet__main"); + [].forEach.call(tweets, function(tweet){ + tweet.onclick= function(e){ + if (e.target.nodeName == "A" || e.target.parentElement.nodeName == "A"){ + return; + } + window.open(tweet.dataset.url,"_blank"); + } + }); + ' + end + + private + + def parse_id(input) + input_no_space = input.delete(' ') + if valid_id?(input_no_space) + input_no_space + else + raise StandardError, 'Invalid Twitter Id' + end + end + + def valid_id?(id) + # id must be all numbers under 20 characters + /^\d{10,20}$/ === id + end +end diff --git a/app/liquid_tags/url_decode_filter.rb b/app/liquid_tags/url_decode_filter.rb new file mode 100644 index 0000000000000..5ea4e9b4d2ae7 --- /dev/null +++ b/app/liquid_tags/url_decode_filter.rb @@ -0,0 +1,5 @@ +module UrlDecodeFilter + def url_decode(input) + input + end +end diff --git a/app/liquid_tags/user_tag.rb b/app/liquid_tags/user_tag.rb new file mode 100644 index 0000000000000..15bcd9a3bbf47 --- /dev/null +++ b/app/liquid_tags/user_tag.rb @@ -0,0 +1,76 @@ +class UserTag < LiquidTagBase + include ApplicationHelper + attr_reader :user + + def initialize(tag_name, user, tokens) + @user = parse_username_to_user(user) + end + + def render(context) + # looks like link liquid tag + <<-HTML +
+
+ +
+ #{@user.username} image +
+
+
+

#{@user.name} #{follow_button(@user)}

+ +
+
+ HTML + end + + private + + def accent_color + HexComparer.new([ApplicationController.helpers.user_colors(@user)[:bg]]).accent + end + + def parse_username_to_user(input) + input_no_space = input.delete(" ") + user = User.find_by_username(input_no_space) + if user.nil? + raise StandardError, "invalid username" + else + user + end + end + + def twitter_link + if @user.twitter_username.present? + <<-HTML + + #{image_tag('/assets/twitter-logo.svg', class:'icon-img', alt: 'twitter')} #{@user.twitter_username} + + HTML + end + end + + def github_link + if @user.github_username.present? + <<-HTML + + #{image_tag('/assets/github-logo.svg', class:'icon-img', alt: 'github')} #{@user.github_username} + + HTML + end + end + + def website_link + if @user.website_url.present? + <<-HTML + + #{image_tag('/assets/link.svg', class:'icon-img', alt: 'website link')} #{beautified_url(@user.website_url)} + + HTML + end + end +end diff --git a/app/liquid_tags/youtube_tag.rb b/app/liquid_tags/youtube_tag.rb new file mode 100644 index 0000000000000..50f8662b81ea9 --- /dev/null +++ b/app/liquid_tags/youtube_tag.rb @@ -0,0 +1,35 @@ +class YoutubeTag < LiquidTagBase + def initialize(tag_name, id, tokens) + super + @id = parse_id(id) + @width = 710 + @height = 399 + end + + def render(context) + html = <<-HTML + + HTML + finalize_html(html) + end + + private + + def parse_id(input) + input_no_space = input.delete(' ') + if valid_id?(input_no_space) + input_no_space + else + raise StandardError, 'Invalid Youtube Id' + end + end + + def valid_id?(id) + id.length == 11 && !(id !~ /[a-zA-Z0-9_-]{11}/) + end +end diff --git a/app/mailers/.keep b/app/mailers/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb new file mode 100644 index 0000000000000..59833466167cc --- /dev/null +++ b/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: "The DEV Community " + layout 'mailer' +end diff --git a/app/mailers/notify_mailer.rb b/app/mailers/notify_mailer.rb new file mode 100644 index 0000000000000..6c8dd48c9e8a2 --- /dev/null +++ b/app/mailers/notify_mailer.rb @@ -0,0 +1,110 @@ +class NotifyMailer < ApplicationMailer + + def new_reply_email(comment) + @user = if Rails.env.development? + User.first + else + comment.parent_user + end + return if RateLimitChecker.new.limit_by_email_recipient_address(@user.email) + @comment = comment + mail(to: @user.email, subject: "#{@comment.user.name} replied to your #{@comment.parent_type}") do |format| + format.html { render "layouts/mailer" } + format.text { render plain: "#{@comment.user.name} replied to your #{@comment.parent_type}:\n\n#{ActionController::Base.helpers.strip_tags(comment.processed_html.html_safe)}\n\nView now: https://dev.to#{comment.path}" } + end + end + + def new_follower_email(follow) + @user = if Rails.env.development? + User.first + else + follow.followable + end + return if RateLimitChecker.new.limit_by_email_recipient_address(@user.email) + @follower = follow.follower + + mail(to: @user.email, subject: "#{@follower.name} just followed you on dev.to") do |format| + format.html { render 'layouts/mailer' } + format.text { render plain: "#{@follower.name} just followed you. When someone follows you, your posts will be prioritized on their personalized home feed. This new feature is one step towards offering a more customized experience." } + end + end + + def new_mention_email(mention) + @user = User.find(mention.user_id) + return if RateLimitChecker.new.limit_by_email_recipient_address(@user.email) + @mentioner = User.find(mention.mentionable.user_id) + @mentionable = mention.mentionable + @mention = mention + + mail(to: @user.email, subject: "#{@mentioner.name} just mentioned you!") do |format| + format.html { render 'layouts/mailer' } + format.text { render plain: "#{@mentioner.name} just mentioned you in their #{mention.mentionable_type.downcase}\n\n#{ActionController::Base.helpers.strip_tags(@mentionable.processed_html.html_safe)}\n\nView now: https://dev.to#{mention.mentionable.path}" } + end + end + + def unread_notifications_email(user) + @user = if Rails.env.development? + User.first + else + user + end + return if RateLimitChecker.new.limit_by_email_recipient_address(@user.email) + @unread_notifications_count = NotificationCounter.new(@user).unread_notification_count + mail(to: @user.email, subject: "🔥 You have #{@unread_notifications_count} unread notifications on dev.to") do |format| + format.html { render 'layouts/mailer' } + format.text { render plain: "Visit https://dev.to/notifications to read all of your notifications" } + end + end + + def new_membership_subscription_email(user,subscription_type) + @user = if Rails.env.development? + User.first + else + user + end + @subscription_type = subscription_type + mail(from: "DEV Members ", to: @user.email, subject: "Thanks for subscribing!") do |format| + format.html { render "layouts/mailer" } + format.text { render plain: "Visit https://dev.to/settings/membership for full details" } + end + end + + def subscription_update_confirm_email(user) + @user = if Rails.env.development? + User.first + else + user + end + @update_subscription = true + mail(from: "DEV Members ", to: @user.email, subject: "Your subscription has been updated.") do |format| + format.html { render "layouts/mailer" } + format.text { render plain: "Visit https://dev.to/settings/membership for updated details" } + end + end + + def subscription_cancellation_email(user) + @user = if Rails.env.development? + User.first + else + user + end + @cancel_subscription = true + mail(from: "members@dev.to", to: @user.email, subject: "Sorry to lose you.") do |format| + format.html { render "layouts/mailer" } + format.text { render plain: " If you could send feedback to yo@dev.to to help us improve it would be much appreciated." } + end + end + + def scholarship_awarded_email(user) + @user = if Rails.env.development? + User.first + else + user + end + @scholarship_awarded = true + mail(from: "members@dev.to", to: @user.email, subject: "Congrats on your DEV Scholarship!") do |format| + format.html { render "layouts/mailer" } + format.text { render plain: "Congratulations on your dev.to Scholarship! See https://dev.to/settings/misc for updated details" } + end + end +end diff --git a/app/models/.keep b/app/models/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/models/application_record.rb b/app/models/application_record.rb new file mode 100644 index 0000000000000..10a4cba84df37 --- /dev/null +++ b/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/app/models/article.rb b/app/models/article.rb new file mode 100644 index 0000000000000..d401d7eb15b1b --- /dev/null +++ b/app/models/article.rb @@ -0,0 +1,378 @@ +require "nokogiri" + +class Article < ApplicationRecord + include CloudinaryHelper + include ActionView::Helpers + include AlgoliaSearch + + acts_as_taggable_on :tags + + attr_accessor :publish_under_org + + belongs_to :user + belongs_to :job_opportunity, optional: true + counter_culture :user + belongs_to :organization, optional: true + belongs_to :collection, optional: true + has_many :comments, as: :commentable + has_many :reactions, as: :reactable, dependent: :destroy + has_many :notifications, as: :notifiable + + validates :slug, presence: { if: :published? }, format: /\A[0-9a-z-]*\z/, + uniqueness: { scope: :user_id } + validates :title, presence: true, + length: { maximum: 128 } + validates :user_id, presence: true + validates :feed_source_url, uniqueness: { allow_blank: true } + validates :canonical_url, + url: { allow_blank: true, no_local: true, schemes: ["https", "http"] }, + uniqueness: { allow_blank: true } + # validates :description, length: { in: 10..170, if: :published? } + validates :body_markdown, uniqueness: { scope: :user_id } + validate :validate_tag + + before_validation :evaluate_markdown + before_validation :create_slug + before_create :create_password + before_save :set_all_dates + before_save :calculate_base_scores + before_save :set_caches + after_save :async_score_calc + after_save :bust_cache + after_save :update_main_image_background_hex + after_save :detect_human_language + # after_save :send_to_moderator + # Andy: turned off for now + before_destroy :before_destroy_actions + + serialize :ids_for_suggested_articles + + scope :active_help, -> { where(published: true). + tagged_with("help"). + order("created_at DESC"). + where("published_at > ? AND comments_count < ?", 12.hours.ago, 6) } + + scope :limited_column_select, -> { + select(:path, :title, :id, + :comments_count, :positive_reactions_count, :cached_tag_list, + :main_image, :main_image_background_hex_color, :updated_at, + :video, :user_id, :organization_id, :video_source_url, :video_code, + :video_thumbnail_url, :video_closed_caption_track_url) + } + + scope :limited_columns_internal_select, -> { + select(:path, :title, :id, :featured, :approved, :published, + :comments_count, :positive_reactions_count, :cached_tag_list, + :main_image, :main_image_background_hex_color, :updated_at, + :video, :user_id, :organization_id, :video_source_url, :video_code, + :video_thumbnail_url, :video_closed_caption_track_url, :social_image, + :published_from_feed, :crossposted_at, :published_at, :featured_number, + :live_now, :last_buffered, :facebook_last_buffered, :created_at + ) + } + + algoliasearch per_environment: true, enqueue: :trigger_delayed_index do + add_index "searchables", + id: :index_id, + per_environment: true, + enqueue: :trigger_delayed_index do + attributes :title, :tag_list, :main_image, :id, + :featured, :published, :published_at, :featured_number, + :comments_count, :reactions_count, :positive_reactions_count, + :path, :class_name, :user_name, :user_username, :comments_blob, + :body_text, :tag_keywords_for_search, :search_score + attribute :user do + { username: user.username, + name: user.name, + profile_image_90: ProfileImage.new(user).get(90) } + end + attribute :flare_tag do + FlareTag.new(self).tag_hash + end + tags do + tag_list + end + searchableAttributes ["unordered(title)", + "body_text", + "tag_list", + "tag_keywords_for_search", + "user_name", + "user_username", + "comments_blob"] + attributesForFaceting [:class_name] + customRanking ["desc(search_score)", "desc(hotness_score)"] + end + + add_index "ordered_articles", + id: :index_id, + per_environment: true, + enqueue: :trigger_delayed_index do + attributes :title, :path, :class_name, :comments_count, + :tag_list, :positive_reactions_count, :id, :hotness_score + attribute :user do + { username: user.username, + name: user.name, + profile_image_90: ProfileImage.new(user).get(90) } + end + attribute :flare_tag do + FlareTag.new(self).tag_hash + end + tags do + [tag_list, + "user_#{user_id}", + "username_#{user&.username}", + "lang_#{language || 'en'}", + ("organization_#{organization_id}" if organization)].flatten.compact + end + ranking ["desc(hotness_score)"] + end + end + + def self.filter_excluded_tags(tag = nil) + if tag == "hiring" + tagged_with("hiring") + elsif tag + tagged_with(tag). + tagged_with("hiring", exclude: true) + else + tagged_with("hiring", exclude: true) + end + end + + def body_text + ActionView::Base.full_sanitizer.sanitize(processed_html)[0..7000] + end + + def index_id + "articles-#{id}" + end + + def self.trigger_delayed_index(record, remove) + if remove + record.delay.remove_from_index! if (record && record.persisted?) + else + record.index_or_remove_from_index_where_appropriate + end + end + + def index_or_remove_from_index_where_appropriate + if published && tag_list.exclude?("hiring") + delay.index! + else + delay.remove_from_index! + index = Algolia::Index.new("searchables_#{Rails.env}") + index.delay.delete_object("articles-#{id}") + end + end + + def remove_algolia_index + remove_from_index! + index = Algolia::Index.new("searchables_#{Rails.env}") + index.delete_object("articles-#{id}") + index = Algolia::Index.new("ordered_articles_#{Rails.env}") + index.delete_object("articles-#{id}") + end + + def comments_blob + ActionView::Base.full_sanitizer.sanitize(comments.pluck(:body_markdown).join(" "))[0..2200] + end + + def username + return organization.slug if organization + user.username + end + + def user_name + user.name + end + + def user_username + user.username + end + + def current_state_path + published ? "/#{username}/#{slug}" : "/#{username}/#{slug}?preview=#{password}" + end + + def search_score + score = hotness_score.to_i + ((comments_count*3).to_i + positive_reactions_count.to_i * 300 * user.reputation_modifier ) + score.to_i + end + + def calculated_path + if organization + "/#{organization.slug}/#{slug}" + else + "/#{username}/#{slug}" + end + end + + def set_caches + return unless user + self.cached_user_name = user_name + self.cached_user_username = user_username + self.path = calculated_path + end + + def evaluate_markdown + return if body_markdown.blank? + begin + fixed_body_markdown = MarkdownFixer.fix_all(body_markdown) + parsed = FrontMatterParser::Parser.new(:md).call(fixed_body_markdown) + parsed_markdown = MarkdownParser.new(parsed.content) + self.processed_html = parsed_markdown.finalize + evaluate_front_matter(parsed.front_matter) + rescue StandardError => e + self.errors[:base] << ErrorMessageCleaner.new(e.message).clean + end + end + + def class_name + self.class.name + end + + def update_main_image_background_hex + return if (main_image.blank? || main_image_background_hex_color != "#dddddd") + update_column(:main_image_background_hex_color, ColorFromImage.new(main_image).main) + end + handle_asynchronously :update_main_image_background_hex + + def detect_human_language + return if language.present? + update_column(:language, LanguageDetector.new(self).detect) + end + handle_asynchronously :detect_human_language + + def tag_keywords_for_search + tags.pluck(:keywords_for_search).join + end + + def readable_publish_date + if published_at && published_at.year == Time.now.year + published_at.strftime("%b %e") + else + published_at.strftime("%b %e '%y") + end + end + + def self.cached_find(id) + Rails.cache.fetch("find-article-by-id-#{id}", expires_in: 5.hours) do + find(id) + end + end + + private + + # def send_to_moderator + # ModerationService.new.send_moderation_notification(self) if published + # Andy: turned off for now + # end + + def before_destroy_actions + bust_cache + remove_algolia_index + reactions.destroy_all + end + + def evaluate_front_matter(front_matter) + token_msg = "From the DEV community. Sharing ideas that makes us all better developers." + self.title = front_matter["title"] if front_matter["title"].present? + if front_matter["tags"].present? + ActsAsTaggableOn::Taggable::Cache.included(Article) + self.tag_list = [] + self.tag_list.add(front_matter["tags"], parser: TagParser) + end + self.published = front_matter["published"] if ["true","false"].include?(front_matter["published"].to_s) + self.published_at = parsed_date(front_matter["date"]) if self.published + self.main_image = front_matter["cover_image"] if front_matter["cover_image"].present? + self.canonical_url = front_matter["canonical_url"] if front_matter["canonical_url"].present? + self.description = front_matter["description"] ? front_matter["description"] : token_msg + if front_matter["automatically_renew"].present? && tag_list.include?("hiring") + self.automatically_renew = front_matter["automatically_renew"] + end + end + + def parsed_date(date) + today_date = Time.now.to_datetime + return self.published_at || today_date unless date + given_date = date.to_datetime + error_msg = "must be entered in DD/MM/YYYY format with current or past date" + return errors.add(:date_time, error_msg) if given_date > today_date + given_date + end + + def validate_tag + return errors.add(:tag_list, "exceed the maximum of 4 tags") if tag_list.length > 4 + tag_list.each do |tag| + if tag.length > 20 + errors.add(:tag, "\"#{tag}\" is too long (maximum is 16 characters)") + end + end + end + + def create_slug + if slug.blank? && title.present? && !published + self.slug = title_to_slug + "-temp-slug-#{rand(10_000_000)}" + elsif should_generate_final_slug? + self.slug = title_to_slug + end + end + + def should_generate_final_slug? + (title && published && slug.blank?) || + (title && published && slug.include?("-temp-slug-")) + end + + def create_password + return unless password.blank? + self.password = SecureRandom.hex(60) + end + + def set_all_dates + set_published_date + set_featured_number + set_crossposted_at + end + + def set_published_date + self.published_at = Time.now if published && published_at.blank? + end + + def set_featured_number + self.featured_number = Time.now.to_i if featured_number.blank? && published + end + + def set_crossposted_at + self.crossposted_at = Time.now if published && crossposted_at.blank? && published_from_feed + end + + def title_to_slug + title.to_s.downcase.tr(" ", "-").gsub(/[^\w-]/, "").tr("_", "") + "-" + rand(100000).to_s(26) + end + + def bust_cache + if Rails.env.production? + CacheBuster.new.bust(path) + CacheBuster.new.bust(path + "?i=i") + CacheBuster.new.bust(path + "?preview=" + password) + async_bust + end + end + + def calculate_base_scores + self.hotness_score = 1000 if hotness_score.blank? + self.spaminess_rating = 0 if new_record? + end + + def async_score_calc + update_column(:hotness_score, BlackBox.article_hotness_score(self)) + update_column(:spaminess_rating, BlackBox.calculate_spaminess(self)) + index! if published && tag_list.exclude?("hiring") + end + handle_asynchronously :async_score_calc + + def async_bust + CacheBuster.new.bust_article(self) + end + handle_asynchronously :async_bust +end diff --git a/app/models/block.rb b/app/models/block.rb new file mode 100644 index 0000000000000..396bdd480ad64 --- /dev/null +++ b/app/models/block.rb @@ -0,0 +1,31 @@ +class Block < ApplicationRecord + attr_accessor :publish_now + + before_save :process_html + before_save :process_javascript + before_save :process_css + + def publish! + self.published_html = processed_html + self.published_javascript = processed_javascript + self.published_css = processed_css + self.featured = true + self.save + end + + private + + def process_html + self.processed_html = input_html + end + + def process_javascript + self.processed_javascript = input_javascript + end + + def process_css + scoped_scss = ".block-wrapper-#{id} { #{input_css}}" + se = Sass::Engine.new(scoped_scss, :syntax => :scss) + self.processed_css = se.render + end +end diff --git a/app/models/broadcast.rb b/app/models/broadcast.rb new file mode 100644 index 0000000000000..fd14c6326407e --- /dev/null +++ b/app/models/broadcast.rb @@ -0,0 +1,31 @@ +class Broadcast < ApplicationRecord + has_many :notifications, as: :notifiable + + validates :title, :type_of, :processed_html, presence: true + + def self.send_welcome_notification(user_id) + welcome_broadcast = Broadcast.find_by(title: "Welcome Notification") + return if welcome_broadcast == nil + Notification.create( + user_id: user_id, + notifiable_id: welcome_broadcast.id, + notifiable_type: "Broadcast", + action: welcome_broadcast.type_of, + ) + end + + # method not in use; will be in use if we choose to use markdown + def evaluate_markdown + return if body_markdown.blank? + begin + parsed_markdown = MarkdownParser.new(body_markdown) + self.processed_html = get_inner_body(parsed_markdown.finalize) + rescue StandardError => e + errors[:base] << ErrorMessageCleaner.new(e.message).clean + end + end + + def get_inner_body(content) + Nokogiri::HTML(content).at("body").inner_html + end +end diff --git a/app/models/collection.rb b/app/models/collection.rb new file mode 100644 index 0000000000000..34b5b5f8028a8 --- /dev/null +++ b/app/models/collection.rb @@ -0,0 +1,5 @@ +class Collection < ApplicationRecord + has_many :articles + belongs_to :user, optional: true + belongs_to :organization, optional: true +end diff --git a/app/models/comment.rb b/app/models/comment.rb new file mode 100644 index 0000000000000..4c6829a164d04 --- /dev/null +++ b/app/models/comment.rb @@ -0,0 +1,254 @@ +class Comment < ApplicationRecord + has_ancestry + belongs_to :commentable, polymorphic: true + counter_culture :commentable + belongs_to :user + counter_culture :user + has_many :reactions, as: :reactable, dependent: :destroy + has_many :mentions, as: :mentionable, dependent: :destroy + + validates :body_markdown, presence: true, length: { in: 1..25000 }, + uniqueness: { scope: [:user_id, + :ancestry, + :commentable_id, + :commentable_type] } + validates :commentable_id, presence: true + validates :commentable_type, inclusion: { in: %w(Article PodcastEpisode) } + validates :user_id, presence: true + + after_create :after_create_checks + after_save :calculate_score + after_save :bust_cache + before_destroy :bust_cache + after_create :send_email_notification + after_create :create_first_reaction + after_create :send_to_moderator + before_save :set_markdown_character_count + before_create :adjust_comment_parent_based_on_depth + before_validation :evaluate_markdown + + include StreamRails::Activity + as_activity + + def self.rooted_on(commentable_id, commentable_type) + includes(:user, :commentable). + where(commentable_id: commentable_id, + ancestry: nil, + commentable_type: commentable_type) + end + + def path + begin + "/#{user.username}/comment/#{id_code_generated}" + rescue + "/404.html" + end + end + + def parent_or_root_article + parent || commentable + end + + def parent_user + parent_or_root_article.user + end + + def parent_type + parent_or_root_article.class.name.downcase + .gsub('article', 'post') + .gsub('podcastepisode', 'episode') + end + + def id_code_generated + id.to_s(26) + end + + # notifications + + def activity_notify + if ancestors.empty? && user != commentable.user + [StreamNotifier.new(commentable.user.id).notify] + elsif ancestors + # notify all ancestors unless it's yourself + user_ids = ancestors.map(&:user_id).uniq - [user_id] + user_ids.map do |id| + StreamNotifier.new(id).notify + end + end + end + + def custom_css + MarkdownParser.new(body_markdown).tags_used.map do |t| + Rails.application.assets["ltags/#{t}.css"].to_s + end.join + end + + def activity_object + self + end + + def activity_target + return "comment_#{Time.now}" + end + + def remove_from_feed + if ancestors.empty? && user != commentable.user + [User.find(commentable.user.id)&.touch(:last_notification_activity)] + elsif ancestors + user_ids = ancestors.map { |comment| comment.user.id } + user_ids = user_ids.uniq.reject { |uid| uid == commentable.user.id } + user_ids = user_ids.uniq.reject { |uid| uid == self.user_id } + # filters out article author and duplicate users + user_ids.map do |id| + User.find(id)&.touch(:last_notification_activity) + end + end + end + + def title + ActionController::Base.helpers.truncate(ActionController::Base.helpers.strip_tags(processed_html), length: 60) + end + + def video + nil + end + + # Andy: Administrate field + def name_of_user + user.name + end + + def readable_publish_date + if created_at.year == Time.now.year + created_at.strftime("%b %e") + else + created_at.strftime("%b %e '%y") + end + end + + def sharemeow_link + user_image = ProfileImage.new(user) + user_image_link = Rails.env.production? ? user_image.get_link : user_image.get_external_link + ShareMeowClient.image_url( + template: "DevComment", + options: { + content: body_markdown || processed_html, + name: user.name, + subject_name: commentable.title, + user_image_link: user_image_link, + background_color: user.bg_color_hex, + text_color: user.text_color_hex, + }, + ) + end + + private + + def send_to_moderator + return if user && user.comments_count > 10 + ModerationService.new.send_moderation_notification(self) + end + + def evaluate_markdown + fixed_body_markdown = MarkdownFixer.modify_hr_tags(body_markdown) + parsed_markdown = MarkdownParser.new(fixed_body_markdown) + self.processed_html = parsed_markdown.finalize + wrap_timestamps_if_video_present! + shorten_urls! + end + + def adjust_comment_parent_based_on_depth + if parent && (parent.depth > 1 && parent.has_children?) + self.parent_id = parent.descendant_ids.last + end + end + + def wrap_timestamps_if_video_present! + return if commentable_type == 'PodcastEpisode' + return unless commentable.video.present? + self.processed_html = processed_html.gsub(/(([0-9]:)?)(([0-5][0-9]|[0-9])?):[0-5][0-9]/) {|s| "#{s}"} + end + + def shorten_urls! + doc = Nokogiri::HTML.parse(processed_html) + # raise doc.to_s + doc.css("a").each do |a| + unless a.to_s.include?(" { + where("starts_at > ?", Time.now). + where(published: true) + } + + scope :in_the_past_and_published, -> { + where("starts_at < ?", Time.now). + where(published: true) + } + + private + + def evaluate_markdown + self.description_html = MarkdownParser.new(description_markdown).evaluate_markdown + end + + def end_time_after_start + if ends_at.nil? || starts_at.nil? + errors.add(:starts_at, "and ends_at must not be nil") + elsif ends_at < starts_at + errors.add(:ends_at, "must be after start date") + end + end + + def bust_cache + CacheBuster.new.bust("/events") + CacheBuster.new.bust("/events?i=i") + end +end diff --git a/app/models/feedback_message.rb b/app/models/feedback_message.rb new file mode 100644 index 0000000000000..ed65606b6140c --- /dev/null +++ b/app/models/feedback_message.rb @@ -0,0 +1,3 @@ +class FeedbackMessage < ApplicationRecord + belongs_to :user, optional: true +end diff --git a/app/models/follow.rb b/app/models/follow.rb new file mode 100644 index 0000000000000..c229b387e6f12 --- /dev/null +++ b/app/models/follow.rb @@ -0,0 +1,68 @@ +class Follow < ApplicationRecord + + extend ActsAsFollower::FollowerLib + extend ActsAsFollower::FollowScopes + + include StreamRails::Activity + as_activity + + # NOTE: Follows belong to the "followable" interface, and also to followers + belongs_to :followable, :polymorphic => true + belongs_to :follower, :polymorphic => true + counter_culture :follower, column_name: proc { |follow| + case follow.followable_type + when "User" + "following_users_count" + when "Organization" + "following_orgs_count" + when "ActsAsTaggableOn::Tag" + "following_tags_count" + # Andy: Add more whens if we add more follow types + end + }, column_names: { + ["follows.followable_type = ?", "User"] => "following_users_count", + ["follows.followable_type = ?", "Organization"] => "following_orgs_count", + ["follows.followable_type = ?", "ActsAsTaggableOn::Tag"] => "following_tags_count", + } + after_save :touch_user + after_create :send_email_notification + + def activity_actor + follower + end + + def activity_notify + return if followable.class.name != "User" + [StreamNotifier.new(followable.id).notify] + end + + def activity_object + followable + end + + def activity_target + return "follow_#{Time.now}" + end + + def remove_from_feed + if followable_type == "User" + User.find(followable.id)&.touch(:last_notification_activity) + end + end + + + private + + def touch_user + follower.touch + end + handle_asynchronously :touch_user + + def send_email_notification + if followable.class.name == "User" && followable.email.present? && followable.email_follower_notifications + NotifyMailer.new_follower_email(self).deliver + end + end + handle_asynchronously :send_email_notification + +end diff --git a/app/models/github_issue.rb b/app/models/github_issue.rb new file mode 100644 index 0000000000000..b3fbd2ba6f5aa --- /dev/null +++ b/app/models/github_issue.rb @@ -0,0 +1,70 @@ +class GithubIssue < ApplicationRecord + serialize :issue_serialized, Hash + validates :category, inclusion: { in: %w(issue issue_comment) } + + def self.find_or_fetch(url) + find_by_url(url) || fetch(url) + end + + # def self.fetch(url) + # begin + # return try_to_get_issue(url) + # rescue StandardError => e + # raise StandardError, e.message + # end + # end + + def self.fetch(url) + tries = 0 + issue = nil + until tries > 4 || issue + begin + return issue = try_to_get_issue(url) + rescue => e + puts e + tries += 1 + end + end + end + + def self.try_to_get_issue(url) + client = Octokit::Client.new(access_token: random_token) + issue = GithubIssue.new(url: url) + if !!(url !~ /\/issues\/comments/) + repo, issue_id = url.gsub(/.*github\.com\/repos\//, "").split("/issues/") + issue.issue_serialized = get_issue_serialized(client, repo, issue_id) + issue.category = "issue" + else + repo, issue_id = url.gsub(/.*github\.com\/repos\//, "").split("/issues/comments/") + issue.issue_serialized = client.issue_comment(repo, issue_id) + issue.category = "issue_comment" + end + issue.processed_html = get_html(client, issue) + issue.save! + issue + end + + def self.get_html(client, issue) + client.markdown(issue.issue_serialized[:body]) + end + + def self.get_issue_serialized(client, repo, issue_id) + client.issue(repo, issue_id).to_hash + end + + def self.random_token + if Rails.env.test? + "ddsddsdsdssdsds" + else + random_identity.token + end + end + + def self.random_identity + if Rails.env.production? + Identity.where(provider: "github").last(250).sample + else + Identity.where(provider: "github").last + end + end +end diff --git a/app/models/github_repo.rb b/app/models/github_repo.rb new file mode 100644 index 0000000000000..e63710992960d --- /dev/null +++ b/app/models/github_repo.rb @@ -0,0 +1,52 @@ +class GithubRepo < ApplicationRecord + belongs_to :user + + validates :name, :url, presence: true + validates :url, uniqueness: true + validates :github_id_code, uniqueness: true + + after_save :clear_caches + before_destroy :clear_caches + + def self.find_or_create(github_url, params = {}) + repo = where(url: github_url).first_or_initialize + repo.update(params) + repo + end + + def self.update_to_latest + where("updated_at < ?", 1.day.ago).find_each do |repo| + user_token = User.find_by_id(repo.user_id).identities.where(provider: "github").last.token + client = Octokit::Client.new(access_token: user_token) + fetched_repo = client.repositories.select do |fresh_repo| + if repo[:github_id_code] + fresh_repo.id == repo[:github_id_code] + else + fresh_repo.html_url == repo[:url] + end + end.first + repo.update( + github_id_code: fetched_repo.id, + name: fetched_repo.name, + description: fetched_repo.description, + language: fetched_repo.language, + fork: fetched_repo.fork, + bytes_size: fetched_repo.size, + watchers_count: fetched_repo.watchers, + stargazers_count: fetched_repo.stargazers_count, + info_hash: fetched_repo.to_hash, + ) + end + end + + private + + def clear_caches + if user.present? + user.touch + CacheBuster.new.bust user.path + CacheBuster.new.bust user.path + "?i=i" + CacheBuster.new.bust user.path + "/?i=i" + end + end +end diff --git a/app/models/identity.rb b/app/models/identity.rb new file mode 100644 index 0000000000000..7dc83eefe8c7a --- /dev/null +++ b/app/models/identity.rb @@ -0,0 +1,14 @@ +class Identity < ApplicationRecord + belongs_to :user + validates_presence_of :uid, :provider + validates_uniqueness_of :uid, scope: :provider + validates_uniqueness_of :provider, scope: :uid + validates_uniqueness_of :user_id, scope: :provider + validates :provider, inclusion: { in: %w(github twitter) } + + serialize :auth_data_dump + + def self.find_for_oauth(auth) + find_or_create_by(uid: auth.uid, provider: auth.provider) + end +end diff --git a/app/models/job_opportunity.rb b/app/models/job_opportunity.rb new file mode 100644 index 0000000000000..e110c291a00d3 --- /dev/null +++ b/app/models/job_opportunity.rb @@ -0,0 +1,14 @@ +class JobOpportunity < ApplicationRecord + has_many :articles + validates :remoteness, + inclusion: { in: %w(on_premise fully_remote remote_optional on_premise_flexible) } + def remoteness_in_words + phrases = { + "on_premise" => "In Office", + "fully_remote" => "Fully Remote", + "remote_optional" => "Remote Optional", + "on_premise_flexible" => "Mostly in Office but Flexible", + } + phrases[remoteness] + end +end diff --git a/app/models/mention.rb b/app/models/mention.rb new file mode 100644 index 0000000000000..3516d65951f51 --- /dev/null +++ b/app/models/mention.rb @@ -0,0 +1,72 @@ +class Mention < ApplicationRecord + include StreamRails::Activity + as_activity + + belongs_to :user + belongs_to :mentionable, polymorphic: true + + validates :user_id, presence: true, + uniqueness: { scope: [:mentionable_id, + :mentionable_type] } + validates :mentionable_id, presence: true + validates :mentionable_type, presence: true + after_create :send_email_notification + + class << self + def create_all(notifiable) + # Only works for comments right now. + # Paired with the process that creates the "comment-mentioned-user" + @notifiable = notifiable + doc = Nokogiri::HTML(notifiable.processed_html) + usernames = [] + doc.css(".comment-mentioned-user").each do |link| + username = link.text.gsub("@","").downcase + if user = User.find_by_username(link.text.gsub("@","").downcase) + usernames << username + create_mention(user) + end + end + delete_removed_mentions(usernames) + end + handle_asynchronously :create_all + + private + + def delete_removed_mentions(usernames) + users = User.where(username:usernames) + @notifiable.mentions.where.not(user_id:users.pluck(:id)).destroy_all + end + + def create_mention(user) + Mention.create(user_id: user.id, mentionable_id: @notifiable.id, mentionable_type: @notifiable.class.name) + end + end + + def activity_actor + mentionable.user + end + + def activity_notify + return if mentionable.parent_user && mentionable.parent_user.id == user.id + [StreamNotifier.new(user.id).notify] + end + + def activity_object + mentionable + end + + def activity_target + return "mention_#{Time.now}" + end + + def remove_from_feed + User.find(user.id)&.touch(:last_notification_activity) + end + + def send_email_notification + if User.find(self.user_id).email.present? && User.find(self.user_id).email_mention_notifications + NotifyMailer.new_mention_email(self).deliver + end + end + handle_asynchronously :send_email_notification +end diff --git a/app/models/note.rb b/app/models/note.rb new file mode 100644 index 0000000000000..e2a54fb2fbb76 --- /dev/null +++ b/app/models/note.rb @@ -0,0 +1,6 @@ +class Note < ApplicationRecord + belongs_to :user + validates :user_id, :reason, :content, presence: true + validates :user_id, uniqueness: + { scope: :reason, message: "limited to one note per user per reason" } +end diff --git a/app/models/notification.rb b/app/models/notification.rb new file mode 100644 index 0000000000000..1a60e36a4c03a --- /dev/null +++ b/app/models/notification.rb @@ -0,0 +1,78 @@ +class Notification < ApplicationRecord + belongs_to :notifiable, polymorphic: true + belongs_to :user + + include StreamRails::Activity + as_activity + + validates :user_id, presence: true, + uniqueness: { scope: [:notifiable_id, + :notifiable_type, + :action] } + + class << self + def send_all(notifiable, action) + if notifiable.class.name == "Article" + return if notifiable.created_at < Time.new(2017,07,07,00,00,00,"+00:00") + notifiable.user.followers.each do |follower| + Notification.create( + user_id: follower.id, + notifiable_id: notifiable.id, + notifiable_type: "Article", + action: action + ) + end + elsif notifiable.class.name == "Broadcast" + if action == "Announcement" + User.all.each do |user| + Notification.create!( + user_id: user.id, + notifiable_id: notifiable.id, + notifiable_type: "Broadcast", + action: action, + ) + end + end + end + end + handle_asynchronously :send_all + + def remove_all(notifiable, action) + Notification.where( + notifiable_id: notifiable.id, + notifiable_type: notifiable.class.name, + action: action + ).destroy_all + end + handle_asynchronously :remove_all + end + + def activity_actor + if notifiable.class.name == "Broadcast" || action == "Moderation" + User.find(ENV["DEVTO_USER_ID"]) + else + notifiable.user + end + end + + def activity_object + notifiable + end + + def activity_verb + "#{notifiable_type}_#{action}" + end + + def activity_target + "#{notifiable_type.downcase}_#{Time.now}" + end + + def activity_notify + [StreamNotifier.new(user_id).notify] + end + + def remove_from_feed + User.find(user_id)&.touch(:last_notification_activity) + end + +end diff --git a/app/models/organization.rb b/app/models/organization.rb new file mode 100644 index 0000000000000..29752b6fe4b92 --- /dev/null +++ b/app/models/organization.rb @@ -0,0 +1,92 @@ +include CloudinaryHelper + +class Organization < ApplicationRecord + acts_as_followable + + has_many :job_listings + has_many :users + has_many :articles + has_many :collections + has_many :display_ads + + validates :name, :summary, :url, :profile_image, presence: true + validates :name, + length: { maximum: 50 } + validates :summary, + length: { maximum: 250 } + validates :jobs_email, email: true, allow_blank: true + validates :text_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/ + validates :bg_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/ + validates :slug, + presence: true, + uniqueness: { case_sensitive: false }, + format: { with: /\A[a-zA-Z0-9\-_]+\Z/ }, + length: { in: 2..18 }, + exclusion: { in: RESERVED_WORDS, + message: "%{value} is reserved." } + validates :url, url: { allow_blank: true, no_local: true, schemes: ["https", "http"] } + validates :secret, uniqueness: { allow_blank: true } + validates :location, :email, :company_size, length: { maximum: 64 } + validates :company_size, format: { with: /\A\d+\z/, + message: "Integer only. No sign allowed.", + allow_blank: true } + validates :tech_stack, :story, length: { maximum: 640 } + before_save :remove_at_from_usernames + after_save :bust_cache + before_save :generate_secret + before_validation :downcase_slug + + validate :unique_slug_including_users + + mount_uploader :profile_image, ProfileImageUploader + mount_uploader :nav_image, ProfileImageUploader + + def username + slug + end + + def website_url + url + end + + def path + "/#{slug}" + end + + def generate_secret + if secret.blank? + self.secret = generated_random_secret + end + end + + def generated_random_secret + SecureRandom.hex(50) + end + + private + + def remove_at_from_usernames + self.twitter_username = twitter_username.gsub("@","") if twitter_username + self.github_username = github_username.gsub("@","") if github_username + end + + def downcase_slug + self.slug = slug.downcase + end + + def bust_cache + CacheBuster.new.bust("/#{slug}") + begin + articles.each do |article| + CacheBuster.new.bust(article.path) + end + rescue + puts "Tag issue" + end + end + handle_asynchronously :bust_cache + + def unique_slug_including_users + errors.add(:slug, "is taken.") if User.find_by_username(slug) + end +end diff --git a/app/models/podcast.rb b/app/models/podcast.rb new file mode 100644 index 0000000000000..85a10f71c7d7d --- /dev/null +++ b/app/models/podcast.rb @@ -0,0 +1,33 @@ +class Podcast < ApplicationRecord + + has_many :podcast_episodes + + mount_uploader :image, ProfileImageUploader + mount_uploader :pattern_image, ProfileImageUploader + + after_save :bust_cache + after_create :pull_all_episodes + + def path + slug + end + + def profile_image_url + image_url + end + + def name + title + end + + private + + def bust_cache + CacheBuster.new.bust("/" + path) + end + + def pull_all_episodes + PodcastFeed.new.get_episodes(self) + end + handle_asynchronously :pull_all_episodes +end diff --git a/app/models/podcast_episode.rb b/app/models/podcast_episode.rb new file mode 100644 index 0000000000000..c09f6a6faf5e5 --- /dev/null +++ b/app/models/podcast_episode.rb @@ -0,0 +1,188 @@ +include CloudinaryHelper +include ActionView::Helpers::SanitizeHelper + +class PodcastEpisode < ApplicationRecord + include AlgoliaSearch + + acts_as_taggable + + belongs_to :podcast + has_many :comments, as: :commentable + + mount_uploader :image, ProfileImageUploader + mount_uploader :social_image, ProfileImageUploader + + validates :title, presence: true + validates :slug, presence: true + validates :media_url, presence: true, uniqueness: true + validates :guid, presence: true, uniqueness: true + + + after_update :purge + after_create :purge_all + after_destroy :purge, :purge_all + after_save :bust_cache + + before_validation :prefix_all_images + + algoliasearch per_environment: true do + add_index "searchables", + id: :index_id, + per_environment: true do + attribute :title, :body, :quote, :summary, :subtitle, :website_url, + :published_at, :comments_count, :path, :class_name, + :user_name, :user_username, :published, :comments_blob, + :body_text, :tag_list, :tag_keywords_for_search, + :positive_reactions_count, :search_score + attribute :user do + { name: podcast.name, + username: user_username, + profile_image_90: ProfileImage.new(user).get(90) } + end + searchableAttributes ["unordered(title)", + "body_text", + "tag_list", + "tag_keywords_for_search", + "user_name", + "user_username", + "comments_blob"] + attributesForFaceting [:class_name] + customRanking ["desc(search_score)", "desc(hotness_score)"] + end + end + + def user_username + podcast_slug + end + + def user_name + podcast_title + end + + def comments_blob + comments.pluck(:body_markdown).join(" ") + end + + def index_id + "podcast_episodes-#{id}" + end + + def path + "/#{podcast.slug}/#{slug}" + end + + def podcast_slug + podcast.slug + end + + def podcast_image_url + podcast.image_url + end + + def podcast_title + podcast.title + end + + def published_at_int + published_at.to_i + end + + def published + true + end + + def description + strip_tags(body) + end + + def main_image + nil + end + + def profile_image_url + image_url || "http://41orchard.com/wp-content/uploads/2011/12/Robot-Chalkboard-Decal.gif" + end + + def body_text + ActionView::Base.full_sanitizer.sanitize(processed_html) + end + + def published_at_date_slashes + published_at.to_date.strftime("%m/%d/%Y") if published_at + end + + def user + podcast + end + + def zero_method + 0 + end + alias_method :hotness_score, :zero_method + alias_method :search_score, :zero_method + alias_method :positive_reactions_count, :zero_method + + def bust_cache + purge + purge_all + begin + CacheBuster.new.bust(path) + CacheBuster.new.bust("/"+podcast_slug) + CacheBuster.new.bust("/pod") + CacheBuster.new.bust(path) + rescue + + end + purge + purge_all + end + + def class_name + self.class.name + end + + def tag_keywords_for_search + tags.pluck(:keywords_for_search).join + end + + ## Useless stubs + def nil_method + nil + end + alias_method :user_id, :nil_method + alias_method :second_user_id, :nil_method + alias_method :third_user_id, :nil_method + + def liquid_tags_used + [] + end + + private + + def prefix_all_images + return unless body.present? + self.processed_html = body.gsub("\r\n

 

\r\n","").gsub("\r\n

 

\r\n","").gsub("\r\n

 

\r\n","").gsub("\r\n

 

\r\n","") + self.processed_html = "

#{self.processed_html}

" unless processed_html.include?("

") + doc = Nokogiri::HTML(processed_html) + doc.css("img").each do |img| + if img.attr('src') && (img.attr('src').include? ".gif") + quality = 66 + else + quality = "auto" + end + if img.attr('src') + self.processed_html = processed_html.gsub(img.attr('src'), + cl_image_path(img.attr('src'), + :type=>"fetch", + :width => 725, + :crop => "limit", + :quality => quality, + :flags => "progressive", + :fetch_format => "auto", + :sign_url => true)) + end + end + end + + +end diff --git a/app/models/reaction.rb b/app/models/reaction.rb new file mode 100644 index 0000000000000..337e906c36356 --- /dev/null +++ b/app/models/reaction.rb @@ -0,0 +1,120 @@ +class Reaction < ApplicationRecord + belongs_to :reactable, polymorphic: true + counter_culture :reactable, + column_name: proc { |model| + model.points.positive? ? "positive_reactions_count" : "reactions_count" + } + counter_culture :user + belongs_to :user + + validates :category, inclusion: { in: %w(like thinking hands unicorn thumbsdown vomit readinglist) } + validates :reactable_type, inclusion: { in: %w(Comment Article) } + validates :user_id, uniqueness: {:scope => [:reactable_id, :reactable_type, :category]} + validate :user_permissions + + before_save :assign_points + after_save :update_reactable + before_destroy :update_reactable_without_delay + after_save :touch_user + after_save :async_bust + before_destroy :clean_up_before_destroy + + include StreamRails::Activity + as_activity + + def self.count_for_reactable(reactable) + Rails.cache.fetch("count_for_reactable-#{reactable.class.name}-#{reactable.id}", expires_in: 1.hour) do + [{category:"like",count:Reaction.where(reactable_id:reactable.id, reactable_type: reactable.class.name, category: "like").size}, + {category:"readinglist",count:Reaction.where(reactable_id:reactable.id, reactable_type: reactable.class.name, category: "readinglist").size}, + {category:"unicorn",count:Reaction.where(reactable_id:reactable.id, reactable_type: reactable.class.name, category: "unicorn").size}] + end + end + + def self.for_display(user) + self.includes(:reactable). + where(reactable_type: "Article", user_id: user.id). + where("created_at > ?", 5.days.ago). + select('distinct on (reactable_id) *'). + take(15) + end + + # notifications + + def activity_object + self + end + + def activity_target + "#{reactable_type}_#{reactable_id}" + end + + def activity_notify + return if user_id == reactable.user_id + return if points < 0 + [StreamNotifier.new(reactable.user.id).notify] + end + + def remove_from_feed + User.find(reactable.user.id)&.touch(:last_notification_activity) + end + + def self.cached_any_reactions_for?(reactable, user, category) + Rails.cache.fetch("any_reactions_for-#{reactable.class.name}-#{reactable.id}-#{user.updated_at}-#{category}", expires_in: 24.hours) do + Reaction. + where(reactable_id: reactable.id, reactable_type: reactable.class.name, user_id: user.id, category: category). + any? + end + end + + private + + def update_reactable + if reactable_type == "Article" + reactable.index! + CacheBuster.new.bust "/reactions/logged_out_reaction_counts?article_id=#{reactable_id}" + elsif reactable_type == "Comment" + reactable.save + CacheBuster.new.bust "/reactions/logged_out_reaction_counts?commentable_id=#{reactable.commentable_id}&commentable_type=#{reactable.commentable_type}" + end + CacheBuster.new.bust user.path + end + handle_asynchronously :update_reactable + + def touch_user + user.touch + end + handle_asynchronously :touch_user + + def async_bust + featured_articles = Article.where(featured: true).order('hotness_score DESC').limit(3).pluck(:id) + if featured_articles.include?(reactable.id) + reactable.touch + CacheBuster.new.bust "/" + CacheBuster.new.bust "/" + CacheBuster.new.bust "/?i=i" + CacheBuster.new.bust "?i=i" + end + end + handle_asynchronously :async_bust + + def clean_up_before_destroy + reactable.index! if reactable_type == "Article" + end + + def assign_points + base_points = if category == "vomit" + -25.0 + elsif category == "thumbsdown" + -5.0 + else + 1.0 + end + self.points = user ? (base_points * user.reputation_modifier) : -5 + end + + def user_permissions + if category == "vomit" || category == "thumbsdown" + errors.add(:category, "is not valid.") unless user.has_role?(:trusted) + end + end +end diff --git a/app/models/role.rb b/app/models/role.rb new file mode 100644 index 0000000000000..8df406c67e898 --- /dev/null +++ b/app/models/role.rb @@ -0,0 +1,31 @@ +class Role < ApplicationRecord + has_and_belongs_to_many :users, join_table: :users_roles + + belongs_to :resource, + polymorphic: true, optional: true + + validates :resource_type, + inclusion: { in: Rolify.resource_types }, + allow_nil: true + + validates :name, + inclusion: { + in: %w( + super_admin + admin + moderator + trusted + banned + warned + analytics_beta_tester + switch_between_orgs + triple_unicorn_member + level_4_member + level_3_member + level_2_member + level_1_member + workshop_pass + ), + } + scopify +end diff --git a/app/models/tag.rb b/app/models/tag.rb new file mode 100644 index 0000000000000..f40643e503a88 --- /dev/null +++ b/app/models/tag.rb @@ -0,0 +1,54 @@ +class Tag < ActsAsTaggableOn::Tag + acts_as_followable + + mount_uploader :profile_image, ProfileImageUploader + mount_uploader :social_image, ProfileImageUploader + + validates :text_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/, allow_blank: true + validates :bg_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/, allow_blank: true + + + validate :validate_alias + before_validation :evaluate_markdown + before_validation :pound_it + before_save :calculate_hotness_score + after_save :bust_cache + + def submission_template_customized(param_0 = nil) + submission_template.gsub("PARAM_0", param_0) + end + + private + + def evaluate_markdown + self.rules_html = MarkdownParser.new(rules_markdown).evaluate_markdown + end + + def calculate_hotness_score + self.hotness_score = Article.tagged_with(name). + where("articles.featured_number > ?", 7.days.ago.to_i). + map do |a| + (a.comments_count * 14) + (a.reactions_count * 4) + rand(6) + ((taggings_count + 1 ) / 2) + end. + sum + end + + def bust_cache + CacheBuster.new.bust("/t/#{name}") + CacheBuster.new.bust("/t/#{name}?i=i") + CacheBuster.new.bust("/t/#{name}/?i=i") + CacheBuster.new.bust("/t/#{name}/") + CacheBuster.new.bust("/tags") + end + + def validate_alias + if alias_for.present? && !Tag.find_by_name(alias_for) + errors.add(:tag, "alias_for must refer to existing tag") + end + end + + def pound_it + text_color_hex&.prepend("#") unless text_color_hex&.starts_with?("#") + bg_color_hex&.prepend("#") unless bg_color_hex&.starts_with?("#") + end +end diff --git a/app/models/tweet.rb b/app/models/tweet.rb new file mode 100644 index 0000000000000..9d57e6acd885d --- /dev/null +++ b/app/models/tweet.rb @@ -0,0 +1,107 @@ +class Tweet < ApplicationRecord + include AlgoliaSearch + + mount_uploader :profile_image, ProfileImageUploader + + belongs_to :user, optional: true + + serialize :mentioned_usernames_serialized + serialize :hashtags_serialized + serialize :urls_serialized + serialize :media_serialized + serialize :extended_entities_serialized + serialize :full_fetched_object_serialized + + validates :twitter_id_code, presence: true + validates :full_fetched_object_serialized, presence: true + + def self.find_or_fetch(twitter_id_code) + find_by_twitter_id_code(twitter_id_code) || fetch(twitter_id_code) + end + + def self.fetch(twitter_id_code) + tries = 0 + tweet = nil + until (tries > 4 || tweet) do + begin + return tweet = try_to_get_tweet(twitter_id_code) + rescue => e + puts e + tries += 1 + end + end + end + + def processed_text + urls_serialized.each do |url| + text.gsub!(url[:url],"#{url[:display_url]}") + end + mentioned_usernames_serialized.each do |username| + uname = username["screen_name"] + text.gsub!("@"+uname,"#{"@"+uname}") + end + hashtags_serialized.each do |tag| + tag_text = tag[:text] + text.gsub!("#"+tag_text,"#{"#"+tag_text}") + end + + if extended_entities_serialized && extended_entities_serialized[:media] + extended_entities_serialized[:media].each do |media| + text.gsub!(media[:url],"") + end + end + + text.gsub!("\n","
") + text + end + + private + + def self.try_to_get_tweet(twitter_id_code) + c = TwitterBot.new(random_identity).client + t = c.status(twitter_id_code, tweet_mode: "extended") + make_tweet_from_api_object(t) + end + + def self.make_tweet_from_api_object(t) + t = TwitterBot.new(random_identity).client.status(t.attrs[:retweeted_status][:id_str]) if t.attrs[:retweeted_status] + tweet = Tweet.where(twitter_id_code: t.attrs[:id_str]).first_or_initialize + tweet.twitter_uid = t.user.id.to_s + tweet.twitter_username = t.user.screen_name.downcase + tweet.user_id = User.find_by_twitter_username(t.user.screen_name).try(:id) + tweet.favorite_count = t.favorite_count + tweet.retweet_count = t.retweet_count + tweet.in_reply_to_user_id_code = t.attrs[:in_reply_to_user_id_str] + tweet.in_reply_to_user_id_code = t.attrs[:in_reply_to_status_id_str] + tweet.twitter_user_following_count = t.user.friends_count + tweet.twitter_user_followers_count = t.user.followers_count + tweet.twitter_id_code = t.attrs[:id_str] + tweet.quoted_tweet_id_code = t.attrs[:quoted_status_id_str] + tweet.in_reply_to_username = t.in_reply_to_screen_name + tweet.source = t.source + tweet.text = t.attrs[:full_text] + tweet.twitter_name = t.user.name + tweet.mentioned_usernames_serialized = t.user_mentions.as_json + tweet.hashtags_serialized = t.attrs[:entities][:hashtags] + tweet.remote_profile_image_url = t.user.profile_image_url + tweet.urls_serialized = t.attrs[:entities][:urls] + tweet.media_serialized = t.attrs[:media] + tweet.extended_entities_serialized = t.attrs[:extended_entities] + tweet.full_fetched_object_serialized = t.attrs + tweet.tweeted_at = t.attrs[:created_at] + tweet.last_fetched_at = Time.now + tweet.user_is_verified = t.user.verified? + tweet.is_quote_status = t.attrs[:is_quote_status] + tweet.save! + tweet + end + + def self.random_identity + if Rails.env.production? + Identity.where(provider:"twitter").last(250).sample + else + Identity.where(provider:"twitter").last + end + end + +end diff --git a/app/models/user.rb b/app/models/user.rb new file mode 100644 index 0000000000000..d332f7989878c --- /dev/null +++ b/app/models/user.rb @@ -0,0 +1,405 @@ +include CloudinaryHelper + +class User < ApplicationRecord + attr_accessor :scholar_email + rolify + include AlgoliaSearch + include Storext.model + + acts_as_followable + acts_as_follower + + has_many :articles + has_many :reactions + belongs_to :organization, optional: true + has_many :comments + has_many :identities + has_many :collections + has_many :tweets + has_many :notifications + has_many :mentions + has_many :email_messages, class_name: "Ahoy::Message" + has_many :notes + has_many :github_repos + + mount_uploader :profile_image, ProfileImageUploader + + devise :omniauthable, :trackable, :rememberable, + :registerable, :database_authenticatable, :confirmable + validates :email, + uniqueness: { allow_blank: true, case_sensitive: false }, + length: { maximum: 50 }, + email: true, + allow_blank: true + validates :username, + presence: true, + uniqueness: { case_sensitive: false }, + format: { with: /\A[a-zA-Z0-9_]+\Z/ }, + length: { in: 2..30 }, + exclusion: { in: RESERVED_WORDS, + message: "%{value} is reserved." } + validates :twitter_username, uniqueness: { allow_blank: true } + validates :github_username, uniqueness: { allow_blank: true } + validates :text_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/, allow_blank: true + validates :bg_color_hex, format: /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/, allow_blank: true + validates :website_url, url: { allow_blank: true, no_local: true, schemes: ["https", "http"] } + validates :employer_url, url: { allow_blank: true, no_local: true, schemes: ["https", "http"] } + validates :shirt_gender, + inclusion: { in: %w(unisex womens), + message: "%{value} is not a valid shirt style" }, + allow_blank: true + validates :shirt_size, + inclusion: { in: %w(xs s m l xl 2xl 3xl 4xl), + message: "%{value} is not a valid size" }, + allow_blank: true + validates :tabs_or_spaces, + inclusion: { in: %w(tabs spaces), + message: "%{value} is not a valid answer" }, + allow_blank: true + validates :shipping_country, + length: { in: 2..2 }, + allow_blank: true + validates :website_url, url: { allow_blank: true, no_local: true, schemes: ["https", "http"] } + validates :website_url, :employer_name, :employer_url, + :employment_title, :top_languages, :education, :location, + length: { maximum: 64 } + validates :mostly_work_with, :currently_learning, :currently_hacking_on, :available_for, + length: { maximum: 500 } + validate :conditionally_validate_summary + validate :validate_feed_url + validate :unique_including_orgs + + after_create :send_welcome_notification + after_save :bust_cache + after_save :subscribe_to_mailchimp_newsletter + after_create :estimate_default_language! + before_validation :set_username + before_validation :downcase_email + before_validation :check_for_username_change + + algoliasearch per_environment: true, enqueue: :trigger_delayed_index do + add_index "searchables", + id: :index_id, + per_environment: true, + enqueue: :trigger_delayed_index do + attribute :user do + { username: user.username, + name: user.username, + profile_image_90: ProfileImage.new(user).get(90) } + end + attribute :title, :path, :tag_list, :main_image, :id, + :featured, :published, :published_at, :featured_number, :comments_count, + :reactions_count, :positive_reactions_count, :class_name, :user_name, + :user_username, :comments_blob, :body_text, :tag_keywords_for_search, + :search_score, :hotness_score + searchableAttributes ["unordered(title)", + "body_text", + "tag_list", + "tag_keywords_for_search", + "user_name", + "user_username", + "comments_blob"] + attributesForFaceting [:class_name] + customRanking ["desc(search_score)", "desc(hotness_score)"] + end + end + + # Via https://github.com/G5/storext + store_attributes :language_settings do + estimated_default_language String + prefer_language_en Boolean, default: true + prefer_language_ja Boolean, default: false + prefer_language_es Boolean, default: false + prefer_language_fr Boolean, default: false + prefer_language_it Boolean, default: false + end + + def self.trigger_delayed_index(record, remove) + if remove + record.delay.remove_from_index! if (record && record.persisted?) + else + record.delay.index! + end + end + + def index_id + "users-#{id}" + end + + def estimate_default_language! + identity = identities.where(provider: "twitter").first + if email.end_with?(".jp") + self.update(:estimated_default_language => "ja", :prefer_language_ja => true) + elsif identity + lang = identity.auth_data_dump["extra"]["raw_info"]["lang"] + self.update(:estimated_default_language => lang, "prefer_language_#{lang}" => true) + end + end + handle_asynchronously :estimate_default_language! + + def calculate_score + score = (articles.where(featured:true).size*100) + (comments.sum(:score)) + self.update_column(:score, score) + end + + def path + "/"+username.to_s + end + + def followed_articles + Article.tagged_with(cached_followed_tag_names, any: true).union( + Article.where( + user_id: cached_following_users_ids, + ) + ).where(language: cached_preferred_langs, published: true) + end + + def cached_following_users_ids + Rails.cache.fetch("user-#{id}-#{updated_at}-#{following_users_count}/following_users_ids", expires_in: 120.hours) do + # More efficient query. May not cover future edge cases. + # Should probably only return users who have published lately + # But this should be okay for most for now. + Follow.where(follower_id: id, followable_type: "User").limit(150).pluck(:followable_id) + end + end + + def cached_preferred_langs + Rails.cache.fetch("user-#{id}-#{updated_at}/cached_preferred_langs", expires_in: 80.hours) do + langs = [] + langs << "en" if prefer_language_en + langs << "ja" if prefer_language_ja + langs << "es" if prefer_language_es + langs << "fr" if prefer_language_fr + langs << "it" if prefer_language_it + langs + end + end + + def processed_website_url + if website_url.present? + website_url.to_s.strip + end + end + + def remember_me + true + end + + def cached_followed_tag_names + Rails.cache.fetch("user-#{id}-#{updated_at}/followed_tag_names", expires_in: 100.hours) do + Tag.where(id:Follow.where(follower_id:id,followable_type:"ActsAsTaggableOn::Tag").pluck(:followable_id)).pluck(:name) + end + end + + # methods for Administrate field + def banned + has_role? :banned + end + + def warned + has_role? :warned + end + + def trusted + has_role? :trusted + end + + def reason_for_ban + return if notes.where(reason: "banned").blank? + Note.find_by(user_id: id, reason: "banned").content + end + + def reason_for_warning + return if notes.where(reason: "warned").blank? + Note.find_by(user_id: id, reason: "warned").content + end + + def scholar + valid_pass = workshop_expiration.nil? || workshop_expiration > Time.now + has_role?(:workshop_pass) && valid_pass + end + + def analytics + has_role? :analytics_beta_tester + end + + def workshop_eligible? + has_any_role?(:workshop_pass, :level_3_member, :level_4_member, :triple_unicorn_member) + end + + def unique_including_orgs + errors.add(:username, "is taken.") if Organization.find_by_slug(username) + end + + def subscribe_to_mailchimp_newsletter + return unless email.present? && email.include?("@") + + if saved_changes["unconfirmed_email"] && saved_changes["confirmation_sent_at"] + # This is when user is updating their email. There + # is no need to update mailchimp until email is confirmed. + return + else + MailchimpBot.new(self).upsert + end + end + handle_asynchronously :subscribe_to_mailchimp_newsletter + + def can_view_analytics? + has_any_role?(:super_admin, :admin, :analytics_beta_tester) + end + + def a_sustaining_member? + monthly_dues.positive? + end + + private + + def send_welcome_notification + Broadcast.send_welcome_notification(id) + end + + def set_username + if username.blank? + set_temp_username + end + self.username = username&.downcase + end + + def set_temp_username + self.username = if temp_name_exists? + temp_username + "_" + rand(100).to_s + else + temp_username + end + end + + def temp_name_exists? + User.find_by_username(temp_username) || Organization.find_by_slug(temp_username) + end + + def temp_username + if twitter_username + twitter_username.downcase.gsub(/[^0-9a-z_]/i, "").gsub(/ /, "") + elsif github_username + github_username.downcase.gsub(/[^0-9a-z_]/i, "").gsub(/ /, "") + end + end + + def downcase_email + self.email = email.downcase if email + end + + def check_for_username_change + if username_changed? + self.old_old_username = old_username + self.old_username = username_was + end + end + + def conditionally_resave_articles + if core_profile_details_changed? + delay.resave_articles + end + end + + def bust_cache + CacheBuster.new.bust("/#{username}") + CacheBuster.new.bust("/feed/#{username}") + end + handle_asynchronously :bust_cache + + def core_profile_details_changed? + saved_change_to_username? || + saved_change_to_name? || + saved_change_to_profile_image? || + saved_change_to_github_username? || + saved_change_to_twitter_username? + end + + def resave_articles + articles.each do |article| + CacheBuster.new.bust(article.path) + CacheBuster.new.bust(article.path + "?i=i") + article.save + end + end + + def conditionally_validate_summary + # Grandfather people who had a too long summary before. + return if summary_was && summary_was.size > 200 + if summary.present? && summary.size > 200 + errors.add(:summary, "is too long.") + end + end + + def validate_feed_url + return unless feed_url.present? + errors.add(:feed_url, "is not a valid rss feed") unless RssReader.new.valid_feed_url?(feed_url) + end + + def title + name + end + + def tag_list + cached_followed_tag_names + end + + def main_image; end + + def featured + true + end + + def published + true + end + + def published_at; end + + def featured_number; end + + def positive_reactions_count + reactions_count + end + + def user + self + end + + def class_name + self.class.name + end + + def user_name + username + end + + def user_username + username + end + + def comments_blob + ActionView::Base.full_sanitizer.sanitize(comments.last(2).pluck(:body_markdown).join(" "))[0..2500] + end + + def body_text + summary.to_s + ActionView::Base.full_sanitizer. + sanitize(articles.last(50). + pluck(:processed_html). + join(" "))[0..2500] + end + + def tag_keywords_for_search + employer_name.to_s + mostly_work_with.to_s + available_for.to_s + end + + def hotness_score + search_score + end + + def search_score + score = (((articles_count + comments_count + reactions_count) * 10) + tag_keywords_for_search.size) * reputation_modifier * followers_count + score.to_i + end +end diff --git a/app/observers/article_observer.rb b/app/observers/article_observer.rb new file mode 100644 index 0000000000000..1791cf1be5baa --- /dev/null +++ b/app/observers/article_observer.rb @@ -0,0 +1,14 @@ +class ArticleObserver < ActiveRecord::Observer + def after_save(article) + return if Rails.env.development? + if article.published && article.published_at > 30.seconds.ago + SlackBot.delay.ping "New Article Published: #{article.title}\nhttps://dev.to#{article.path}", + channel: "activity", + username: "article_bot", + icon_emoji: ":writing_hand:" + + end + rescue + puts "error" + end +end diff --git a/app/observers/reaction_observer.rb b/app/observers/reaction_observer.rb new file mode 100644 index 0000000000000..d1195d48f55a4 --- /dev/null +++ b/app/observers/reaction_observer.rb @@ -0,0 +1,15 @@ +class ReactionObserver < ActiveRecord::Observer + def after_create(reaction) + if reaction.points.negative? + emoji = reaction.category == "thumbsdown" ? ":thumbsdown:" : ":cry:" + SlackBot.delay.ping( + "#{reaction.user.name} (https://dev.to#{reaction.user.path}) \nreacted with a #{reaction.category} on\nhttps://dev.to#{reaction.reactable.path}", + channel: "abuse-reports", + username: "abuse_bot", + icon_emoji: emoji, + ) + end + rescue + puts "observer error" + end +end diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb new file mode 100644 index 0000000000000..9a77a8a738186 --- /dev/null +++ b/app/policies/application_policy.rb @@ -0,0 +1,59 @@ +class ApplicationPolicy + attr_reader :user, :record + + def initialize(user, record) + @user = user + @record = record + end + + def index? + false + end + + def show? + scope.where(:id => record.id).exists? + end + + def create? + false + end + + def new? + create? + end + + def update? + false + end + + def edit? + update? + end + + def destroy? + false + end + + def scope + Pundit.policy_scope!(user, record.class) + end + + class Scope + attr_reader :user, :scope + + def initialize(user, scope) + @user = user + @scope = scope + end + + def resolve + scope + end + end + + private + + def user_is_admin? + user.has_any_role?(:super_admin, :admin) + end +end diff --git a/app/policies/article_policy.rb b/app/policies/article_policy.rb new file mode 100644 index 0000000000000..fa5faadabf1a0 --- /dev/null +++ b/app/policies/article_policy.rb @@ -0,0 +1,27 @@ +class ArticlePolicy < ApplicationPolicy + def update? + user_is_author? || user_is_admin? || user_is_org_admin? + end + + def new? + !user_is_banned? + end + + def create? + !user_is_banned? + end + + private + + def user_is_author? + record.user_id == user.id + end + + def user_is_org_admin? + user.org_admin && user.organization_id == record.organization_id + end + + def user_is_banned? + user && user.has_role?(:banned) + end +end diff --git a/app/services/article_api_index_service.rb b/app/services/article_api_index_service.rb new file mode 100644 index 0000000000000..10aff4bb51fb0 --- /dev/null +++ b/app/services/article_api_index_service.rb @@ -0,0 +1,87 @@ +class ArticleApiIndexService + attr_accessor :tag, :username, :page, :state + def initialize(params) + @page = params[:page] + @tag = params[:tag] + @username = params[:username] + @state = params[:state] + end + + def get + articles = if tag.present? + tag_articles + elsif username.present? + username_articles + elsif state.present? + state_articles(state) + else + base_articles + end + articles. + decorate + end + + private + + def username_articles + if user = User.find_by_username(username) + user.articles. + where(published: true). + includes(:user). + order("published_at DESC"). + page(page). + per(30) + elsif organization = Organization.find_by_slug(username) + organization.articles. + where(published: true). + includes(:user). + order("published_at DESC"). + page(page). + per(30) + else + not_found + end + end + + def tag_articles + if Tag.find_by_name(tag)&.requires_approval + Article. + where(published: true, approved: true). + order("featured_number DESC"). + includes(:user). + includes(:organization). + page(page). + per(30). + filter_excluded_tags(tag) + else + Article. + where(published: true). + order("hotness_score DESC"). + includes(:user). + includes(:organization). + page(page). + per(30). + filter_excluded_tags(tag) + end + end + + def state_articles(state) + if state == "fresh" + Article.where(published: true). + where("positive_reactions_count < ? AND featured_number > ?", 6, 7.hours.ago.to_i) + elsif state == "rising" + Article.where(published: true). + where("positive_reactions_count > ? AND positive_reactions_count < ? AND featured_number > ?", 20, 25, 3.days.ago.to_i) + end + end + + def base_articles + Article. + where(published: true, featured: true). + order("hotness_score DESC"). + includes(:user). + includes(:organization). + page(page). + per(30) + end +end diff --git a/app/services/article_creation_service.rb b/app/services/article_creation_service.rb new file mode 100644 index 0000000000000..ec0d3ed0ea3e0 --- /dev/null +++ b/app/services/article_creation_service.rb @@ -0,0 +1,34 @@ +class ArticleCreationService + attr_accessor :user, :article_params, :job_opportunity_params + + def initialize(user, article_params, job_opportunity_params) + @user = user + @article_params = article_params + @job_opportunity_params = job_opportunity_params + end + + def create! + raise if RateLimitChecker.new(user).limit_by_situation("published_article_creation") + article = Article.new(article_params) + article.user_id = user.id + article.show_comments = true + if user.organization_id.present? && article_params[:publish_under_org].to_i == 1 + article.organization_id = user.organization_id + end + create_job_opportunity(article) + if article.save + if article.published + Notification.send_all(article, "Published") + end + end + article.decorate + end + + def create_job_opportunity(article) + if job_opportunity_params.present? + job_opportunity = JobOpportunity.create(job_opportunity_params) + article.job_opportunity = job_opportunity + raise unless article.tag_list.include? "hiring" + end + end +end diff --git a/app/services/authorization_service.rb b/app/services/authorization_service.rb new file mode 100644 index 0000000000000..762b2bda1d0f6 --- /dev/null +++ b/app/services/authorization_service.rb @@ -0,0 +1,127 @@ +class AuthorizationService + attr_accessor :auth, :signed_in_resource, :cta_variant + def initialize(auth, signed_in_resource = nil, cta_variant=nil) + @auth = auth + @signed_in_resource = signed_in_resource + @cta_variant = cta_variant + end + + def get_user + identity = build_identity + return signed_in_resource if user_identity_exists(identity) + + user = proper_user(identity) + if user.nil? + user = build_user(identity) + else + user = update_user(user) + end + set_identity(identity, user) + user.skip_confirmation! + user + end + + def add_social_identity_data(user) + return unless auth && auth.provider && auth.extra && auth.extra.raw_info + if auth.provider == "twitter" + user.twitter_created_at = auth.extra.raw_info.created_at + user.twitter_followers_count = auth.extra.raw_info.followers_count.to_i + user.twitter_following_count = auth.extra.raw_info.friends_count.to_i + else + user.github_created_at = auth.extra.raw_info.created_at + end + end + + def should_see_onboarding + cta_variant != nil && + (cta_variant == "navbar_basic" || + cta_variant&.include?("notifications") || + cta_variant&.include?("welcome-widget") || + cta_variant&.include?("in-feed-cta")) + end + + def build_identity + identity = Identity.find_for_oauth(auth) + identity.token = auth.credentials.token + identity.secret = auth.credentials.secret + identity.auth_data_dump = auth + identity.save + identity + end + + def build_user(identity) + user = User.where("#{identity.provider}_username" => auth.info.nickname).first + if user.nil? + user = User.new( + name: auth.extra.raw_info.name, + remote_profile_image_url: (auth.info.image || "").gsub("_normal",""), + github_username: (auth.info.nickname if auth.provider == "github"), + signup_cta_variant: cta_variant, + email: auth.info.email || "", + twitter_username: (auth.info.nickname if auth.provider == "twitter"), + password: Devise.friendly_token[0,20] + ) + if user.name.blank? + user.name = auth.info.nickname + end + user.skip_confirmation! + user.remember_me! + user.remember_me = true + add_social_identity_data(user) + if should_see_onboarding + user.saw_onboarding = false + else + user.saw_onboarding = true + end + user.save! + end + user + end + + def update_user(user) + if auth.provider == "github" && auth.info.nickname != user.github_username + user.github_username = auth.info.nickname + end + if auth.provider == "twitter" && auth.info.nickname != user.twitter_username + user.twitter_username = auth.info.nickname + end + user.remember_me! + user.remember_me = true + add_social_identity_data(user) + user.save + user + end + + def proper_user(identity) + if signed_in_resource + signed_in_resource + elsif identity.user + identity.user + elsif !auth.info.email.blank? + User.find_by_email(auth.info.email) + end + end + + def set_identity(identity, user) + if identity.user_id.blank? + identity.user = user + identity.save! + end + end + + def user_identity_exists(identity) + signed_in_resource && + Identity.where(provider: identity.provider, user_id: signed_in_resource.id).any? + end + + def add_social_identity_data(user) + return unless auth && auth.provider && auth.extra && auth.extra.raw_info + if auth.provider == "twitter" + user.twitter_created_at = auth.extra.raw_info.created_at + user.twitter_followers_count = auth.extra.raw_info.followers_count.to_i + user.twitter_following_count = auth.extra.raw_info.friends_count.to_i + else + user.github_created_at = auth.extra.raw_info.created_at + end + end +end diff --git a/app/services/get_unseen_notifications_service.rb b/app/services/get_unseen_notifications_service.rb new file mode 100644 index 0000000000000..cabcb950888c8 --- /dev/null +++ b/app/services/get_unseen_notifications_service.rb @@ -0,0 +1,11 @@ +class GetUnseenNotificationsService + + def initialize(user) + @user = user + end + + def get + return 1 unless @user + NotificationCounter.new(@user).unread_notification_count + end +end diff --git a/app/services/membership_service.rb b/app/services/membership_service.rb new file mode 100644 index 0000000000000..28f0e674e8c0e --- /dev/null +++ b/app/services/membership_service.rb @@ -0,0 +1,104 @@ +class MembershipService + attr_reader :customer, :user, :monthly_dues, :subscription, :plan + + def initialize(customer, user, monthly_dues) + @customer = customer + @user = user + @monthly_dues = monthly_dues || @user.monthly_dues + @plan = find_or_create_plan + @subscription = find_subscription + end + + def subscribe_customer + true if create_subscription && + assign_membership_role && + user.update(monthly_dues: monthly_dues, + membership_started_at: Time.now, + email_membership_newsletter: true, + stripe_id_code: customer.id) && + send_welcome_email + end + + def update_subscription + true if update_stripe_plan_for_subscription && + assign_membership_role && + user.update(monthly_dues: monthly_dues) && + send_update_email + end + + def unsubscribe_customer + true if cancel_subscription && + remove_all_membership_roles && + user.update(monthly_dues: 0, email_membership_newsletter: false) && + send_cancellation_email + end + + def find_subscription + customer.subscriptions.first || nil + end + + def create_subscription + customer.subscriptions.create(plan: plan.id) + end + + def cancel_subscription + subscription.delete + end + + def update_stripe_plan_for_subscription + subscription.items = [{ + id: subscription.items.data[0].id, + plan: plan, + }] + subscription.save + end + + def find_or_create_plan + Stripe::Plan.retrieve("membership-#{monthly_dues}") + # Andy: using rescue because not finding a plan errors out instead returning of nil + rescue Stripe::InvalidRequestError + Stripe::Plan.create( + id: "membership-#{monthly_dues}", + currency: "usd", + interval: "month", + name: "Monthly DEV Membership", + amount: monthly_dues, + statement_descriptor: "DEV membership", + ) + end + + def assign_membership_role + # change role names here, in role.rb, users_controller#handle_settings_tab => @membership_names + remove_all_membership_roles + user.add_role :analytics_beta_tester + if monthly_dues >= 100000 + user.add_role :triple_unicorn_member + elsif monthly_dues > 2500 + user.add_role :level_4_member + elsif monthly_dues == 2500 + user.add_role :level_3_member + elsif monthly_dues.between?(1000, 2499) + user.add_role :level_2_member + else + user.add_role :level_1_member + end + end + + def remove_all_membership_roles + tiers = %i[ triple_unicorn_member level_4_member level_3_member level_2_member level_1_member + analytics_beta_tester] + tiers.each { |t| user.remove_role(t) } + end + + def send_welcome_email + NotifyMailer.delay.new_membership_subscription_email(user, user.roles.last.name) + end + + def send_update_email + NotifyMailer.delay.subscription_update_confirm_email(user) + end + + def send_cancellation_email + NotifyMailer.delay.subscription_cancellation_email(user) + end +end diff --git a/app/services/moderation_service.rb b/app/services/moderation_service.rb new file mode 100644 index 0000000000000..c4a639303a433 --- /dev/null +++ b/app/services/moderation_service.rb @@ -0,0 +1,19 @@ +class ModerationService + def initialize + @available_moderators = User.with_role(:trusted).where("last_moderation_notification < ?", 28.hours.ago) + end + + def send_moderation_notification(object) + if @available_moderators.any? + moderator = @available_moderators.sample + Notification.create( + user_id: moderator.id, + notifiable_id: object.id, + notifiable_type: object.class.name, + action: "Moderation", + ) + moderator.update_column(:last_moderation_notification, Time.now) + end + end + handle_asynchronously :send_moderation_notification +end diff --git a/app/services/read_notifications_service.rb b/app/services/read_notifications_service.rb new file mode 100644 index 0000000000000..267b2b48d9593 --- /dev/null +++ b/app/services/read_notifications_service.rb @@ -0,0 +1,11 @@ +class ReadNotificationsService + + def initialize(user) + @user = user + end + + def mark_as_read + NotificationCounter.new(@user).set_to_zero + "read" + end +end diff --git a/app/services/user_role_service.rb b/app/services/user_role_service.rb new file mode 100644 index 0000000000000..459fea92a263d --- /dev/null +++ b/app/services/user_role_service.rb @@ -0,0 +1,89 @@ +class UserRoleService + def initialize(user) + @user = user + @bannable = nil + @warnable = nil + end + + def check_for_roles(params) + if @user.banned && params[:banned] == "0" + unban + else + bannable?(params) + warnable?(params) + end + new_roles?(params) + end + + private + + def new_roles?(params) + params[:trusted] == "1" ? @user.add_role(:trusted) : @user.remove_role(:trusted) + params[:analytics] == "1" ? @user.add_role(:analytics_beta_tester) : @user.remove_role(:analytics_beta_tester) + if params[:scholar] == "1" + @user.add_role(:workshop_pass) + @user.update(workshop_expiration: params[:workshop_expiration]) + NotifyMailer.delay.scholarship_awarded_email(@user) if params[:scholar_email] == "1" + else + @user.remove_role(:workshop_pass) + end + end + + def bannable?(params) + if params[:banned] == "0" && !params[:reason_for_ban].blank? + @user.errors[:banned] << "was not checked but had the reason filled out" + @bannable = false + elsif params[:banned] == "1" && params[:reason_for_ban].blank? + @user.errors[:reason_for_ban] << "can't be blank if banned is checked" + @bannable = false + elsif params[:banned] == "1" + ban(params[:reason_for_ban]) + @bannable = true + else + unban + @bannable = true + end + end + + def warnable?(params) + if params[:warned] == "0" && !params[:reason_for_warning].blank? + @user.errors[:warned] << "was not checked but had the reason filled out" + @warnable = false + elsif params[:warned] == "1" && params[:reason_for_warning].blank? + @user.errors[:reason_for_warning] << "can't be blank if warned is checked" + @warnable = false + elsif params[:warned] == "1" + give_warning(params[:reason_for_warning]) + @warnable = true + end + end + + def create_or_update_note(reason, content) + note = Note.find_by(user_id: @user.id, reason: reason) + if note.nil? + Note.create( + user_id: @user.id, + reason: reason, + content: content, + ) + else + note.update(content: content) + end + end + + def ban(content) + @user.add_role :banned + create_or_update_note("banned", content) + end + + def unban + @user.remove_role :banned + end + + def give_warning(content) + @user.add_role :warned + create_or_update_note("warned", content) + end + + # Andy: no need to remove a warning from a user +end diff --git a/app/uploaders/article_image_uploader.rb b/app/uploaders/article_image_uploader.rb new file mode 100644 index 0000000000000..20125fbd962df --- /dev/null +++ b/app/uploaders/article_image_uploader.rb @@ -0,0 +1,16 @@ +class ArticleImageUploader < CarrierWave::Uploader::Base + include CarrierWave::BombShelter + # Andy: adds resolution size to images of 4096x4096 + + def store_dir + "i/" + end + + def filename + "#{Array.new(20){rand(36).to_s(36)}.join}.#{file.extension}" if original_filename.present? + end + + def extension_whitelist + %w(jpg jpeg jpe gif png ico bmp dng) + end +end diff --git a/app/uploaders/cover_image_uploader.rb b/app/uploaders/cover_image_uploader.rb new file mode 100644 index 0000000000000..a0c8ed63596e2 --- /dev/null +++ b/app/uploaders/cover_image_uploader.rb @@ -0,0 +1,11 @@ +class CoverImageUploader < CarrierWave::Uploader::Base + include CarrierWave::BombShelter + + def store_dir + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" + end + + def extension_whitelist + %w(jpg jpeg jpe gif png ico bmp dng) + end +end diff --git a/app/uploaders/profile_image_uploader.rb b/app/uploaders/profile_image_uploader.rb new file mode 100644 index 0000000000000..371b25c1fb071 --- /dev/null +++ b/app/uploaders/profile_image_uploader.rb @@ -0,0 +1,30 @@ +class ProfileImageUploader < CarrierWave::Uploader::Base + include CarrierWave::BombShelter + # Andy: adds resolution size to images of 4096x4096 + + def store_dir + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" + end + + def filename + "#{secure_token}.#{file.extension}" if original_filename.present? + end + + def extension_whitelist + %w(jpg jpeg jpe gif png ico bmp dng) + end + + protected + + def secure_token + var = :"@#{mounted_as}_secure_token" + model.instance_variable_get(var) || model.instance_variable_set(var, SecureRandom.uuid) + end + # version :big_thumb do + # process :resize_to_limit => [280, 280] + # end + # + # version :small_thumb do + # process :resize_to_limit => [100, 100] + # end +end diff --git a/app/views/admin/application/_collection.html.erb b/app/views/admin/application/_collection.html.erb new file mode 100644 index 0000000000000..862a27376f30a --- /dev/null +++ b/app/views/admin/application/_collection.html.erb @@ -0,0 +1,94 @@ +<%# +# Collection + +This partial is used on the `index` and `show` pages +to display a collection of resources in an HTML table. + +## Local variables: + +- `collection_presenter`: + An instance of [Administrate::Page::Collection][1]. + The table presenter uses `ResourceDashboard::COLLECTION_ATTRIBUTES` to determine + the columns displayed in the table +- `resources`: + An ActiveModel::Relation collection of resources to be displayed in the table. + By default, the number of resources is limited by pagination + or by a hard limit to prevent excessive page load times + +[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Collection +%> + + + + + <% collection_presenter.attribute_types.each do |attr_name, attr_type| %> + + <% end %> + <% [valid_action?(:edit, collection_presenter.resource_name), + valid_action?(:destroy, collection_presenter.resource_name)].count(true).times do %> + + <% end %> + + + + + <% resources.each do |resource| %> + + <%= %(role=link data-url=#{polymorphic_path([namespace, resource])}) %> + <% end %> + > + <% collection_presenter.attributes_for(resource).each do |attribute| %> + + <% end %> + + <% if valid_action? :edit, collection_presenter.resource_name %> + + <% end %> + + <% if valid_action? :destroy, collection_presenter.resource_name %> + + <% end %> + + <% end %> + +
+ <%= link_to(sanitized_order_params.merge( + collection_presenter.order_params_for(attr_name) + )) do %> + <%= t( + "helpers.label.#{collection_presenter.resource_name}.#{attr_name}", + default: attr_name.to_s, + ).titleize %> + + <% if collection_presenter.ordered_by?(attr_name) %> + + + + <% end %> + <% end %> +
+ + <%= render_field attribute %> + + <%= link_to( + t("administrate.actions.edit"), + [:edit, namespace, resource], + class: "action-edit", + ) %><%= link_to( + t("administrate.actions.destroy"), + [namespace, resource], + class: "text-color-red", + method: :delete, + data: { confirm: t("administrate.actions.confirm") } + ) %>
diff --git a/app/views/admin/application/index.html.erb b/app/views/admin/application/index.html.erb new file mode 100644 index 0000000000000..d2d110c4b0e96 --- /dev/null +++ b/app/views/admin/application/index.html.erb @@ -0,0 +1,60 @@ +<%# +# Index + +This view is the template for the index page. +It is responsible for rendering the search bar, header and pagination. +It renders the `_table` partial to display details about the resources. + +## Local variables: + +- `page`: + An instance of [Administrate::Page::Collection][1]. + Contains helper methods to help display a table, + and knows which attributes should be displayed in the resource's table. +- `resources`: + An instance of `ActiveRecord::Relation` containing the resources + that match the user's search criteria. + By default, these resources are passed to the table partial to be displayed. +- `search_term`: + A string containing the term the user has searched for, if any. +- `show_search_bar`: + A boolean that determines if the search bar should be shown. + +[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Collection +%> + +<% content_for(:title) do %> + <%= display_resource_name(page.resource_name) %> +<% end %> + +

+ +
+ <%= render( + "collection", + collection_presenter: page, + resources: resources, + table_title: "page-title" + ) %> + + <%= paginate resources %> +
diff --git a/app/views/api/v0/articles/index.json.jbuilder b/app/views/api/v0/articles/index.json.jbuilder new file mode 100644 index 0000000000000..eee9267f74bb8 --- /dev/null +++ b/app/views/api/v0/articles/index.json.jbuilder @@ -0,0 +1,44 @@ +json.array! @articles do |article| + json.type_of "article" + json.id article.id + json.title article.title + json.description article.description + json.cover_image cloud_cover_url article.main_image + json.published_at article.published_at + json.tag_list article.cached_tag_list_array + json.slug article.slug + json.path article.path + json.url article.url + json.canonical_url article.processed_canonical_url + json.comments_count article.comments_count + json.positive_reactions_count article.positive_reactions_count + + json.user do + json.name article.user.name + json.username article.user.username + json.twitter_username article.user.twitter_username + json.github_username article.user.github_username + json.website_url article.user.processed_website_url + json.profile_image ProfileImage.new(article.user).get(640) + json.profile_image_90 ProfileImage.new(article.user).get(90) + end + + if article.organization + json.organization do + json.name article.organization.name + json.username article.organization.username + json.slug article.organization.slug + json.profile_image ProfileImage.new(article.organization).get(640) + json.profile_image_90 ProfileImage.new(article.organization).get(90) + end + end + + + if FlareTag.new(article).tag + json.flare_tag do + json.name FlareTag.new(article).tag.name + json.bg_color_hex FlareTag.new(article).tag.bg_color_hex + json.text_color_hex FlareTag.new(article).tag.text_color_hex + end + end +end diff --git a/app/views/api/v0/articles/show.json.jbuilder b/app/views/api/v0/articles/show.json.jbuilder new file mode 100644 index 0000000000000..ce0438a6519fd --- /dev/null +++ b/app/views/api/v0/articles/show.json.jbuilder @@ -0,0 +1,28 @@ +json.type_of "article" +json.id @article.id +json.title @article.title +json.description @article.description +json.cover_image @article.main_image +json.published_at @article.published_at +json.social_image cloud_social_image(@article) +json.tag_list @article.tag_list +json.slug @article.slug +json.path @article.path +json.url @article.url +json.canonical_url @article.processed_canonical_url +json.comments_count @article.comments_count +json.positive_reactions_count @article.positive_reactions_count + +json.body_html @article.processed_html +json.ltag_style @article.liquid_tags_used.map { |ltag| Rails.application.assets["ltags/#{ltag}.css"].to_s.html_safe } +json.ltag_script @article.liquid_tags_used.map { |ltag| ltag.script.html_safe } + +json.user do + json.name @article.user.name + json.username @article.user.username + json.twitter_username @article.user.twitter_username + json.github_username @article.user.github_username + json.website_url @article.user.processed_website_url + json.profile_image ProfileImage.new(@article.user).get(640) + json.profile_image_90 ProfileImage.new(@article.user).get(90) +end diff --git a/app/views/api/v0/comments/index.json.jbuilder b/app/views/api/v0/comments/index.json.jbuilder new file mode 100644 index 0000000000000..e1d523821f7ea --- /dev/null +++ b/app/views/api/v0/comments/index.json.jbuilder @@ -0,0 +1,40 @@ +json.array! Comment.rooted_on(@commentable.id,@commentable_type).order("score DESC") do |comment| + json.type_of "comment" + json.id_code comment.id_code_generated + json.body_html comment.processed_html + json.user do + json.name comment.user.name + json.username comment.user.username + json.twitter_username comment.user.twitter_username + json.github_username comment.user.github_username + json.website_url comment.user.processed_website_url + json.profile_image ProfileImage.new(comment.user).get(640) + json.profile_image_90 ProfileImage.new(comment.user).get(90) + end + json.children comment.children.order("score DESC").each do |comment| + json.id_code comment.id_code_generated + json.body_html comment.processed_html + json.user do + json.name comment.user.name + json.username comment.user.username + json.twitter_username comment.user.twitter_username + json.github_username comment.user.github_username + json.website_url comment.user.processed_website_url + json.profile_image ProfileImage.new(comment.user).get(640) + json.profile_image_90 ProfileImage.new(comment.user).get(90) + end + json.children comment.children.order("score DESC").each do |comment| + json.id_code comment.id_code_generated + json.body_html comment.processed_html + json.user do + json.name comment.user.name + json.username comment.user.username + json.twitter_username comment.user.twitter_username + json.github_username comment.user.github_username + json.website_url comment.user.processed_website_url + json.profile_image ProfileImage.new(comment.user).get(640) + json.profile_image_90 ProfileImage.new(comment.user).get(90) + end + end + end +end diff --git a/app/views/api/v0/comments/show.json.jbuilder b/app/views/api/v0/comments/show.json.jbuilder new file mode 100644 index 0000000000000..71e6acf9b6f00 --- /dev/null +++ b/app/views/api/v0/comments/show.json.jbuilder @@ -0,0 +1,38 @@ +json.type_of "comment" +json.id_code @comment.id_code_generated +json.body_html @comment.processed_html +json.user do + json.name @comment.user.name + json.username @comment.user.username + json.twitter_username @comment.user.twitter_username + json.github_username @comment.user.github_username + json.website_url @comment.user.processed_website_url + json.profile_image ProfileImage.new(@comment.user).get(640) + json.profile_image_90 ProfileImage.new(@comment.user).get(90) +end +json.children @comment.children.order("score DESC").each do |comment| + json.id_code comment.id_code_generated + json.body_html comment.processed_html + json.user do + json.name comment.user.name + json.username comment.user.username + json.twitter_username comment.user.twitter_username + json.github_username comment.user.github_username + json.website_url comment.user.processed_website_url + json.profile_image ProfileImage.new(comment.user).get(640) + json.profile_image_90 ProfileImage.new(comment.user).get(90) + end + json.children comment.children.order("score DESC").each do |comment| + json.id_code comment.id_code_generated + json.body_html comment.processed_html + json.user do + json.name comment.user.name + json.username comment.user.username + json.twitter_username comment.user.twitter_username + json.github_username comment.user.github_username + json.website_url comment.user.processed_website_url + json.profile_image ProfileImage.new(comment.user).get(640) + json.profile_image_90 ProfileImage.new(comment.user).get(90) + end + end +end diff --git a/app/views/api/v0/podcast_episodes/index.json.jbuilder b/app/views/api/v0/podcast_episodes/index.json.jbuilder new file mode 100644 index 0000000000000..0431b578b5f54 --- /dev/null +++ b/app/views/api/v0/podcast_episodes/index.json.jbuilder @@ -0,0 +1,12 @@ +json.array! @podcast_episodes do |episode| + json.type_of "podcast_episodes" + json.id episode.id + json.path episode.path + json.image_url episode.image_url || episode.podcast.image_url + json.title episode.title + json.podcast do + json.title episode.podcast.title + json.slug episode.podcast.slug + json.image_url episode.podcast.image_url + end +end diff --git a/app/views/api/v0/podcast_episodes/show.json.jbuilder b/app/views/api/v0/podcast_episodes/show.json.jbuilder new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/app/views/api/v0/tags/index.json.jbuilder b/app/views/api/v0/tags/index.json.jbuilder new file mode 100644 index 0000000000000..fee31ca1fcbd6 --- /dev/null +++ b/app/views/api/v0/tags/index.json.jbuilder @@ -0,0 +1,6 @@ +json.array! @tags.each do |tag| + json.id tag.id + json.name tag.name + json.bg_color_hex tag.bg_color_hex + json.text_color_hex tag.text_color_hex +end \ No newline at end of file diff --git a/app/views/api/v0/tags/onboarding.json.jbuilder b/app/views/api/v0/tags/onboarding.json.jbuilder new file mode 100644 index 0000000000000..0e884215ccddf --- /dev/null +++ b/app/views/api/v0/tags/onboarding.json.jbuilder @@ -0,0 +1,7 @@ +json.array! @tags.each do |tag| + json.id tag.id + json.name tag.name + json.bg_color_hex tag.bg_color_hex + json.text_color_hex tag.text_color_hex + json.following nil +end \ No newline at end of file diff --git a/app/views/articles/_about_author.html.erb b/app/views/articles/_about_author.html.erb new file mode 100644 index 0000000000000..93fa6e2fe48bd --- /dev/null +++ b/app/views/articles/_about_author.html.erb @@ -0,0 +1,28 @@ +
+
+ + <%= @user.username %> profile + +
+
+

<%= @user.name %><%= follow_button(@user) %>

+

<%= @user.summary %>

+ +
+
diff --git a/app/views/articles/_actions.html.erb b/app/views/articles/_actions.html.erb new file mode 100644 index 0000000000000..6f4c34ab47500 --- /dev/null +++ b/app/views/articles/_actions.html.erb @@ -0,0 +1,27 @@ +
+ + + + +
+ + +
+ +
diff --git a/app/views/articles/_algolia_search.html.erb b/app/views/articles/_algolia_search.html.erb new file mode 100644 index 0000000000000..597ec44f87bd9 --- /dev/null +++ b/app/views/articles/_algolia_search.html.erb @@ -0,0 +1,110 @@ + \ No newline at end of file diff --git a/app/views/articles/_block.html.erb b/app/views/articles/_block.html.erb new file mode 100644 index 0000000000000..7efbafeac9b67 --- /dev/null +++ b/app/views/articles/_block.html.erb @@ -0,0 +1,23 @@ +
+ <% if show_published %> + + +
+ <%= block.published_html.html_safe %> +
+ <% else %> + + +
+ <%= block.processed_html.html_safe %> +
+ <% end %> +
diff --git a/app/views/articles/_bottom_content.html.erb b/app/views/articles/_bottom_content.html.erb new file mode 100644 index 0000000000000..c7564ff096f6f --- /dev/null +++ b/app/views/articles/_bottom_content.html.erb @@ -0,0 +1,26 @@ + diff --git a/app/views/articles/_collection.html.erb b/app/views/articles/_collection.html.erb new file mode 100644 index 0000000000000..6488fd19b0b7d --- /dev/null +++ b/app/views/articles/_collection.html.erb @@ -0,0 +1,17 @@ + + +<% if @article.collection.present? && @article.collection.articles.size > 1 %> +
+

Part of a series

+
+ <% @article.collection.articles.order("collection_position ASC").each_with_index do |article,i| %> + + + <% end %> +
+
+<% end %> diff --git a/app/views/articles/_comments_actions.html.erb b/app/views/articles/_comments_actions.html.erb new file mode 100644 index 0000000000000..af30d219a0d52 --- /dev/null +++ b/app/views/articles/_comments_actions.html.erb @@ -0,0 +1,11 @@ +
+ <% if @comments_to_show_count && @article.comments_count > @comments_to_show_count %> + + VIEW FULL DISCUSSION (<%= @article.comments_count %> COMMENTS) + + <% end %> + <%= render "articles/conduct_and_abuse_actions", page:"articles_show" %> +
diff --git a/app/views/articles/_comments_section.html.erb b/app/views/articles/_comments_section.html.erb new file mode 100644 index 0000000000000..3f2f2b0076810 --- /dev/null +++ b/app/views/articles/_comments_section.html.erb @@ -0,0 +1,36 @@ +<% cache("user-profile-comments-#{@user.updated_at}-#{@user.id}-#{@comments.first&.id}-#{@comments.size}", :expires_in => 1.day) do %> +
+ <% if @comments.any? %> + <% if params[:view] == "comments" %> + +

+ <% if @user.comments_count > 250 %> + "/> Last 250 Comments + <% else %> + "/> All <%= @user.comments_count %> Comments + <% end %> +

+ <% else %> +

+ "/> Recent Comments +

+ <% end %> + <% end %> + <% @comments.each do |comment| %> + <% if comment.commentable.present? && comment.commentable.published && !comment.deleted %> + +
"> + re: <%= comment.commentable.title %> + <%= comment.readable_publish_date %> +
<%= truncate(strip_tags(comment.processed_html), length:64).html_safe %>
+
+
+ <% end %> + <% end %> + <% if params[:view] != "comments" && @user.comments_count > 250 %> + + <% elsif params[:view] != "comments" && @user.comments_count > 8 %> + + <% end %> +
+<% end %> \ No newline at end of file diff --git a/app/views/articles/_conduct_and_abuse_actions.html.erb b/app/views/articles/_conduct_and_abuse_actions.html.erb new file mode 100644 index 0000000000000..248595f96bd4d --- /dev/null +++ b/app/views/articles/_conduct_and_abuse_actions.html.erb @@ -0,0 +1,3 @@ +">code of conduct +- +">report abuse diff --git a/app/views/articles/_fitvids.html.erb b/app/views/articles/_fitvids.html.erb new file mode 100644 index 0000000000000..df391d065c43e --- /dev/null +++ b/app/views/articles/_fitvids.html.erb @@ -0,0 +1,9 @@ + diff --git a/app/views/articles/_follow_check_script.html.erb b/app/views/articles/_follow_check_script.html.erb new file mode 100644 index 0000000000000..be63a4a18ca34 --- /dev/null +++ b/app/views/articles/_follow_check_script.html.erb @@ -0,0 +1,5 @@ +<% @followable = @user || @tag_model %> +<% if @followable %> + +<% end %> diff --git a/app/views/articles/_hiring_form.html.erb b/app/views/articles/_hiring_form.html.erb new file mode 100644 index 0000000000000..08e5bc50a8727 --- /dev/null +++ b/app/views/articles/_hiring_form.html.erb @@ -0,0 +1,89 @@ + +
+ <%= f.fields_for @article.job_opportunity || JobOpportunity.new do |jo| %> +

Where is your office located?

+ <%= jo.text_field :location_given, class: "article-form-input", placeholder: "Start typing a city, e.g. Boston" %> +

Where is the work done?

+
+ <%= jo.radio_button(:remoteness, "on_premise", checked: true) %> + <%= jo.label :remoteness_on_premise, 'In Office' %> + <%= jo.radio_button(:remoteness, "fully_remote") %> + <%= jo.label :remoteness_fully_remote, 'Fully Remote' %> + <%= jo.radio_button(:remoteness, "remote_optional") %> + <%= jo.label :remoteness_remote_optional, 'Remote Optional' %> + <%= jo.radio_button(:remoteness, "on_premise_flexible") %> + <%= jo.label :remoteness_on_premise_flexible, 'Mostly in Office but Flexible' %> +
+ <%= jo.hidden_field :location_city %> + <%= jo.hidden_field :location_postal_code %> + <%= jo.hidden_field :location_country_code %> + <%= jo.hidden_field :location_lat %> + <%= jo.hidden_field :location_long %> + <% end %> +

Give the listing descriptive a title

+ <%= f.text_field :title, placeholder: "e.g. Apple is Hiring a Junior Frontend Developer" %> +

What tags go along with this post?

+ <% @article.tag_list = "hiring" if @article.tag_list.blank? %> + <%= f.text_field :tag_list, placeholder: "e.g. javascript, react, webdev" %> +
+ <% Tag.where(supported:true).order("hotness_score").each do |tag| %> + + <% end %> +
+

Now, tell us all about the role

+

This is a chance to tell us about what you're looking for and why working at your company is so great. By the way, this is a markdown form. It's very flexible. We've started you with a template.

+
+ + \ No newline at end of file diff --git a/app/views/articles/_klipse_script.html.erb b/app/views/articles/_klipse_script.html.erb new file mode 100644 index 0000000000000..d214688128cb9 --- /dev/null +++ b/app/views/articles/_klipse_script.html.erb @@ -0,0 +1,27 @@ + + diff --git a/app/views/articles/_main_stories_feed.html.erb b/app/views/articles/_main_stories_feed.html.erb new file mode 100644 index 0000000000000..1e23f4bf039a9 --- /dev/null +++ b/app/views/articles/_main_stories_feed.html.erb @@ -0,0 +1,35 @@ +<% num_showing = 0 %> +<% @stories.each_with_index do |story,i| %> + <% next if story.id == @featured_story.id %> + <% num_showing += 1 %> + <% break if (num_showing == 3 && user_signed_in?) && @home_page %> + <% if !user_signed_in? && i == 4 %> +
+
+

+ Need more relevant posts?
Sign in to customize your feed: +

+ +
+
+ <% end %> + <%= render "articles/single_story", story: story %> + <% if i == 0 && @comments && @comments.size > 0 && @user %> + <%= render "articles/comments_section" %> + <% end %> +<% end %> +<% if @stories.length == 0 && @comments && @comments.size > 0 && @user %> + <%= render "articles/comments_section" %> +<% end %> +<% if @stories.size > 1 %> +
+
+<% end %> + \ No newline at end of file diff --git a/app/views/articles/_markdown_form.html.erb b/app/views/articles/_markdown_form.html.erb new file mode 100644 index 0000000000000..78734c1467cb4 --- /dev/null +++ b/app/views/articles/_markdown_form.html.erb @@ -0,0 +1,361 @@ +<%= form_for(@article, html: {id:"article_markdown_form"}) do |f| %> + <% if @article.errors.any? %> +
+

<%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:

+ +
    + <% @article.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+ <% end %> + + <% if is_hiring_form?(@tag, @article) %> +
+
< beta ❤️ >
+

The #Hiring Tag

+

Fill out this form to share your company's job opportunity.

+
+ <% end %> +
+ <% unless is_hiring_form?(@tag, @article) %> +
+ + + + +
+ <% end %> +
+ <% if is_hiring_form?(@tag, @article) %> + <%= render 'articles/hiring_form', f:f %> + <% else %> + <% if current_user.organization %> +
+ Publish under the <%= current_user.organization.name %> organization? + <%= f.check_box :publish_under_org, {checked: @article.organization_id.present?} %> +
+ <% end %> + <% if @tag && @tag.submission_rules_headsup.present? %> +
+
+ <%= @tag.submission_rules_headsup %> +
+
+ <% end %> + <% end %> +
+
+
+ + + + + +
+
+ <%= f.text_area :body_markdown %> + <% if is_hiring_form?(@tag, @article) %> + <% if current_user.organization %> +
+ + Publish under the <%= current_user.organization.name %> organization account? +
+ <% end %> +
+ <%= f.submit 'SAVE AS DRAFT', name: "submit_button", class: "draft-version" %> + <%= f.submit 'PUBLISH', name: "submit_button" %> +
+ <% end %> +
+
+
+<% end %> + +<% if true %> + +<% end %> + + + + + + + +<%= javascript_include_tag 'lib/js-yaml', async:true %> +<%= javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/postscribe/2.0.8/postscribe.min.js', async:true %> + diff --git a/app/views/articles/_org_branding.html.erb b/app/views/articles/_org_branding.html.erb new file mode 100644 index 0000000000000..d03b23327ef6b --- /dev/null +++ b/app/views/articles/_org_branding.html.erb @@ -0,0 +1,21 @@ +<% if @organization && @organization.bg_color_hex.present? %> +
+
+
+ +
<%= @organization.summary %>
+ +
+
+ <%= @organization.name %> +
+
+
+<% end %> diff --git a/app/views/articles/_podcast_episodes_feed.html.erb b/app/views/articles/_podcast_episodes_feed.html.erb new file mode 100644 index 0000000000000..94ebafc4e8f24 --- /dev/null +++ b/app/views/articles/_podcast_episodes_feed.html.erb @@ -0,0 +1,23 @@ +<% @podcast_episodes.each_with_index do |episode,i| %> + +
+
+ <%=cl_image_tag(episode.image_url || episode.podcast.image_url, + :type=>"fetch", + :crop => "imagga_scale", + :width => 240, + :height => 240, + :quality => "auto", + :flags => "progressive", + :fetch_format => "auto", + :sign_url => true) %> +
+
+

podcast<%= episode.title %>

+
+

+ <%= episode.podcast.title %> +

+
+
+<% end %> diff --git a/app/views/articles/_sidebar.html.erb b/app/views/articles/_sidebar.html.erb new file mode 100644 index 0000000000000..aaf8d732ce939 --- /dev/null +++ b/app/views/articles/_sidebar.html.erb @@ -0,0 +1,315 @@ + diff --git a/app/views/articles/_sidebar_additional.html.erb b/app/views/articles/_sidebar_additional.html.erb new file mode 100644 index 0000000000000..c0e0e4383520a --- /dev/null +++ b/app/views/articles/_sidebar_additional.html.erb @@ -0,0 +1,182 @@ + diff --git a/app/views/articles/_sidebar_nav.html.erb b/app/views/articles/_sidebar_nav.html.erb new file mode 100644 index 0000000000000..ad8054222d6c3 --- /dev/null +++ b/app/views/articles/_sidebar_nav.html.erb @@ -0,0 +1,57 @@ + diff --git a/app/views/articles/_single_story.html.erb b/app/views/articles/_single_story.html.erb new file mode 100644 index 0000000000000..5fb879c80b225 --- /dev/null +++ b/app/views/articles/_single_story.html.erb @@ -0,0 +1,54 @@ +
+ <% if story.video.present? %> + <%= render "articles/video_player", meta_tags: false, article: story %> + <% end %> + <% if @organization_article_index %> +
+ <% end %> + +
+ <% if story.cached_tag_list_array.include?("hiring") && story.organization_id.present? && !@organization_article_index %> + <%= story.organization.username %> profile + <% else %> + <%= story.user.username %> profile + <% end %> +
+
+ +
+

+ <%= render "articles/tag_identifier", story: story, tag: @tag %> +

+
+
+

+ <%= story.user.name %> +

+
+ <% story.cached_tag_list_array.each do |tag| %> + #<%= tag %> + <% end %> +
+ <% if story.comments_count > 0 %> +
+ + " alt="chat" /> + +
+ <% end %> +
+ + " alt="heart" /> + +
+ +
\ No newline at end of file diff --git a/app/views/articles/_special_sidebar.html.erb b/app/views/articles/_special_sidebar.html.erb new file mode 100644 index 0000000000000..5117fc59122c6 --- /dev/null +++ b/app/views/articles/_special_sidebar.html.erb @@ -0,0 +1,24 @@ +
+ + she coded + +
Latest Posts
+
+<% Article.tagged_with("shecoded").where(approved: true, published: true).order("created_at DESC").limit(8).each do |article| %> + +
+
+ 💪 <%= article.title %> +
+ <%= article.user.username %> +
+
+<% end %> + + + diff --git a/app/views/articles/_splash.html.erb b/app/views/articles/_splash.html.erb new file mode 100644 index 0000000000000..0e6d71d7cc92e --- /dev/null +++ b/app/views/articles/_splash.html.erb @@ -0,0 +1,41 @@ + + +
+ +
diff --git a/app/views/articles/_tag_identifier.html.erb b/app/views/articles/_tag_identifier.html.erb new file mode 100644 index 0000000000000..2688a12b31c40 --- /dev/null +++ b/app/views/articles/_tag_identifier.html.erb @@ -0,0 +1,6 @@ + +<% if FlareTag.new(story).tag && @tag != FlareTag.new(story).tag.name %> + #<%= FlareTag.new(story).tag.name %><%= story.title %> +<% else %> + <%= story.title %> +<% end %> diff --git a/app/views/articles/_video_player.html.erb b/app/views/articles/_video_player.html.erb new file mode 100644 index 0000000000000..dea31aa88633f --- /dev/null +++ b/app/views/articles/_video_player.html.erb @@ -0,0 +1,63 @@ +
class="video-player-header"> + <% if meta_tags %> + + + + + + <% end %> + +
+
+ + diff --git a/app/views/articles/amp.html.erb b/app/views/articles/amp.html.erb new file mode 100644 index 0000000000000..d3339163f0c1e --- /dev/null +++ b/app/views/articles/amp.html.erb @@ -0,0 +1,104 @@ +<% title @article.title %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + +<% end %> + +
+ + + +
+

+ <%= @article.title %> +

+
+

+ + + By <%= @user.name %> + + " + width="18" + height="18" + alt="title image"> + + + + " + width="18" + height="18" + alt="title image"> + + + <%= "on "+@article.published_at.strftime("%B %d, %Y") if @article.published_at %> +

+
+
+ <%= @article.processed_html.html_safe %> +
+
+
+ + +
+
+

<%= @user.name %>

+

<%= @user.summary %>

+ +
+
+
diff --git a/app/views/articles/delete_confirm.html.erb b/app/views/articles/delete_confirm.html.erb new file mode 100644 index 0000000000000..ed8375e09fd5b --- /dev/null +++ b/app/views/articles/delete_confirm.html.erb @@ -0,0 +1,11 @@ +<%= javascript_include_tag 'application' %> + +
+ +

<%= @article.title %>

+

Are you sure you want to delete this article?

+

You cannot undo this action, perhaps you just want to unpublish instead?

+ +

DELETE

+ +
diff --git a/app/views/articles/edit.html.erb b/app/views/articles/edit.html.erb new file mode 100644 index 0000000000000..4ee6db0b73922 --- /dev/null +++ b/app/views/articles/edit.html.erb @@ -0,0 +1,11 @@ +<% title "Edit Article - DEV" %> + + <% if params[:beta_form] %> + <%= render 'react_form' %> + <% else %> + <% if @article.body_html && @article.body_html.size > 10 %> + <%= render 'inline_form' %> + <% else %> + <%= render 'articles/markdown_form' %> + <% end %> + <% end %> diff --git a/app/views/articles/feed.rss.builder b/app/views/articles/feed.rss.builder new file mode 100644 index 0000000000000..c285b94a107e8 --- /dev/null +++ b/app/views/articles/feed.rss.builder @@ -0,0 +1,28 @@ +#encoding: UTF-8 +xml.instruct! :xml, :version => "1.0" +xml.rss :version => "2.0" do + xml.channel do + xml.title @user ? @user.name : "The DEV Community" + xml.author @user ? @user.name : "The DEV Community" + xml.description @user ? @user.summary : "Where programmers share ideas and help each other grow." + xml.link @user ? "https://dev.to" + @user.path : "https://dev.to" + xml.language "en" + + for article in @articles + xml.item do + if article.title + xml.title article.title + else + xml.title "" + end + xml.author article.user.name + xml.pubDate article.published_at.to_s(:rfc822) if article.published_at + xml.link "https://dev.to/#{article.username}/#{article.slug}" + xml.guid "https://dev.to/#{article.username}/#{article.slug}" + xml.description sanitize article.processed_html.html_safe, + tags: %w(strong em a table tbody thead tfoot th tr td col colgroup del p h1 h2 h3 h4 h5 h6 blockquote iframe time div span i em u b ul ol li dd dl dt q code pre img sup cite center br small), + attributes: %w(href strong em class ref rel src title alt colspan height width size rowspan span value start data-conversation data-lang id) + end + end + end +end diff --git a/app/views/articles/index.html.erb b/app/views/articles/index.html.erb new file mode 100644 index 0000000000000..34fe92277f862 --- /dev/null +++ b/app/views/articles/index.html.erb @@ -0,0 +1,308 @@ +<%= content_for :page_meta do %> + <% if @user %> + <% title "#{@user.name} - DEV" %> + + + + + + + + + + + + + + + + + + <%= auto_discovery_link_tag(:rss, "https://dev.to/feed/#{@user.username}", {title: "The Practical Dev RSS Feed"}) %> + <% elsif @tag.present? %> + <% title "#{@tag} - DEV" %> + + + + + + + + + + + + + + + + <% if @tag_model && @tag_model.social_image.present? %> + + + + <% else %> + + + + <% end %> + + <% elsif @query.present? %> + <% title "DEV => Search Results" %> + + + + + + + + + + + + + + + + + <% elsif @podcast_index %> + <%= render "podcast_episodes/meta" %> + <% else %> + <% title "The DEV Community" %> + + + + + + + + + + + + + + + + + <%= auto_discovery_link_tag(:rss, "https://dev.to/feed", {title: "The Practical Dev RSS Feed"}) %> + <% end %> +<% end %> +<% if @user %> + + +<% elsif @tag %> + + +<% elsif @query %> +
+<% elsif @podcast_index %> + <% if @podcast %> + + <% else %> + + <% end %> +<% end %> +
" id="index-container" + data-params="<%= params.to_json(only: [:tag,:username,:q]) %>" data-which="<%=@list_of%>" + data-algolia-tag="<%= @user ? "#{@user.class.name.downcase}_#{@user.id}" : nil || @tag %>"> + <%= render "articles/sidebar" %> +
+ <% if @home_page %> +
+
+ <MY DEV FEED> +
+ + +
+ <% end %> + <% if @user.blank? && @tag.blank? && @featured_story.id %> +
+ <%= @featured_story.title %> + +
+
+
+

+ <%= @featured_story.title %> +

+
+
+ <%= @featured_story.title %> + + + + <% if @featured_story.comments_count > 0 %> +
+ " alt="chat" /> + + +
+ <% end %> + <% if @featured_story.positive_reactions_count > 0 %> +
+ " alt="heart" /> + +
+ <% end %> + +
+ + <% end %> +
+ <% if @query %> +
+
+
+
+ <% end %> + <% if params[:view] == "comments" %> + <%= render "articles/comments_section" %> + <% elsif (@stories && @stories.any?) || (@comments && @comments.any?) %> + <%= render "articles/main_stories_feed" %> + <% elsif @podcast_episodes %> + <%= render "articles/podcast_episodes_feed" %> + <% end %> +
+
+ loading... +
+
+ <%= render "articles/sidebar_additional" %> +
+<% if @query.present? %> + <%= render "articles/algolia_search" %> +<% end %> + + diff --git a/app/views/articles/index.json.jbuilder b/app/views/articles/index.json.jbuilder new file mode 100644 index 0000000000000..de59202b0a0dd --- /dev/null +++ b/app/views/articles/index.json.jbuilder @@ -0,0 +1,4 @@ +json.array!(@articles) do |article| + json.extract! article, :id, :title, :body_html, :intro_html + json.url article_url(article, format: :json) +end diff --git a/app/views/articles/new.html.erb b/app/views/articles/new.html.erb new file mode 100644 index 0000000000000..1f54013ebdc88 --- /dev/null +++ b/app/views/articles/new.html.erb @@ -0,0 +1,19 @@ +<% title "New Article - DEV" %> + +<% if user_signed_in? %> + <%= render 'articles/markdown_form' %> +<% else %> +
+

Join the club

+ +

The Practical Dev is a place for technical people to share ideas and experiences.

+
+
+<% end %> diff --git a/app/views/articles/show.html.erb b/app/views/articles/show.html.erb new file mode 100644 index 0000000000000..c70ba72c67860 --- /dev/null +++ b/app/views/articles/show.html.erb @@ -0,0 +1,211 @@ +<% title @article.title %> + +<% if @article.processed_html.include? "interactive-code-wrapper" %> + +<% end %> + +<% if @article.processed_html.include? "ltag_gist-liquid-tag" %> +<%= javascript_include_tag 'https://cdnjs.cloudflare.com/ajax/libs/postscribe/2.0.8/postscribe.min.js', defer: true %> + +<% end %> + +<%= content_for :page_meta do %> + <% if @article.canonical_url.present? %> + + <% else %> + + <% end %> + "> + + + + + + " /> + + + + + "> + + + +<% end %> +<% if params[:preview] %> + + Unpublished Post. This URL is public but secret, so share at your own discretion. Click to edit. + +<% end %> + +
+
+ + +
+
+ "> + + +
+ +
+
+ <% if @article.video.present? %> + <%= render "articles/video_player", meta_tags: true, article: @article %> + <% elsif @article.main_image.present? %> +
+
+ <% else %> +
+ <% end %> +
+
+ <% if @organization %> + +
+ <%= @organization.name%> +
+
+ <% end %> +

+ <%= @article.title %> +

+

+ + <% if @user.twitter_username.present? %> + <%= image_tag_or_inline_svg "twitter" %> + <% end %> + <% if @user.github_username.present? %> + <%= image_tag_or_inline_svg "github" %> + <% end %> + + <% if @second_user.present? %> + with <%= @second_user.name %> + <% end %> + <% if @third_user.present? %> + and <%= @third_user.name %> + <% end %> + <% if should_show_updated_on?(@article) %> + Updated on <%= @article.edited_at.strftime("%b %d, %Y") if @article.edited_at %> + <% elsif should_show_crossposted_on?(@article) %> + Crossposted from <%= get_host_without_www(@article.feed_source_url) %> on <%= @article.crossposted_at.strftime("%b %d, %Y") if @article.crossposted_at %> + <% end %> + +

+ <% if @article.job_opportunity.present? %> +
+ + <%= @article.job_opportunity.location_city %> + + + <%= @article.job_opportunity.remoteness_in_words %> + +
+ <% end %> +
+ <% @article.cached_tag_list_array.each do |tag| %> + #<%= tag %> + <% end %> +
+
+ <%= render "articles/collection", position: "top" %> +
+ <%= @article.processed_html.html_safe %> +
+ <%= render "articles/collection", position: "bottom" %> + <%= render 'articles/actions' %> +
+ <% if @article.body_markdown && @article.body_markdown.size > 900 %> + <% cache("article-about-author-#{@user.id}-#{@user.updated_at}", :expires_in => 100.hours) do %> + <%= render 'articles/about_author' %> + <% end %> + <% end %> + <%= render 'articles/org_branding' %> + <% if @article.show_comments %> +
+
+ <%= render "/comments/form", + commentable: @article, + commentable_type: "Article" %> +
+ <% Comment.rooted_on(@article.id,"Article").order("score DESC").limit(@comments_to_show_count).each do |comment| %> + <% cache ["comment_root_#{user_signed_in?}", comment] do %> + <%= render("/comments/comment", + comment:comment, + commentable: @article, + is_view_root: true) %> + <% end %> + <% end %> +
+
+ +
+ <% end %> +
+<% cache("article-bottom-content-#{@article.id}", :expires_in => 12.hours) do %> + <%= render 'articles/bottom_content' %> +<% end %> +
+ +<% if hasVid(@article) %> + <%= render 'articles/fitvids' %> +<% end %> +<% if @article.processed_html.include? 'class="twitter-tweet"' %> + +<% end %> +<% if @article.processed_html.include? "instagram-media" %> + +<% end %> + + + +<% if @article.processed_html.include?("interactive-code-wrapper") && @article.user.username == "ben" %> + <%= render 'articles/klipse_script' %> +<% end %> + +<% cache("article-show-scripts", expires_in: 6.hours) do %> + +<% end %> \ No newline at end of file diff --git a/app/views/articles/show.json.jbuilder b/app/views/articles/show.json.jbuilder new file mode 100644 index 0000000000000..a54a662afe53b --- /dev/null +++ b/app/views/articles/show.json.jbuilder @@ -0,0 +1 @@ +json.extract! @article, :id, :title, :body_html, :intro_html, :created_at, :updated_at diff --git a/app/views/blocks/_actions.html.erb b/app/views/blocks/_actions.html.erb new file mode 100644 index 0000000000000..96df0e6d0125a --- /dev/null +++ b/app/views/blocks/_actions.html.erb @@ -0,0 +1,9 @@ +
+ Featured: <%= block.featured %> | Position: <%= block.index_position %> + <% if block.processed_html != block.published_html || block.processed_css != block.published_css %> + <%= form_for(block) do |f| %> + <%= f.hidden_field :publish_now %>
+ + <% end %> + <% end %> +
diff --git a/app/views/blocks/_form.html.erb b/app/views/blocks/_form.html.erb new file mode 100644 index 0000000000000..d9be1a7568571 --- /dev/null +++ b/app/views/blocks/_form.html.erb @@ -0,0 +1,81 @@ + + + + + + + + + + +
+ <%= form_for(@block) do |f| %> + <% if @block.errors.any? %> +
+

<%= pluralize(@block.errors.count, "error") %> prohibited this block from being saved:

+ +
    + <% @block.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+ <% end %> + + <%= f.label :input_css %>
+ <%= f.text_area :input_css %>
+ <%= f.label :input_javascript %>
+ <%= f.text_area :input_javascript %>
+ <%= f.label :input_html %>
+ <%= f.text_area :input_html %>
+ <%= f.label :featured %>
+ <%= f.check_box :featured %>
+ <%= f.label :index_position %>
+ <%= f.text_field :index_position %>
+
+ <%= f.submit %> +
+ <% end %> +
diff --git a/app/views/blocks/edit.html.erb b/app/views/blocks/edit.html.erb new file mode 100644 index 0000000000000..a2740b23d2c39 --- /dev/null +++ b/app/views/blocks/edit.html.erb @@ -0,0 +1,2 @@ +



+<%= render 'form' %> diff --git a/app/views/blocks/index.html.erb b/app/views/blocks/index.html.erb new file mode 100644 index 0000000000000..4e92259f447da --- /dev/null +++ b/app/views/blocks/index.html.erb @@ -0,0 +1,14 @@ +
+ +
+ <% @blocks.each_with_index do |block,i| %> + <%= render "articles/block", block: block, show_published: false, i:i %> +
+ <%= render "blocks/actions", block: block %> + <%= link_to 'Edit', edit_block_path(block), style: "color:white;display:block;font-size:35px;background:rgb(0, 93, 190);padding:10px 0px;" %> +
+ <% end %> +
+
+ +<%= link_to 'New Block', new_block_path %> diff --git a/app/views/blocks/index.json.jbuilder b/app/views/blocks/index.json.jbuilder new file mode 100644 index 0000000000000..c1994acfd915e --- /dev/null +++ b/app/views/blocks/index.json.jbuilder @@ -0,0 +1,4 @@ +json.array!(@blocks) do |block| + json.extract! block, :id + json.url block_url(block, format: :json) +end diff --git a/app/views/blocks/new.html.erb b/app/views/blocks/new.html.erb new file mode 100644 index 0000000000000..7b2671f2ba6c9 --- /dev/null +++ b/app/views/blocks/new.html.erb @@ -0,0 +1,5 @@ +

New Block

+ +<%= render 'form' %> + +<%= link_to 'Back', blocks_path %> diff --git a/app/views/blocks/show.html.erb b/app/views/blocks/show.html.erb new file mode 100644 index 0000000000000..734a086dd868b --- /dev/null +++ b/app/views/blocks/show.html.erb @@ -0,0 +1,10 @@ +
+
+ <%= render "articles/block", block: @block, show_published: false, i:0 %> +
+ <%= render "blocks/actions", block: @block %> + <%= link_to 'Edit', edit_block_path(@block), style: "color:white;display:block;font-size:35px;background:rgb(0, 93, 190);padding:10px 0px;" %> +
+

Go to Index

+
+
diff --git a/app/views/blocks/show.json.jbuilder b/app/views/blocks/show.json.jbuilder new file mode 100644 index 0000000000000..abbd21591dd60 --- /dev/null +++ b/app/views/blocks/show.json.jbuilder @@ -0,0 +1 @@ +json.extract! @block, :id, :created_at, :updated_at diff --git a/app/views/comments/_comment.html.erb b/app/views/comments/_comment.html.erb new file mode 100644 index 0000000000000..61843d15c14fb --- /dev/null +++ b/app/views/comments/_comment.html.erb @@ -0,0 +1,72 @@ +<% if comment && comment.user %> +
+
3 %> comment-deep-<%=comment.depth%>"" data-comment-id="<%= comment.id %>" data-comment-author-id="<%= comment_user_id_unless_deleted comment %>"> + <% if comment.deleted %> +
+
+ [deleted] +
+
+ <% else %> +
+
+ + + + + <%= comment.user.name %> + + + + <% if comment.user.twitter_username.present? %> + <%= image_tag("twitter-logo.svg", class:"icon-img") %> + <% end %> + <% if comment.user.github_username.present? %> + <%= image_tag("github-logo.svg", class:"icon-img") %> + <% end %> + <% if commentable && (commentable.user_id == comment.user_id || + commentable.second_user_id == comment.user_id || + commentable.third_user_id == comment.user_id) && + commentable.decorate.cached_tag_list_array.include?("ama") %> + ASK ME ANYTHING + <% end %> + + + +
+
+ <%= comment.processed_html.html_safe %> + +
+
+ <% if user_signed_in? %> + + <% end %> + <% if comment.depth < 2 || comment.is_childless? %> + REPLY + <% end %> +
+
+ <% end %> + <% comment.children.includes(:user, :commentable).order("score DESC").each do |child| %> + <%= render("comments/comment", comment:child, commentable:comment.commentable, is_view_root:false) %> + <% end %> +
+<% end %> diff --git a/app/views/comments/_form.html.erb b/app/views/comments/_form.html.erb new file mode 100644 index 0000000000000..43ddd2cb962c3 --- /dev/null +++ b/app/views/comments/_form.html.erb @@ -0,0 +1,70 @@ +<% if @comment.errors.any? %> +
+

<%= pluralize(@comment.errors.count, "error") %> prohibited this comment from being saved:

+
    + <% @comment.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+



+<% end %> + +<%= form_for(@comment, authenticity_token: false) do |f| %> + + <% unless @comment.persisted? %> + <%= f.hidden_field :commentable_id, value: commentable.id %> + <%= f.hidden_field :commentable_type, value: commentable_type %> + <%= f.hidden_field :parent_id, value: @parent_comment.id if @parent_comment %> + <% end %> +
+ <%= f.text_area :body_markdown, + placeholder: "Add to the discussion", + onfocus: "handleFocus(event)", + onblur: "handleBlur(event)", + onkeyup: "handleKeyUp(event)", + id: "text-area", + readonly: !user_signed_in?, + autofocus: @comment.persisted?, + required: true %> +
+
+
+ + + + <% if user_signed_in? %> +
+ + + + + +
+ <% end %> +
+ <%= f.submit "SUBMIT", id: "submit-button", onclick:"validateField(event)" %> +
+<% end %> + + diff --git a/app/views/comments/delete_confirm.html.erb b/app/views/comments/delete_confirm.html.erb new file mode 100644 index 0000000000000..ed7fe4b66239d --- /dev/null +++ b/app/views/comments/delete_confirm.html.erb @@ -0,0 +1,11 @@ +<%= javascript_include_tag 'application' %> + +
+ +

<%= truncate(strip_tags(@comment.processed_html.html_safe), length: 80) %>

+

Are you sure you want to delete this comment?

+

You cannot undo this action, perhaps you just want to EDIT instead?

+ +

DELETE

+ +
diff --git a/app/views/comments/edit.html.erb b/app/views/comments/edit.html.erb new file mode 100644 index 0000000000000..81c608483afe2 --- /dev/null +++ b/app/views/comments/edit.html.erb @@ -0,0 +1,13 @@ + +
+

Editing comment

+ <%= render 'form', + commentable: @commentable, + commentable_type: @commentable.class.name + %> +
diff --git a/app/views/comments/index.html.erb b/app/views/comments/index.html.erb new file mode 100644 index 0000000000000..1ad4a0b4fe2e5 --- /dev/null +++ b/app/views/comments/index.html.erb @@ -0,0 +1,114 @@ +<% if @root_comment.present? %> + <% title truncate(strip_tags(@root_comment.processed_html), length: 100) + " — DEV" %> +<% else %> + <% title "Discussion of "+ @commentable.title + " — DEV" %> +<% end %> + +<%= content_for :page_meta do %> + "> + + + + + " /> + + + + + "> + <% if @root_comment.present? %> + + + + + <% else %> + + + + + <% end %> + <% if @commentable.class.name == "Article" %> + + + <% end %> +<% end %> + + <% if @root_comment %> +
+ <% else %> +
+ + <% if @commentable.main_image.present? %> +
+ <% else %> +
+ <% end %> +

<%= @commentable.title %>

+

+ <%= @commentable.user.name %> + <%= "on "+@commentable.published_at.strftime("%B %d, %Y") if @commentable.published_at %> +

+
+ <% if @commentable.processed_html.present? %> + <% if @commentable.processed_html.size < 350 %> +
+ <%= sanitized_article_body(@commentable.processed_html.html_safe) %> +
+ <% else %> +
+ <%= truncate(strip_tags(@commentable.processed_html), length:150).html_safe %> [Read Full] +
+ <% end %> + <% end %> +
+ <% end %> +
+ <% if @root_comment %> +
+

re: <%= @commentable.title %> VIEW POST

+ + <% unless @root_comment.is_root? %> + VIEW PARENT COMMENT + <% end %> + VIEW FULL DISCUSSION + + +
+ <% else %> + <%= render "form", + commentable: @commentable, + commentable_type: "Article" + %> + <% end %> +
+ <% if @root_comment.present? %> +
+ <% cache ["comment_root-view-root_#{user_signed_in?}", @root_comment] do %> + <%= render("comment", comment:@root_comment, commentable:@commentable, is_view_root: true) %> + <% end %> +
+ <% else %> + <% Comment.rooted_on(@commentable.id,@commentable_type).order("score DESC").each do |comment| %> + <% cache ["comment_root_#{user_signed_in?}", comment] do %> + <%= render("comment", comment:comment, commentable:@commentable, is_view_root: false) %> + <% end %> + <% end %> + <% end %> +
+
+ <%= render "articles/conduct_and_abuse_actions", page: "comments_index" %> +
+
+<% if hasVid(@commentable) %> + <%= render 'articles/fitvids' %> +<% end %> + + diff --git a/app/views/comments/index.json.jbuilder b/app/views/comments/index.json.jbuilder new file mode 100644 index 0000000000000..66d72b2d09fc8 --- /dev/null +++ b/app/views/comments/index.json.jbuilder @@ -0,0 +1,4 @@ +json.array!(@comments) do |comment| + json.extract! comment, :id + json.url comment_url(comment, format: :json) +end diff --git a/app/views/comments/new.html.erb b/app/views/comments/new.html.erb new file mode 100644 index 0000000000000..41925120783f1 --- /dev/null +++ b/app/views/comments/new.html.erb @@ -0,0 +1,4 @@ +
+ <%= render 'form' %> + +
diff --git a/app/views/csv_exports/index.csv.shaper b/app/views/csv_exports/index.csv.shaper new file mode 100644 index 0000000000000..d1fadf1b7b69e --- /dev/null +++ b/app/views/csv_exports/index.csv.shaper @@ -0,0 +1,51 @@ +csv.headers :id, + :created_at, + :username, + :twitter_username, + :name, :shipping_name, + :shipping_company, + :shipping_address, + :shipping_address_line_2, + :shipping_city, + :shipping_state, + :shipping_postal_code, + :shipping_country, + :shirt_gender, + :shirt_size, + :twitter_created_at, + :github_created_at, + :twitter_following_count, + :twitter_followers_count, + :experience_level, + :top_languages, + :experience_level, + :specialty, + :tabs_or_spaces, + :email + +csv.rows @users do |csv, user| + csv.cells :id, + :created_at, + :username, + :twitter_username, + :name, :shipping_name, + :shipping_company, + :shipping_address, + :shipping_address_line_2, + :shipping_city, + :shipping_state, + :shipping_postal_code, + :shipping_country, + :shirt_gender, + :shirt_size, + :twitter_created_at, + :github_created_at, + :twitter_following_count, + :twitter_followers_count, + :experience_level, + :top_languages, + :experience_level, + :specialty, + :tabs_or_spaces, + :email +end diff --git a/app/views/dashboards/show.html.erb b/app/views/dashboards/show.html.erb new file mode 100644 index 0000000000000..26f3bf17d108b --- /dev/null +++ b/app/views/dashboards/show.html.erb @@ -0,0 +1,102 @@ +<% title "Dashboard - DEV" %> + +
+ + + <% if @user.org_admin && @user.organization && params[:which] == "organization" %> +

+ MY POSTS + <%= @user.organization.name.upcase %> POSTS +

+ <% if current_user.can_view_analytics? %> +
+ ... +
+ <% end %> + <% @articles.each do |article| %> +
+

<%= article.title %>

+
+ <% if !article.published %> + DRAFT + <% end %> + EDIT + <% if article.published && current_user.has_role?(:analytics_beta_tester) %> + fetching stats... + <% end%> + +
+ <%= form_for(article) do |f| %> + + AUTHOR: <%= f.select(:user_id, options_for_select(@user.organization.users.map {|x| [x.name, x.id] }, article.user_id )) %> + <%= f.submit "SUBMIT AUTHOR CHANGE", class:"cta pill black" %> + <% end %> +
+ <% end %> +
+ <% elsif params[:which] == "user_followers" || params[:which] == "following_users" %> + <% @users.each do |user| %> +
+ +

+ <%= user.username %> profile image + <%= user.name %> + @<%= user.username %> +

+ +
+ <% end %> + <% elsif @articles.any?%> + <% if @user.org_admin && @user.organization %> +

+ MY POSTS + <%= @user.organization.name.upcase %> POSTS +

+ <% end %> + <% if current_user.can_view_analytics? %> +
+ ... +
+ <% end %> + <% @articles.each do |article| %> +
+ +

+ <%= article.title %> +

+
+
+ <% if article.published %> + PUBLISHED + <% else %> + DRAFT + <% end %> + EDIT + DELETE + <% if article.published && current_user.has_role?(:analytics_beta_tester) %> + fetching stats... + <% end%> +
+
+ <% end %> + <% else %> +
+

This is where you can manage your posts, but you haven't written anything yet.

+ + Write your first post now + + <%=image_tag(cl_image_path(asset_path("/assets/sloan.png"), + :type=>"fetch", + :width => 300, + :crop => "imagga_scale", + :quality => "auto", + :flags => "progressive", + :fetch_format => "auto", + :sign_url => true), class:"sloan", alt:"sloth-mascot") %> +
+ <% end %> +
diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb new file mode 100644 index 0000000000000..826672f7407e2 --- /dev/null +++ b/app/views/devise/confirmations/new.html.erb @@ -0,0 +1,16 @@ +

Resend confirmation instructions

+ +<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %> + <%= devise_error_messages! %> + +
+ <%= f.label :email %>
+ <%= f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %> +
+ +
+ <%= f.submit "Resend confirmation instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb new file mode 100644 index 0000000000000..dc55f64f69e25 --- /dev/null +++ b/app/views/devise/mailer/confirmation_instructions.html.erb @@ -0,0 +1,5 @@ +

Welcome <%= @email %>!

+ +

You can confirm your account email through the link below:

+ +

<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb new file mode 100644 index 0000000000000..f667dc12fe349 --- /dev/null +++ b/app/views/devise/mailer/reset_password_instructions.html.erb @@ -0,0 +1,8 @@ +

Hello <%= @resource.email %>!

+ +

Someone has requested a link to change your password. You can do this through the link below.

+ +

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

+ +

If you didn't request this, please ignore this email.

+

Your password won't change until you access the link above and create a new one.

diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb new file mode 100644 index 0000000000000..41e148bf2ac2d --- /dev/null +++ b/app/views/devise/mailer/unlock_instructions.html.erb @@ -0,0 +1,7 @@ +

Hello <%= @resource.email %>!

+ +

Your account has been locked due to an excessive number of unsuccessful sign in attempts.

+ +

Click the link below to unlock your account:

+ +

<%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %>

diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb new file mode 100644 index 0000000000000..6a796b050e381 --- /dev/null +++ b/app/views/devise/passwords/edit.html.erb @@ -0,0 +1,25 @@ +

Change your password

+ +<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %> + <%= devise_error_messages! %> + <%= f.hidden_field :reset_password_token %> + +
+ <%= f.label :password, "New password" %>
+ <% if @minimum_password_length %> + (<%= @minimum_password_length %> characters minimum)
+ <% end %> + <%= f.password_field :password, autofocus: true, autocomplete: "off" %> +
+ +
+ <%= f.label :password_confirmation, "Confirm new password" %>
+ <%= f.password_field :password_confirmation, autocomplete: "off" %> +
+ +
+ <%= f.submit "Change my password" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb new file mode 100644 index 0000000000000..3d6d11aae2e41 --- /dev/null +++ b/app/views/devise/passwords/new.html.erb @@ -0,0 +1,16 @@ +

Forgot your password?

+ +<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %> + <%= devise_error_messages! %> + +
+ <%= f.label :email %>
+ <%= f.email_field :email, autofocus: true %> +
+ +
+ <%= f.submit "Send me reset password instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb new file mode 100644 index 0000000000000..3ea40f0148a37 --- /dev/null +++ b/app/views/devise/registrations/edit.html.erb @@ -0,0 +1,39 @@ +

Edit <%= resource_name.to_s.humanize %>

+ +<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> + <%= devise_error_messages! %> + +
+ <%= f.label :email %>
+ <%= f.email_field :email, autofocus: true %> +
+ + <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %> +
Currently waiting confirmation for: <%= resource.unconfirmed_email %>
+ <% end %> + +
+ <%= f.label :password %> (leave blank if you don't want to change it)
+ <%= f.password_field :password, autocomplete: "off" %> +
+ +
+ <%= f.label :password_confirmation %>
+ <%= f.password_field :password_confirmation, autocomplete: "off" %> +
+ +
+ <%= f.label :current_password %> (we need your current password to confirm your changes)
+ <%= f.password_field :current_password, autocomplete: "off" %> +
+ +
+ <%= f.submit "Update" %> +
+<% end %> + +

Cancel my account

+ +

Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %>

+ +<%= link_to "Back", :back %> diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb new file mode 100644 index 0000000000000..0ae0450d3db72 --- /dev/null +++ b/app/views/devise/registrations/new.html.erb @@ -0,0 +1,5 @@ +
+

Identify yourself <%= image_tag "emoji/apple-nerd-face.png", style: "width: 55px; vertical-align: text-top;" %>

+ + +
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb new file mode 100644 index 0000000000000..6c0ac55580712 --- /dev/null +++ b/app/views/devise/sessions/new.html.erb @@ -0,0 +1,4 @@ + diff --git a/app/views/devise/shared/_links.html.erb b/app/views/devise/shared/_links.html.erb new file mode 100644 index 0000000000000..cd795adb68004 --- /dev/null +++ b/app/views/devise/shared/_links.html.erb @@ -0,0 +1,25 @@ +<%- if controller_name != 'sessions' %> + <%= link_to "Log in", new_session_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.registerable? && controller_name != 'registrations' %> + <%= link_to "Sign up", new_registration_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %> + <%= link_to "Forgot your password?", new_password_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %> + <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %> + <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.omniauthable? %> + <%- resource_class.omniauth_providers.each do |provider| %> + <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %>
+ <% end -%> +<% end -%> diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb new file mode 100644 index 0000000000000..16586bc7afe22 --- /dev/null +++ b/app/views/devise/unlocks/new.html.erb @@ -0,0 +1,16 @@ +

Resend unlock instructions

+ +<%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %> + <%= devise_error_messages! %> + +
+ <%= f.label :email %>
+ <%= f.email_field :email, autofocus: true %> +
+ +
+ <%= f.submit "Resend unlock instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/events/_event.html.erb b/app/views/events/_event.html.erb new file mode 100644 index 0000000000000..e01bc802be2e7 --- /dev/null +++ b/app/views/events/_event.html.erb @@ -0,0 +1,51 @@ +
+
+ +
+
+

<%= event.category %>: <%= event.title %>

+

+ <% if !event.cover_image.present? %> + Date: <%= event.starts_at.in_time_zone('Eastern Time (US & Canada)').strftime("%b %d %Y") %> +
+ <% end %> + Time: <%= event.starts_at.in_time_zone('Eastern Time (US & Canada)').to_formatted_s(:time) %> - <%= event.ends_at.in_time_zone('Eastern Time (US & Canada)').to_formatted_s(:time) %> EST +
+ Location: <%= event.location_name %> +

+
+ Add to Calendar + <%= event.starts_at.in_time_zone('Eastern Time (US & Canada)').strftime("%m/%d/%Y") %> <%= event.starts_at.in_time_zone('Eastern Time (US & Canada)').to_formatted_s(:time) %> + <%= event.ends_at.in_time_zone('Eastern Time (US & Canada)').strftime("%m/%d/%Y") %> <%= event.ends_at.in_time_zone('Eastern Time (US & Canada)').to_formatted_s(:time) %> + America/New_York + <%= event.title %> + The DEV Community + members@dev.to + dev-event + <%= event.location_url %> + 15 + + <%= event.description_html.html_safe %> + ------ + + Link to attend - <%= event.location_url%> + + ------ + DEV Workshops are only available to sustaining members with workshop passes or scholarship recipients. You can become a member or upgrade your membership by visiting our membership page. If you do not have the means, please apply for a scholarship. + + If you have a workshop pass and are having trouble attending, please email members@dev.to! + +
+
+
+ <%= event.description_html.html_safe %> +
+
+ + \ No newline at end of file diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb new file mode 100644 index 0000000000000..43a4a5de32d1d --- /dev/null +++ b/app/views/events/index.html.erb @@ -0,0 +1,76 @@ +<% title "DEV EVENTS" %> + +
+
+
+ + + + + +
+
+
+
+ +

+ UPCOMING
EVENTS +

+

We are kicking off our ongoing series of workshops and talks for DEV Sustaining members. Here is the list of initial events designed to cover important topics to help community members level up. Because we have a global community we will be hosting events at varying times so nobody is restricted by time zone. Additionally, some workshops are repeated multiple times to further account for this.

+

We have many more planned if you do not see a topic that interests you. Email members@dev.to to request a topic.

+

Please note: Talks and workshops require a workshop pass. You can receive a pass by joining as a Level 3 Sustaining Member ($25 / month) at the membership page. If you require financial assistance, please apply for a scholarship.

+ + <% @events.each do |event|%> + <%= render 'event', event: event %> + <% end %> + +

+ PAST
EVENTS +

+ + <% @past_events.each do |event|%> + <%= render 'event', event: event %> + <% end %> + +
+ diff --git a/app/views/events/show.html.erb b/app/views/events/show.html.erb new file mode 100644 index 0000000000000..962591ebe25bb --- /dev/null +++ b/app/views/events/show.html.erb @@ -0,0 +1,40 @@ +<% title "DEV EVENTS"%> +
+
+
+ + + + + + +
+
+
+
+ <%= render 'event', event: @event %> +
+
diff --git a/app/views/feedback_messages/_form.html.erb b/app/views/feedback_messages/_form.html.erb new file mode 100644 index 0000000000000..22f87a7c3437b --- /dev/null +++ b/app/views/feedback_messages/_form.html.erb @@ -0,0 +1,38 @@ +<%= form_for FeedbackMessage.new do |f| %> + + <%= f.hidden_field :feedback_type, value:"abuse-reports" %> + +
+
    +
  • + <%= f.radio_button :category_selection, "rude or vulgar", required: 'required' %> + <%= label_tag(:category_selection_rude, "Rude or vulgar") %> +
  • +
  • + <%= f.radio_button :category_selection, "harassment" %> + <%= label_tag(:category_selection_harassment, "Harassment or hate speech") %> +
  • +
  • + <%= f.radio_button :category_selection, "spam" %> + <%= label_tag(:category_selection_spam, "Spam or copyright issue") %> +
  • +
  • + <%= f.radio_button :category_selection, "other" %> + <%= label_tag(:category_selection_other, "Other") %> +
  • +
+

+ <%= f.text_area :message, style:"width:100%;resize:none;font-size:18px;height:100px;border-radius:3px;", placeholder:"Please provide any additional information, such as an URL, that will help us understand and handle the situation.", value: @previous_message %> +

+
+ +
+ <% if flash[:notice] %> +
+ <%= flash[:notice] %> +
+ <% end %> + <%= recaptcha_tags site_key: ENV['RECAPTCHA_SITE'] %> + +
+<% end %> diff --git a/app/views/feedback_messages/index.html.erb b/app/views/feedback_messages/index.html.erb new file mode 100644 index 0000000000000..e056b0c88e52c --- /dev/null +++ b/app/views/feedback_messages/index.html.erb @@ -0,0 +1,25 @@ + + + +
+
+

Thank you.

+

Return to home page

+
+
diff --git a/app/views/feedback_messages/new.html.erb b/app/views/feedback_messages/new.html.erb new file mode 100644 index 0000000000000..2d3436368bddf --- /dev/null +++ b/app/views/feedback_messages/new.html.erb @@ -0,0 +1 @@ +<%= render 'form' %> diff --git a/app/views/fields/carrierwave_field/_form.html.erb b/app/views/fields/carrierwave_field/_form.html.erb new file mode 100644 index 0000000000000..351b054f1e252 --- /dev/null +++ b/app/views/fields/carrierwave_field/_form.html.erb @@ -0,0 +1,8 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= image_tag field.url, style: "background-color:#d9d9d9;max-width:100px" if field.url %> +
+ <%= f.file_field field.attribute %> +
diff --git a/app/views/fields/carrierwave_field/_index.html.erb b/app/views/fields/carrierwave_field/_index.html.erb new file mode 100644 index 0000000000000..393ad128b9ac3 --- /dev/null +++ b/app/views/fields/carrierwave_field/_index.html.erb @@ -0,0 +1 @@ +<%= image_tag field.url, style: "background-color:#d9d9d9" if field.url%> diff --git a/app/views/fields/carrierwave_field/_show.html.erb b/app/views/fields/carrierwave_field/_show.html.erb new file mode 100644 index 0000000000000..70fa05b8558b4 --- /dev/null +++ b/app/views/fields/carrierwave_field/_show.html.erb @@ -0,0 +1 @@ +<%= image_tag field.url, style: "background-color:#d9d9d9;max-width:400px" if field.url%> diff --git a/app/views/fields/name_of_user_field/_form.html.erb b/app/views/fields/name_of_user_field/_form.html.erb new file mode 100644 index 0000000000000..1e72f76369971 --- /dev/null +++ b/app/views/fields/name_of_user_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.text_field field.attribute %> +
diff --git a/app/views/fields/name_of_user_field/_index.html.erb b/app/views/fields/name_of_user_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/name_of_user_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/name_of_user_field/_show.html.erb b/app/views/fields/name_of_user_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/name_of_user_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/reason_for_ban_field/_form.html.erb b/app/views/fields/reason_for_ban_field/_form.html.erb new file mode 100644 index 0000000000000..1e72f76369971 --- /dev/null +++ b/app/views/fields/reason_for_ban_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.text_field field.attribute %> +
diff --git a/app/views/fields/reason_for_ban_field/_index.html.erb b/app/views/fields/reason_for_ban_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/reason_for_ban_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/reason_for_ban_field/_show.html.erb b/app/views/fields/reason_for_ban_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/reason_for_ban_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/reason_for_warning_field/_form.html.erb b/app/views/fields/reason_for_warning_field/_form.html.erb new file mode 100644 index 0000000000000..1e72f76369971 --- /dev/null +++ b/app/views/fields/reason_for_warning_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.text_field field.attribute %> +
diff --git a/app/views/fields/reason_for_warning_field/_index.html.erb b/app/views/fields/reason_for_warning_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/reason_for_warning_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/reason_for_warning_field/_show.html.erb b/app/views/fields/reason_for_warning_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/reason_for_warning_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/trusted_user_field/_form.html.erb b/app/views/fields/trusted_user_field/_form.html.erb new file mode 100644 index 0000000000000..9568f60eee654 --- /dev/null +++ b/app/views/fields/trusted_user_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.check_box field.attribute %> +
diff --git a/app/views/fields/trusted_user_field/_index.html.erb b/app/views/fields/trusted_user_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/trusted_user_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/trusted_user_field/_show.html.erb b/app/views/fields/trusted_user_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/trusted_user_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_analytics_field/_form.html.erb b/app/views/fields/user_analytics_field/_form.html.erb new file mode 100644 index 0000000000000..2a2772e3e839c --- /dev/null +++ b/app/views/fields/user_analytics_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.check_box field.attribute %> +
\ No newline at end of file diff --git a/app/views/fields/user_analytics_field/_index.html.erb b/app/views/fields/user_analytics_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_analytics_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_analytics_field/_show.html.erb b/app/views/fields/user_analytics_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_analytics_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_banned_field/_form.html.erb b/app/views/fields/user_banned_field/_form.html.erb new file mode 100644 index 0000000000000..9568f60eee654 --- /dev/null +++ b/app/views/fields/user_banned_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.check_box field.attribute %> +
diff --git a/app/views/fields/user_banned_field/_index.html.erb b/app/views/fields/user_banned_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_banned_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_banned_field/_show.html.erb b/app/views/fields/user_banned_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_banned_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_id_field/_form.html.erb b/app/views/fields/user_id_field/_form.html.erb new file mode 100644 index 0000000000000..325d1de4ee425 --- /dev/null +++ b/app/views/fields/user_id_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ User ID +
+
+ <%= f.text_field field.attribute %> +
diff --git a/app/views/fields/user_id_field/_index.html.erb b/app/views/fields/user_id_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_id_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_id_field/_show.html.erb b/app/views/fields/user_id_field/_show.html.erb new file mode 100644 index 0000000000000..5177ca46416d0 --- /dev/null +++ b/app/views/fields/user_id_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.data %> diff --git a/app/views/fields/user_scholar_field/_form.html.erb b/app/views/fields/user_scholar_field/_form.html.erb new file mode 100644 index 0000000000000..c896a4a3e2f8e --- /dev/null +++ b/app/views/fields/user_scholar_field/_form.html.erb @@ -0,0 +1,13 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.check_box field.attribute %> +
+<%= f.date_field "workshop_expiration", value: (Time.now + 1.year).strftime("%Y-%m-%d"), style: "width: 25%;" %> +
+ <%= f.label "Send Scholarship Email?" %> +
+
+ <%= f.check_box "scholar_email" %> +
diff --git a/app/views/fields/user_scholar_field/_index.html.erb b/app/views/fields/user_scholar_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_scholar_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_scholar_field/_show.html.erb b/app/views/fields/user_scholar_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_scholar_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_warned_field/_form.html.erb b/app/views/fields/user_warned_field/_form.html.erb new file mode 100644 index 0000000000000..9568f60eee654 --- /dev/null +++ b/app/views/fields/user_warned_field/_form.html.erb @@ -0,0 +1,6 @@ +
+ <%= f.label field.attribute %> +
+
+ <%= f.check_box field.attribute %> +
diff --git a/app/views/fields/user_warned_field/_index.html.erb b/app/views/fields/user_warned_field/_index.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_warned_field/_index.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/fields/user_warned_field/_show.html.erb b/app/views/fields/user_warned_field/_show.html.erb new file mode 100644 index 0000000000000..6d9dbc907002d --- /dev/null +++ b/app/views/fields/user_warned_field/_show.html.erb @@ -0,0 +1 @@ +<%= field.to_s %> diff --git a/app/views/giveaways/_form.html.erb b/app/views/giveaways/_form.html.erb new file mode 100644 index 0000000000000..66aa360e46ed8 --- /dev/null +++ b/app/views/giveaways/_form.html.erb @@ -0,0 +1,396 @@ + + + + +<%= form_for(@user, url: '/giveaways/freestickers') do |f| %> + <% if @errors.any? %> +
+

<%= pluralize(@errors.size, "issue") %> prohibited your form from being submitted:

+ +
    + <% @errors.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+ <% end %> +

Shipping Information

+ <% if @user.email.blank? %> +
+ <%= f.label :email, "Email" %>
+ <%= f.text_field :email %> +
+ <% end %> +
+ <%= f.label :shipping_name, "Name (for shipping)" %>
+ <%= f.text_field :shipping_name %> +
+
+ <%= f.label :shipping_company, "Company (for shipping if applicable)" %>
+ <%= f.text_field :shipping_company %> +
+
+ <%= f.label :shipping_address, "Address" %>
+ <%= f.text_field :shipping_address %> +
+
+ <%= f.label :shipping_address_line_2, "Address Line 2" %>
+ <%= f.text_field :shipping_address_line_2 %> +
+
+ <%= f.label :shipping_city, "City" %>
+ <%= f.text_field :shipping_city %> +
+
+ <%= f.label :shipping_state, "State/Province" %>
+ <%= f.text_field :shipping_state %> +
+
+ <%= f.label :shipping_country, "Country" %>
+ <%= f.select :shipping_country, + options_for_select( + [["United States", "US"], + ["-----", ""], + ["Afghanistan", "AF"], + ["Åland Islands", "AX"], + ["Albania", "AL"], + ["Algeria", "DZ"], + ["American Samoa", "AS"], + ["Andorra", "AD"], + ["Angola", "AO"], + ["Anguilla", "AI"], + ["Antarctica", "AQ"], + ["Antigua and Barbuda", "AG"], + ["Argentina", "AR"], + ["Armenia", "AM"], + ["Aruba", "AW"], + ["Australia", "AU"], + ["Austria", "AT"], + ["Azerbaijan", "AZ"], + ["Bahamas", "BS"], + ["Bahrain", "BH"], + ["Bangladesh", "BD"], + ["Barbados", "BB"], + ["Belarus", "BY"], + ["Belgium", "BE"], + ["Belize", "BZ"], + ["Benin", "BJ"], + ["Bermuda", "BM"], + ["Bhutan", "BT"], + ["Bolivia", "BO"], + ["Bonaire", "BQ"], + ["Bosnia and Herzegovina", "BA"], + ["Botswana", "BW"], + ["Bouvet Island", "BV"], + ["Brazil", "BR"], + ["BIO Territory", "IO"], + ["Brunei Darussalam", "BN"], + ["Bulgaria", "BG"], + ["Burkina Faso", "BF"], + ["Burundi", "BI"], + ["Cambodia", "KH"], + ["Cameroon", "CM"], + ["Canada", "CA"], + ["Cape Verde", "CV"], + ["Cayman Islands", "KY"], + ["Central African Republic", "CF"], + ["Chad", "TD"], + ["Chile", "CL"], + ["China", "CN"], + ["Christmas Island", "CX"], + ["Cocos (Keeling) Islands", "CC"], + ["Colombia", "CO"], + ["Comoros", "KM"], + ["Congo", "CG"], + ["Congo", "CD"], + ["Cook Islands", "CK"], + ["Costa Rica", "CR"], + ["Côte d'Ivoire", "CI"], + ["Croatia", "HR"], + ["Cuba", "CU"], + ["Curaçao", "CW"], + ["Cyprus", "CY"], + ["Czech Republic", "CZ"], + ["Denmark", "DK"], + ["Djibouti", "DJ"], + ["Dominica", "DM"], + ["Dominican Republic", "DO"], + ["Ecuador", "EC"], + ["Egypt", "EG"], + ["El Salvador", "SV"], + ["Equatorial Guinea", "GQ"], + ["Eritrea", "ER"], + ["Estonia", "EE"], + ["Ethiopia", "ET"], + ["Falkland Islands", "FK"], + ["Faroe Islands", "FO"], + ["Fiji", "FJ"], + ["Finland", "FI"], + ["France", "FR"], + ["French Guiana", "GF"], + ["French Polynesia", "PF"], + ["French S Territories", "TF"], + ["Gabon", "GA"], + ["Gambia", "GM"], + ["Georgia", "GE"], + ["Germany", "DE"], + ["Ghana", "GH"], + ["Gibraltar", "GI"], + ["Greece", "GR"], + ["Greenland", "GL"], + ["Grenada", "GD"], + ["Guadeloupe", "GP"], + ["Guam", "GU"], + ["Guatemala", "GT"], + ["Guernsey", "GG"], + ["Guinea", "GN"], + ["Guinea-Bissau", "GW"], + ["Guyana", "GY"], + ["Haiti", "HT"], + ["Heard McDonald Islands", "HM"], + ["Holy See", "VA"], + ["Honduras", "HN"], + ["Hong Kong", "HK"], + ["Hungary", "HU"], + ["Iceland", "IS"], + ["India", "IN"], + ["Indonesia", "ID"], + ["Iran", "IR"], + ["Iraq", "IQ"], + ["Ireland", "IE"], + ["Isle of Man", "IM"], + ["Israel", "IL"], + ["Italy", "IT"], + ["Jamaica", "JM"], + ["Japan", "JP"], + ["Jersey", "JE"], + ["Jordan", "JO"], + ["Kazakhstan", "KZ"], + ["Kenya", "KE"], + ["Kiribati", "KI"], + ["Korea, People's Republic", "KP"], + ["Korea, Republic of", "KR"], + ["Kuwait", "KW"], + ["Kyrgyzstan", "KG"], + ["Lao", "LA"], + ["Latvia", "LV"], + ["Lebanon", "LB"], + ["Lesotho", "LS"], + ["Liberia", "LR"], + ["Libya", "LY"], + ["Liechtenstein", "LI"], + ["Lithuania", "LT"], + ["Luxembourg", "LU"], + ["Macao", "MO"], + ["Macedonia", "MK"], + ["Madagascar", "MG"], + ["Malawi", "MW"], + ["Malaysia", "MY"], + ["Maldives", "MV"], + ["Mali", "ML"], + ["Malta", "MT"], + ["Marshall Islands", "MH"], + ["Martinique", "MQ"], + ["Mauritania", "MR"], + ["Mauritius", "MU"], + ["Mayotte", "YT"], + ["Mexico", "MX"], + ["Micronesia", "FM"], + ["Moldova, Republic of", "MD"], + ["Monaco", "MC"], + ["Mongolia", "MN"], + ["Montenegro", "ME"], + ["Montserrat", "MS"], + ["Morocco", "MA"], + ["Mozambique", "MZ"], + ["Myanmar", "MM"], + ["Namibia", "NA"], + ["Nauru", "NR"], + ["Nepal", "NP"], + ["Netherlands", "NL"], + ["New Caledonia", "NC"], + ["New Zealand", "NZ"], + ["Nicaragua", "NI"], + ["Niger", "NE"], + ["Nigeria", "NG"], + ["Niue", "NU"], + ["Norfolk Island", "NF"], + ["Northern Mariana Islands", "MP"], + ["Norway", "NO"], + ["Oman", "OM"], + ["Pakistan", "PK"], + ["Palau", "PW"], + ["Palestinian Territory", "PS"], + ["Panama", "PA"], + ["Papua New Guinea", "PG"], + ["Paraguay", "PY"], + ["Peru", "PE"], + ["Philippines", "PH"], + ["Pitcairn", "PN"], + ["Poland", "PL"], + ["Portugal", "PT"], + ["Puerto Rico", "PR"], + ["Qatar", "QA"], + ["Réunion", "RE"], + ["Romania", "RO"], + ["Russian Federation", "RU"], + ["Rwanda", "RW"], + ["Saint Barthélemy", "BL"], + ["Saint Helena", "SH"], + ["Saint Kitts and Nevis", "KN"], + ["Saint Lucia", "LC"], + ["Saint Martin (French part)", "MF"], + ["Saint Pierre and Miquelon", "PM"], + ["Saint Vincent, Grenadines", "VC"], + ["Samoa", "WS"], + ["San Marino", "SM"], + ["Sao Tome and Principe", "ST"], + ["Saudi Arabia", "SA"], + ["Senegal", "SN"], + ["Serbia", "RS"], + ["Seychelles", "SC"], + ["Sierra Leone", "SL"], + ["Singapore", "SG"], + ["Sint Maarten (Dutch part)", "SX"], + ["Slovakia", "SK"], + ["Slovenia", "SI"], + ["Solomon Islands", "SB"], + ["Somalia", "SO"], + ["South Africa", "ZA"], + ["South Georgia", "GS"], + ["South Sudan", "SS"], + ["Spain", "ES"], + ["Sri Lanka", "LK"], + ["Sudan", "SD"], + ["Suriname", "SR"], + ["Svalbard and Jan Mayen", "SJ"], + ["Swaziland", "SZ"], + ["Sweden", "SE"], + ["Switzerland", "CH"], + ["Syrian Arab Republic", "SY"], + ["Taiwan, Province of China", "TW"], + ["Tajikistan", "TJ"], + ["Tanzania", "TZ"], + ["Thailand", "TH"], + ["Timor-Leste", "TL"], + ["Togo", "TG"], + ["Tokelau", "TK"], + ["Tonga", "TO"], + ["Trinidad and Tobago", "TT"], + ["Tunisia", "TN"], + ["Turkey", "TR"], + ["Turkmenistan", "TM"], + ["Turks and Caicos Isl", "TC"], + ["Tuvalu", "TV"], + ["Uganda", "UG"], + ["Ukraine", "UA"], + ["United Arab Emirates", "AE"], + ["United Kingdom", "GB"], + ["United States", "US"], + ["United States Minor", "UM"], + ["Uruguay", "UY"], + ["Uzbekistan", "UZ"], + ["Vanuatu", "VU"], + ["Venezuela", "VE"], + ["Viet Nam", "VN"], + ["Virgin Islands, British", "VG"], + ["Virgin Islands, U.S.", "VI"], + ["Wallis and Futuna", "WF"], + ["Western Sahara", "EH"], + ["Yemen", "YE"], + ["Zambia", "ZM"], + ["Zimbabwe", "ZW"]], @user.shipping_country ) %> +
+
+ <%= f.label :shipping_postal_code, "Zip Number/Postal Code" %>
+ <%= f.text_field :shipping_postal_code %> +
+
+ <%= f.label :shipping_validated, "validate" %> + <%= f.check_box :shipping_validated %> +
+

T-shirt size

+
+ <%= f.label :shirt_gender, "Style" %>
+ <%= f.select :shirt_gender, + options_for_select( + [['Unisex', 'unisex'], + ['Women\'s', 'womens']], @user.shirt_gender ) %> +
+
+ <%= f.label :shirt_size, "Size" %>
+ <%= f.select :shirt_size, + options_for_select( + [['Small', 's'], + ['Medium', 'm'], + ['Large', 'l'], + ['Extra Large', 'xl'], + ['2XL', '2xl'], + ['3XL', '3xl']], @user.shirt_size ) %> +
+

A bit about you

+

(This is sort of our "I'm not a robot" test)

+
+ <%= f.label :top_languages, "Favorite programming languages" %>
+ <%= f.text_field :top_languages %> +
+
+ <%= f.label :specialty, "Specialty (web development, sysadmin, etc.)" %>
+ <%= f.text_field :specialty %> +
+
+ <%= f.label :experience_level, "Programming Experience Level" %>
+ <%= f.select :experience_level, + options_for_select( + [['0 (Complete Newbie)', '0'], + ['1', '1'], + ['2', '2'], + ['3 (Junior Developer)', '3'], + ['4', '4'], + ['5', '5'], + ['6', '6'], + ['7 (Experienced Developer)', '7'], + ['8', '8'], + ['9', '9'], + ['10 (Senior Developer)', '10']], + @user.experience_level) %> +
+
+ <%= f.label :tabs_or_spaces, "Tabs or spaces" %>
+ <%= f.select :tabs_or_spaces, + options_for_select( + [['Tabs', 'tabs'], + ['Spaces', 'spaces']], + @user.tabs_or_spaces) %> + +
+
+ <%= f.submit "Submit" %> +
+

+ All dev.to users who submit this form will receive a "welcome package" -- there is no element of chance or skill in this promotion. Additionally, there is no purchase necessary, and this offer is void if/where prohibited. Please note that there is a limit of 1 per person, and all entrants will go through a spam filtration procedure. Contact yo@dev.to with any questions, or to inquire about an alternative means of entry for this promotion. +

+<% end %> diff --git a/app/views/giveaways/edit.html.erb b/app/views/giveaways/edit.html.erb new file mode 100644 index 0000000000000..3f1864829f038 --- /dev/null +++ b/app/views/giveaways/edit.html.erb @@ -0,0 +1,47 @@ +

Editing Giveaway

+ +
+
+ +
+ <% if !current_user %> +
+

* * *

+

Please sign in

+
+ +

or

+ +
+ <% elsif current_user.onboarding_package_requested == false %> +
+

* * *

+

+ It seems you've never requested stickers.
+ Rest assured, we will have events and giveaways in the future for you look forward to. +

+

+ ❤️
+ Ben & Jess +

+
+ <% elsif current_user.onboarding_package_requested_again == false %> + <%= render "form" %> + <% else %> +
+

* * *

+ +

+ Thank you for the support. +

+

+ Your stickers should arrive soon. +

+ +

+ ❤️
+ Ben & Jess +

+
+ <% end %> +
diff --git a/app/views/giveaways/new.html.erb b/app/views/giveaways/new.html.erb new file mode 100644 index 0000000000000..8e2b2745ecbf7 --- /dev/null +++ b/app/views/giveaways/new.html.erb @@ -0,0 +1,46 @@ +<% title "FREE STICKERS - dev.to" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + +
+
+
+
+

* * *

+

+ Thank you for the support! +

+

+ After six months and 100,000 stickers, dev.to's sticker give-away campaign is officially over. If you got here a little late, we promise that we'll be running more events like this in the future, so you will have a chance to get your hands on some DEV gear. +

+

If you're curious about how exactly all those stickers made it from our office to the far corners of the world, we did a write-up of the process.

+

And if you already requested stickers and didn't get any, click here to revalidate your address so we can send you some more.

+

+ ❤️
+ Ben & Jess +

+
+
diff --git a/app/views/internal/articles/_individual_article.html.erb b/app/views/internal/articles/_individual_article.html.erb new file mode 100644 index 0000000000000..1122695cd8332 --- /dev/null +++ b/app/views/internal/articles/_individual_article.html.erb @@ -0,0 +1,71 @@ +<% articles.each do |article| %> + <% featured = article.featured ? "featured-bg": "" %> + <% featured = article.approved ? "approved-bg": featured %> + +<% end %> \ No newline at end of file diff --git a/app/views/internal/articles/index.html.erb b/app/views/internal/articles/index.html.erb new file mode 100644 index 0000000000000..4a8730313953d --- /dev/null +++ b/app/views/internal/articles/index.html.erb @@ -0,0 +1,143 @@ + + +
+ + + + + + + +
+
+
+

+ ">Mix | + ">By Featured Number | + ">Unfeatured | + ">RSS (new to dev.to) | + ">RSS (new to world) | + ">Top (3 mo) | + ">Top (6 mo) | + ">Spam? +

+
+ <% if params[:state] && params[:state].include?("top-") && params[:state] != "top-3" && params[:state] != "top-6" %> +

+ <%= params[:state] %>-months +

+<% end %> + +<% if @featured_articles && @featured_articles.any? %> +

Manually Featured Articles

+ <%= render "individual_article", articles: @featured_articles %> +<% end %> + + +
+

Newest Articles

+ <%= paginate @articles %> +
+ +<%= render "individual_article", articles: @articles %> + +
+ <%= paginate @articles %> +
+ + diff --git a/app/views/internal/articles/rss_articles.html.erb b/app/views/internal/articles/rss_articles.html.erb new file mode 100644 index 0000000000000..75582d34ba57e --- /dev/null +++ b/app/views/internal/articles/rss_articles.html.erb @@ -0,0 +1,112 @@ +

RSS ARTICLES - Main Articles Dashboard

+
+ + + + + + +
+ +<% @articles.each do |article| %> + <% published = article.published ? "published" : "" %> + <% featured = article.featured ? "featured": "" %> + <% publish_permission = article.user.feed_admin_publish_permission ? "admin-allowed" : "only-user" %> + <% other_classes = [published, featured, publish_permission].join(" ") %> + +
<%= "background:#daf7ff;" if article.published %>"> + <%= article.title %> EDIT
+ by <%= article.username %> +
+
+ <% article_length = article.body_markdown.length %> + <% if article_length < 550 %> +
+ --Possibly Poor Content (only <%= article.body_markdown.length %> characters)-- +
+
+ <% end %> +
+
+ + + Featured Number: +   Featured: > +   Image BG color:

+ Social Image: +     +
+ <% if article.published %> +
PUBLISHED <%= "AND FEATURED".html_safe if article.featured %>
+ <% elsif article.user.feed_admin_publish_permission %> +
ADMIN PUBLISH ALLOWED
+ <% else %> +
ONLY USER MAY PUBLISH
+ <% end %> +
+
+<% end %> + +
+ <%= paginate @articles %> +
+

+ + diff --git a/app/views/internal/broadcasts/_form.html.erb b/app/views/internal/broadcasts/_form.html.erb new file mode 100644 index 0000000000000..50d68660b6bff --- /dev/null +++ b/app/views/internal/broadcasts/_form.html.erb @@ -0,0 +1,12 @@ +

Title - this for our reference only:

+<%= text_field_tag :title, @broadcast.title %> +
+<%= label_tag :processed_html, "HTML" %> +
+<%= text_area_tag :processed_html, @broadcast.processed_html, size: "100x10" %> +
+Type: <%= select_tag "type_of", options_for_select(["Onboarding", "Announcement"]) %> +
+<%= label_tag :sent %> +<%= select_tag :sent, options_for_select([true, false]) %> +
diff --git a/app/views/internal/broadcasts/edit.html.erb b/app/views/internal/broadcasts/edit.html.erb new file mode 100644 index 0000000000000..43a7bad1340ed --- /dev/null +++ b/app/views/internal/broadcasts/edit.html.erb @@ -0,0 +1,6 @@ +

Edit broadcast:

+<%= form_for([:internal, @broadcast], method: :patch) do %> + <%= render "form" %> + <%= submit_tag "Update Broadcast" %> +<% end %> +
diff --git a/app/views/internal/broadcasts/index.html.erb b/app/views/internal/broadcasts/index.html.erb new file mode 100644 index 0000000000000..16a0ad31e64fa --- /dev/null +++ b/app/views/internal/broadcasts/index.html.erb @@ -0,0 +1,16 @@ +Make A New Broadcast +

Current Broadcasts

+
+<% @broadcasts.each do |broadcast| %> + Edit this broadcast +
+

Title: <%= broadcast.title %>

+

Broadcast Type: <%= broadcast.type_of %>

+
+ Content: +
<%= broadcast.processed_html %> +
+
+ Sent?: <%= broadcast.sent ? "Yes" : "No" %> +
+<% end %> diff --git a/app/views/internal/broadcasts/new.html.erb b/app/views/internal/broadcasts/new.html.erb new file mode 100644 index 0000000000000..97afd053d38af --- /dev/null +++ b/app/views/internal/broadcasts/new.html.erb @@ -0,0 +1,6 @@ +

Make a new broadcast:

+<%= form_for([:internal, @broadcast], method: :post) do %> + <%= render "form" %> + <%= submit_tag "Create Broadcast" %> +<% end %> +
diff --git a/app/views/internal/comments/index.html.erb b/app/views/internal/comments/index.html.erb new file mode 100644 index 0000000000000..34c65075e5ab4 --- /dev/null +++ b/app/views/internal/comments/index.html.erb @@ -0,0 +1,50 @@ +
+

Comments

+ <% @comments.each do |comment| %> +
+
+ <% if comment.commentable %> +

re: <%= comment.commentable.title %> (<%= comment.positive_reactions_count %> ❤️)

+ <% end %> + <%= sanitize comment.processed_html.html_safe, + tags: %w(strong em p h1 h2 h3 h4 h5 h6 i u b code pre br ul ol li small sup img a span hr blockquote), + attributes: %w(href strong em ref rel src title alt class) + %> +
+
+ <% if comment.user %> + + <%= comment.user.username %> profile <%= comment.user.username %> + + <% end %> + <% if comment.user && comment.user.twitter_username.present? %> + | + + @<%= comment.user.twitter_username %> + + <% end %> +
+
+ View +
+ <% if comment.reactions.where(user_id: current_user.id).empty? %> +
+ <%= form_tag("/reactions", remote: true) do %> + <%= hidden_field_tag(:reactable_type, "Comment") %> + <%= hidden_field_tag(:reactable_id, comment.id) %> + + <% end %> +
+ <% end %> +
+
+
+ <% end %> + <%= paginate @comments %> +
+ + diff --git a/app/views/internal/dogfood/index.html.erb b/app/views/internal/dogfood/index.html.erb new file mode 100644 index 0000000000000..e626e3e82d38c --- /dev/null +++ b/app/views/internal/dogfood/index.html.erb @@ -0,0 +1,50 @@ +
+

Dog Food Board

+ doggies + +

Comments past 24 hours

+ <% @comment_totals_24_hours.each do |hash| %> +
<%= hash[:username] %>: <%= hash[:number_of_comments] %>
+ <% end %> + +

Comments this week

+ <% @comment_totals_this_week.each do |hash| %> +
<%= hash[:username] %>: <%= hash[:number_of_comments] %>
+ <% end %> + +

Overall comments

+ <% @team_members.order("comments_count DESC").each do |member| %> +
<%= member.username %>: <%= member.comments_count %>
+ <% end %> +
+

+
+Ways to make comments: +
    +
  • + Ask a question on an article +
  • +
  • + Make the first comment in a discussion +
  • +
  • + Say "welcome" to someone making an intro post +
  • +
  • + Make a follow-up comment or question on another comment. +
  • +
  • + Say something simple like "Thanks" or "Great post". +
  • +
  • + And many more!!! +
  • +
+
+

+ + diff --git a/app/views/internal/events/_event_form.erb b/app/views/internal/events/_event_form.erb new file mode 100644 index 0000000000000..2ced0e1a5f026 --- /dev/null +++ b/app/views/internal/events/_event_form.erb @@ -0,0 +1,40 @@ +
+ <%= f.label :cover_image %>: + <%= f.file_field :cover_image %> +
+
+ <%= f.label :title %> + <%= f.text_field :title, maxlength: 45, size: 40, required: true %> +
+
+ <%= f.label :category %> + <%= f.select :category, ['AMA', 'Workshop', 'Talk', 'Town Hall'], required: true %> + +
+
+<%= f.label :starts_at %> +<%= f.datetime_select :starts_at, required: true, include_blank: true %> UTC Time Only (5 hours ahead of eastern time) +
+ +
+<%= f.label :ends_at %> +<%= f.datetime_select :ends_at, required: true, include_blank: true %> UTC Time Only (5 hours ahead of eastern time) +
+
+ <%= f.label :location_name %> + <%= f.text_field :location_name, required: true %> +
+
+ <%= f.label :location_url %> + <%= f.text_field :location_url, required: true %> +
+
+ <%= f.label :description_markdown %> + <%= f.text_area :description_markdown, size: "45x10", required: true %> +
+
+ <%= f.label :publish %> + <%= f.check_box :published %> +
+ <%= f.submit %> +
diff --git a/app/views/internal/events/index.html.erb b/app/views/internal/events/index.html.erb new file mode 100644 index 0000000000000..88f685cfadac8 --- /dev/null +++ b/app/views/internal/events/index.html.erb @@ -0,0 +1,42 @@ + + +

Create Event

+ +<%= form_for @event, url: {controller:"events", action: "create"} do |f| %> + <%= render 'event_form', f:f, event: @event %> +<% end %> + +
+
+ +
+

Upcoming Events

+ <% @events.each do |event| %> + <% if event.starts_at.future? %> + + <%= form_for [:internal, event] do |f| %> + <%= render 'event_form', f:f, event: event %> + <% end %> + <% end %> + <% end %> +
+

Past Events

+ <% @events.each do |event| %> + <% if !event.starts_at.future? %> + + <%= form_for [:internal, event] do |f| %> + <%= render 'event_form', f:f, event: event %> + <% end %> + <% end %> +
+ <% end %> +
+ + + + + diff --git a/app/views/internal/members/index.html.erb b/app/views/internal/members/index.html.erb new file mode 100644 index 0000000000000..e267239360771 --- /dev/null +++ b/app/views/internal/members/index.html.erb @@ -0,0 +1,23 @@ +

Sustaining Member/Scholars

+ +;">Members and Scholars | +;">Members Only | +;">Scholars Only + +<% @users.each do |user| %> +
"> +

+ <%= user.name %> @<%= user.username %> + | Go to admin page +

+
+ <% if user.scholar %> + Scholar + | Workshop pass expires: <%= user.workshop_expiration ? user.workshop_expiration.strftime("%b %d, %Y") : "never" %> + <% else %> + Member + | $<%= user.monthly_dues / 100 %> + <% end %> +
+<% end %> +
diff --git a/app/views/internal/tags/index.html.erb b/app/views/internal/tags/index.html.erb new file mode 100644 index 0000000000000..d6c160be0dad6 --- /dev/null +++ b/app/views/internal/tags/index.html.erb @@ -0,0 +1,47 @@ +

All Tags

+

+ <% if params[:state] == "supported" %> + View All + <% else %> + View Supported only + <% end %> +

+

+<% @tags.each do |tag| %> +
+

<%= tag.name %>

+

count: <%= tag.taggings_count %>

+
+ <%= form_for [:internal, tag] do |f| %> +
+ <%= f.label :supported %> + <%= f.check_box :supported %> +
+
+ <%= f.label :pretty_name %> + <%= f.text_field :pretty_name %> +
+
+ <%= f.label :short_summary %> + <%= f.text_field :short_summary %> +
+
+ <%= f.label :rules_markdown %> + <%= f.text_area :rules_markdown %> +
+
+ <%= f.label :bg_color_hex %> + <%= f.text_field :bg_color_hex %> +
+
+ <%= f.label :text_color_hex %> + <%= f.text_field :text_color_hex %> +
+
+
+ <%= f.submit %> +
+ <% end %> +
+
+<% end %> \ No newline at end of file diff --git a/app/views/internal/users/edit.html.erb b/app/views/internal/users/edit.html.erb new file mode 100644 index 0000000000000..e82b0e0b1ca9e --- /dev/null +++ b/app/views/internal/users/edit.html.erb @@ -0,0 +1,23 @@ +

<%= @user.name %>

+

@<%= @user.username %>

+

<%= @user.comments.size %> comments

+

<%= @user.articles.size %> articles

+

<%= @user.reactions.size %> reactions

+

Joined <%= @user.created_at.to_formatted_s(:long_ordinal) %>

+<% if @user.banned %> +

User is banned

+ <% @user.notes.each do |note| %> + <%= note.reason %> | <%= note.content %> + <% end %> +<% else %> +
+ <% if @user.comments.where("created_at < ?", 7.days.ago).empty? %> + <%= form_for([:internal, @user],confirm: "Are you absolutely sure?") do %> + + <% end %> + This is extremely destructive. Do not do it lightly + <% else %> + You cannot take admin action from this view because this is not a newish user. For safety. + <% end %> +
+<% end %> diff --git a/app/views/internal/users/index.html.erb b/app/views/internal/users/index.html.erb new file mode 100644 index 0000000000000..70fdd87a239dd --- /dev/null +++ b/app/views/internal/users/index.html.erb @@ -0,0 +1,15 @@ +

RSS Users

+ +<% @users.each do |user| %> +
+

<%= user.name%>

+

@<%= user.username%>

+

View dashboard

+
+

<%= user.feed_url%>

+ <% if user.feed_admin_publish_permission %> +

Admin Publish Permission 👌

+ <% end%> + +
+<% end%> \ No newline at end of file diff --git a/app/views/internal/welcome/index.html.erb b/app/views/internal/welcome/index.html.erb new file mode 100644 index 0000000000000..cf45354d4c4ab --- /dev/null +++ b/app/views/internal/welcome/index.html.erb @@ -0,0 +1,9 @@ +
<%= flash[:notice] %>
+ +<%= link_to "Create A New Welcome Thread", "/internal/welcome", method: :post %> +

All Welcome Threads

+
+<% @daily_threads.each do |thread| %> +<%= thread.title %> +
+<% end %> diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb new file mode 100644 index 0000000000000..1b4f16a5063e0 --- /dev/null +++ b/app/views/layouts/_footer.html.erb @@ -0,0 +1,8 @@ + diff --git a/app/views/layouts/_mailer_content.html.erb b/app/views/layouts/_mailer_content.html.erb new file mode 100644 index 0000000000000..182fce87f9ea3 --- /dev/null +++ b/app/views/layouts/_mailer_content.html.erb @@ -0,0 +1,177 @@ +<% if @comment %> +

<%= link_to(@comment.user.name, "https://dev.to/#{@comment.user.username}") %> replied to you on dev.to

+
+ <% unless @comment.is_root? %> + <%= truncate(strip_tags(@comment.parent_or_root_article.processed_html.html_safe), length: 80) %> + <% end %> +
+

re: <%= @comment.commentable.title %>

+ <%= @comment.processed_html.html_safe %> + read & reply read original post +
+<% elsif @follower %> +

<%= @follower.name %> just followed you!

+

You now have <%= pluralize(@user.followers_count, 'follower') %>.

+

+ When someone follows you on dev.to, your posts will be prioritized on their home page. This allows people to create a reading experience more tailored to their interests, while still getting exposure to the broader featured content. +

+<% elsif @unread_notifications_count %> +

You're popular!

+

+ Read my notifications +

+<% elsif @mentioner %> +

<%= @mentioner.name %> just mentioned you in their <%= @mention.mentionable_type.downcase %>!

+
+ +
+ <%= @mentionable.processed_html.html_safe %> + read & reply +
+<% elsif @subscription_type %> + + <% if @subscription_type == "triple_unicorn_member" %> +

+ Whoa! You’re the best, and so generous. We tip our hats to you. +

+

+ As a triple-unicorn, you have full access to all dev.to workshops! We’ll be releasing our workshop schedule Early February. +

+

+ You’ll see your name at the featured position on our ‘Wall of Patrons and Scholars’ within the next few days, and you can claim your swag pack now by visiting your settings page. +

+

+ We’ll be in touch to schedule a time for all of us to chat together, and we’ll also be putting together some additional goodies. +

+

+ Thank you again for supporting The DEV Community. Your membership means a lot to us, and all the recipients of our scholarship fund. You went above and beyond on this one. +

+ <% elsif @subscription_type == "level_4_member" %> +

+ Thank you for becoming a DEV sustaining member. Your support means the world to us. +

+

+ As part of your membership, you’ll have early access to beta features on the site. For instance, post analytics have now been added to your dashboard. +

+

+ On your membership settings page, you’ll find the coupon that you’ll use to request your exclusive sticker pack and t-shirt combo. +

+

+ Your name will appear on our “Wall of Patrons and Scholars” soon, and you’ll also be receiving full access to all dev.to workshops! We’ll be releasing our first workshop schedule in early February. +

+

+ Above all, thank you for supporting The DEV Community. Your additional contribution means so much to us, and to all the recipients of our scholarship fund. You really went above and beyond on this one. +

+

+ With sincere gratitude... +

+

+ ❤️ +
+ PBJ +

+

+ PS — feel free to reply to this email with any questions. +

+ <% elsif @subscription_type == "level_3_member" %> +

+ Thank you for becoming a DEV sustaining member. Your support means the world to us. +

+

+ As part of your membership, you’ll have early access to beta features on the site. For instance, post analytics have now been added to your dashboard. +

+

+ On your membership settings page, you’ll find the coupon that you’ll use to request your exclusive sticker pack and t-shirt combo. +

+

+ Your name will appear on our “Wall of Patrons and Scholars” soon, and you’ll also be receiving full access to all dev.to workshops! We’ll be releasing our first workshop schedule in early February. +

+

+ Feel free to reply to this email with any questions :) +

+

+ Thanks again! ❤️ +
+ PBJ +

+ <% elsif @subscription_type == "level_2_member" %> +

+ Thank you for becoming a DEV sustaining member. Your support means the world to us. +

+

+ As part of your membership, you’ll have early access to beta features on the site. For instance, post analytics have now been added to your dashboard. +

+

+ On your membership settings page, you’ll find the coupon that you’ll use to request your exclusive sticker pack. Within the next few days, you’ll be appearing on our ‘Wall of Patrons and Scholars.’ +

+

+ Feel free to reply to this email with any questions :) +

+

+ Thanks again! ❤️ +
+ PBJ +

+ <% elsif @subscription_type == "level_1_member" %> +

+ Thank you for becoming a DEV sustaining member. Your support means the world to us. +

+

+ As part of your membership, you’ll have early access to beta features on the site. For instance, post analytics have now been added to your dashboard. +

+

+ Within the next few days, you’ll also appear on our ‘Wall of Patrons and Scholars.’ +

+

+ Feel free to reply to this email with any questions :) +

+

+ Thanks again! ❤️ +
+ PBJ +

+ <% end %> +

Thank you so much for your support.

+

+ Visit Your membership settings page for all details. +

+<% elsif @update_subscription %> + +

+ Your DEV sustaining membership monthly contribution amount has been updated. Be sure to check your membership settings page to see the most up-to-date information. +

+

+ Thank you so much for the support, and please email members@dev.to with any questions. +

+<% elsif @cancel_subscription %> +

+ Your DEV sustaining membership has been cancelled. Thank you so much for your support to date. +

+

+ If you have any feedback that can help us improve the membership experience, please feel free to reply to this email. +

+

+

+ Thanks again, +
+ PBJ +

+<% elsif @scholarship_awarded %> + +

Congratulations!

+

+ We’ve received your DEV scholarship application and are excited to provide you with a workshop pass for + the year. You’ll get full access to all DEV talks and workshops by visiting dev.to/live during an event. See our events page + to check out the latest schedule. We appreciate your dedication to programming and hope you’ll benefit from these additional + resources. +

+ +

+ Thanks again for applying and if within your means, please consider becoming a level 1 or 2 sustaining member. +

+

+ Best, +
+ PBJ +

+<% end %> diff --git a/app/views/layouts/_nav_menu.html.erb b/app/views/layouts/_nav_menu.html.erb new file mode 100644 index 0000000000000..67edd4b80dff1 --- /dev/null +++ b/app/views/layouts/_nav_menu.html.erb @@ -0,0 +1,57 @@ +<% if user_signed_in? %> + +<% else %> + +<% end %> diff --git a/app/views/layouts/_signup_modal.html.erb b/app/views/layouts/_signup_modal.html.erb new file mode 100644 index 0000000000000..c50eb8c781cb8 --- /dev/null +++ b/app/views/layouts/_signup_modal.html.erb @@ -0,0 +1,44 @@ +<% if rand(2) == 1 %> + <% version = "07112017-sloth-full-description" %> + +<% else %> + <% version = "07112017-sign-in-first" %> + +<% end %> diff --git a/app/views/layouts/_styles.html.erb b/app/views/layouts/_styles.html.erb new file mode 100644 index 0000000000000..ae1dba320caf0 --- /dev/null +++ b/app/views/layouts/_styles.html.erb @@ -0,0 +1,68 @@ +<% cache "base_inline_styles_#{@story_show.to_s}_#{@article_index.to_s}_#{@home_page.to_s}_#{@article_show.to_s}_#{view_class.to_s}_#{@notifications_index}_#{core_pages?.to_s}_#{@tags_index}_#{ENV["DEPLOYMENT_SIGNATURE"].to_s}xxs", :expires_in => 6.hours do %> + <% if @story_show %> + + <% elsif @article_index %> + + <% elsif @notifications_index || @reading_list_items_index %> + + <% elsif view_class.start_with? "comments"%> + + <% elsif view_class.include? "registrations"%> + + <% elsif view_class.include? "users-index"%> + + <% elsif core_pages? %> + <%= stylesheet_link_tag 'minimal', media: 'all' %> + <% else %> + <%= stylesheet_link_tag 'application', media: 'all' %> + <% end %> +<% end %> diff --git a/app/views/layouts/_top_bar.html.erb b/app/views/layouts/_top_bar.html.erb new file mode 100644 index 0000000000000..4f381a78ac68a --- /dev/null +++ b/app/views/layouts/_top_bar.html.erb @@ -0,0 +1,29 @@ + +
+ +
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb new file mode 100644 index 0000000000000..9fb3e5c29b801 --- /dev/null +++ b/app/views/layouts/application.html.erb @@ -0,0 +1,96 @@ + + + + + <% title = yield(:title) %> + <%= title || 'The DEV Community' %> + <% if is_internal_navigation? %> + + <% else %> + + + <%= render "layouts/styles" %> + + <% if core_pages? %> + <%= javascript_include_tag 'base', defer: true %> + <% if user_signed_in? %> + <%= javascript_pack_tag 'pack', defer: true %> + <% end %> + <% end %> + <% if !core_pages? %> + <%= stylesheet_link_tag 'application', media: 'all' %> + <% if render_js? %> + + <%= javascript_include_tag 'application' %> + <% end %> + <% end %> + + <% if view_class == "users users-signout_confirm" %> + <%= javascript_include_tag 'application' %> + <% end %> + <%= yield(:page_meta) %> + + <%= favicon_link_tag %> + "> + "> + "> + "> + " rel="icon" sizes="192x192" /> + " rel="icon" sizes="128x128" /> + + + + + <% if view_class.include? "users-signout_confirm" %> + <%= csrf_meta_tags %> + <% end %> + + + <% end %> + + + <% unless is_internal_navigation? %> +
+ <%= yield(:audio) %> +
+ <% end %> + <% cache("application-top-bar--#{user_signed_in?}--#{is_internal_navigation?}", :expires_in => 100.hours) do %> + <%= render "layouts/top_bar" unless is_internal_navigation? %> + <% end %> +
+
+ <%= yield %> +
+ <% unless @query.present? %> + + <% end %> +
+ <% unless is_internal_navigation? %> + <%= render "layouts/footer" %> + <%= render "layouts/signup_modal" unless user_signed_in? %> +
+ <%= image_tag("twitter-logo.svg", class:"icon-img", style:"display:none") %> + <%= image_tag("github-logo.svg", class:"icon-img", style:"display:none") %> + <% end %> + + diff --git a/app/views/layouts/internal.html.erb b/app/views/layouts/internal.html.erb new file mode 100644 index 0000000000000..cafdc7a8db135 --- /dev/null +++ b/app/views/layouts/internal.html.erb @@ -0,0 +1,129 @@ + + + + + + + + + + + <%= favicon_link_tag %> + + + <%= controller_name %> + + + + + + + + + <%= javascript_include_tag 'internal' %> + + + + + + +
+ +
+ <% flash.each do |type, message| %> +
+ + <%= message %> +
+ <% end %> + <%= yield %> +
+ +
+ + + + + + + + + + + diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb new file mode 100644 index 0000000000000..ecf4fd4105b77 --- /dev/null +++ b/app/views/layouts/mailer.html.erb @@ -0,0 +1,22 @@ + + + + + + + + + +
+ <%= render "layouts/mailer_content" %> +
+ Don't want to get emails like this? Adjust your email settings at dev.to/settings/notifications +

+ <% if @user.twitter_username.blank? %> + Reminder: You used GitHub to authenticate your account, so use that to sign in if prompted. + <% else %> + Reminder: You used Twitter to authenticate your account, so use that to sign in if prompted. + <% end %> +
+ + diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb new file mode 100644 index 0000000000000..20319cdfd4869 --- /dev/null +++ b/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= strip_tags @body %> diff --git a/app/views/notifications/_aggregated_reactions.html.erb b/app/views/notifications/_aggregated_reactions.html.erb new file mode 100644 index 0000000000000..d7f76bf26c61f --- /dev/null +++ b/app/views/notifications/_aggregated_reactions.html.erb @@ -0,0 +1,55 @@ +<% cache "activity-aggregated-reactions-#{group['activities'].first['object']['updated_at']}_#{group['activities'].last['object']['id']}_#{group['is_seen']}" do %> + <% unless group['activities'][0]['object'].class.name == "String" %> +
+ <% actors = group['activities'].map { |a| a['actor']}.uniq %> + <% public_actors = group['activities'].map { |a| a['actor'] unless a['object']['category'] == "readinglist"}.uniq.compact %> + <% reaction_categories = group['activities'].map { |a| a['object']['category']} %> + <% reactable = group['activities'][0]['object'].reactable %> + <% reactable_title = reactable.title.blank? ? "your #{reactable.class.name.downcase}" : reactable.title %> + <% if public_actors.size > 0 %> + <% cache "activity-profile-pic-#{public_actors.first.id}-#{public_actors.first.profile_image_url}" do %> + +
+ <%= public_actors.first.username %> profile image +
+
+ <% end %> + <% else %> +
+ " alt="Reading List Icon"> +
+ <% end %> +
+ <% if public_actors.size == 0 && actors.size == 1 %> + Someone reacted to + <%= reactable_title %> + <% elsif public_actors.size == 0 && actors.size > 1 %> + <%= actors.size %> devs reacted to + <%= reactable_title %> + <% elsif public_actors.size == 1 && actors.size == 1 %> + <%= public_actors.first.name %> + reacted to + <%= reactable_title %> + <% elsif public_actors.size == 2 && actors.size == 2 %> + <%= public_actors.first.name %> and <%= public_actors.last.name %> + reacted to + <%= reactable_title %> + <% elsif public_actors.size > 1 %> + <%= public_actors.first.name %> and <%= pluralize(actors.size - 1, "other") %> + reacted to + <%= reactable_title %> + <% else %> + Devs reacted to <%= reactable_title %> + <% end %> + + with + <% reaction_categories.each do |cat| %> + <% if ReactionImage.new(cat).path.present? %> + <%= image_tag ReactionImage.new(cat).path, class: "reaction-image", alt: "#{cat}" %> + <% end %> + <% end %> + +
+
+ <% end %> +<% end %> diff --git a/app/views/notifications/_signup_cta_test.html.erb b/app/views/notifications/_signup_cta_test.html.erb new file mode 100644 index 0000000000000..6ce7b52f0fbf4 --- /dev/null +++ b/app/views/notifications/_signup_cta_test.html.erb @@ -0,0 +1,37 @@ +<% if rand(2) == 1 %> + <% version = "2017/7/13/notifications-page/you-are-not-signed-in" %> + +<% else %> + <% version = "2017/7/13/notifications-page/-join-dev-community-sloth-full" %> + +<% end %> diff --git a/app/views/notifications/activity/_article.html.erb b/app/views/notifications/activity/_article.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_article.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_article_moderation.html.erb b/app/views/notifications/activity/_article_moderation.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_article_moderation.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_article_published.html.erb b/app/views/notifications/activity/_article_published.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_article_published.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_broadcast_announcement.html.erb b/app/views/notifications/activity/_broadcast_announcement.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_broadcast_announcement.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_broadcast_onboarding.html.erb b/app/views/notifications/activity/_broadcast_onboarding.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_broadcast_onboarding.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_comment.html.erb b/app/views/notifications/activity/_comment.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_comment.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_comment_first.html.erb b/app/views/notifications/activity/_comment_first.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_comment_first.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_comment_moderation.html.erb b/app/views/notifications/activity/_comment_moderation.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_comment_moderation.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_follow.html.erb b/app/views/notifications/activity/_follow.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_follow.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_mention.html.erb b/app/views/notifications/activity/_mention.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_mention.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/_reaction.html.erb b/app/views/notifications/activity/_reaction.html.erb new file mode 100644 index 0000000000000..914ccd0b99353 --- /dev/null +++ b/app/views/notifications/activity/_reaction.html.erb @@ -0,0 +1,5 @@ +<% activity['activities'].each do |notification| %> +
+ <%= render_activity(notification, partial_root: '/notifications/activity/activities') %> +
+<% end %> diff --git a/app/views/notifications/activity/activities/_article.html.erb b/app/views/notifications/activity/activities/_article.html.erb new file mode 100644 index 0000000000000..27eff0ad177e0 --- /dev/null +++ b/app/views/notifications/activity/activities/_article.html.erb @@ -0,0 +1,15 @@ + +
+ <%= activity['actor'].username %> profile image +
+
+ +
+ + <%= activity['actor'].name %> + + made a new post: + + <%= activity['object'].title %> + +
diff --git a/app/views/notifications/activity/activities/_article_moderation.html.erb b/app/views/notifications/activity/activities/_article_moderation.html.erb new file mode 100644 index 0000000000000..b7ab194229f64 --- /dev/null +++ b/app/views/notifications/activity/activities/_article_moderation.html.erb @@ -0,0 +1,28 @@ + +
+ <%= activity['actor'].username %> profile image +
+
+
+ Hey there! <%= image_tag "emoji/apple-hugging-face.png", class: "reaction-image" %> As a trusted user, could you react to this article + so we know it fits our community code of conduct? +

+ Here's the article: + <%= activity['object'].title %> + +
+ <% if current_user.has_role? :trusted %> + + + <% end %> +
+
diff --git a/app/views/notifications/activity/activities/_article_published.html.erb b/app/views/notifications/activity/activities/_article_published.html.erb new file mode 100644 index 0000000000000..4c025144ed8c5 --- /dev/null +++ b/app/views/notifications/activity/activities/_article_published.html.erb @@ -0,0 +1,40 @@ +<% cache "activity-profile-pic-#{activity['actor'].id}-#{activity['actor'].profile_image_url}" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+<% end %> +
+ <% cache "activity-published-article-#{activity['object'].id}-#{activity['object'].updated_at}" do %> + + <%= activity['actor'].name %> + + made a new post: + +
+
+ <%= activity['object'].title %> +
+ + +
+
+ <% end %> + <% cache "activity-published-article-reactions-#{@last_user_reaction}-#{activity['object'].updated_at}-#{activity['object'].id}" do %> +
+ + +
+ <% end %> +
diff --git a/app/views/notifications/activity/activities/_broadcast_announcement.html.erb b/app/views/notifications/activity/activities/_broadcast_announcement.html.erb new file mode 100644 index 0000000000000..7ebf6147c2702 --- /dev/null +++ b/app/views/notifications/activity/activities/_broadcast_announcement.html.erb @@ -0,0 +1,8 @@ + +
+ <%= activity['actor'].username %> profile image +
+
+
+ <%= activity['object'].processed_html.html_safe %> +
diff --git a/app/views/notifications/activity/activities/_broadcast_onboarding.html.erb b/app/views/notifications/activity/activities/_broadcast_onboarding.html.erb new file mode 100644 index 0000000000000..7edaca19eaafa --- /dev/null +++ b/app/views/notifications/activity/activities/_broadcast_onboarding.html.erb @@ -0,0 +1,10 @@ +<% cache "broadcast-onboarding-notification" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+
+ <%= activity['object'].processed_html.html_safe %> +
+<% end %> \ No newline at end of file diff --git a/app/views/notifications/activity/activities/_comment.html.erb b/app/views/notifications/activity/activities/_comment.html.erb new file mode 100644 index 0000000000000..ef9edfcd0b6d5 --- /dev/null +++ b/app/views/notifications/activity/activities/_comment.html.erb @@ -0,0 +1,16 @@ +<% cache "activity-profile-pic-#{activity['actor'].id}-#{activity['actor'].profile_image_url}" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+<% end %> + +
+ <%= activity['actor'].name %> + commented on + + <%= activity['object'].commentable.title %> + + <%= render "notifications/activity/activities/shared/comment_box", activity:activity, context: "default" %> +
diff --git a/app/views/notifications/activity/activities/_comment_first.html.erb b/app/views/notifications/activity/activities/_comment_first.html.erb new file mode 100644 index 0000000000000..d02ac6c4d22e1 --- /dev/null +++ b/app/views/notifications/activity/activities/_comment_first.html.erb @@ -0,0 +1,16 @@ + +
+ <%= activity['actor'].username %> profile image +
+
+ +
+ <%= activity['actor'].name %> + wrote their first comment on: + + <%= activity['object'].commentable.title %> + + <%= render "notifications/activity/activities/shared/comment_box", activity: activity, context: "moderation" %> + Give them their first reply! 🎉 +
+
diff --git a/app/views/notifications/activity/activities/_comment_moderation.html.erb b/app/views/notifications/activity/activities/_comment_moderation.html.erb new file mode 100644 index 0000000000000..a0c6c3bd9e5c8 --- /dev/null +++ b/app/views/notifications/activity/activities/_comment_moderation.html.erb @@ -0,0 +1,18 @@ + +
+ <%= activity['actor'].username %> profile image +
+
+ +
+ Hey there! <%= image_tag "emoji/apple-hugging-face.png", class: "reaction-image" %> As a trusted member, could you react to this comment + so we know it fits our community code of conduct? +

+ Here's the article for context: + + <%= activity['object'].commentable.title %> + + <%= render "notifications/activity/activities/shared/comment_box", activity: activity, context: "moderation" %> +
+
All negative reactions are 100% private. If it is a good comment, consider also replying with some positive reinforcement or adding to the conversation.
+
diff --git a/app/views/notifications/activity/activities/_follow.html.erb b/app/views/notifications/activity/activities/_follow.html.erb new file mode 100644 index 0000000000000..fa941bc41a778 --- /dev/null +++ b/app/views/notifications/activity/activities/_follow.html.erb @@ -0,0 +1,13 @@ +<% cache "activity-profile-pic-#{activity['actor'].id}-#{activity['actor'].profile_image_url}" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+<% end %> +<% cache "activity-follow-button-#{activity['actor'].path}-#{activity['actor'].name}" do %> +
+ <%= activity['actor'].name %> followed you + <%= follow_button(activity['actor'], "follow-back") %> +
+<% end %> \ No newline at end of file diff --git a/app/views/notifications/activity/activities/_mention.html.erb b/app/views/notifications/activity/activities/_mention.html.erb new file mode 100644 index 0000000000000..993d5cbd581b1 --- /dev/null +++ b/app/views/notifications/activity/activities/_mention.html.erb @@ -0,0 +1,12 @@ +<% cache "activity-profile-pic-#{activity['actor'].id}-#{activity['actor'].profile_image_url}" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+<% end %> + +
+ <%= activity['actor'].name %> mentioned you in a comment + <%= render "notifications/activity/activities/shared/comment_box", activity:activity, context: "default" %> +
diff --git a/app/views/notifications/activity/activities/_reaction.html.erb b/app/views/notifications/activity/activities/_reaction.html.erb new file mode 100644 index 0000000000000..2510a5f40b1a8 --- /dev/null +++ b/app/views/notifications/activity/activities/_reaction.html.erb @@ -0,0 +1,33 @@ +<% if activity['object'].category != "readinglist" %> + <% cache "activity-profile-pic-#{activity['actor'].id}-#{activity['actor'].profile_image_url}" do %> + +
+ <%= activity['actor'].username %> profile image +
+
+ <% end %> +<% else %> + <% cache "activity-profile-pic-readinglist-icon" do %> + +
+ Reading List Icon +
+
+ <% end %> +<% end %> + +
+ <% if activity['object'].category == "readinglist" %> + Someone reacted to + <% else %> + <%= activity['actor'].name %> reacted to + <% end %> + + + <%= activity['object'].reactable.title.blank? ? "your #{activity['object'].reactable_type.downcase}" : activity['object'].reactable.title %> + + + + with <%= image_tag ReactionImage.new(activity['object'].category).path, class: "reaction-image", alt: "a #{activity['object'].category}" %> + +
diff --git a/app/views/notifications/activity/activities/shared/_comment_box.html.erb b/app/views/notifications/activity/activities/shared/_comment_box.html.erb new file mode 100644 index 0000000000000..39aef6ecbe538 --- /dev/null +++ b/app/views/notifications/activity/activities/shared/_comment_box.html.erb @@ -0,0 +1,46 @@ +<% cache "comment-box-#{@last_user_reaction}-#{@last_user_comment}-#{activity['object'].updated_at}-#{activity['object'].id}" do %> +
+ + <%= activity['object'].processed_html.html_safe %> +
+
+ + <% if context == "moderation" && current_user.has_role?(:trusted) %> + + + <% end %> + <% reply = activity['object'].children.where(:user_id => current_user.id).select(:id,:user_id).first %> + <% if reply %> + + Replied + + <% else %> + + Reply + + <% end %> +
+ <% @comment = Comment.new %> + <%= form_for(@comment, authenticity_token: false, html: {id: "comment-form-for-#{activity['object'].id}", onsubmit: "handleCommentSubmit.bind(this)(event)"}) do |f| %> + + <%= f.hidden_field :commentable_id, value: activity['object'].commentable.id %> + <%= f.hidden_field :commentable_type, value: activity['object'].commentable.class.name %> + + <%= f.hidden_field :parent_id, value: activity['object'].id %> +
+ <%= f.text_area :body_markdown, id: "comment-textarea-for-#{activity['object'].id}" %> +
+
+ <%= f.submit "SUBMIT", id: "submit-button", onclick:"validateField(event)" %> +
+ <% end %> +<% end %> \ No newline at end of file diff --git a/app/views/notifications/index.html.erb b/app/views/notifications/index.html.erb new file mode 100644 index 0000000000000..19c0e2efd21f6 --- /dev/null +++ b/app/views/notifications/index.html.erb @@ -0,0 +1,67 @@ +<% title "Notifications - dev.to" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + +<% end %> + + + + + +
+ +
+ <% if user_signed_in? %> + <% if @activities.size > 0%> + <% cache "notifications-fragment-#{current_user.last_notification_activity}-#{current_user.updated_at.to_s}-#{current_user.id}", expires_in: 15.minutes do %> + <% @activities.each do |group| %> + <% cache "notifications-fragment-#{group["is_seen"].to_s}-#{group["id"].to_s}-#{group.to_s.size}-#{@last_user_reaction}-#{@last_user_comment}" do %> + <% if current_user.id == 1 || Rails.env.development? %> + <% if group['verb'] == "Reaction" && group['activity_count'] > 1 %> + <%= render "notifications/aggregated_reactions", group:group %> + <% else %> + <%= render_activity(group, partial_root: '/notifications/activity') %> + <% end %> + <% else %> + <% begin %> + <% if group['verb'] == "Reaction" && group['activity_count'] > 1 %> + <%= render "notifications/aggregated_reactions", group:group %> + <% else %> + <%= render_activity(group, partial_root: '/notifications/activity') %> + <% end %> + <% rescue %> + <% end %> + <% end %> + <% end %> + <% end %> + <% end %> + <% end %> + <% else %> +
+ <%= render "notifications/signup_cta_test" %> +
+ <% end %> +
+ +
+ + <%= render 'articles/fitvids' %> diff --git a/app/views/onboarding/basic_info.html.erb b/app/views/onboarding/basic_info.html.erb new file mode 100644 index 0000000000000..99efd3c3ad418 --- /dev/null +++ b/app/views/onboarding/basic_info.html.erb @@ -0,0 +1,13 @@ +
+ +

Thanks for signing up

+

A couple things to get started

+ <%= form_for @user do |f| %> + <%= f.email_field :email, placeholder: "Email Address" %> + <%= f.text_area :summary, + placeholder: "Short personal summary: Job, programming languages, etc.", + maxlength: 200 %> + <%= f.submit "SUBMIT", class: "cta" %> + <% end %> + +
diff --git a/app/views/pages/_editor_guide_text.html.erb b/app/views/pages/_editor_guide_text.html.erb new file mode 100644 index 0000000000000..7b701b467db36 --- /dev/null +++ b/app/views/pages/_editor_guide_text.html.erb @@ -0,0 +1,112 @@ +
+
+

Editor Guide 🤓

+
+
+

Things to Know

+
    +
  • We use a markdown editor that uses Jekyll front matter.
  • +
  • Most of the time, you can write inline HTML directly into your posts.
  • +
  • We support native Liquid tags and created some fun custom ones, too! Trying embedding a Tweet or GitHub issue in your post.
  • +
  • Links to unpublished posts are shareable for feedback/review.
  • +
  • When you're ready to publish, set the published variable to true.
  • +
+ +

Front Matter

+

Custom variables set for each post, located between the triple-dashed lines in your editor. Here are a list of possibilities:

+
    +
  • title: title of your article
  • +
  • published: boolean that determines whether or not your article is published
  • +
  • description: description area in Twitter cards and open graph cards
  • +
  • tags: max of four tags, needs to be comma-separated
  • +
  • canonical_url: link for canonical version of content
  • +
  • cover_image: cover image for post, accepts a URL.
    The best size is 1000 x 420.
  • +
+

Markdown Basics

+

Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out this cheat sheet.

+ +

Bold & Italic

+

Italics: *asterisks* or _underscores_

+

Bold: **double asterisks** or __double underscores__

+ +

Links

+

I'm an inline link: [I'm an inline link](put-link-here)

+ +

Inline Images

+

+ example image, with sloan + ![Alt text of image](put-link-to-image-here) +

+ +

Headers

+

Add a header to your post with this syntax:

+
+      
#One '#' for a h1 header
##Two '#'s for a h2 header
...
######Six '#'s for a h6 header
+
+

One '#' for a h1 header

+

Two '#'s for a h2 header

+
Six '#'s for a h6 header
+ +

Liquid Tags

+

We support native Liquid tags in our editor, but have created our own custom tags listed below:

+ +

dev.to Article/Post Embed

+

All you need is the full link of the article:

+ {% link https://dev.to/kazz/boost-your-productivity-using-markdown-1be %} + +

dev.to Comment Embed

+

All you need is the ID at the end of a comment URL. To get the comment link, click the top right arrow on a comment and then click "Permalink". Here's an example:

+ {% devcomment 2d1a %} + +

dev.to Podcast Episode Embed

+

All you need is the full link of the podcast episode:

+ {% podcast https://dev.to/basecspodcast/s2e2--queues-irl %} + +

Twitter Embed

+

Using the Twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet id from the url.

+ {% twitter 834439977220112384 %} + +

GitHub Issue or Comment Embed

+

All you need is the GitHub issue or comment URL:

+ {% github https://github.com/thepracticaldev/dev.to/issues/9 %} + +

GitHub Gist Embed

+

All you need is the gist link:

+ {% gist https://gist.github.com/QuincyLarson/4bb1682ce590dc42402b2edddbca7aaa %} + +

YouTube Embed

+

All you need is the YouTube id from the URL:

+ {% youtube 9z-Pdfxxdyo %} + +

CodePen Embed

+

All you need is the full CodePen link, ending in the pen ID code, as follows:

+ {% codepen https://codepen.io/twhite96/pen/XKqrJX %} + +

Instagram Embed

+

All you need is the Instagram post id from the URL.

+ {% instagram BXgGcAUjM39 %} + +

Parsing Liquid Tags as a Code Example

+

To parse Liquid tags as code, simply wrap it with a single backtick or triple backticks.

+

`{% mytag %}{{ site.SOMETHING }}{% endmytag %}`

+

One specific edge case is with using the raw tag. To properly escape it, use this format:

+

`{% raw %}{{site.SOMETHING }} {% ``endraw`` %}`

+ +

Common Gotchas

+

+ Lists are written just like any other Markdown editor. + If you're adding an image in between numbered list, though, be sure to tab the image, + otherwise it'll restart the number of the list. + + Here's an example of what to do: + example image of writing lists with images in Markdown +

+ +

Here's the Markdown cheatsheet again for reference.

+ Happy posting! 📝 +
+
+
+
+
diff --git a/app/views/pages/_wall_of_patrons.html.erb b/app/views/pages/_wall_of_patrons.html.erb new file mode 100644 index 0000000000000..d9510bd26b6a7 --- /dev/null +++ b/app/views/pages/_wall_of_patrons.html.erb @@ -0,0 +1,17 @@ +<% cache("wall-of-patrons", expires_in: 3.hours) do %> + + +
+

Wall of Patrons and Scholars

+ <% @members.each do |member| %> + + <% end %> +

Thank you for being a dev.to sustaining member!

+
+<% end %> \ No newline at end of file diff --git a/app/views/pages/about.html.erb b/app/views/pages/about.html.erb new file mode 100644 index 0000000000000..c89fcee4eb8f6 --- /dev/null +++ b/app/views/pages/about.html.erb @@ -0,0 +1,68 @@ +<% title "About The Practical Dev" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ About dev.to(<%= image_tag "emoji/apple-waving-hand.png", style: "width: 55px; vertical-align: text-bottom;" %>) +

+
+
+

+ Where programmers share ideas and help each other grow. It is an online community for sharing and discovering great ideas, having debates, and making friends. Anyone can share articles, questions, discussions, etc. as long as they have the rights to the words they are sharing. Cross-posting from your own blog is welcome. +

+

Leadership

+ + + + + + + + + + + + + +
Ben Halpern + Ben Halpern, Founder
+ Ben manages content, is the core maintainer of the dev.to application, and makes jokes on the Internets. +
Jess Lee + Jess Lee, Co-Founder
+ Jess leads day-to-day operations, manages content, and contributes to the dev.to codebase. +
Peter Frank + Peter Frank, Co-Founder
+ Peter focuses on strategy, investor relations, and sending dev.to swag around the globe. +
+

+ The platform was created in 2016. The Twitter account, @ThePracticalDev was around before then. We are based out of New York City. +

+ +
+
diff --git a/app/views/pages/appacademy_info.html.erb b/app/views/pages/appacademy_info.html.erb new file mode 100644 index 0000000000000..5b6db6c2e46ec --- /dev/null +++ b/app/views/pages/appacademy_info.html.erb @@ -0,0 +1,47 @@ +<% title "App Academy Information" %> + +<%= content_for :page_meta do %> + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ Hey there App Academy 👋 +

+
+
+

Thanks for checking out dev.to, a community where programmers share ideas and help each other grow. We're a place to discover and create articles, have friendly debates, and make new connections and friends.
+ + Anyone is welcome to share articles, questions, and start discussions. You can also cross-post from your own blog (including setting the canonical_url)!
+ + We're excited that the friendly folks at AppAcademy have sent you our way. There are a few ways you can get started on the site:

+ +

Create an Account

+

You can sign up by authenticating via Twitter and/or GitHub. You’ll then be able to write an intro post, fill out your profile, and start following authors and tags.

+ +

Leave a Comment

+

A great way to start engaging with the community is by leaving a comment. It can be as simple as “Great article” or “Thanks for sharing.” Because the articles on dev.to are created by the actual author, you’re able to engage in an authentic two-way dialogue to ask questions and provide constructive feedback. We've found that these exchanges tend to be much more positive and productive than the conversations that tend to take place on aggregators.

+ +

Write an Article

+

When you’re ready, consider writing an article of your own. It doesn’t have to set the world on fire or be the hardest-hitting technical breakdown of all time, just sharing your experience and individual perspective can be terrifically helpful. The act of writing is also very valuable both personally and professionally -- it helps force you to organize your ideas, and also showcases to future employers that you know how to communicate effectively on technical topics.
+ + If you’d like some feedback on your draft, simply keep “published” set to “false” and send an email to yo@dev.to. We’d be happy to get in touch and give you some thoughts and advice before you hit publish.
+ + Welcome to the dev.to community! Please be sure to reach out via Twitter and/or email if we can ever be of help 😀 +

+ +
+
diff --git a/app/views/pages/badges.html.erb b/app/views/pages/badges.html.erb new file mode 100644 index 0000000000000..51916db0fec6f --- /dev/null +++ b/app/views/pages/badges.html.erb @@ -0,0 +1,65 @@ +<% title "Add the DEV Badge to your personal site" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + +
+
+
+
+
+

+ Add the DEV Badge to your personal site +

+
+
+

+ Show visitors that you are an active member of our wonderful community. Put the badge on your personal website or use it as you see fit. +

+ <% if user_signed_in? %> +

+ + <%= current_user.name%>'s DEV Profile + +

+

+ Make the image as big or as small as you like by modifying the height and width attributes. The badge is an SVG hosted on Amazon Cloudfront and is only 2kb in size. +

+

+ Here is the full code for adding the badge with a link to your profile: +

+
+
+<a href="https://dev.to/<%= current_user.username %>">
+  <img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" alt="<%= current_user.name%>'s DEV Profile" height="30" width="30" />
+</a>
+        
+ <% else %> +

+ +

+

+ Log in to view your custom embed code +

+

+ <% end %> +
+
diff --git a/app/views/pages/bounty.html.erb b/app/views/pages/bounty.html.erb new file mode 100644 index 0000000000000..00ff0ccd4bc5e --- /dev/null +++ b/app/views/pages/bounty.html.erb @@ -0,0 +1,86 @@ +<% title "Reporting Vulnerabilities" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + +<% end %> + +
+
+
+
+
+

+ Reporting Vulnerabilities to dev.to +

+
+
+

+ + octopus attacking our systems + +

+

+ Found a vulnerability in our systems? Shoot us an email at yo@dev.to. You'll hear back from us within two weeks at the latest, and we'll let you know a few things: +

+
    +
  • If it's been reported previously,
  • +
  • Whether or not we think it's an issue,
  • +
  • And if it's eligible for a reward.
  • +
+

+ When submitting a report, we ask that you do NOT attempt any findings on a community member's article or comments as a courtesy to other members. + Please create your own article and leave comments on your private draft. + We use Ruby on Rails, and your report may affect Rails, Ruby, or other parts of our technology stack. + We kindly request your patience before submitting these issues. + Not following these rules will void any reward. +

+

+ Vulnerabilties are assessed via BugCrowd's taxonomy rating and our judgment. We strive to be honest, fair and reasonable based on the current size of our current overall operating budget. +

+
    +
  • Low risk vulnerabilities will be rewarded with $50 USD.
  • +
  • Medium risk vulnerabilities will be rewarded with $100 USD.
  • +
  • High risk vulnerabilities will be rewarded with $150 USD.
  • +
+

+ Thanks to those who have helped us by finding, fixing, and disclosing security issues safely: +

+
    + <% hunters = [ 'Shintaro Kobori', + 'Mohammad Abdullah', + 'Guilherme Scombatti', + 'Sajibe Kanti', + 'Mustafa Khan', + 'Footstep Security', + 'Zee Shan', + 'Muhammad Muhaddis', + 'Ismail Hossain', + 'Chakradhar Chiru', + 'Vis Patel', + 'Ahsan Khan', + 'Yeasir Arafat', + 'Prial Islam', + 'Pritesh Mistry', + 'Jerbi Nessim', + 'Kishan Kumar', + 'Md. Nur A Alam Dipu', + 'Aman Mahendra', + 'Kaushik Roy', + ] %> + <% hunters.shuffle.each do |hunter| %> +
  • <%= hunter %>
  • + <%end %> +
+

+
+
diff --git a/app/views/pages/code_of_conduct.html.erb b/app/views/pages/code_of_conduct.html.erb new file mode 100644 index 0000000000000..24cdf6c9c7ee6 --- /dev/null +++ b/app/views/pages/code_of_conduct.html.erb @@ -0,0 +1,61 @@ +<% title "The Practical Dev Code of Conduct" %> +<%= content_for :page_meta do %> + + + + + + + + + + + + + + +<% end %> + +
+
+
+ +
+
+

Code of Conduct

+
+
+

Our Pledge

+

In the interest of fostering an open and welcoming environment, we as moderators of dev.to pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

+

Our Standards

+

Examples of behavior that contributes to creating a positive environment include:

+
    +
  • Using welcoming and inclusive language
  • +
  • Being respectful of differing viewpoints and experiences
  • +
  • Gracefully accepting constructive criticism
  • +
  • Focusing on what is best for the community
  • +
  • Showing empathy towards other community members
  • +
+

Examples of unacceptable behavior by participants include:

+
    +
  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • +
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • +
  • Public or private harassment
  • +
  • Publishing others' private information, such as a physical or electronic address, without explicit permission
  • +
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • +
+

Our Responsibilities

+

Moderators are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

+

Moderators have the right and responsibility to remove comments or other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any members for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

+

Member Responsibilities

+

All participants in the community are expected to abide by Our Standards (described above).

+

Sustaining members have an even higher responsibility in helping us uphold the community’s values. Any violations of our Code of Conduct are grounds for removal from the membership program.

+

Scope

+

This Code of Conduct applies both online and in public spaces when an individual is representing the community. Examples of representing a community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of the community may be further defined and clarified by moderators.

+

Enforcement

+

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the team at yo@dev.to. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The moderation team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

+

Moderators who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the community's leadership.

+

Attribution

+

This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4.

+
+
diff --git a/app/views/pages/contact.html.erb b/app/views/pages/contact.html.erb new file mode 100644 index 0000000000000..00e22b80726d0 --- /dev/null +++ b/app/views/pages/contact.html.erb @@ -0,0 +1,45 @@ +<% title "Contact The Practical Dev" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + +
+
+

+ Contact +

+
+
+

+ The Practical Dev would love to hear from you! +

+

+ Email: yo@dev.to 😁 +

+

+ Twitter: @thepracticaldev 👻 +

+

+ Pleaes make a github issue for feature requests: thepracticaldev/dev.to +

+
+
diff --git a/app/views/pages/editor_guide.html.erb b/app/views/pages/editor_guide.html.erb new file mode 100644 index 0000000000000..b001fc7d709b9 --- /dev/null +++ b/app/views/pages/editor_guide.html.erb @@ -0,0 +1,13 @@ +<% title "Editor Guide" %> + +<%= content_for :page_meta do %> + + + + +<% end %> + +
+
+
+<%= render "editor_guide_text" %> \ No newline at end of file diff --git a/app/views/pages/faq.html.erb b/app/views/pages/faq.html.erb new file mode 100644 index 0000000000000..07215a7982e36 --- /dev/null +++ b/app/views/pages/faq.html.erb @@ -0,0 +1,164 @@ +<% title "FAQ for dev.to()" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ Frequently Asked Questions 🤔 +

+
+
+

Some of these are not actually asked frequently, but they're still good to know. +

+

General FAQs | Member FAQs

+

+ Who can post to dev.to? +
+ Anyone! Yes, you have permission to make a new post of any kind as long as it meets our community guidelines and gets through common-sense spam filters. Your post is subject to removal at the discretion of the moderators if they believe it does not meet the requierements of our code of conduct. +

+

+ How do I get featured on the home page? +
+ The home page is selected by our editorial team. You can email us with any specific questions. +

+

+ Can I cross-post something I've already written on my own blog or Medium? +
+ Absolutely, as long as you have the rights you need to do so! And if it's of high quality, we'll feature it. +

+ How do I change my Twitter/GitHub username? +
+ Email yo@dev.to and we'll take care of it. +

+ What about my post's Google ranking? +
+ You can set the canonical_url of your post before publishing so that Google knows where to send the link juice (that precious, precious link juice). +

+

+ I found a bug (not a security vulnerability). How do I report it? +
+ Please create an issue on our repo. +

+

+ I found a security vulnerability. How do I report it? +
+ Please email yo@dev.to. +

+

+ How do I report spam? +
+ For a specific comment: navigate to the comment and click the dropdown arrow to report abuse. +

+ For a specific article: navigate to the article, scroll to the bottom and click report abuse. +

+ In general, you can fill out the report abuse form. +

+ How does dev.to make money? +
+ Right now, we count on our sustaining members and sponsors. We also sell some merchandise on The DEV Shop. +

+

+ What's up with your sponsors? +
+ If you have questions about sponsorships (i.e. how to turn off sponsor displays), visit our sponsorship info page. +

+

+ How do I delete my account? +
+ Please e-mail yo@dev.to to delete your account. +

+

+ Do I own the articles that I publish? + Yes, you own the rights to the content you create and post on dev.to and you have the full authority to post, edit, and remove your content as you see fit.

+ By posting content on dev.to, you give us a nonexclusive license to publish it, including anything reasonably related to publishing it (like storing, displaying, reformatting, and distributing it). +

+

+ Will you put ads on my posts' pages? +
+ No ad will ever be placed next to a user's post without their full partnership on the matter. +

+

+ How do I set a cover image on my post? +
+ Include `cover_image: [url]` in the front matter of your post. For more information on our editor, check out our editor guide. +

+

+ I heard you were planning on open sourcing the code. Is that ever going to happen? +
+ Yes, we'll be open sourcing early January 2018. +

+

Member FAQs

+

+ When will I get access to beta features? + We'll be rolling out beta features on a regular basis. Check your settings page to enable/disable them. +

+

+ How do I claim my gift (stickers, swagpack, etc.)? +
You should receive an e-mail with instructions within 24-hours of becoming a member. +

+

+ As a Level 3 member, I received my shirt but no stickers in the mail. +
We mail out the sticker packs separately from the shirts. Please be patient! If you don't recieve the stickers within three weeks (domestic) or six weeks (international), e-mail members@dev.to for help. +

+

+ How do I cancel my membership? +
+ Go to your settings page and click 'cancel membership'. +

+

+ I have a billing issue. +
+ Please e-mail members@dev.to immediately. +

+

+ How do scholarships work? +
+ Scholarship recipients receive a yearly 'workshop pass' that provides full access to dev.to workshops and webinars. +

+

+ How are scholarships provided? +
+ Scholarship are provided through our scholarship fund which takes contributions from our sponsors and individual patrons. +

+

+ How do I apply for a scholarship? +
+ You can fill out the scholarship application on our scholarships page. +

+

+ When will I hear back about my scholarship application? +
+ Within 1-2 weeks. +

+

+ I have more questions. +
+ Great! We're happy to answer them. Please email members@dev.to! +

+
+
diff --git a/app/views/pages/generator.html.erb b/app/views/pages/generator.html.erb new file mode 100644 index 0000000000000..bef04f7e42256 --- /dev/null +++ b/app/views/pages/generator.html.erb @@ -0,0 +1,143 @@ +<% title "O RLY Parody Book Generator for Slack" %> +<%= stylesheet_link_tag 'application', media: 'all' %> + +<%= javascript_include_tag 'application' %> + + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + +
+ +

+ loading + Making Your Own Parody Covers + Add to Slack +

Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!

+ Add to Slack +
+ Loved by thousands of Slack teams! +
+ + +
+
+

But don't thank @ThePracticalDev for this one

+

This tool was created with love by Charles Berlin (@AModelEngineer) +

+
+

Using the Tool

+
+      /orly {title};{topText};{author};{image1-40(optional)};{theme0-16(optional)}
+    
+

Animal Codes

+
<%= image_tag "1.png", alt: 'grizzly bear' %>1
+
<%= image_tag "2.png", alt: 'cat' %>2
+
<%= image_tag "3.png", alt: 'coyote' %>3
+
<%= image_tag "4.png", alt: 'cow' %>4
+
<%= image_tag "5.png", alt: 'horse' %>5
+
<%= image_tag "6.png", alt: 'deer with antlers' %>6
+
<%= image_tag "7.png", alt: 'baboon' %>7
+
<%= image_tag "8.png", alt: 'wombat' %>8
+
<%= image_tag "9.png", alt: 'platypus' %>9
+
<%= image_tag "10.png", alt: 'bat' %>10
+
<%= image_tag "11.png", alt: 'crested pelican' %>11
+
<%= image_tag "12.png", alt: 'shoebill' %>12
+
<%= image_tag "13.png", alt: 'wry-bill (bird)' %>13
+
<%= image_tag "14.png", alt: 'raven' %>14
+
<%= image_tag "15.png", alt: 'ostrich' %>15
+
<%= image_tag "16.png", alt: 'chameleon' %>16
+
<%= image_tag "17.png", alt: 'frog' %>17
+
<%= image_tag "18.png", alt: 'mexican axolotl (salamander)' %>18
+
<%= image_tag "19.png", alt: 'lizard' %>19
+
<%= image_tag "20.png", alt: 'rattlesnake' %>20
+
<%= image_tag "21.png", alt: 'catfish (sheatfish)' %>21
+
<%= image_tag "22.png", alt: 'marbled angler fish' %>22
+
<%= image_tag "23.png", alt: 'john dory fish' %>23
+
<%= image_tag "24.png", alt: 'European lamprey or eel (stone sucker)' %>24
+
<%= image_tag "25.png", alt: 'short sunfish' %>25
+
<%= image_tag "26.png", alt: 'butterfly' %>26
+
<%= image_tag "27.png", alt: 'moth' %>27
+
<%= image_tag "28.png", alt: 'fly' %>28
+
<%= image_tag "29.png", alt: 'dragonfly' %>29
+
<%= image_tag "30.png", alt: 'stinkbug' %>30
+
<%= image_tag "31.png", alt: 'spider' %>31
+
<%= image_tag "32.png", alt: 'scorpion' %>32
+
<%= image_tag "33.png", alt: 'crab' %>33
+
<%= image_tag "34.png", alt: 'lobster' %>34
+
<%= image_tag "35.png", alt: 'horseshoe crab' %>35
+
<%= image_tag "36.png", alt: 'sea cucumber' %>36
+
<%= image_tag "37.png", alt: 'abalone' %>37
+
<%= image_tag "38.png", alt: 'jellyfish' %>38
+
<%= image_tag "39.png", alt: 'coral' %>39
+
<%= image_tag "40.png", alt: 'two mushrooms' %>40
+ +

Color Codes

+
0
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
+ +
+ + diff --git a/app/views/pages/information.html.erb b/app/views/pages/information.html.erb new file mode 100644 index 0000000000000..c6091aba19027 --- /dev/null +++ b/app/views/pages/information.html.erb @@ -0,0 +1,69 @@ +<% title "About The Practical Dev" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + +
+
+
+
+
+

+ More information about dev.to(👋) +

+
+ + +
diff --git a/app/views/pages/live.html.erb b/app/views/pages/live.html.erb new file mode 100644 index 0000000000000..dfd8e24b37424 --- /dev/null +++ b/app/views/pages/live.html.erb @@ -0,0 +1,56 @@ +<% if user_signed_in? %> + <%= javascript_pack_tag 'sendbird', defer: true %> +<% end %> +<% title "DEV LIVE" %> + + + + + + + + + + + + + + + + + + + +<% if current_user&.has_role?(:super_admin) || (Flipflop.live_is_live? && current_user&.workshop_eligible?) %> +
+
+ +
+
+
" data-sendbird-livechat-url="<%= ENV["SENDBIRD_LIVECHAT_URL"] %>">
+
+
+
DEV Live is in beta. If you are having issues, you may need to try another browser or contact members@dev.to for support. ❤️
+<% elsif Flipflop.live_starting_soon? %> +
+

DEV LIVE <%= image_tag "emoji/emoji-one-television.png", style: "width: 55px; vertical-align: text-top;" %>

+

+ Our event is starting soon! Check back very shortly. +

+
+<% elsif Flipflop.live_is_live? %> +
+

We're currently L I V E <%= image_tag "emoji/emoji-one-television.png", style: "width: 55px; vertical-align: text-top;" %>

+

+ Our current event is available for
members with workshop passes or for scholars. +

+
+<% else %> +
+

Nothing is live right now. Check out the Events Page for a full schedule.

+
+<% end %> diff --git a/app/views/pages/markdown_basics.html.erb b/app/views/pages/markdown_basics.html.erb new file mode 100644 index 0000000000000..553709ff42f06 --- /dev/null +++ b/app/views/pages/markdown_basics.html.erb @@ -0,0 +1,76 @@ +<% title "Markdown Basics" %> + +<%= content_for :page_meta do %> + + + + +<% end %> + +
+
+
+
+
+

Markdown Basics 🤓

+
+
+ +

Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out this cheat sheet.

+ +

Bold & Italic

+

Italics: *asterisks* or _underscores_

+

Bold: **double asterisks** or __double underscores__

+ +

Links

+

I'm an inline link: [I'm an inline link](put-link-here)

+ +

Inline Images

+

+ example image, with sloan + ![Alt text of image](put-link-to-image-here) +

+ +

Headers

+

Add a header to your post with this syntax:

+
+      
#One '#' for a h1 header
##Two '#'s for a h2 header
...
######Six '#'s for a h6 header
+
+

One '#' for a h1 header

+

Two '#'s for a h2 header

+
Six '#'s for a h6 header
+ +

Liquid Tags

+

We support native Liquid tags in our editor, but have created our own custom tags listed below:

+ +

Twitter Embed

+

Using the twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet id from the url. + {% twitter 834439977220112384 %}

+ +

GitHub Issue or Comment Embed

+

All you need is the GitHub issue or comment URL.

+ {% github https://github.com/thepracticaldev/dev.to/issues/9 %} + +

GitHub Gist Embed

+

All you need is the gist link

+ {% gist https://gist.github.com/QuincyLarson/4bb1682ce590dc42402b2edddbca7aaa %} + +

YouTube Embed

+

All you need is the YouTube id from the URL.

+ {% youtube 9z-Pdfxxdyo %} + +

Instagram Embed

+

All you need is the Instagram post id from the URL.

+ {% instagram BXgGcAUjM39 %} + +

Parsing Liquid Tags as a Code Example

+

To parse Liquid tags as code, simply wrap it with a single backtick or triple backticks.

+

`{% mytag %}{{ site.SOMETHING }}{% endmytag %}`

+

One specific edge case is with using the raw tag. To properly escape it, use this format:

+

`{% raw %}{{site.SOMETHING }} {% ``endraw`` %}`

+ +

Here's the Markdown cheatsheet again for reference.

+ Happy posting! 📝 +
+
+
diff --git a/app/views/pages/membership.html.erb b/app/views/pages/membership.html.erb new file mode 100644 index 0000000000000..97ee26d5ee89d --- /dev/null +++ b/app/views/pages/membership.html.erb @@ -0,0 +1,339 @@ +<% title "The DEV Sustaining Membership" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + +<% end %> + +
+
+
+ + +
+
+ <% if flash[:error].present? %> +
+ ERROR: <%= sanitize(flash[:error]) %> +
+ <% end %> +
+
+ <% cache("membership-shared-area", expires_in: 1.hour) do %> + +

+ The DEV Community
Sustaining Membership +

+

+ Our community is special because of each and every one of you.
+

+

+ By contributing at any level, your support will help us continue our work of building a community that is open, kind, and constructive for programmers everywhere. +

+

+ We’ve put together some goodies that are described below and we’ll be expanding these perks over time, so you can expect even more in the long run. +

+

+ Thanks for (at least thinking about) becoming a dev.to sustaining member. The fact that you’re reading this means a lot to us. +

+
+
+
+
Level 1
+
+ Your support is appreciated. For $1 a month, you'll get: +
    +
  • Access to beta features
  • +
  • Added to our "Wall of Patrons and Scholars" with a link to your profile
  • +
+
+ +
+
+
+
+
Level 2
+
+ Double digits! For $10 a month, you'll get: +
    +
  • An exclusive sticker pack mailed to your door
  • +
  • 25% off The DEV Shop (forever!)
  • +
  • Added to our "Wall of Patrons and Scholars" with a link to your profile
  • +
  • Access to beta features
  • +
+
+ +
+
+
+
+
Level 3
+
+ Woohooo! For $25 a month, you'll get: +
    +
  • A "workshop pass" to all future dev.to workshops!! +
  • Stickers + t-shirt combo pack
  • +
  • 25% off The DEV Shop (forever!)
  • +
  • Added to our "Wall of Patrons and Scholars" with a link to your profile
  • +
  • Access to beta features
  • +
+
+ +
+
+
+
+
Level 4
+
+ When you contribute over $25 a month, your additional support goes toward our diversity/need-based scholarship fund, providing workshop passes to members who cannot afford it. Plus, all the perks from above. +
+ +
+
+
+
+
Level Triple-Unicorn +
+
+ For $1000 a month, your name will get the featured position on the Wall of Patrons and Scholars, everything described above, monthly private conversations with the DEV leadership, and an actual unicorn. Provided we can find one. +
+ + + +
+
+
+
+
+ <% end %> +
+
+
+ +
+
+
+
+
+
+ <%= render partial: "wall_of_patrons" %> +
+
+ + + + + diff --git a/app/views/pages/membership_form.html.erb b/app/views/pages/membership_form.html.erb new file mode 100644 index 0000000000000..a00edf0db1e01 --- /dev/null +++ b/app/views/pages/membership_form.html.erb @@ -0,0 +1,29 @@ +<% if user_signed_in? && current_user.monthly_dues == 0 %> +
+ <%= form_tag "/membership-action", id: "credit-card-form", class:"enroll-form" do %> +
+ <%= number_field_tag :input_amount, 25, class: "amount-input", step: "any", min: "1", id: "amount-input" %> +
$
+
+
+ +
+ <% end %> +<% elsif user_signed_in? %> + +<% else %> + +<% end %> \ No newline at end of file diff --git a/app/views/pages/now.html.erb b/app/views/pages/now.html.erb new file mode 100644 index 0000000000000..f82bc6541ed40 --- /dev/null +++ b/app/views/pages/now.html.erb @@ -0,0 +1,70 @@ +<% title "Now" %> + +<%= content_for :page_meta do %> + + + + +<% end %> + +
+
+
+ + +
+
+ +
+
+

+ The Best Time is Now +

+
+
+

+ One of the most common things we hear developers say they wished they were doing more of, is writing about their work and sharing it with others. dev.to is fundamentally built to help facilitate that process. It's well established that writing and sharing your work is just about the best thing you can do to help your own understanding and boost your career prospects. +

+

+ As the saying goes, "The best time to plant a tree was 20 years ago. The second best time is now." In order to help you take the leap, we've created some templates for your first DEV post. You're welcome to post about anything related to software development, but you may want to start with one of these templates. +

+

+ Simply click one of these blue buttons to launch a ready-made template in our new article editor. Have fun! +

+

+ Today I Learned + What new concept have you learned recently? (it doesn't have to be today) There may be some other devs out there who could benefit from a bit of knowledge share. Here's an example +

+

+ X In 30 Seconds + Flex your ability to explain something simply and briefly. Can you cover a topic in only one paragraph? Give it a shot. Here's an example. +

+

+ Letter to My Past Self + Now that you've made some progress in your journey, what realization have you made that could have saved you from some struggle earlier in your career? Here's an example +

+

+ The dev.to editor uses Markdown syntax. Here's the guide. Thanks so much for being a caring member of the DEV community. We're all in this together. +

+
+ ❤️ +
+
+
+
diff --git a/app/views/pages/phishing.html.erb b/app/views/pages/phishing.html.erb new file mode 100644 index 0000000000000..01ef7c8c62499 --- /dev/null +++ b/app/views/pages/phishing.html.erb @@ -0,0 +1,45 @@ +<% title "Gone Phishing" %> + +
+
+
+
+ <% if @user %> +
+

+ 👋 +
+ Thanks for being an awesome dev.to member! +

+ +

This is a demonstration of the target="_blank" vulnerability that Facebook hasn't fixed. Here's how we did it.

+

And if you have a moment, our UX team would love to ask you a few questions.
Please sign up for a time slot.

+

Sorry if this was annoying.
You can click here and go back to Facebook if you're mad 😛

+
+
+ <% else %> +
+

Greetings from dev.to 🖖

+

We're a community of developers
(and we suspect you might be one too.) +
+

Join us in sharing & discovering great ideas, having debates, and making friends.

+
+

Sign Up

+
+
+

..and in case you were wondering:

+ +

This is a demonstration of the target="_blank" vulnerability that Facebook hasn't fixed. Here's how we did it.

+

Also, sorry if this was annoying.
You can click here and go back to Facebook if you're mad 😛

+
+
+ <% end %> + +
+ + + diff --git a/app/views/pages/privacy.html.erb b/app/views/pages/privacy.html.erb new file mode 100644 index 0000000000000..4b3c2760537f4 --- /dev/null +++ b/app/views/pages/privacy.html.erb @@ -0,0 +1,56 @@ +<% title "Privacy Policy for The Practical Dev" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ Privacy Policy +

+
+
+

+ This Privacy Policy governs the manner in which Dev (The Practical Dev) collects, uses, maintains and discloses information collected from users (each, a "User") of the https://dev.to/ website ("Site"). +

+

Personal identification information

+

+ We may collect personal identification information from Users in a variety of ways in connection with activities, services, features or resources we make available on our Site. Users may visit our Site anonymously. We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain Site related activities. +

+

Non-personal identification information

+

+ We may collect non-personal identification information about Users whenever they interact with our Site. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our Site, such as the operating system and the Internet service providers utilized and other similar information. +

+

Web browser cookies

+

+ Our Site may use "cookies" to enhance User experience. User's web browser places cookies on their hard drive for record-keeping purposes and sometimes to track information about them. User may choose to set their web browser to refuse cookies, or to alert you when cookies are being sent. If they do so, note that some parts of the Site may not function properly. +

+

Google Analytics

+

+ Our site collects information about your browsing via Google Analytics and this data can be cross-referenced with other data from your profile. We do not share any data that allows Google to personally identify you. +

+
+
diff --git a/app/views/pages/report-abuse.html.erb b/app/views/pages/report-abuse.html.erb new file mode 100644 index 0000000000000..fddf1a9f3ec9f --- /dev/null +++ b/app/views/pages/report-abuse.html.erb @@ -0,0 +1,29 @@ +<% title "Report abuse" %> +<%= content_for :page_meta do %> + + + + + + + + + + +<% end %> + +
+
+
+ +
+
+

Report Abuse

+
+
+

+ Thank you for reporting any abuse that violates our code of conduct or terms and conditions. We continue to try to make this environment a great one for everybody. +

+ <%= render 'feedback_messages/form' %> +
+
diff --git a/app/views/pages/rlyweb.html.erb b/app/views/pages/rlyweb.html.erb new file mode 100644 index 0000000000000..85c5bfeed4356 --- /dev/null +++ b/app/views/pages/rlyweb.html.erb @@ -0,0 +1,202 @@ +<% title "O RLY Parody Book Generator" %> +<%= stylesheet_link_tag 'application', media: 'all' %> + +<%= javascript_include_tag 'application' %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + +
+
+

O RLY Cover Generator

+
+
+ + + + + + + + + + + + + + + +
+
+
+ O RLY? Book Example + Download +
+
+

Insult your co-workers with snarky O RLY parody book covers!

+

PS. There are a few known edge cases that do not generate. Some characters and long words won't work, etc. If you want to report an issue, feel free DM @ThePracticalDev on Twitter.

+
+
+

Animal Codes

+
<%= image_tag "1.png" %>1
+
<%= image_tag "2.png" %>2
+
<%= image_tag "3.png" %>3
+
<%= image_tag "4.png" %>4
+
<%= image_tag "5.png" %>5
+
<%= image_tag "6.png" %>6
+
<%= image_tag "7.png" %>7
+
<%= image_tag "8.png" %>8
+
<%= image_tag "9.png" %>9
+
<%= image_tag "10.png" %>10
+
<%= image_tag "11.png" %>11
+
<%= image_tag "12.png" %>12
+
<%= image_tag "13.png" %>13
+
<%= image_tag "14.png" %>14
+
<%= image_tag "15.png" %>15
+
<%= image_tag "16.png" %>16
+
<%= image_tag "17.png" %>17
+
<%= image_tag "18.png" %>18
+
<%= image_tag "19.png" %>19
+
<%= image_tag "20.png" %>20
+
<%= image_tag "21.png" %>21
+
<%= image_tag "22.png" %>22
+
<%= image_tag "23.png" %>23
+
<%= image_tag "24.png" %>24
+
<%= image_tag "25.png" %>25
+
<%= image_tag "26.png" %>26
+
<%= image_tag "27.png" %>27
+
<%= image_tag "28.png" %>28
+
<%= image_tag "29.png" %>29
+
<%= image_tag "30.png" %>30
+
<%= image_tag "31.png" %>31
+
<%= image_tag "32.png" %>32
+
<%= image_tag "33.png" %>33
+
<%= image_tag "34.png" %>34
+
<%= image_tag "35.png" %>35
+
<%= image_tag "36.png" %>36
+
<%= image_tag "37.png" %>37
+
<%= image_tag "38.png" %>38
+
<%= image_tag "39.png" %>39
+
<%= image_tag "40.png" %>40
+ +

Color Codes

+
0
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
+
+

But don't thank @ThePracticalDev for this one

+

This tool was created with love by Charles Berlin (@AModelEngineer) +

+
+ diff --git a/app/views/pages/scholarships.html.erb b/app/views/pages/scholarships.html.erb new file mode 100644 index 0000000000000..124b7ba8b179c --- /dev/null +++ b/app/views/pages/scholarships.html.erb @@ -0,0 +1,54 @@ +<% title "DEV Scholarships" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + +
+
+
+
+
+
+

+ The DEV Scholarship +

+
+

+ This scholarship is for anyone interested in attending DEV workshops but does not have the means to be a level 3 sustaining member. +

+

+ Scholarship recipients will receive full access to all DEV workshops for one year. These workshops are taught by experts from the community and range from beginner to advanced topics. Check out our upcoming sessions. +

+ <% if current_user && current_user.scholar %> +

+ Congratulations on your DEV scholarship! + <% if current_user.workshop_expiration %> + Your scholarship will end on + <%= current_user.workshop_expiration.strftime("%b %d, %Y") %>. + <% end %> +

+ <% else %> +

+ We encourage you to apply below and if within your means, to become a level 1 or 2 sustaining member. +

+
+ <% end %> +
+
diff --git a/app/views/pages/sponsors.html.erb b/app/views/pages/sponsors.html.erb new file mode 100644 index 0000000000000..4cb784fbb3deb --- /dev/null +++ b/app/views/pages/sponsors.html.erb @@ -0,0 +1,48 @@ +<% title "DEV Sponsors" %> + +<%= content_for :page_meta do %> + + + + +<% end %> + +
+
+
+ + + +
+
+
+
+

+ THANK YOU +

+

for supporting our community

+

">Gold Sponsors">

+
+
+ "> +

TripleByte is a remarkably efficient job placement platform. So much about about landing at a great engineering org is having people in your corner during the process. TripleByte qualifies you through a series of their own interviews in order to champion for you. You'll understand once you take the quiz. It's a wonderful blind-spot-exposing experience.

+
+
+ " /> +

Algolia's core product is extremely low-latency search which we make great use of on dev.to in a variety of ways. It powers our core search as well as the customization of your home feed based on the tags you follow. We have plans to integrate it elsewhere, as well. It has become one of the critical pieces of infrastructure for our whole offering — which, as you may know, is all about performance. Plus it's free to try.

+
+
+ "> +

Nylas provides email, calendar, and contact sync APIs that can power pretty much any app that deals with these services. They are a strong engineering team who have written about their feats here on dev.to. Check out their work, it's fantastic. PS, Nylas wanted us to tell you that they're hiring, and they'd love to identify some candidates from the community.

+
+
+
Interested in sponsoring dev.to? Email peter@dev.to
+
+
diff --git a/app/views/pages/sponsorship_faq.html.erb b/app/views/pages/sponsorship_faq.html.erb new file mode 100644 index 0000000000000..9cfc70c6eb813 --- /dev/null +++ b/app/views/pages/sponsorship_faq.html.erb @@ -0,0 +1,38 @@ +<% title "Sponsorship Info and FAQ" %> + +
+
+
+
+
+

+ Sponsorship Information, Policy and FAQ +

+
+
+

+ Who do you work with? +
+ We work with great developer-focused companies that are interested in supporting the DEV community. These sponsors are financially supporting our operations and will receive acknowledgment with on-site display units, and recognition posts. +

+

+ Do you have an "ethical advertising" policy? +
+ Yes! So nice of you to ask. In order to ensure your privacy (and the site’s performance), it is our policy to host all images ourselves and don’t allow any third-party tracking scripts. We don’t track you or sell your data. Sponsorships are for the benefit of the community. +

+

+ What if I don’t want to see these sponsorship units? +
+ You may opt-out of seeing sponsorship displays in your settings. However, you may still see occasional sponsor recognition posts. +
+

+ How can my company become a sponsor? +
+ Email peter@dev.to for more information. +

+ What if I have other questions? +
+ Please send an email to yo@dev.to. +

+
+
diff --git a/app/views/pages/swagnets.html.erb b/app/views/pages/swagnets.html.erb new file mode 100644 index 0000000000000..50f7f0b8f38e4 --- /dev/null +++ b/app/views/pages/swagnets.html.erb @@ -0,0 +1,33 @@ +<% title "Swagnets Information" %> + +<%= content_for :page_meta do %> + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ DEV Swagnets 😎 +

+
+
+

So, you've received a Swagnet.
Swagnets use the built-in magnets found in your laptop's display in order to stay put. That way, there's no residue and they easily pop on and off.
They're compatible with Macbooks and some PC laptops.

+ + Swagnet example on MacBook + +

We understand that some of you won't have a device that supports your new Swagnet, but we hope that you have a friend who can enjoy it :)
By the way, you can also buy Swagnets that benefit open-source projects: you can check those out here.
Comments? Suggestions? Ping us on Twitter or at yo@dev.to.

+ +
+
diff --git a/app/views/pages/terms.html.erb b/app/views/pages/terms.html.erb new file mode 100644 index 0000000000000..564fed397c02e --- /dev/null +++ b/app/views/pages/terms.html.erb @@ -0,0 +1,135 @@ +<% title "Terms of Use for The DEV Community" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + + + +
+
+
+
+
+

+ Web Site Terms and Conditions of Use +

+
+
+

+ 1. Terms +

+ +

+ By accessing this web site, you are agreeing to be bound by these + web site Terms and Conditions of Use, all applicable laws and regulations, + and agree that you are responsible for compliance with any applicable local + laws. If you do not agree with any of these terms, you are prohibited from + using or accessing this site. The materials contained in this web site are + protected by applicable copyright and trade mark law. +

+ +

+ 2. Use License +

+ +
    +
  1. + Permission is granted to temporarily download one copy of the materials + (information or software) on The DEV Community's web site for personal, + non-commercial transitory viewing only. This is the grant of a license, + not a transfer of title, and under this license you may not: + +
      +
    1. modify or copy the materials;
    2. +
    3. use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
    4. +
    5. attempt to decompile or reverse engineer any software contained on The DEV Community's web site;
    6. +
    7. remove any copyright or other proprietary notations from the materials; or
    8. +
    9. transfer the materials to another person or "mirror" the materials on any other server.
    10. +
    +
  2. +
  3. + This license shall automatically terminate if you violate any of these restrictions and may be terminated by The DEV Community at any time. Upon terminating your viewing of these materials or upon the termination of this license, you must destroy any downloaded materials in your possession whether in electronic or printed format. +
  4. +
+ +

+ 3. Disclaimer +

+ +
    +
  1. + The materials on The DEV Community's web site are provided "as is". The DEV Community makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties, including without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights. Further, The DEV Community does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its Internet web site or otherwise relating to such materials or on any sites linked to this site. +
  2. +
+ +

+ 4. Limitations +

+ +

+ In no event shall The DEV Community or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the materials on The DEV Community's Internet site, even if The DEV Community or a The DEV Community authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you. +

+ +

+ 5. Revisions and Errata +

+ +

+ The materials appearing on The DEV Community's web site could include technical, typographical, or photographic errors. The DEV Community does not warrant that any of the materials on its web site are accurate, complete, or current. The DEV Community may make changes to the materials contained on its web site at any time without notice. The DEV Community does not, however, make any commitment to update the materials. +

+ +

+ 6. Links +

+ +

+ The DEV Community has not reviewed all of the sites linked to its Internet web site and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by The DEV Community of the site. Use of any such linked web site is at the user's own risk. +

+ +

+ 7. Copyright / Takedown +

+ +

+ Users agree and certify that they have rights to share all content that they post on dev.to — including, but not limited to, information posted in articles, discussions, and comments. This rule applies to prose, code snippets, collections of links, etc. If you believe that a user has plagiarized content, misrepresented their identity, misappropriated work, or otherwise run afoul of DMCA regulations, please email yo@dev.to. +

+ +

+ 8. Site Terms of Use Modifications +

+ +

+ The DEV Community may revise these terms of use for its web site at any time without notice. By using this web site you are agreeing to be bound by the then current version of these Terms and Conditions of Use. +

+ +

+ 9. Governing Law +

+ +

+ Any claim relating to The DEV Community's web site shall be governed by the laws of the State of New York without regard to its conflict of law provisions. +

+ +

+ General Terms and Conditions applicable to Use of a Web Site. +

+
+
diff --git a/app/views/pages/twitter_monitor.html.erb b/app/views/pages/twitter_monitor.html.erb new file mode 100644 index 0000000000000..f24a495715d14 --- /dev/null +++ b/app/views/pages/twitter_monitor.html.erb @@ -0,0 +1,110 @@ + +
+<% if @twitter_countdown > 0 %> + +

+ <%= number_with_delimiter(@twitter_count, delimeter: ",") %> followers and counting +

+

+ <%= @twitter_countdown %> +

+

Away from 100k!

+ +<% else %> + Glitter throwing party time! + + + + +<% end %> +
+ +Glitter throwing party time! diff --git a/app/views/pages/workshops.html.erb b/app/views/pages/workshops.html.erb new file mode 100644 index 0000000000000..de9d335a1d987 --- /dev/null +++ b/app/views/pages/workshops.html.erb @@ -0,0 +1,27 @@ +<% title "The DEV Sustaining Membership" %> + +
+
+
+ + + +
+
+
+
+ +

+ DEV
WORKSHOPS +

+

We are launching regular workshops that will cover beginner to advanced topics and everything in-between. These will be taught by topic experts from the community. Topics we plan on covering early include web performance, Kubernetes, mechanical keyboards and much more.

+ +

Workshops are available to dev.to sustaining members with workshop passes. For those unable to become a sustaining member, we encourage you to apply for a scholarship. + +

February workshops will be announced soon.

+
\ No newline at end of file diff --git a/app/views/podcast_episodes/_meta.html.erb b/app/views/podcast_episodes/_meta.html.erb new file mode 100644 index 0000000000000..6940eaa4f9e58 --- /dev/null +++ b/app/views/podcast_episodes/_meta.html.erb @@ -0,0 +1,46 @@ +<% if @podcast %> + <% title @podcast.title + " — The Practical Dev" %> + + <%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + + + <% end %> +<% else %> + <% title "Podcasts on The Practical Dev" %> + <%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + + + <% end %> +<% end %> diff --git a/app/views/podcast_episodes/_podcast_bar.html.erb b/app/views/podcast_episodes/_podcast_bar.html.erb new file mode 100644 index 0000000000000..e071d0aae6ca0 --- /dev/null +++ b/app/views/podcast_episodes/_podcast_bar.html.erb @@ -0,0 +1,60 @@ + diff --git a/app/views/podcast_episodes/_subscribe_buttons.html.erb b/app/views/podcast_episodes/_subscribe_buttons.html.erb new file mode 100644 index 0000000000000..914aa806dbfbb --- /dev/null +++ b/app/views/podcast_episodes/_subscribe_buttons.html.erb @@ -0,0 +1,32 @@ + diff --git a/app/views/podcast_episodes/admin.html.erb b/app/views/podcast_episodes/admin.html.erb new file mode 100644 index 0000000000000..5146b555fb4cc --- /dev/null +++ b/app/views/podcast_episodes/admin.html.erb @@ -0,0 +1,52 @@ +<% title @podcast.title + " — The Practical Dev" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + + +<% end %> + + + diff --git a/app/views/podcast_episodes/edit.html.erb b/app/views/podcast_episodes/edit.html.erb new file mode 100644 index 0000000000000..673a24c93a023 --- /dev/null +++ b/app/views/podcast_episodes/edit.html.erb @@ -0,0 +1,62 @@ +
+ + <%= form_for(@podcast_episode) do |f| %> + <% if @podcast_episode.errors.any? %> +
+

<%= pluralize(@podcast_episode.errors.count, "error") %> prohibited this article from being saved:

+ +
    + <% @podcast_episode.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+ <% end %> + +
+ <%= f.label :title %>
+ <%= f.text_field :title, autocomplete: "off" %> +
+
+ <%= f.label :quote %>
+ <%= f.text_field :quote, autocomplete: "off" %> +
+
+ <%= f.label :remote_image_url, "Paste Image URL" %>
+ <%= f.text_field :remote_image_url, autocomplete: "off" %> +
+
+ <%= f.label :image, "Or Upload Image" %>
+ <%= f.file_field :image %> +
+ <% if @podcast_episode.image %> +
+ <%= image_tag @podcast_episode.image_url, width: 398, style: "border-radius:500px;height:auto;max-width:70%;" %> +
+ <% end %> +
+ <%= f.label :remote_social_image_url, "Paste Social Media Image URL" %>
+ <%= f.text_field :remote_social_image_url, autocomplete: "off" %> +
+
+ <%= f.label :social_image, "Or Upload Image" %>
+ <%= f.file_field :social_image %> +
+ <% if @podcast_episode.social_image %> +
+ <%= image_tag @podcast_episode.social_image_url, width: 398, style: "height:auto;max-width:70%;" %> +
+ <% end %> + +
+
+ <%= f.text_area :body %> +
+ +
+ <%= f.submit "Save Article" %> +
+ <% end %> + <%= render 'articles/tinymce' %> + +
diff --git a/app/views/podcast_episodes/show.html.erb b/app/views/podcast_episodes/show.html.erb new file mode 100644 index 0000000000000..08981cafa281c --- /dev/null +++ b/app/views/podcast_episodes/show.html.erb @@ -0,0 +1,122 @@ +<% title @episode.title %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + <% if @episode.social_image.present? %> + + + + <% else %> + + + + <% end %> + +<% end %> + + +<%= render "podcast_episodes/podcast_bar" %> + + +
+
+
"fetch", + :quality => "auto", + :sign_url => true, + :flags => "progressive", + :fetch_format => "jpg") %>)"> +

+ + <%= @podcast.title %><%= @podcast.title %> + +

+ <% if @episode.title.size > 60 %> +

<%= @episode.title %>

+ <% else %> +

<%= @episode.title %>

+ <% end %> +
+
+
+ <%=cl_image_tag(@podcast.image_url, + :type=>"fetch", + :crop => "fill", + :width => 420, + :height => 420, + :quality => "auto", + :sign_url => true, + :flags => "progressive", + :fetch_format => "auto", + :class => "main-image") + %> + Play Button + Pause Button +
+ play +
+
+
+
+ <% if !@episode.podcast.status_notice.empty? %> +
+

+ <%= @episode.podcast.status_notice %> +

+

+ Click here to download/listen +

+
+ <% end %> + <%= render "podcast_episodes/subscribe_buttons" %> +
+
+ <% if @episode.podcast.feed_url.include?("soundcloud") %> + <%= simple_format((@episode.processed_html || @episode.body).html_safe, sanitize: true) %> + <% else %> + <%= sanitize (@episode.processed_html || "").html_safe, + tags: %w(strong em a table tbody thead tfoot th tr td col colgroup del p h1 h2 h3 h4 h5 h6 blockquote time div span i em u b ul ol li dd dl dt q code pre img sup cite center small), + attributes: %w(href strong em class ref rel src title alt colspan height width size rowspan span value start data-conversation data-lang id) + %> + <% end %> +

+ Episode source +

+
+
+
+ <%= render "/comments/form", + commentable: @episode, + commentable_type: "PodcastEpisode" %> +
+ <% Comment.rooted_on(@episode.id,"PodcastEpisode").order("score DESC").limit(12).each do |comment| %> + <% cache ["comment_root_#{user_signed_in?}", comment] do %> + <%= render("/comments/comment", + comment:comment, + commentable: @episode, + is_view_root: true) %> + <% end %> + <% end %> +
+
+
+
+
diff --git a/app/views/reading_list_items/index.html.erb b/app/views/reading_list_items/index.html.erb new file mode 100644 index 0000000000000..3bb1521a836d5 --- /dev/null +++ b/app/views/reading_list_items/index.html.erb @@ -0,0 +1,62 @@ +<% title "Reading List - dev.to" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + +<% end %> + + + +
+ +
+ <% if user_signed_in? %> +
+
+ <% else %> + +

+ Sign in to see your reading list + <% end %> +
+
+ +
\ No newline at end of file diff --git a/app/views/stripe_subscriptions/create.html.erb b/app/views/stripe_subscriptions/create.html.erb new file mode 100644 index 0000000000000..61699c804af14 --- /dev/null +++ b/app/views/stripe_subscriptions/create.html.erb @@ -0,0 +1,60 @@ +<% title "Thank you so much! - DEV" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + + +<% end %> + +
+
+
+ + +
+
+ <% if flash[:error].present? %> +
+ ERROR + <%= flash[:error] %> +
+ <% end %> +
+
+ +

+ Thank you so much 🙏 +

+

+ You can manage your membership from your settings. +

+

+ Your support means so much to us. +

+


+
+
\ No newline at end of file diff --git a/app/views/tags/index.html.erb b/app/views/tags/index.html.erb new file mode 100644 index 0000000000000..3c4a3fd53bb57 --- /dev/null +++ b/app/views/tags/index.html.erb @@ -0,0 +1,41 @@ +<% title "Tags on dev.to" %> + +<%= content_for :page_meta do %> + + + + + + + + + + + + + + + + +<% end %> + + + +
+ +
+ <% @tags.each do |tag| %> + + <% end %> +
+ +
diff --git a/app/views/users/_billing.html.erb b/app/views/users/_billing.html.erb new file mode 100644 index 0000000000000..3f8c7d92b5008 --- /dev/null +++ b/app/views/users/_billing.html.erb @@ -0,0 +1,87 @@ + +

Billing Details

+ <% if current_user.stripe_id_code.blank? %> + <%= form_tag stripe_subscriptions_path, id: "credit-card-form" do %> +
+ <% if flash[:error].present? %> +
+

<%= flash[:error] %>

+
+ <% end %> +
You will be billed monthly based on your use of premium features. 🔒
+
+
+ +
+ <% end %> + <% else %> +
Your Credit Cards
+ <% @customer.sources.each do |source| %> +
+
<%= source.brand %> ending in <%= source.last4 %>
+ Expires <%= source.exp_month %> / <%= source.exp_year %> + <% if source.id == @customer.default_source %> + primary + <%= form_tag "/stripe_active_cards/#{source.id}", method: :delete do %> + + <% end %> + <% else %> + <%= form_tag "/stripe_active_cards/#{source.id}", method: :patch do %> + + <% end %> + <%= form_tag "/stripe_active_cards/#{source.id}", method: :delete do %> + + <% end %> + <% end %> +
+ <% end %> + <%= form_tag "/stripe_active_cards", id: "credit-card-form", method: :post do %> +
+
+ +
+ <% end %> + <% end %> + + + diff --git a/app/views/users/_integrations.html.erb b/app/views/users/_integrations.html.erb new file mode 100644 index 0000000000000..fad2060e8590e --- /dev/null +++ b/app/views/users/_integrations.html.erb @@ -0,0 +1,33 @@ +

Pin a few of your GitHub repos to your profile

+<% if @client %> +
+ <% @client.repositories.each do |repo| %> + <% if (user_repo = GithubRepo.find_by_name(repo.name)) && user_repo.featured %> +
+
+ <%= repo.name %> <%= "fork".html_safe if repo.fork %> + <%= form_for(user_repo) do |f| %> + + <% end %> +
+
+ <% else %> +
+
+ <%= repo.name %> <%= "fork".html_safe if repo.fork %> + <%= form_for(GithubRepo.new) do |f| %> + <%= f.hidden_field :github_id_code, value: repo.id %> + + <% end %> +
+
+ <% end %> + <% end %> +
+<% else %> + +<% end %> diff --git a/app/views/users/_membership.html.erb b/app/views/users/_membership.html.erb new file mode 100644 index 0000000000000..43c661359db48 --- /dev/null +++ b/app/views/users/_membership.html.erb @@ -0,0 +1,68 @@ +

Your Membership Features

+ +<% if current_user.monthly_dues >= 1000 %> + <% cache "store_coupons_user_#{current_user.id}_dues_#{current_user.monthly_dues}" do %> +

Shop Coupons

+
+ 🎟 25% Off Everything: + + <%= CouponGenerator.new(current_user.id,"member_discount").generate %> + +

+ <% if current_user.monthly_dues >= 2500 %> + 🎟 Level 3 Merch Gift (one time use): + + <%= CouponGenerator.new(current_user.id,"tee_pack").generate %> + +

+ 👆 This coupon will give you 100% off:
+ + DEV Tee Package (Unisex Cut) + + or + + DEV Tee Package (Women's Cut) + . +
+ Visit one of these links to claim your gift. The listed price is a placeholder that will be negated by the coupon. + <% else %> + 🎟 Level 2 Sticker Gift (one time use): + + <%= CouponGenerator.new(current_user.id,"sticker_pack").generate %> + +

+ 👆 This coupon will give you 100% off + + THE MEMBERS-ONLY STICKER PACK + . +
+ Visit link to claim your gift. The listed price is a placeholder that will be negated by the coupon. + <% end %> +
+

+ <% end %> +<% end %> +

Want to change your membership level?

+<%= form_tag "/stripe_subscriptions/current_user", method: :patch do %> +
+ <%= label_tag :amount, "Monthly Contribution ($):", style: 'width: 100%;' %> + <%= number_field_tag :amount, current_user.monthly_dues/100.0, class: "amount-input", step: "any", min: "1" %> +
+
+ <%= submit_tag "SUBMIT", class: "cta" %> +
+<% end %> +
+
+
+<%= form_tag "/stripe_subscriptions/current_user", method: :delete, onsubmit: "return confirm('Are you absolutely sure you want to perform this action?');" do %> +
Don't want to keep your membership?
+ +<% end %> diff --git a/app/views/users/_misc.html.erb b/app/views/users/_misc.html.erb new file mode 100644 index 0000000000000..57856bd7f3955 --- /dev/null +++ b/app/views/users/_misc.html.erb @@ -0,0 +1,72 @@ +<% if current_user.scholar %> +

Scholarship

+

+ Congratulations on your DEV scholarship! Your scholarship ends + <%= current_user.workshop_expiration.nil? ? "never" : current_user.workshop_expiration.strftime("%b %d, %Y") %>. +
+
+ See our events for the month! +

+<% end %> + +

Languages

+

Select which languages you'd prefer to see in your feed (beta)

+

+ This setting which languages you are more likely to see throughout the site, but you may still see other languages, especially english. +

+ +<%= form_for(@user) do |f| %> +
+
+ <%= f.check_box :prefer_language_en %> + <%= f.label :prefer_language_en, "English" %> +
+
+ <%= f.check_box :prefer_language_ja %> + <%= f.label :prefer_language_ja, "Japanese" %> +
+
+ <%= f.check_box :prefer_language_es %> + <%= f.label :prefer_language_es, "Spanish" %> +
+
+ <%= f.check_box :prefer_language_fr %> + <%= f.label :prefer_language_fr, "French" %> +
+
+ <%= f.check_box :prefer_language_it %> + <%= f.label :prefer_language_it, "Italian" %> +
+
+
+ + <%= f.hidden_field :tab, value: @tab %> + <%= f.submit "SUBMIT", class: "cta" %> +
+ +<% end %> + +

+ This feature is in beta and will improve over time. Another way to tailor your feed is to discover and follow members who write in your preferred language. +

+ +<% if Flipflop.display_sponsors? %> +

Sponsors

+

+ You have the option to remove sponsor messaging (where it is practical to do so). Our wonderful sponsors help sustain the platform and improve your experience, and we strive to make their presence unubtrusive, but feel free to use this setting if you wish. +

+ + <%= form_for(@user) do |f| %> +
+
+ <%= f.check_box :display_sponsors %> + <%= f.label :display_sponsors, "Display Sponsors" %> +
+
+
+ + <%= f.hidden_field :tab, value: @tab %> + <%= f.submit "SUBMIT", class: "cta" %> +
+ <% end %> +<% end %> \ No newline at end of file diff --git a/app/views/users/_notifications.html.erb b/app/views/users/_notifications.html.erb new file mode 100644 index 0000000000000..3c4c41bdad8f9 --- /dev/null +++ b/app/views/users/_notifications.html.erb @@ -0,0 +1,36 @@ +

Email Notification Settings

+<%= form_for(@user) do |f| %> +
+
+ <%= f.check_box :email_newsletter %> + <%= f.label :email_newsletter, "Send me periodic newsletter emails" %> +
+ <% if current_user.a_sustaining_member? %> +
+ <%= f.check_box :email_membership_newsletter %> + <%= f.label :email_membership_newsletter, "Send me membership newsletter emails" %> +
+ <% end %> +
+ <%= f.check_box :email_comment_notifications %> + <%= f.label :email_comment_notifications, "Send me an email when someone replies to me in a comment thread" %> +
+
+ <%= f.check_box :email_follower_notifications %> + <%= f.label :email_follower_notifications, "Send me an email when someone new follows me" %> +
+
+ <%= f.check_box :email_mention_notifications %> + <%= f.label :email_mention_notifications, "Send me an email when someone mentions me" %> +
+
+ <%= f.check_box :email_unread_notifications %> + <%= f.label :email_unread_notifications, "Send me occasional reminders that I have unread notifications on dev.to" %> +
+
+
+ + <%= f.hidden_field :tab, value: @tab %> + <%= f.submit "SUBMIT", class: "cta" %> +
+<% end %> diff --git a/app/views/users/_org_admin.html.erb b/app/views/users/_org_admin.html.erb new file mode 100644 index 0000000000000..aa210c2017fa5 --- /dev/null +++ b/app/views/users/_org_admin.html.erb @@ -0,0 +1,102 @@ + +
+

Organization Members

+ <% @organization.users.each do |user| %> +
"> + <%= user.name %> +
+ <% if user.org_admin && user == current_user %> + + <% elsif user.org_admin && user != current_user %> + + <%= form_tag "/users/remove_org_admin", onsubmit: "return confirm('Are you sure you want to take away admin status from #{user.name}?');" do %> + <%= hidden_field_tag 'user_id', user.id %> + + <% end %> + <% else %> + + <%= form_tag "/users/add_org_admin", onsubmit: "return confirm('Are you sure you want to give #{user.name} admin status?');" do %> + <%= hidden_field_tag 'user_id', user.id %> + + <% end %> + <%= form_tag "/users/remove_from_org", onsubmit: "return confirm('Are you sure you want remove #{user.name} from the organization?');" do %> + <%= hidden_field_tag 'user_id', user.id %> + + <% end %> + <% end %> +
+
+ <% end %> +

Grow the team

+
Invite teammates by sending them this secret. Keep the code secret and generate a new one regularly.
+ + <%= form_tag "/organizations/generate_new_secret", onsubmit: "return confirm('Are you sure you want to generate a new secret? All outstanding secrets will be invalid.');" do %> + + <% end %> +
+

Organization Details

+<%= form_for(@organization) do |f| %> +
+ <%= f.label :name %> + <%= f.text_field :name, maxlength: 50 %> +
+ <%= f.label :profile_image %> +
+ <% if @organization.profile_image_url.present? %> + + <%= @organization.name %> profile image + <%= f.file_field :profile_image %> + + <% else %> + <%= f.file_field :profile_image %> + <% end %> +
+
+ <%= f.label :twitter_username, "Twitter Username" %> + <%= f.text_field :twitter_username %> +
+
+ <%= f.label :github_username, "Github Username"%> + <%= f.text_field :github_username %> +
+
+ <%= f.label :text_color_hex, "Text color (hex)"%> + <%= f.text_field :text_color_hex, placeholder: "#ffffff", class: "jscolor {hash:true}" %> +
+
+ <%= f.label :bg_color_hex, "Background color (hex)"%> + <%= f.text_field :bg_color_hex, placeholder: "#000000", class: "jscolor {hash:true}" %> +
+
+ <%= f.label :url, "Site url" %> + <%= f.url_field :url, maxlength: 64, placeholder: "http://yoursite.com" %> +
+
+ <%= f.label :location %> + <%= f.text_field :location, maxlength: 64 %> +
+
+ <%= f.label :email %> + <%= f.text_field :email, maxlength: 64 %> +
+
+ <%= f.label :company_size, "Company Size" %> + <%= f.text_field :company_size, maxlength: 64 %> +
+
+ <%= f.label :story, "Our Story" %> + <%= f.text_area :story, maxlength: 200 %> +
+
+ <%= f.label :tech_stack, "Our Stack" %> + <%= f.text_area :tech_stack, maxlength: 200 %> +
+
+ <%= f.label :summary %> + <%= f.text_area :summary, maxlegth: 250 %> +
+
+ + <%= f.submit "SUBMIT", class: "cta" %> +
+<% end %> diff --git a/app/views/users/_org_member.html.erb b/app/views/users/_org_member.html.erb new file mode 100644 index 0000000000000..6beb363ddf07d --- /dev/null +++ b/app/views/users/_org_member.html.erb @@ -0,0 +1,14 @@ +
+

<%= @user.organization.name %>

+ <% @user.organization.users.each do |user| %> + + <% end %> +
+

Danger zone

+<%= form_tag "/users/leave_org", onsubmit: "return confirm('Are you sure you want to leave this organization?');" do %> +
+ <%= submit_tag "Leave Organization", class:"danger-button" %> +
+<% end %> \ No newline at end of file diff --git a/app/views/users/_org_non_member.html.erb b/app/views/users/_org_non_member.html.erb new file mode 100644 index 0000000000000..531fadfda7f56 --- /dev/null +++ b/app/views/users/_org_non_member.html.erb @@ -0,0 +1,65 @@ + +

Join An Organization

+<%= form_tag "/users/join_org" do %> +
+ <%= label_tag :org_secret, "Secret" %> + <%= text_field_tag :org_secret, nil, placeholder: "Provided to you by an org admin" %> +
+
+ <%= submit_tag "Join Organization" %> +
+<% end %> +

+
+

Or Create An Organization

+ +<%= form_for @organization do |f| %> +
+ <%= f.label :name %> + <%= f.text_field :name %> +
+
+ <%= f.label :slug, "Username" %> + <%= f.text_field :slug %> +
+
+ <%= f.label :profile_image %> + <%= f.file_field :profile_image %> +
+
+ <%= f.label :twitter_username, "Twitter Username" %> + <%= f.text_field :twitter_username %> +
+
+ <%= f.label :github_username, "Github Username"%> + <%= f.text_field :github_username %> +
+
+ <%= f.label :text_color_hex, "Text color (hex)"%> + <%= f.text_field :text_color_hex, placeholder: "#ffffff", class: "jscolor {hash:true}" %> +
+
+ <%= f.label :bg_color_hex, "Background color (hex)"%> + <%= f.text_field :bg_color_hex, placeholder: "#000000", class: "jscolor {hash:true}" %> +
+
+ <%= f.label :url, "Site url" %> + <%= f.url_field :url, placeholder: "http://yoursite.com" %> +
+ +
+ <%= f.label :summary %> + <%= f.text_area :summary %> +
+
+ <%= f.label :proof %> + <%= f.text_area :proof, placeholder: "This is just a quick blurb indicating or link that shows that you clearly are associated with this organization." %> +
+ You must have your organization's permission to submit this form. Dishonesty may result in a permanent ban. +
+
+
+ + <%= f.submit "SUBMIT", class: "cta" %> +
+<% end %> diff --git a/app/views/users/_organization.html.erb b/app/views/users/_organization.html.erb new file mode 100644 index 0000000000000..adde49764da3c --- /dev/null +++ b/app/views/users/_organization.html.erb @@ -0,0 +1,7 @@ +<% if @user.organization && @user.org_admin %> + <%= render "users/org_admin" %> +<% elsif @user.organization %> + <%= render "users/org_member" %> +<% else %> + <%= render "users/org_non_member" %> +<% end %> \ No newline at end of file diff --git a/app/views/users/_profile.html.erb b/app/views/users/_profile.html.erb new file mode 100644 index 0000000000000..205c60721e1f5 --- /dev/null +++ b/app/views/users/_profile.html.erb @@ -0,0 +1,122 @@ + + +<% if @user.identities.where(provider:'github').empty? %> + +<% end %> + +<% if @user.identities.where(provider:'twitter').empty? %> + +<% end %> +

+ + Add the DEV badge to your personal site. Click here for the code +

+<%= form_for(@user) do |f| %> +
+ <%= f.label :email %> + <%= f.text_field :email %> +
+
+ <%= f.label :email_public, "Display email on profile" %> + <%= f.check_box :email_public %> +
+
+ <%= f.label :username %> + <%= f.text_field :username, maxlength: 30 %> +
+
+ <%= f.label :name %> + <%= f.text_field :name %> +
+ <%= f.label :profile_image %> +
+ <% if @user.profile_image_url.present? %> + + <%= @user.username %> profile image + <%= f.file_field :profile_image %> + + <% end %> +
+ +
+ <%= f.label :looking_for_work %> + <%= f.check_box :looking_for_work %> +
+
+ <%= f.label :looking_for_work_publicly, "Display \"looking for work\" on profile"%> + <%= f.check_box :looking_for_work_publicly %> +
+
+ <%= f.label :contact_consent, "Recruiters can contact me about job opportunities"%> + <%= f.check_box :contact_consent %> +
+
+ <%= f.label :website_url %> + <%= f.url_field :website_url, maxlength: 64, placeholder: "http://yoursite.com" %> +
+
+ <%= f.label :summary %> + <%= f.text_area :summary, placeholder: "a short bio.", maxlength: 200 %> +
+
+ <% @user.bg_color_hex = user_colors(@user)[:bg] if @user.bg_color_hex.blank? %> + <%= f.label :bg_color_hex, "background color" %> + <%= f.text_field :bg_color_hex, placeholder: "#000000", class: "jscolor {hash:true}" %> +
+
+ <% @user.bg_color_hex = user_colors(@user)[:text] if @user.text_color_hex.blank? %> + <%= f.label :text_color_hex, "text color" %> + <%= f.text_field :text_color_hex, placeholder: "#ffffff", class: "jscolor {hash:true}" %> +
+
+ <%= f.label :location %> + <%= f.text_field :location, maxlength: 64 %> +
+
+ <%= f.label :education %> + <%= f.text_field :education, maxlength: 64 %> +
+
+ <%= f.label :employer_name %> + <%= f.text_field :employer_name, maxlength: 64 %> +
+
+ <%= f.label :employer_url %> + <%= f.text_field :employer_url, maxlength: 64 %> +
+
+ <%= f.label :employment_title %> + <%= f.text_field :employment_title, maxlength: 64 %> +
+
+ <%= f.label :mostly_work_with %> + <%= f.text_area :mostly_work_with, placeholder: "What tools and languages are you most experienced with? are you specialized or more of a generalist?", maxlength: 640 %> +
+
+ <%= f.label :currently_learning %> + <%= f.text_area :currently_learning, placeholder: "What are you learning right now? what are the new tools and languages you're picking up in 2018?", maxlength: 640 %> +
+
+ <%= f.label :currently_hacking_on %> + <%= f.text_area :currently_hacking_on, placeholder: "What projects are currently occupying most of your time?", maxlength: 640 %> +
+
+ <%= f.label :available_for %> + <%= f.text_area :available_for, placeholder: "What kinds of collaborations or discussions are you available for? what's a good reason to say hey to you these days?", maxlength: 640 %> +
+
+ + <%= f.hidden_field :tab, value: @tab %> + <%= f.submit "SUBMIT", class: "cta" %> +
+<% end %> diff --git a/app/views/users/_publishing_from_rss.html.erb b/app/views/users/_publishing_from_rss.html.erb new file mode 100644 index 0000000000000..ff3d625c85a6e --- /dev/null +++ b/app/views/users/_publishing_from_rss.html.erb @@ -0,0 +1,46 @@ +

Publishing to dev.to from RSS

+

+ If you already have a workflow where you publish to your own blog or to a platform like Medium, you are welcome to cross-post to dev.to. Add your RSS feed URL to make the process easier. +

+

+ Posts will land in your dashboard as drafts, and then you can publish from there (or give dev.to admins permission to do so). +

+

+ Formatting will typically look good, but you may have to make manual fixes. In the case of Medium, you may have to manually fix embeds. +

+

+ Your feed will be fetched every time you submit this form and updates will be automatically fetched periodically thereafter. Contact yo@dev.to if you encounter issues. +

+

+ Medium RSS feeds are located at https://medium.com/feed/@YOUR_USERNAME +

+

+ By submitting your RSS Feed URL, you agree that you own and/or have permission to syndicate the associated content. +

+

Add your feed below:

+<%= form_for(@user) do |f| %> +
+ <%= f.label :feed_url, "RSS Feed URL" %> + <%= f.url_field :feed_url, placeholder: "https://www.your-site-here.com/feed/" %> +
+
+
+ <%= f.check_box :feed_admin_publish_permission %> + <%= f.label :feed_admin_publish_permission, "Give admins permission to press publish" %> +
+ Your posts will always show up in your dashboard as drafts. You can publish from there, but if you check this box, the dev.to admins have permission to clean up formatting issues and mark a post as published.
+
+
+ <%= f.check_box :feed_mark_canonical %> + <%= f.label :feed_mark_canonical, "Mark the RSS source as canonical URL by default" %> +
+ If you check this box, the post will automatically mark the feed source as the canonical URL. +
+
+
+
+ + <%= f.hidden_field :tab, value: @tab %> + <%= f.submit "SUBMIT", class: "cta" %> +
+<% end %> diff --git a/app/views/users/_switch_organizations.html.erb b/app/views/users/_switch_organizations.html.erb new file mode 100644 index 0000000000000..33fcb640ddf7d --- /dev/null +++ b/app/views/users/_switch_organizations.html.erb @@ -0,0 +1,4 @@ + <% if @user.has_role?(:switch_between_orgs) %> +

Hey Mary 👋

+ <%= render "users/org_non_member" %> + <% end %> \ No newline at end of file diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb new file mode 100644 index 0000000000000..98c45a4a61b29 --- /dev/null +++ b/app/views/users/edit.html.erb @@ -0,0 +1,81 @@ +<% title "Settings - DEV" %> + +<% if flash[:notice] && flash[:notice].include?("Your ") %> +
+ <%= flash[:notice] %> +
+<% end %> + +<% if flash[:error].present? %> +
+ <%= flash[:error] %> +
+<% end %> + + + diff --git a/app/views/users/finish_signup.html.erb b/app/views/users/finish_signup.html.erb new file mode 100644 index 0000000000000..9e9aa2bd535ba --- /dev/null +++ b/app/views/users/finish_signup.html.erb @@ -0,0 +1,41 @@ +
+




+ <% if current_user.unconfirmed_email %> +

An email has been sent to you, please confirm!

+ <% else %> +

<%= current_user.username %> profile image Welcome!

+

Just add a couple details to get going

+ <% end %> + <%= form_for(current_user, :as => 'user', :url => finish_signup_path(current_user), :html => { role: 'form'}) do |f| %> + <% if @show_errors && current_user.errors.any? %> +
+ <% current_user.errors.full_messages.each do |msg| %> + <%= msg %>
+ <% end %> +
+ <% end %> +
+ <%= f.label :email %> +
+ <%= f.email_field :email, :autofocus => true, :value => current_user.unconfirmed_email, class: 'form-control input-lg', placeholder: 'Example: email@me.com' %> +
+
+
+ <%= f.label :name, "Full Name" %> +
+ <%= f.text_field :name, class: 'form-control input-lg', placeholder: 'Jane Doe' %> +
+
+ + +
+ <%= f.submit 'Continue', :class => 'btn btn-primary' %> +
+ <% end %> +
diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb new file mode 100644 index 0000000000000..3c50bafec26e9 --- /dev/null +++ b/app/views/users/index.html.erb @@ -0,0 +1,40 @@ +<% title params[:user_board].titleize %> + +
+
+
+

<%=params[:user_board].titleize%>

+
+ <% @users.each do |user| %> +
+
+ + <%= user.username %> profile image + +
+
+

<%= user.name %>

+
+ <% if user.twitter_username.present? %> + <%= icon("twitter","22") %> <%= user.twitter_username %> + <% end %> + <% if user.github_username.present? %> + <%= icon("github","22") %> <%= user.github_username %> + <% end %> + <% if user.website_url.present? %> + <%= icon("link","22") %> <%= beautified_url(user.website_url) %> + <% end %> + +
+
+
+ <% end %> +
+
+ <% if params[:user_board].downcase == "followers" %> + When someone follows you, your posts are prioritized on their home page. ❤️ + <% else %> + When you follow someone, their posts are prioritized on your home page. ❤️ + <% end %> +
+
diff --git a/app/views/users/signout_confirm.html.erb b/app/views/users/signout_confirm.html.erb new file mode 100644 index 0000000000000..7926f2728c4ba --- /dev/null +++ b/app/views/users/signout_confirm.html.erb @@ -0,0 +1,9 @@ +<% title "Confirm Signout - DEV" %> + +
+ +

Are you sure you want to sign out?

+ +

<%= link_to "Yes. Sign out.", destroy_user_session_path, :method => :delete %>

+ +
diff --git a/bin/_guard-core b/bin/_guard-core new file mode 100755 index 0000000000000..c12b1fde2f366 --- /dev/null +++ b/bin/_guard-core @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application '_guard-core' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("guard", "_guard-core") diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 0000000000000..524dfd3f2afb0 --- /dev/null +++ b/bin/bundle @@ -0,0 +1,105 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'bundle' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "rubygems" + +m = Module.new do + module_function + + def invoked_as_script? + File.expand_path($0) == File.expand_path(__FILE__) + end + + def env_var_version + ENV["BUNDLER_VERSION"] + end + + def cli_arg_version + return unless invoked_as_script? # don't want to hijack other binstubs + return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update` + bundler_version = nil + update_index = nil + ARGV.each_with_index do |a, i| + if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN + bundler_version = a + end + next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/ + bundler_version = $1 || ">= 0.a" + update_index = i + end + bundler_version + end + + def gemfile + gemfile = ENV["BUNDLE_GEMFILE"] + return gemfile if gemfile && !gemfile.empty? + + File.expand_path("../../Gemfile", __FILE__) + end + + def lockfile + lockfile = + case File.basename(gemfile) + when "gems.rb" then gemfile.sub(/\.rb$/, gemfile) + else "#{gemfile}.lock" + end + File.expand_path(lockfile) + end + + def lockfile_version + return unless File.file?(lockfile) + lockfile_contents = File.read(lockfile) + return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/ + Regexp.last_match(1) + end + + def bundler_version + @bundler_version ||= begin + env_var_version || cli_arg_version || + lockfile_version || "#{Gem::Requirement.default}.a" + end + end + + def load_bundler! + ENV["BUNDLE_GEMFILE"] ||= gemfile + + # must dup string for RG < 1.8 compatibility + activate_bundler(bundler_version.dup) + end + + def activate_bundler(bundler_version) + if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0") + bundler_version = "< 2" + end + gem_error = activation_error_handling do + gem "bundler", bundler_version + end + return if gem_error.nil? + require_error = activation_error_handling do + require "bundler/version" + end + return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION)) + warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`" + exit 42 + end + + def activation_error_handling + yield + nil + rescue StandardError, LoadError => e + e + end +end + +m.load_bundler! + +if m.invoked_as_script? + load Gem.bin_path("bundler", "bundle") +end diff --git a/bin/delayed_job b/bin/delayed_job new file mode 100755 index 0000000000000..edf195985f692 --- /dev/null +++ b/bin/delayed_job @@ -0,0 +1,5 @@ +#!/usr/bin/env ruby + +require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) +require 'delayed/command' +Delayed::Command.new(ARGV).daemonize diff --git a/bin/guard b/bin/guard new file mode 100755 index 0000000000000..3df21513e3249 --- /dev/null +++ b/bin/guard @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'guard' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("guard", "guard") diff --git a/bin/parallel_rspec b/bin/parallel_rspec new file mode 100755 index 0000000000000..46c95a530ccbf --- /dev/null +++ b/bin/parallel_rspec @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'parallel_rspec' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +bundle_binstub = File.expand_path("../bundle", __FILE__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/ + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("parallel_tests", "parallel_rspec") diff --git a/bin/rails b/bin/rails new file mode 100755 index 0000000000000..5badb2fde0cb7 --- /dev/null +++ b/bin/rails @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 0000000000000..d87d5f5781045 --- /dev/null +++ b/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/bin/rspec b/bin/rspec new file mode 100755 index 0000000000000..d738b23c0bab9 --- /dev/null +++ b/bin/rspec @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true +# +# This file was generated by Bundler. +# +# The application 'rspec' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +require "pathname" +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", + Pathname.new(__FILE__).realpath) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("rspec-core", "rspec") diff --git a/bin/rspecov b/bin/rspecov new file mode 100755 index 0000000000000..636f0fee083d0 --- /dev/null +++ b/bin/rspecov @@ -0,0 +1,22 @@ +#!/usr/bin/env ruby +require "pathname" +require "fileutils" +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path("../../", __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script runs test and open up code coverage + + puts "\n== Running the test ==" + spec_path = ARGV[0] ? ARGV[0] : "spec" + system "bin/rspec #{spec_path}" + + puts "\n== Opening Simplecov ==" + system! "open coverage/index.html" +end diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000000000..064a061e8a2e5 --- /dev/null +++ b/bin/setup @@ -0,0 +1,43 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # Install JavaScript dependencies if using Yarn + system('bin/yarn') + + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Resolve Rails 5.0 & 5.1 specfic issue (open bin/setup for more info) ==" + # This solution was found here https://github.com/rails/rails/issues/26731#issuecomment-302446525 + # This line is to remove manual need to run a separate manual migration upon calling rspec + system! 'RAILS_ENV=test bin/rails db:environment:set' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/spring b/bin/spring new file mode 100755 index 0000000000000..fb2ec2ebb48df --- /dev/null +++ b/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/bin/startup b/bin/startup new file mode 100755 index 0000000000000..0950c50da4c64 --- /dev/null +++ b/bin/startup @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby +require "pathname" +require "fileutils" +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path("../../", __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + puts "== STARTING UP ==" + system! "foreman start -f Procfile.dev" +end diff --git a/bin/update b/bin/update new file mode 100755 index 0000000000000..a8e4462f20340 --- /dev/null +++ b/bin/update @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/webpack b/bin/webpack new file mode 100755 index 0000000000000..528233a784f0b --- /dev/null +++ b/bin/webpack @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +$stdout.sync = true + +require "shellwords" + +ENV["RAILS_ENV"] ||= "development" +RAILS_ENV = ENV["RAILS_ENV"] + +ENV["NODE_ENV"] ||= RAILS_ENV +NODE_ENV = ENV["NODE_ENV"] + +APP_PATH = File.expand_path("../", __dir__) +NODE_MODULES_PATH = File.join(APP_PATH, "node_modules") +WEBPACK_CONFIG = File.join(APP_PATH, "config/webpack/#{NODE_ENV}.js") + +unless File.exist?(WEBPACK_CONFIG) + puts "Webpack configuration not found." + puts "Please run bundle exec rails webpacker:install to install webpacker" + exit! +end + +env = { "NODE_PATH" => NODE_MODULES_PATH.shellescape } +cmd = [ "#{NODE_MODULES_PATH}/.bin/webpack", "--config", WEBPACK_CONFIG ] + ARGV + +Dir.chdir(APP_PATH) do + exec env, *cmd +end diff --git a/bin/webpack-dev-server b/bin/webpack-dev-server new file mode 100755 index 0000000000000..c9672f6633f21 --- /dev/null +++ b/bin/webpack-dev-server @@ -0,0 +1,68 @@ +#!/usr/bin/env ruby +$stdout.sync = true + +require "shellwords" +require "yaml" +require "socket" + +ENV["RAILS_ENV"] ||= "development" +RAILS_ENV = ENV["RAILS_ENV"] + +ENV["NODE_ENV"] ||= RAILS_ENV +NODE_ENV = ENV["NODE_ENV"] + +APP_PATH = File.expand_path("../", __dir__) +CONFIG_FILE = File.join(APP_PATH, "config/webpacker.yml") +NODE_MODULES_PATH = File.join(APP_PATH, "node_modules") +WEBPACK_CONFIG = File.join(APP_PATH, "config/webpack/#{NODE_ENV}.js") + +DEFAULT_LISTEN_HOST_ADDR = NODE_ENV == 'development' ? 'localhost' : '0.0.0.0' + +def args(key) + index = ARGV.index(key) + index ? ARGV[index + 1] : nil +end + +begin + dev_server = YAML.load_file(CONFIG_FILE)[RAILS_ENV]["dev_server"] + + HOSTNAME = args('--host') || dev_server["host"] + PORT = args('--port') || dev_server["port"] + HTTPS = ARGV.include?('--https') || dev_server["https"] + DEV_SERVER_ADDR = "http#{"s" if HTTPS}://#{HOSTNAME}:#{PORT}" + LISTEN_HOST_ADDR = args('--listen-host') || DEFAULT_LISTEN_HOST_ADDR + +rescue Errno::ENOENT, NoMethodError + $stdout.puts "Webpack dev_server configuration not found in #{CONFIG_FILE}." + $stdout.puts "Please run bundle exec rails webpacker:install to install webpacker" + exit! +end + +begin + server = TCPServer.new(LISTEN_HOST_ADDR, PORT) + server.close + +rescue Errno::EADDRINUSE + $stdout.puts "Another program is running on port #{PORT}. Set a new port in #{CONFIG_FILE} for dev_server" + exit! +end + +# Delete supplied host, port and listen-host CLI arguments +["--host", "--port", "--listen-host"].each do |arg| + ARGV.delete(args(arg)) + ARGV.delete(arg) +end + +env = { "NODE_PATH" => NODE_MODULES_PATH.shellescape } + +cmd = [ + "#{NODE_MODULES_PATH}/.bin/webpack-dev-server", "--progress", "--color", + "--config", WEBPACK_CONFIG, + "--host", LISTEN_HOST_ADDR, + "--public", "#{HOSTNAME}:#{PORT}", + "--port", PORT.to_s +] + ARGV + +Dir.chdir(APP_PATH) do + exec env, *cmd +end diff --git a/bin/yarn b/bin/yarn new file mode 100755 index 0000000000000..c2bacef836f21 --- /dev/null +++ b/bin/yarn @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +VENDOR_PATH = File.expand_path('..', __dir__) +Dir.chdir(VENDOR_PATH) do + begin + exec "yarnpkg #{ARGV.join(" ")}" + rescue Errno::ENOENT + $stderr.puts "Yarn executable was not detected in the system." + $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install" + exit 1 + end +end diff --git a/config.ru b/config.ru new file mode 100644 index 0000000000000..bd83b25412305 --- /dev/null +++ b/config.ru @@ -0,0 +1,4 @@ +# This file is used by Rack-based servers to start the application. + +require ::File.expand_path('../config/environment', __FILE__) +run Rails.application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 0000000000000..b6b0a73864bd4 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,46 @@ +require_relative 'boot' + +require 'rails/all' + +require "action_view/railtie" +require "sprockets/railtie" +require 'sprockets/es6' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module PracticalDeveloper + class Application < Rails::Application + config.load_defaults 5.1 + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # config.time_zone = 'Central Time (US & Canada)' + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] + # config.i18n.default_locale = :de + + config.autoload_paths += Dir["#{config.root}/app/labor/"] + config.autoload_paths += Dir["#{config.root}/app/decorators/"] + config.autoload_paths += Dir["#{config.root}/app/services/"] + config.autoload_paths += Dir["#{config.root}/app/liquid_tags/"] + config.autoload_paths += Dir["#{config.root}/app/observers/"] + config.autoload_paths += Dir["#{config.root}/app/black_box/"] + config.autoload_paths += Dir["#{config.root}/lib/"] + + config.active_record.observers = :article_observer, :reaction_observer + config.active_job.queue_adapter = :delayed_job + + config.middleware.use Rack::Deflater + + # Replace with a lambda or method name defined in ApplicationController + # to implement access control for the Flipflop dashboard. + config.flipflop.dashboard_access_filter = -> { head :forbidden unless current_user.has_any_role?(:super_admin) } + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 0000000000000..30f5120df6986 --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,3 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/config/cable.yml b/config/cable.yml new file mode 100644 index 0000000000000..38cd3a703a864 --- /dev/null +++ b/config/cable.yml @@ -0,0 +1,10 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: redis://localhost:6379/1 + channel_prefix: practical_developer_production diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 0000000000000..d4f6d925ddbf8 --- /dev/null +++ b/config/database.yml @@ -0,0 +1,91 @@ +# PostgreSQL. Versions 8.2 and up are supported. +# +# Install the pg driver: +# gem install pg +# On OS X with Homebrew: +# gem install pg -- --with-pg-config=/usr/local/bin/pg_config +# On OS X with MacPorts: +# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config +# On Windows: +# gem install pg +# Choose the win32 build. +# Install PostgreSQL and put its /bin directory on your path. +# +# Configure Using Gemfile +# gem 'pg' +# +default: &default + adapter: postgresql + encoding: unicode + # For details on connection pooling, see rails configuration guide + # http://guides.rubyonrails.org/configuring.html#database-pooling + pool: 5 + connect_timeout: 2 + checkout_timeout: 2 + variables: + statement_timeout: 2500 + +development: + <<: *default + database: PracticalDeveloper_development + + # The specified database role being used to connect to postgres. + # To create additional roles in postgres see `$ createuser --help`. + # When left blank, postgres will use the default role. This is + # the same name as the operating system user that initialized the database. + #username: PracticalDeveloper + + # The password associated with the postgres role (username). + #password: + + # Connect on a TCP socket. Omitted by default since the client uses a + # domain socket that doesn't need configuration. Windows does not have + # domain sockets, so uncomment these lines. + #host: localhost + + # The TCP port the server listens on. Defaults to 5432. + # If your server runs on a different port number, change accordingly. + #port: 5432 + + # Schema search path. The server defaults to $user,public + #schema_search_path: myapp,sharedapp,public + + # Minimum log levels, in increasing order: + # debug5, debug4, debug3, debug2, debug1, + # log, notice, warning, error, fatal, and panic + # Defaults to warning. + #min_messages: notice + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + host: localhost + database: PracticalDeveloper_test<%= ENV['TEST_ENV_NUMBER'] %> + +# As with config/secrets.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password as a unix environment variable when you boot +# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full rundown on how to provide these environment variables in a +# production deployment. +# +# On Heroku and other platform providers, you may have a full connection URL +# available as an environment variable. For example: +# +# DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase" +# +# You can use this database configuration with: +# +# production: +# url: <%= ENV['DATABASE_URL'] %> +# +production: + <<: *default + database: PracticalDeveloper_production + username: PracticalDeveloper + pool: <%= ENV['DATABASE_POOL_SIZE'] %> + password: <%= ENV['PRACTICALDEVELOPER_DATABASE_PASSWORD'] %> diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 0000000000000..74b7778303684 --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,7 @@ +# Load the Rails application. +require_relative "application" + +# Initialize the Rails application. +Rails.application.initialize! + +require 'carrierwave/orm/activerecord' diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 0000000000000..b402004bbd9fa --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,100 @@ +Rails.application.configure do + # Replace with a lambda or method name defined in ApplicationController + # to implement access control for the Flipflop dashboard. + config.flipflop.dashboard_access_filter = nil + # Settings specified here will take precedence over those in config/application.rb. + + # Make sure Rack MiniProfiler starts hidden + Rack::MiniProfiler.config.start_hidden = true + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + if Rails.root.join('tmp/caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=172800' + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = false + + # Asset digests allow you to set far-future HTTP expiration dates on all assets, + # yet still be able to expire them through the digest params. + config.assets.digest = false + + # Supress logger output for asset requests. + config.assets.quiet = true + + # Adds additional error checking when serving assets at runtime. + # Checks for improperly declared sprockets dependencies. + # Raises helpful error messages. + config.assets.raise_runtime_errors = true + + config.action_mailer.perform_caching = false + + config.app_domain = 'localhost:3000' + + config.action_mailer.default_url_options = { :host => "localhost:3000" } + config.action_mailer.delivery_method = :smtp + config.action_mailer.perform_deliveries = true + config.action_mailer.default_url_options = { host: config.app_domain } + config.action_mailer.smtp_settings = { + address: 'smtp.gmail.com', + port: '587', + enable_starttls_auto: true, + user_name: '<%= ENV["DEVELOPMENT_EMAIL_USERNAME"] %>', + password: '<%= ENV["DEVELOPMENT_EMAIL_PASSWORD"] %>', + authentication: :plain, + domain: 'localhost:3000' + } + + config.action_mailer.preview_path = "#{Rails.root}/spec/mailers/previews" + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + config.public_file_server.enabled = true + + config.file_watcher = ActiveSupport::EventedFileUpdateChecker + + # Install the Timber.io logger + send_logs_to_timber = false # <---- set to false to stop sending dev logs to Timber.io + + log_device = send_logs_to_timber ? Timber::LogDevices::HTTP.new(ENV["TIMBER"]) : STDOUT + logger = Timber::Logger.new(log_device) + logger.level = config.log_level + config.logger = ActiveSupport::TaggedLogging.new(logger) + + config.after_initialize do + Bullet.enable = true + Bullet.console = true + end +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 0000000000000..67e4f1dcba211 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,122 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Enable Rack::Cache to put a simple HTTP cache in front of your application + # Add `rack-cache` to your Gemfile before enabling this. + # For large-scale production use, consider using a caching reverse proxy like + # NGINX, varnish or squid. + # config.action_dispatch.rack_cache = true + config.read_encrypted_secrets = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + config.public_file_server.headers = { 'Cache-Control' => 'public, s-maxage=2592000, max-age=86400' } + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = true + + + # Asset digests allow you to set far-future HTTP expiration dates on all assets, + # yet still be able to expire them through the digest params. + config.assets.digest = true + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + #config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different logger for distributed setups. + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + config.action_controller.asset_host = ENV['FASTLY_CDN_URL'] + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + # config.log_formatter = ::Logger::Formatter.new + config.log_formatter = ::Logger::Formatter.new + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Timber.io logger + log_device = Timber::LogDevices::HTTP.new(ENV["TIMBER"]) + logger = Timber::Logger.new(log_device) + logger.level = config.log_level + config.logger = ActiveSupport::TaggedLogging.new(logger) + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false + + config.cache_store = :dalli_store, + (ENV["MEMCACHIER_SERVERS"] || "").split(","), + {:username => ENV["MEMCACHIER_USERNAME"], + :password => ENV["MEMCACHIER_PASSWORD"], + :failover => true, + :socket_timeout => 1.5, + :socket_failure_delay => 0.2 + } + + config.app_domain = 'dev.to' + + config.action_mailer.delivery_method = :smtp + config.action_mailer.perform_deliveries = true + config.action_mailer.default_url_options = { host: config.app_domain } + ActionMailer::Base.smtp_settings = { + :address => 'smtp.sendgrid.net', + :port => '587', + :authentication => :plain, + :user_name => ENV['SENDGRID_USERNAME_ACCEL'], + :password => ENV['SENDGRID_PASSWORD_ACCEL'], + :domain => 'dev.to', + :enable_starttls_auto => true + } + + config.middleware.use Rack::HostRedirect, { + "practicaldev.herokuapp.com" => "dev.to" + } +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 0000000000000..f37c41465f49e --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,59 @@ +Rails.application.configure do + # Replace with a lambda or method name defined in ApplicationController + # to implement access control for the Flipflop dashboard. + config.flipflop.dashboard_access_filter = nil + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure static file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => 'public, max-age=3600' + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Additional setting to make test work. This is possibly useless and can be deleted. + config.action_mailer.default_url_options = { :host => 'test.host' } + + # Randomize the order test cases are executed. + config.active_support.test_order = :random + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + config.middleware.use RackSessionAccess::Middleware + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Install the Timber.io logger, but do not send logs. + logger = Timber::Logger.new(nil) + logger.level = config.log_level + config.logger = ActiveSupport::TaggedLogging.new(logger) + +end diff --git a/config/features.rb b/config/features.rb new file mode 100644 index 0000000000000..a78420f8dced7 --- /dev/null +++ b/config/features.rb @@ -0,0 +1,31 @@ +Flipflop.configure do + # Strategies will be used in the order listed here. + strategy :cookie + strategy :active_record + strategy :default + + # Other strategies: + # + # strategy :query_string + # strategy :redis + # strategy :session + # + # strategy :my_strategy do |feature| + # # ... your custom code here; return true/false/nil. + # end + + # Declare your features, e.g: + # + feature :display_sponsors, + default: false, + description: "Home page sponsor display" + feature :live_starting_soon, + default: false, + description: "/live event is starting soon." + feature :live_is_live, + default: false, + description: "/live page showing live event" + feature :she_coded, + default: false, + description: "Toggle #shecoded sidebar" +end diff --git a/config/initializers/_env_checker.rb b/config/initializers/_env_checker.rb new file mode 100644 index 0000000000000..ad04cc3733575 --- /dev/null +++ b/config/initializers/_env_checker.rb @@ -0,0 +1,94 @@ +# This file is named in such a manner so that it run first. + +keys = [ + "AIRBRAKE_API_KEY", + "AIRBRAKE_PROJECT_ID", + "ALGOLIASEARCH_API_KEY", + "ALGOLIASEARCH_APPLICATION_ID", + "ALGOLIASEARCH_SEARCH_ONLY_KEY", + "APP_DOMAIN", + "APP_PROTOCOL", + "AWS_DEFAULT_REGION", + "AWS_SDK_KEY", + "AWS_SDK_SECRET", + "BUFFER_ACCESS_TOKEN", + "BUFFER_FACEBOOK_ID", + "BUFFER_LINKEDIN_ID", + "BUFFER_PROFILE_ID", + "BUFFER_TWITTER_ID", + "CLOUDINARY_CLOUD_NAME", + "CLOUDINARY_API_KEY", + "CLOUDINARY_API_SECRET", + "CLOUDINARY_SECURE", + "DACAST_STREAM_CODE", + "DEPLOYMENT_SIGNATURE", + "DEV_EMAIL_PASSWORD", + "DEV_EMAIL_USERNAME", + "DEVTO_USER_ID", + "FACEBOOK_PIXEL_ID", + "GA_SERVICE_ACCOUNT_JSON", + "GA_TRACKING_ID", + "GA_VIEW_ID", + "GITHUB_KEY", + "GITHUB_SECRET", + "GITHUB_TOKEN", + "INFINITE_LOOP_URL", + "JWPLAYER_API_KEY", + "JWPLAYER_API_SECRET", + "KEEN_API_URL", + "KEEN_PROJECT_ID", + "KEEN_READ_KEY", + "KEEN_WRITE_KEY", + "MAILCHIMP_API_KEY", + "MAILCHIMP_NEWSLETTER_ID", + "RECAPTCHA_SECRET", + "RECAPTCHA_SITE", + "SERVICE_TIMEOUT", + "SHARE_MEOW_BASE_URL", + "SHARE_MEOW_SECRET_KEY", + "SHOP_SECRET", # Should be a number + "SLACK_CHANNEL", + "SLACK_WEBHOOK_URL", + "SMARTY_STREETS_AUTH_ID", + "SMARTY_STREETS_AUTH_TOKEN", + "SMARTY_STREETS_WEB_KEY", + "SMOOCH_WEB_MESSENGER_APP_TOKEN", + "STREAM_RAILS_KEY", + "STREAM_RAILS_SECRET", + "STREAM_URL", + "STRIPE_PUBLISHABLE_KEY", + "STRIPE_SECRET_KEY", + "SENDBIRD_APP_ID", + "SENDBIRD_LIVECHAT_URL", + "TWITTER_ACCESS_TOKEN", + "TWITTER_ACCESS_TOKEN_SECRET", + "TWITTER_CARD_VALIDATOR_PASSWORD", + "TWITTER_CARD_VALIDATOR_USERNAME", + "TWITTER_KEY", + "TWITTER_SECRET", +].freeze + +missing = [] + +keys.each do |k| + missing << k if ENV[k].nil? +end + +# Run the checker when +# 1. Not in production +# 2. Not in CI +# 3. There are missing keys +if Rails.env != "production" && !ENV["CI"] && !missing.empty? && Rails.env != "test" + message = <<~HEREDOC + \n + ===================================================== + Hey there DEVeloper! + You are missing the [#{missing.length}] environment variable(s). + Please obtain these missing key(s) and try again. + ----------------------------------------------------- + #{missing.join("\n")} + ===================================================== + \n + HEREDOC + raise message +end diff --git a/config/initializers/airbrake.rb b/config/initializers/airbrake.rb new file mode 100644 index 0000000000000..1892c4f2ea657 --- /dev/null +++ b/config/initializers/airbrake.rb @@ -0,0 +1,56 @@ +# Airbrake is an online tool that provides robust exception tracking in your Rails +# applications. In doing so, it allows you to easily review errors, tie an error +# to an individual piece of code, and trace the cause back to recent +# changes. Airbrake enables for easy categorization, searching, and prioritization +# of exceptions so that when errors occur, your team can quickly determine the +# root cause. +# +# Configuration details: +# https://github.com/airbrake/airbrake-ruby#configuration +Airbrake.configure do |c| + # You must set both project_id & project_key. To find your project_id and + # project_key navigate to your project's General Settings and copy the values + # from the right sidebar. + # https://github.com/airbrake/airbrake-ruby#project_id--project_key + c.project_id = ENV['AIRBRAKE_PROJECT_ID'] + c.project_key = ENV['AIRBRAKE_API_KEY'] + + # Configures the root directory of your project. Expects a String or a + # Pathname, which represents the path to your project. Providing this option + # helps us to filter out repetitive data from backtrace frames and link to + # GitHub files from our dashboard. + # https://github.com/airbrake/airbrake-ruby#root_directory + c.root_directory = Rails.root + + # By default, Airbrake Ruby outputs to STDOUT. In Rails apps it makes sense to + # use the Rails' logger. + # https://github.com/airbrake/airbrake-ruby#logger + c.logger = Rails.logger + + # Configures the environment the application is running in. Helps the Airbrake + # dashboard to distinguish between exceptions occurring in different + # environments. By default, it's not set. + # NOTE: This option must be set in order to make the 'ignore_environments' + # option work. + # https://github.com/airbrake/airbrake-ruby#environment + c.environment = Rails.env + + # Setting this option allows Airbrake to filter exceptions occurring in + # unwanted environments such as :test. By default, it is equal to an empty + # Array, which means Airbrake Ruby sends exceptions occurring in all + # environments. + # NOTE: This option *does not* work if you don't set the 'environment' option. + # https://github.com/airbrake/airbrake-ruby#ignore_environments + c.ignore_environments = %w(test) + + # A list of parameters that should be filtered out of what is sent to + # Airbrake. By default, all "password" attributes will have their contents + # replaced. + # https://github.com/airbrake/airbrake-ruby#blacklist_keys + c.blacklist_keys = [/password/i] +end + +# If Airbrake doesn't send any expected exceptions, we suggest to uncomment the +# line below. It might simplify debugging of background Airbrake workers, which +# can silently die. +# Thread.abort_on_exception = ['test', 'development'].include?(Rails.env) diff --git a/config/initializers/algoliasearch.rb b/config/initializers/algoliasearch.rb new file mode 100644 index 0000000000000..e8104fc4eed75 --- /dev/null +++ b/config/initializers/algoliasearch.rb @@ -0,0 +1 @@ +AlgoliaSearch.configuration = { application_id: ENV["ALGOLIASEARCH_APPLICATION_ID"], api_key: ENV["ALGOLIASEARCH_API_KEY"] } diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb new file mode 100644 index 0000000000000..51639b67a00dd --- /dev/null +++ b/config/initializers/application_controller_renderer.rb @@ -0,0 +1,6 @@ +# Be sure to restart your server when you modify this file. + +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 0000000000000..2ede3ada4d5b3 --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1,31 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path +# Rails.application.config.assets.paths << Emoji.images_path + +# Yarn node_moduless +Rails.application.config.assets.paths << Rails.root.join('node_modules') + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in app/assets folder are already added. +# Rails.application.config.assets.precompile += %w( search.js ) +Rails.application.config.assets.precompile += %w( favicon.ico ) +# Add client/assets/ folders to asset pipeline's search path. +# If you do not want to move existing images and fonts from your Rails app +# you could also consider creating symlinks there that point to the original +# rails directories. In that case, you would not add these paths here. +# Rails.application.config.assets.paths << Rails.root.join("client", "assets", "stylesheets") +# Rails.application.config.assets.paths << Rails.root.join("client", "assets", "images") +# Rails.application.config.assets.paths << Rails.root.join("client", "assets", "fonts") +# Rails.application.config.assets.precompile += %w( generated/server-bundle.js ) + +Rails.application.config.assets.precompile += %w( minimal.css ) +Rails.application.config.assets.precompile += %w( base.js ) + +Rails.application.config.assets.precompile += %w( lib/xss.js ) +Rails.application.config.assets.precompile += %w( internal.js ) +Rails.application.config.assets.precompile += %w( lib/js-yaml.js ) +Rails.application.config.assets.precompile += %w[serviceworker.js manifest.json] diff --git a/config/initializers/aws_sdk.rb b/config/initializers/aws_sdk.rb new file mode 100644 index 0000000000000..a4cc5b431db33 --- /dev/null +++ b/config/initializers/aws_sdk.rb @@ -0,0 +1,5 @@ +::AwsLambda = Aws::Lambda::Client.new( + region: ENV["AWS_DEFAULT_REGION"], + access_key_id: ENV["AWS_SDK_KEY"], + secret_access_key: ENV["AWS_SDK_SECRET"] +) \ No newline at end of file diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000000000..59385cdf379bd --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb new file mode 100644 index 0000000000000..94c41f0923f14 --- /dev/null +++ b/config/initializers/carrierwave.rb @@ -0,0 +1,20 @@ +require 'carrierwave/storage/abstract' +require 'carrierwave/storage/file' +require 'carrierwave/storage/fog' + +CarrierWave.configure do |config| + + if Rails.env.development? || Rails.env.test? + config.storage = :file + else + # config.fog_provider = 'fog-aws' + config.storage = :fog + config.fog_credentials = { + :provider => 'AWS', + :aws_access_key_id => ENV['AWS_ID'], + :aws_secret_access_key => ENV['AWS_SECRET'], + :region => 'us-east-1' + } + config.fog_directory = ENV['AWS_BUCKET_NAME'] + end +end diff --git a/config/initializers/cloudinary.rb b/config/initializers/cloudinary.rb new file mode 100644 index 0000000000000..e3de5b338fa87 --- /dev/null +++ b/config/initializers/cloudinary.rb @@ -0,0 +1,6 @@ +Cloudinary.config do |config| + config.cloud_name = ENV["CLOUDINARY_CLOUD_NAME"] + config.api_key = ENV["CLOUDINARY_API_KEY"] + config.api_secret = ENV["CLOUDINARY_API_SECRET"] + config.secure = ENV["CLOUDINARY_SECURE"] +end diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 0000000000000..5a6a32d371fe5 --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/config/initializers/delayed_job_web.rb b/config/initializers/delayed_job_web.rb new file mode 100644 index 0000000000000..ee0f98649372d --- /dev/null +++ b/config/initializers/delayed_job_web.rb @@ -0,0 +1,3 @@ +DelayedJobWeb.use Rack::Auth::Basic do |username, password| + username == ENV["APP_NAME"] && password == ENV["APP_PASSWORD"] +end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb new file mode 100644 index 0000000000000..2330780b62777 --- /dev/null +++ b/config/initializers/devise.rb @@ -0,0 +1,270 @@ +# Use this hook to configure devise mailer, warden hooks and so forth. +# Many of these configuration options can be set straight in your model. +Devise.setup do |config| + # The secret key used by Devise. Devise uses this key to generate + # random tokens. Changing this key will render invalid all existing + # confirmation, reset password and unlock tokens in the database. + # Devise will use the `secret_key_base` on Rails 4+ applications as its `secret_key` + # by default. You can change it below and use your own secret key. + if Rails.env.staging? + config.secret_key = 'b13fc11ef327908db65f8a2a90f40aa90678b4af5149f96c5219f226d36bc87a479affa70ea1c9c43a23e715bce84b4fb64f2510cc126fe9b9a041c2d863c50f' + end + + # ==> Mailer Configuration + # Configure the e-mail address which will be shown in Devise::Mailer, + # note that it will be overwritten if you use your own mailer class + # with default "from" parameter. + config.mailer_sender = 'dev.to ' + + # Configure the class responsible to send e-mails. + # config.mailer = 'Devise::Mailer' + + # ==> ORM configuration + # Load and configure the ORM. Supports :active_record (default) and + # :mongoid (bson_ext recommended) by default. Other ORMs may be + # available as additional gems. + require 'devise/orm/active_record' + + # ==> Configuration for any authentication mechanism + # Configure which keys are used when authenticating a user. The default is + # just :email. You can configure it to use [:username, :subdomain], so for + # authenticating a user, both parameters are required. Remember that those + # parameters are used only when authenticating and not when retrieving from + # session. If you need permissions, you should implement that in a before filter. + # You can also supply a hash where the value is a boolean determining whether + # or not authentication should be aborted when the value is not present. + # config.authentication_keys = [:email] + + # Configure parameters from the request object used for authentication. Each entry + # given should be a request method and it will automatically be passed to the + # find_for_authentication method and considered in your model lookup. For instance, + # if you set :request_keys to [:subdomain], :subdomain will be used on authentication. + # The same considerations mentioned for authentication_keys also apply to request_keys. + # config.request_keys = [] + + # Configure which authentication keys should be case-insensitive. + # These keys will be downcased upon creating or modifying a user and when used + # to authenticate or find a user. Default is :email. + config.case_insensitive_keys = [:email] + + # Configure which authentication keys should have whitespace stripped. + # These keys will have whitespace before and after removed upon creating or + # modifying a user and when used to authenticate or find a user. Default is :email. + config.strip_whitespace_keys = [:email] + + # Tell if authentication through request.params is enabled. True by default. + # It can be set to an array that will enable params authentication only for the + # given strategies, for example, `config.params_authenticatable = [:database]` will + # enable it only for database (email + password) authentication. + # config.params_authenticatable = true + + # Tell if authentication through HTTP Auth is enabled. False by default. + # It can be set to an array that will enable http authentication only for the + # given strategies, for example, `config.http_authenticatable = [:database]` will + # enable it only for database authentication. The supported strategies are: + # :database = Support basic authentication with authentication key + password + # config.http_authenticatable = false + + # If 401 status code should be returned for AJAX requests. True by default. + # config.http_authenticatable_on_xhr = true + + # The realm used in Http Basic Authentication. 'Application' by default. + # config.http_authentication_realm = 'Application' + + # It will change confirmation, password recovery and other workflows + # to behave the same regardless if the e-mail provided was right or wrong. + # Does not affect registerable. + # config.paranoid = true + + # By default Devise will store the user in session. You can skip storage for + # particular strategies by setting this option. + # Notice that if you are skipping storage for all authentication paths, you + # may want to disable generating routes to Devise's sessions controller by + # passing skip: :sessions to `devise_for` in your config/routes.rb + config.skip_session_storage = [:http_auth] + + # By default, Devise cleans up the CSRF token on authentication to + # avoid CSRF token fixation attacks. This means that, when using AJAX + # requests for sign in and sign up, you need to get a new CSRF token + # from the server. You can disable this option at your own risk. + # config.clean_up_csrf_token_on_authentication = true + + # ==> Configuration for :database_authenticatable + # For bcrypt, this is the cost for hashing the password and defaults to 10. If + # using other encryptors, it sets how many times you want the password re-encrypted. + # + # Limiting the stretches to just one in testing will increase the performance of + # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use + # a value less than 10 in other environments. Note that, for bcrypt (the default + # encryptor), the cost increases exponentially with the number of stretches (e.g. + # a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation). + config.stretches = Rails.env.test? ? 1 : 10 + + # Setup a pepper to generate the encrypted password. + # config.pepper = '091a2ebb7069a9b29893d315958bb0045dd58d8c46813a7fe2c12489a51e5e23b367a262e142472e83650ce953be4310e69b7c5b33d65d83532c5e269142691b' + + # ==> Configuration for :confirmable + # A period that the user is allowed to access the website even without + # confirming their account. For instance, if set to 2.days, the user will be + # able to access the website for two days without confirming their account, + # access will be blocked just in the third day. Default is 0.days, meaning + # the user cannot access the website without confirming their account. + # config.allow_unconfirmed_access_for = 2.days + + # A period that the user is allowed to confirm their account before their + # token becomes invalid. For example, if set to 3.days, the user can confirm + # their account within 3 days after the mail was sent, but on the fourth day + # their account can't be confirmed with the token any more. + # Default is nil, meaning there is no restriction on how long a user can take + # before confirming their account. + # config.confirm_within = 3.days + + # If true, requires any email changes to be confirmed (exactly the same way as + # initial account confirmation) to be applied. Requires additional unconfirmed_email + # db field (see migrations). Until confirmed, new email is stored in + # unconfirmed_email column, and copied to email column on successful confirmation. + config.reconfirmable = true + + # Defines which key will be used when confirming an account + # config.confirmation_keys = [:email] + + # ==> Configuration for :rememberable + # The time the user will be remembered without asking for credentials again. + config.remember_for = 26.weeks + config.extend_remember_period = true + config.timeout_in = 20.weeks + + # Invalidates all the remember me tokens when the user signs out. + config.expire_all_remember_me_on_sign_out = false + + # If true, extends the user's remember period when remembered via cookie. + # config.extend_remember_period = false + + # Options to be passed to the created cookie. For instance, you can set + # secure: true in order to force SSL only cookies. + # config.rememberable_options = {} + + # ==> Configuration for :validatable + # Range for password length. + config.password_length = 8..72 + + # Email regex used to validate email formats. It simply asserts that + # one (and only one) @ exists in the given string. This is mainly + # to give user feedback and not to assert the e-mail validity. + # config.email_regexp = /\A[^@]+@[^@]+\z/ + + # ==> Configuration for :timeoutable + # The time you want to timeout the user session without activity. After this + # time the user will be asked for credentials again. Default is 30 minutes. + # config.timeout_in = 30.minutes + + # ==> Configuration for :lockable + # Defines which strategy will be used to lock an account. + # :failed_attempts = Locks an account after a number of failed attempts to sign in. + # :none = No lock strategy. You should handle locking by yourself. + # config.lock_strategy = :failed_attempts + + # Defines which key will be used when locking and unlocking an account + # config.unlock_keys = [:email] + + # Defines which strategy will be used to unlock an account. + # :email = Sends an unlock link to the user email + # :time = Re-enables login after a certain amount of time (see :unlock_in below) + # :both = Enables both strategies + # :none = No unlock strategy. You should handle unlocking by yourself. + # config.unlock_strategy = :both + + # Number of authentication tries before locking an account if lock_strategy + # is failed attempts. + # config.maximum_attempts = 20 + + # Time interval to unlock the account if :time is enabled as unlock_strategy. + # config.unlock_in = 1.hour + + # Warn on the last attempt before the account is locked. + # config.last_attempt_warning = true + + # ==> Configuration for :recoverable + # + # Defines which key will be used when recovering the password for an account + # config.reset_password_keys = [:email] + + # Time interval you can reset your password with a reset password key. + # Don't put a too small interval or your users won't have the time to + # change their passwords. + config.reset_password_within = 6.hours + + # When set to false, does not sign a user in automatically after their password is + # reset. Defaults to true, so a user is signed in automatically after a reset. + # config.sign_in_after_reset_password = true + + # ==> Configuration for :encryptable + # Allow you to use another encryption algorithm besides bcrypt (default). You can use + # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1, + # :authlogic_sha512 (then you should set stretches above to 20 for default behavior) + # and :restful_authentication_sha1 (then you should set stretches to 10, and copy + # REST_AUTH_SITE_KEY to pepper). + # + # Require the `devise-encryptable` gem when using anything other than bcrypt + # config.encryptor = :sha512 + + # ==> Scopes configuration + # Turn scoped views on. Before rendering "sessions/new", it will first check for + # "users/sessions/new". It's turned off by default because it's slower if you + # are using only default views. + # config.scoped_views = false + + # Configure the default scope given to Warden. By default it's the first + # devise role declared in your routes (usually :user). + # config.default_scope = :user + + # Set this configuration to false if you want /users/sign_out to sign out + # only the current scope. By default, Devise signs out all scopes. + # config.sign_out_all_scopes = true + + # ==> Navigation configuration + # Lists the formats that should be treated as navigational. Formats like + # :html, should redirect to the sign in page when the user does not have + # access, but formats like :xml or :json, should return 401. + # + # If you have any extra navigational formats, like :iphone or :mobile, you + # should add them to the navigational formats lists. + # + # The "*/*" below is required to match Internet Explorer requests. + # config.navigational_formats = ['*/*', :html] + + # The default HTTP method used to sign out a resource. Default is :delete. + config.sign_out_via = :delete + + # ==> OmniAuth + # Add a new OmniAuth provider. Check the wiki for more information on setting + # up on your models and hooks. + # config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo' + + # ==> Warden configuration + # If you want to use other strategies, that are not supported by Devise, or + # change the failure app, you can configure them inside the config.warden block. + # + # config.warden do |manager| + # manager.intercept_401 = false + # manager.default_strategies(scope: :user).unshift :some_external_strategy + # end + + # ==> Mountable engine configurations + # When using Devise inside an engine, let's call it `MyEngine`, and this engine + # is mountable, there are some extra configurations to be taken into account. + # The following options are available, assuming the engine is mounted as: + # + # mount MyEngine, at: '/my_engine' + # + # The router that invoked `devise_for`, in the example above, would be: + # config.router_name = :my_engine + # + # When using OmniAuth, Devise cannot automatically set OmniAuth path, + # so you need to do it manually. For the users scope, it would be: + # config.omniauth_path_prefix = '/my_engine/users/auth' + + config.omniauth :github, ENV["GITHUB_KEY"], ENV["GITHUB_SECRET"], scope: "user:email" + config.omniauth :twitter, ENV["TWITTER_KEY"], ENV["TWITTER_SECRET"] + +end diff --git a/config/initializers/fastly.rb b/config/initializers/fastly.rb new file mode 100644 index 0000000000000..06e57330ee941 --- /dev/null +++ b/config/initializers/fastly.rb @@ -0,0 +1,9 @@ +FastlyRails.configure do |c| + + c.api_key = ENV['FASTLY_API_KEY'] # Fastly api key, required + c.max_age = 86500 # time in seconds, optional, defaults to 2592000 (30 days) + c.service_id = ENV['FASTLY_SERVICE_ID'] # The Fastly service you will be using, required + c.stale_if_error = 26400 + c.purging_enabled = Rails.env.production? # No need to configure a client locally (AVAILABLE ONLY AS OF 0.4.0) + +end diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb new file mode 100644 index 0000000000000..4a994e1e7bb7c --- /dev/null +++ b/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/config/initializers/gibbon.rb b/config/initializers/gibbon.rb new file mode 100644 index 0000000000000..fbe1eaf6449bf --- /dev/null +++ b/config/initializers/gibbon.rb @@ -0,0 +1,2 @@ +Gibbon::Request.api_key = ENV["MAILCHIMP_API_KEY"] +Gibbon::Request.timeout = 15 diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 0000000000000..ac033bf9dc846 --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/config/initializers/liquid.rb b/config/initializers/liquid.rb new file mode 100644 index 0000000000000..cc0213eb1b5b7 --- /dev/null +++ b/config/initializers/liquid.rb @@ -0,0 +1,18 @@ +# registering all liquid tags + +# dynamic +Liquid::Template.register_tag("devcomment", CommentTag) +Liquid::Template.register_tag("github", GithubTag) +Liquid::Template.register_tag("link", LinkTag) +Liquid::Template.register_tag("podcast", PodcastTag) +Liquid::Template.register_tag("tweet", TweetTag) +Liquid::Template.register_tag("twitter", TweetTag) +Liquid::Template.register_tag("user", UserTag) + +# static +Liquid::Template.register_tag("codepen", CodepenTag) +Liquid::Template.register_tag("gist", GistTag) +Liquid::Template.register_tag("instagram", InstagramTag) +Liquid::Template.register_tag("replit", ReplitTag) +Liquid::Template.register_tag("youtube", YoutubeTag) +Liquid::Template.register_filter(UrlDecodeFilter) diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 0000000000000..dc1899682b01c --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb new file mode 100644 index 0000000000000..a3d4f5da6ed35 --- /dev/null +++ b/config/initializers/new_framework_defaults.rb @@ -0,0 +1,26 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains migration options to ease your Rails 5.0 upgrade. +# +# Once upgraded flip defaults one by one to migrate to the new default. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. + +Rails.application.config.action_controller.raise_on_unfiltered_parameters = true + +# Enable per-form CSRF tokens. Previous versions had false. +Rails.application.config.action_controller.per_form_csrf_tokens = false + +# Enable origin-checking CSRF mitigation. Previous versions had false. +Rails.application.config.action_controller.forgery_protection_origin_check = false + +# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`. +# Previous versions had false. +ActiveSupport.to_time_preserves_timezone = false + +# Require `belongs_to` associations by default. Previous versions had false. +Rails.application.config.active_record.belongs_to_required_by_default = false + +# Do not halt callback chains when a callback returns false. Previous versions had true. +# deprecated as of 5.1 +# ActiveSupport.halt_callback_chains_on_return_false = true diff --git a/config/initializers/new_framework_defaults_5_1.rb b/config/initializers/new_framework_defaults_5_1.rb new file mode 100644 index 0000000000000..9010abd5c21f9 --- /dev/null +++ b/config/initializers/new_framework_defaults_5_1.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains migration options to ease your Rails 5.1 upgrade. +# +# Once upgraded flip defaults one by one to migrate to the new default. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. + +# Make `form_with` generate non-remote forms. +Rails.application.config.action_view.form_with_generates_remote_forms = false + +# Unknown asset fallback will return the path passed in when the given +# asset is not present in the asset pipeline. +# Rails.application.config.assets.unknown_asset_fallback = false diff --git a/config/initializers/octokit.rb b/config/initializers/octokit.rb new file mode 100644 index 0000000000000..d2fde68c10d9b --- /dev/null +++ b/config/initializers/octokit.rb @@ -0,0 +1 @@ +Octokit.auto_paginate = true \ No newline at end of file diff --git a/config/initializers/persistent_csrf_token_cookie.rb b/config/initializers/persistent_csrf_token_cookie.rb new file mode 100644 index 0000000000000..ea2a2ff816918 --- /dev/null +++ b/config/initializers/persistent_csrf_token_cookie.rb @@ -0,0 +1,39 @@ +# config/initializers/monkey_patches/persistent_csrf_token_cookie.rb +# +# Workaround for CSRF protection bug. +# +# https://github.com/rails/rails/issues/21948 +# The bug: +# The rails session cookie is not persistent, therefore it expires when the page is loaded from cache +# (i.e. when browser restores tabs on restart https://www.youtube.com/watch?v=bKDu0qMT4HM) +# which leads to an `InvalidAuthenticityToken` when the user submits a form from that page. +# +# Workaround: +# We decided to move the CSRF token from the session cookie into a separate persistent cookie. +module ActionController + module RequestForgeryProtection + COOKIE_NAME = :_csrf_token + + def real_csrf_token(session) + csrf_token = cookies.encrypted[COOKIE_NAME] || session[:_csrf_token] + csrf_token ||= SecureRandom.base64(AUTHENTICITY_TOKEN_LENGTH) + cookies.encrypted[COOKIE_NAME] ||= { + value: csrf_token, + expires: 1.year.from_now, + httponly: true + } + session[:_csrf_token] = csrf_token + Base64.strict_decode64(csrf_token) + end + end +end + +# http://blog.plataformatec.com.br/2013/08/csrf-token-fixation-attacks-in-devise/ +# (devise-4.2.0/lib/devise/hooks/csrf_cleaner.rb): +Warden::Manager.after_authentication do |_record, warden, _options| + clean_up_for_winning_strategy = !warden.winning_strategy.respond_to?(:clean_up_csrf?) || + warden.winning_strategy.clean_up_csrf? + if Devise.clean_up_csrf_token_on_authentication && clean_up_for_winning_strategy + warden.cookies.delete(ActionController::RequestForgeryProtection::COOKIE_NAME) + end +end \ No newline at end of file diff --git a/config/initializers/redcarpet.rb b/config/initializers/redcarpet.rb new file mode 100644 index 0000000000000..c34aef6172c02 --- /dev/null +++ b/config/initializers/redcarpet.rb @@ -0,0 +1,11 @@ +::REDCARPET_CONFIG = { + autolink: true, + no_intra_emphasis: true, + fenced_code_blocks: true, + lax_html_blocks: true, + lax_spacing: true, + strikethrough: true, + superscript: true, + tables: true, + footnotes: true, +}.freeze \ No newline at end of file diff --git a/config/initializers/reserved_words.rb b/config/initializers/reserved_words.rb new file mode 100644 index 0000000000000..8922e9ca41e88 --- /dev/null +++ b/config/initializers/reserved_words.rb @@ -0,0 +1,213 @@ +::RESERVED_WORDS = [ + "enter", + "internal", + "signout_confirm", + "notifications", + "search", + "feedback_messages", + "api", + "delayed_job_admin", + "users", + "settings", + "about", + "features", + "privacy", + "terms", + "contact", + "merch", + "rlygenerator", + "orlygenerator", + "rlyslack", + "rlyweb", + "rly", + "code-of-conduct", + "report-abuse", + "infiniteloop", + "faq", + "one-of-us", + "swagnets", + "security", + "phishing", + "blocks", + "buffered_articles", + "tags", + "analytics", + "reactions", + "follows", + "csv_exports", + "live_articles", + "new", + "dashboard", + "feed", + "sedaily", + "404", + "500", + "byte", + "bit", + "articles", + "podcasts", + "medium", + "bytes", + "flip", + "membership", + "track", + "tag", + "bits", + "binary", + "infiniteloop", + "loop", + "infinite", + "forloop", + "programming", + "dev", + "developer", + "job", + "jobs", + "tv", + "amp", + "live", + "online", + "jokes", + "funny", + "funnies", + "developertea", + "tea", + "coffee", + "javascript", + "java", + "ruby", + "python", + "haskell", + "dev", + "day", + "night", + "ons", + "daily", + "nightly", + "changelog", + "design", + "jobs", + "designer", + "programming", + "programmer", + "links", + "gigs", + "start", + "startups", + "shoutouts", + "about", + "merch", + "merchandise", + "tos", + "help", + "terms", + "privacy", + "robots", + "ki", + "kilo", + "kilobyte", + "megabyte", + "mega", + "settings", + "account", + "dashboard", + "dash", + "me", + "user", + "ads", + "analytics", + "analysis", + "advertising", + "contact", + "legal", + "hack", + "started", + "getting-started", + "hackers", + "podcast", + "pod", + "following", + "followers", + "cast", + "pc", + "mac", + "linux", + "github", + "opensource", + "oss", + "software", + "live", + "articles", + "article", + "computer", + "journal", + "joke", + "jokes", + "gags", + "funny", + "fun", + "gag", + "drole", + "job_listings", + "comment", + "comments", + "pulse", + "pulses", + "repos", + "repo", + "app", + "job_applications", + "job_application", + "kis", + "rly", + "orly", + "orlybooks", + "oreilly", + "leaders", + "leaderboard", + "leader", + "latest", + "things", + "iot", + "yes", + "social", + "rails", + "angular", + "script", + "work", + "1024", + "binary", + "retro", + "mag", + "magazine", + "new", + "news", + "edit", + "delete", + "update", + "destroy", + "admin", + "administrate", + "deep", + "machinelearning", + "code", + "tech", + "opensource", + "library", + "libraries", + "anal", + "org", + "orgs", + "organizations", + "questions", + "answers", + "rss", + "feed", + "sounds", + "listen", + "ops", + "opps", + "el", + "butt", + "fuck", +] diff --git a/config/initializers/rolify.rb b/config/initializers/rolify.rb new file mode 100644 index 0000000000000..25a25197921c2 --- /dev/null +++ b/config/initializers/rolify.rb @@ -0,0 +1,7 @@ +Rolify.configure do |config| + # By default ORM adapter is ActiveRecord. uncomment to use mongoid + # config.use_mongoid + + # Dynamic shortcuts for User class (user.is_admin? like methods). Default is: false + # config.use_dynamic_shortcuts +end \ No newline at end of file diff --git a/config/initializers/serviceworker.rb b/config/initializers/serviceworker.rb new file mode 100644 index 0000000000000..a2d1d6d984d67 --- /dev/null +++ b/config/initializers/serviceworker.rb @@ -0,0 +1,29 @@ +Rails.application.configure do + config.serviceworker.routes.draw do + # map to assets implicitly + match "/serviceworker.js", + headers: { "Cache-Control" => "public, max-age=8000, s-max-age=20000, no-cache" } + match "/manifest.json", + headers: { "Cache-Control" => "public, max-age=8000, s-max-age=20000, no-cache" } + # Examples + # + # map to a named asset explicitly + # match "/proxied-serviceworker.js" => "nested/asset/serviceworker.js" + # match "/nested/serviceworker.js" => "another/serviceworker.js" + # + # capture named path segments and interpolate to asset name + # match "/captures/*segments/serviceworker.js" => "%{segments}/serviceworker.js" + # + # capture named parameter and interpolate to asset name + # match "/parameter/:id/serviceworker.js" => "project/%{id}/serviceworker.js" + # + # insert custom headers + # match "/header-serviceworker.js" => "another/serviceworker.js", + # headers: { "X-Resource-Header" => "A resource" } + # + # anonymous glob exposes `paths` variable for interpolation + # match "/*/serviceworker.js" => "%{paths}/serviceworker.js" + end + config.serviceworker.headers["Surrogate-Control"] = "max-age=20000" + config.serviceworker.headers["Cache-Control"] = "public, s-maxage=20000, max-age=0, no-cache" +end diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 0000000000000..b2a4cccd45184 --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.session_store :cookie_store, key: '_PracticalDeveloper_session' diff --git a/config/initializers/share_meow_client.rb b/config/initializers/share_meow_client.rb new file mode 100644 index 0000000000000..3c4091bae5e43 --- /dev/null +++ b/config/initializers/share_meow_client.rb @@ -0,0 +1,4 @@ +ShareMeowClient.configuration do |config| + config.base_url = ENV["SHARE_MEOW_BASE_URL"] + config.secret_key = ENV["SHARE_MEOW_SECRET_KEY"] +end diff --git a/config/initializers/slack_notifier.rb b/config/initializers/slack_notifier.rb new file mode 100644 index 0000000000000..6644b063fa842 --- /dev/null +++ b/config/initializers/slack_notifier.rb @@ -0,0 +1,36 @@ +class NoOpHTTPClient + def self.post(uri, params = {}) + # bonus, you could log or observe posted params here + end +end + +def create_normal_notifier + Slack::Notifier.new( + ENV["SLACK_WEBHOOK_URL"], + channel: ENV["SLACK_CHANNEL"], + username: "activity_bot", + ) +end + +def create_test_channel_notifier + Slack::Notifier.new( + ENV["SLACK_WEBHOOK_URL"], + channel: "#test", + username: "development_test_bot", + ) +end + +def create_stubbed_notifier + Slack::Notifier.new "WEBHOOK_URL" do + http_client NoOpHTTPClient + end +end + +::SlackBot = case Rails.env + when "production" + create_normal_notifier + when "development" + create_test_channel_notifier + when "test" + create_stubbed_notifier + end diff --git a/config/initializers/stream_rails.rb b/config/initializers/stream_rails.rb new file mode 100644 index 0000000000000..7a5b35188d014 --- /dev/null +++ b/config/initializers/stream_rails.rb @@ -0,0 +1,14 @@ +require 'stream_rails' + +StreamRails.configure do |config| + config.api_key = ENV['STREAM_RAILS_KEY'] + config.api_secret = ENV['STREAM_RAILS_SECRET'] + config.timeout = 3 # Optional, defaults to 3 + config.location = 'us-east' # Optional, defaults to 'us-east' + # If you use custom feed names, e.g.: timeline_flat, timeline_aggregated, + # use this, otherwise omit: + # config.news_feeds = { flat: "flat", aggregated: "timeline_aggregated" } + # Point to the notifications feed group providing the name, omit if you don't + # have a notifications feed + config.notification_feed = "notifications" +end diff --git a/config/initializers/stripe.rb b/config/initializers/stripe.rb new file mode 100644 index 0000000000000..4ff08f11920c9 --- /dev/null +++ b/config/initializers/stripe.rb @@ -0,0 +1,6 @@ +Rails.configuration.stripe = { + publishable_key: ENV["STRIPE_PUBLISHABLE_KEY"], + secret_key: ENV["STRIPE_SECRET_KEY"], +} + +Stripe.api_key = Rails.configuration.stripe[:secret_key] diff --git a/config/initializers/timber.rb b/config/initializers/timber.rb new file mode 100644 index 0000000000000..79d3c203e1ae2 --- /dev/null +++ b/config/initializers/timber.rb @@ -0,0 +1,21 @@ +# Timber.io Ruby Configuration - Simple Structured Logging +# +# ^ ^ ^ ^ ___I_ ^ ^ ^ ^ ^ ^ ^ +# /|\/|\/|\ /|\ /\-_--\ /|\/|\ /|\/|\/|\ /|\/|\ +# /|\/|\/|\ /|\ / \_-__\ /|\/|\ /|\/|\/|\ /|\/|\ +# /|\/|\/|\ /|\ |[]| [] | /|\/|\ /|\/|\/|\ /|\/|\ +# ------------------------------------------------------------------- +# Website: https://timber.io +# Documentation: https://timber.io/docs +# Support: support@timber.io +# ------------------------------------------------------------------- + +config = Timber::Config.instance +config.integrations.action_view.silence = true +config.integrations.active_record.silence = true +config.integrations.rack.http_events.collapse_into_single_event = true + +# Add additional configuration here. +# For a full list of configuration options and their explanations see: +# http://www.rubydoc.info/github/timberio/timber-ruby/Timber/Config + diff --git a/config/initializers/timeout.rb b/config/initializers/timeout.rb new file mode 100644 index 0000000000000..7f44cc82c3279 --- /dev/null +++ b/config/initializers/timeout.rb @@ -0,0 +1,3 @@ +Rack::Timeout.service_timeout = ENV["SERVICE_TIMEOUT"].to_i # seconds +Rack::Timeout.wait_timeout = 5 +Rack::Timeout.unregister_state_change_observer(:logger) if Rails.env.development? diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000000000..bbfc3961bffef --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml new file mode 100644 index 0000000000000..26a10f2928650 --- /dev/null +++ b/config/locales/devise.en.yml @@ -0,0 +1,60 @@ +# Additional translations at https://github.com/plataformatec/devise/wiki/I18n + +en: + devise: + confirmations: + confirmed: "Your email address has been successfully confirmed." + send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes." + failure: + already_authenticated: "You are already signed in." + inactive: "Your account is not activated yet." + invalid: "Invalid %{authentication_keys} or password." + locked: "Your account is locked." + last_attempt: "You have one more attempt before your account is locked." + not_found_in_database: "Invalid %{authentication_keys} or password." + timeout: "Your session expired. Please sign in again to continue." + unauthenticated: "You need to sign in or sign up before continuing." + unconfirmed: "You have to confirm your email address before continuing." + mailer: + confirmation_instructions: + subject: "Confirmation instructions" + reset_password_instructions: + subject: "Reset password instructions" + unlock_instructions: + subject: "Unlock instructions" + omniauth_callbacks: + failure: "Could not authenticate you from %{kind} because \"%{reason}\"." + success: "Successfully authenticated from %{kind} account." + passwords: + no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." + send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." + updated: "Your password has been changed successfully. You are now signed in." + updated_not_active: "Your password has been changed successfully." + registrations: + destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon." + signed_up: "Welcome! You have signed up successfully." + signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." + signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." + signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." + update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address." + updated: "Your account has been updated successfully." + sessions: + signed_in: "Signed in successfully." + signed_out: "Signed out successfully." + already_signed_out: "Signed out successfully." + unlocks: + send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." + send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." + unlocked: "Your account has been unlocked successfully. Please sign in to continue." + errors: + messages: + already_confirmed: "was already confirmed, please try signing in" + confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" + expired: "has expired, please request a new one" + not_found: "not found" + not_locked: "was not locked" + not_saved: + one: "1 error prohibited this %{resource} from being saved:" + other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000000000..a43ffa7bbb4bb --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,47 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# The following keys must be escaped otherwise they will not be retrieved by +# the default I18n backend: +# +# true, false, on, off, yes, no +# +# Instead, surround them with single quotes. +# +# en: +# 'true': 'foo' +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" + errors: &errors + messages: + extension_whitelist_error: 'must be one of the following extensions: .jpg, .jpeg, .jpe, .gif, .png, .ico, .bmp, .dng, or .svg' + bad_uri: is an invalid url + bad_protocol: must start with %{protocols} + activemodel: + errors: + <<: *errors + activerecord: + errors: + <<: *errors + administrate: + actions: + new: 'New' diff --git a/config/puma.rb b/config/puma.rb new file mode 100644 index 0000000000000..ef7397b71115a --- /dev/null +++ b/config/puma.rb @@ -0,0 +1,23 @@ +workers Integer(ENV["WEB_CONCURRENCY"] || 2) +threads_count = Integer(ENV["MAX_THREADS"] || 5) +threads threads_count, threads_count + +worker_timeout 15 +worker_shutdown_timeout 8 + +preload_app! + +rackup DefaultRackup +port ENV["PORT"] || 3000 +environment ENV["RACK_ENV"] || "development" + +on_worker_boot do + # Worker specific setup for Rails 4.1+ + # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot + ActiveRecord::Base.establish_connection +end + +before_fork do + require 'puma_worker_killer' + PumaWorkerKiller.enable_rolling_restart(12 * 3600) # 12 hours in seconds +end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 0000000000000..c99a579d504d4 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,217 @@ +Rails.application.routes.draw do + devise_for :users, controllers: { + omniauth_callbacks: 'omniauth_callbacks', + session: "sessions", + registrations: "registrations" } + devise_scope :user do + delete "/sign_out" => "devise/sessions#destroy" + get '/enter' => 'registrations#new', :as => :new_user_registration_path + end + + namespace :admin do + # Check administrate gem docs + DashboardManifest::DASHBOARDS.each do |dashboard_resource| + resources dashboard_resource + end + + root controller: DashboardManifest::ROOT_DASHBOARD, action: :index + end + + namespace :internal do + resources :comments + resources :articles, except: [:show] + resources :tags + resources :welcome, only: [:index, :create] + resources :broadcasts + resources :users + resources :events + resources :dogfood, only: [:index] + resources :buffer_updates, only: [:create] + resources :articles, only: [:index, :update] do + get "rss_articles", to: :rss_articles, on: :collection + end + resources :members, only: [:index] + resources :events + mount Flipflop::Engine => "/features" + end + + + namespace :api, defaults: {format: 'json'} do + scope module: :v0, constraints: ApiConstraints.new(version: 0, default: true) do + resources :articles + resources :comments + resources :podcast_episodes + resources :reactions, only: [:create] + resources :tags, only: [:index] do + collection do + get "/onboarding", to: "tags#onboarding" + end + end + end + end + + namespace :notifications do + resources :counts, only: [:index] + resources :reads, only: [:create] + end + + resources :articles, only: [:update,:create,:destroy] + resources :comments, only:[:create,:update,:destroy] + resources :users, only:[:update] + resources :reactions, only: [:index,:create] + resources :feedback_messages, only: [:create] + resources :organizations, only: [:update, :create] + resources :followed_articles, only: [:index] + resources :follows, only: [:index,:show,:create] + resources :giveaways, only: [:create,:update] + resources :csv_exports, only: [:index] + resources :image_uploads, only: [:create] + resources :blocks + resources :notifications, only: [:index] + resources :tags, only: [:index] + resources :analytics, only: [:index] + resources :stripe_subscriptions, only: [:create, :update, :destroy] + resources :stripe_active_cards, only: [:create, :update, :destroy] + resources :live_articles, only: [:index] + resources :github_repos, only: [:create, :update] + resources :buffered_articles, only: [:index] + resources :events, only: [:index] + get "/notifications/:username" => "notifications#index" + patch "/onboarding_update" => "users#onboarding_update" + # resources :users + + ### Subscription vanity url + post "membership-action" => "stripe_subscriptions#create" + + get '/async_info/base_data', controller: 'async_info#base_data', defaults: { format: :json } + + get "/hello-goodbye-to-the-go-go-go", to: redirect("ben/hello-goodbye-to-the-go-go-go") + get "/dhh-on-the-future-of-rails", to: redirect("ben/dhh-on-the-future-of-rails") + get "/christopher-chedeau-on-the-philosophies-of-react", to: redirect("ben/christopher-chedeau-on-the-philosophies-of-react") + get "/javascript-fatigue-buzzword", to: redirect("ben/javascript-fatigue-buzzword") + get "/chris-seaton-making-ruby-fast", to: redirect("ben/chris-seaton-making-ruby-fast") + get "/communicating-intent-the-perpetually-misunderstood-ruby-bang", to: redirect("tom/communicating-intent-the-perpetually-misunderstood-ruby-bang") + get "/quick-tip-grepping-rails-routes", to: redirect("tom/quick-tip-grepping-rails-routes") + get "/use-cases-for-githubs-new-direct-upload-feature", to: redirect("ben/use-cases-for-githubs-new-direct-upload-feature") + get "/this-blog-post-was-written-using-draft-js", to: redirect("ben/this-blog-post-was-written-using-draft-js") + get "/the-future-of-software-development", to: redirect("ben/the-future-of-software-development") + get "/the-zen-of-missing-out-on-the-next-great-programming-tool", to: redirect("ben/the-zen-of-missing-out-on-the-next-great-programming-tool") + get "/the-joy-and-benefit-of-being-an-early-adopter-in-programming", to: redirect("ben/the-joy-and-benefit-of-being-an-early-adopter-in-programming") + get "/watkinsmatthewp/every-developer-should-write-a-personal-automation-api", to: redirect("anotherdevblog/every-developer-should-write-a-personal-automation-api") + + # Settings + post "users/join_org" => "users#join_org" + post "users/leave_org" => "users#leave_org" + post "users/add_org_admin" => "users#add_org_admin" + post "users/remove_org_admin" => "users#remove_org_admin" + post "users/remove_from_org" => "users#remove_from_org" + post "organizations/generate_new_secret" => "organizations#generate_new_secret" + + # The priority is based upon order of creation: first created -> highest priority. + # See how all your routes lay out with "rake routes". + + # You can have the root of your site routed with "root + get "/about" => "pages#about" + get "/privacy" => "pages#privacy" + get "/terms" => "pages#terms" + get "/contact" => "pages#contact" + get "/merch" => "pages#merch" + get "/rlygenerator" => "pages#generator" + get "/orlygenerator" => "pages#generator" + get "/rlyslack" => "pages#generator" + get "/rlytest" => "pages#rlytest" + get "/rlyweb" => "pages#rlyweb" + get "/rly" => "pages#rlyweb" + get "/code-of-conduct" => "pages#code_of_conduct" + get "/report-abuse" => "pages#report-abuse" + get "/infiniteloop" => "pages#infinite_loop" + get "/faq" => "pages#faq" + get "/live" => "pages#live" + get "/swagnets" => "pages#swagnets" + get "/welcome" => "pages#welcome" + get "/💸", to: redirect("t/hiring") + get "/security", to: "pages#bounty" + get "/phishing" => "pages#phishing" + get "/now" => "pages#now" + get "/membership" => "pages#membership" + get "/events" => "events#index" + get "/workshops", to: redirect("events") + get "/sponsorship-info" => "pages#sponsorship_faq" + get "/sponsors" => "pages#sponsors" + get "/search" => "stories#search" + post "articles/preview" => "articles#preview" + get "/freestickers" => "giveaways#new" + get "/freestickers/edit" => "giveaways#edit" + get "/scholarship", to: redirect("/p/scholarships") + get "/scholarships", to: redirect("/p/scholarships") + get "/memberships", to: redirect("/membership") + + # For Google analytics tracking, but we don't want to + # tip the trackers + post "/cromulent" => "ga_events#create" + + scope "p" do + %w(rly rlyweb welcome twitter_moniter editor_guide information markdown_basics scholarships wall_of_patrons membership_form badges).each do |action| + get action, action: action, controller: "pages" + end + end + + get "/:user_board" => "users#index", :constraints => { user_board: /following|followers|leaderboard/} + + match "/delayed_job_admin" => DelayedJobWeb, :anchor => false, via: [:get, :post] + + match '/users/:id/finish_signup' => 'users#finish_signup', via: [:get, :patch], :as => :finish_signup + + get "/settings/(:tab)" => "users#edit" + get "/signout_confirm" => "users#signout_confirm" + get "/dashboard" => "dashboards#show" + get "/dashboard/:which" => "dashboards#show", + constraints: { which: /organization|user_followers|following_users|reading/} + get "/dashboard/:username" => "dashboards#show" + + get "/reactions/logged_out_reaction_counts" => "reactions#logged_out_reaction_counts" + + # for testing rails mailers + if !Rails.env.production? + get '/rails/mailers' => "rails/mailers#index" + get '/rails/mailers/*path' => "rails/mailers#preview" + end + + get "/new" => 'articles#new' + get "/new/:template" => 'articles#new' + + get "/pod" => "podcast_episodes#index" + get "/readinglist" => "reading_list_items#index" + + get "/feed" => "articles#feed", :as => "feed", :defaults => { :format => 'rss' } + get "/feed/:username" => "articles#feed", :as => "user_feed", :defaults => { :format => 'rss' } + get "/rss" => "articles#feed", :defaults => { :format => 'rss' } + + get "/amp/:slug" => 'articles#amp' + get "/amp/:username/:slug" => 'articles#amp', :constraints => { username: /@[\S]*/} + + get "/tag/:tag" => 'stories#index' + get "/t/:tag" => 'stories#index' + + get "/getting-started" => "onboarding#index" + + + get "/:username/:slug/comments/new/:parent_id_code" => 'comments#new' + get "/:username/:slug/comments/new" => 'comments#new' + get "/:username/:slug/comments" => 'comments#index' + get "/:username/:slug/comments/:id_code" => 'comments#index' + get "/:username/:slug/comments/:id_code/edit" => 'comments#edit' + get "/:username/:slug/comments/:id_code/delete_confirm" => 'comments#delete_confirm' + + get "/:username/comment/:id_code" => 'comments#index' + get "/:username/comment/:id_code/edit" => 'comments#edit' + get "/:username/comment/:id_code/delete_confirm" => 'comments#delete_confirm' + + get "/:username/:slug/edit" => 'articles#edit' + get "/:username/:slug/delete_confirm" => 'articles#delete_confirm' + get "/:username/:view" => 'stories#index', constraints: { view: /comments|moderate|admin/} + get "/:username/:slug" => 'stories#show' + get "/:username" => 'stories#index' + + root 'stories#index' +end diff --git a/config/secrets.yml b/config/secrets.yml new file mode 100644 index 0000000000000..73f5e05c650a3 --- /dev/null +++ b/config/secrets.yml @@ -0,0 +1,24 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rails secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +development: + secret_key_base: a60edc976c913b19fd9fc8118936fbe1df2b07f4eecc5ad32f975e33cd4ea36b150c1ce933b681b90874a46568041629003dcbfc07238f7dca91741bcd1ec870 + +test: + secret_key_base: 42dd7834039ebbea271af22635a6782ee15e519b14629c5276bfcdd4cff841e9926994784bb43a335a8f8c9739bb254ea3afe831839d4dc65654ec7516ec25f0 + + +# Do not keep production secrets in the repository, +# instead read values from the environment. +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> + diff --git a/config/skylight.yml b/config/skylight.yml new file mode 100644 index 0000000000000..d40c2c264a22b --- /dev/null +++ b/config/skylight.yml @@ -0,0 +1,3 @@ +--- +# The authentication token for the application. +authentication: <%= ENV['SKYLIGHT_AUTHENTICATION'] %> diff --git a/config/spring.rb b/config/spring.rb new file mode 100644 index 0000000000000..c9119b40c08ef --- /dev/null +++ b/config/spring.rb @@ -0,0 +1,6 @@ +%w( + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +).each { |path| Spring.watch(path) } diff --git a/config/webpack/development.js b/config/webpack/development.js new file mode 100644 index 0000000000000..81269f6513de6 --- /dev/null +++ b/config/webpack/development.js @@ -0,0 +1,3 @@ +const environment = require('./environment') + +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/environment.js b/config/webpack/environment.js new file mode 100644 index 0000000000000..d16d9af7434fa --- /dev/null +++ b/config/webpack/environment.js @@ -0,0 +1,3 @@ +const { environment } = require('@rails/webpacker') + +module.exports = environment diff --git a/config/webpack/production.js b/config/webpack/production.js new file mode 100644 index 0000000000000..81269f6513de6 --- /dev/null +++ b/config/webpack/production.js @@ -0,0 +1,3 @@ +const environment = require('./environment') + +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/test.js b/config/webpack/test.js new file mode 100644 index 0000000000000..81269f6513de6 --- /dev/null +++ b/config/webpack/test.js @@ -0,0 +1,3 @@ +const environment = require('./environment') + +module.exports = environment.toWebpackConfig() diff --git a/config/webpacker.yml b/config/webpacker.yml new file mode 100644 index 0000000000000..e62a7acd13938 --- /dev/null +++ b/config/webpacker.yml @@ -0,0 +1,56 @@ +# Note: You must restart bin/webpack-dev-server for changes to take effect + +default: &default + source_path: app/javascript + source_entry_path: packs + public_output_path: packs + cache_path: tmp/cache/webpacker + + # Additional paths webpack should lookup modules + # ['app/assets', 'engine/foo/app/assets'] + resolved_paths: [] + + # Reload manifest.json on all requests so we reload latest compiled packs + cache_manifest: false + + extensions: + - .coffee + - .erb + - .js + - .jsx + - .ts + - .vue + - .sass + - .scss + - .css + - .png + - .svg + - .gif + - .jpeg + - .jpg + +development: + <<: *default + compile: true + + dev_server: + host: localhost + port: 3035 + hmr: false + https: false + +test: + <<: *default + compile: true + + # Compile test packs to a separate directory + public_output_path: packs-test + +production: + <<: *default + + # Production depends on precompilation of packs prior to booting for performance. + compile: false + + # Cache manifest.json for performance + cache_manifest: true diff --git a/db/migrate/20151224175814_create_articles.rb b/db/migrate/20151224175814_create_articles.rb new file mode 100644 index 0000000000000..a91505b158932 --- /dev/null +++ b/db/migrate/20151224175814_create_articles.rb @@ -0,0 +1,14 @@ +class CreateArticles < ActiveRecord::Migration + def change + create_table :articles do |t| + t.integer :author_id + t.string :title + t.text :body_html + t.text :intro_html + t.text :slug + + t.timestamps null: false + end + add_index("articles", "author_id") + end +end diff --git a/db/migrate/20151224180956_create_advertisements.rb b/db/migrate/20151224180956_create_advertisements.rb new file mode 100644 index 0000000000000..39314bca491b9 --- /dev/null +++ b/db/migrate/20151224180956_create_advertisements.rb @@ -0,0 +1,12 @@ +class CreateAdvertisements < ActiveRecord::Migration + def change + create_table :advertisements do |t| + t.string :name + t.text :body_html + t.string :kind + t.boolean :active, default: true + + t.timestamps null: false + end + end +end diff --git a/db/migrate/20151226205806_create_authors.rb b/db/migrate/20151226205806_create_authors.rb new file mode 100644 index 0000000000000..a869297d15776 --- /dev/null +++ b/db/migrate/20151226205806_create_authors.rb @@ -0,0 +1,10 @@ +class CreateAuthors < ActiveRecord::Migration + def change + create_table :authors do |t| + t.string :name + t.string :twitter_username + t.string :github_username + t.timestamps null: false + end + end +end diff --git a/db/migrate/20151231095411_add_main_image_to_articles.rb b/db/migrate/20151231095411_add_main_image_to_articles.rb new file mode 100644 index 0000000000000..807b9adf3eb94 --- /dev/null +++ b/db/migrate/20151231095411_add_main_image_to_articles.rb @@ -0,0 +1,5 @@ +class AddMainImageToArticles < ActiveRecord::Migration + def change + add_column :articles, :main_image, :string + end +end diff --git a/db/migrate/20151231102537_add_description_to_articles.rb b/db/migrate/20151231102537_add_description_to_articles.rb new file mode 100644 index 0000000000000..bc85dcf2b9adf --- /dev/null +++ b/db/migrate/20151231102537_add_description_to_articles.rb @@ -0,0 +1,5 @@ +class AddDescriptionToArticles < ActiveRecord::Migration + def change + add_column :articles, :description, :string + end +end diff --git a/db/migrate/20160101145545_add_profile_image_to_authors.rb b/db/migrate/20160101145545_add_profile_image_to_authors.rb new file mode 100644 index 0000000000000..8d5624f3a7f39 --- /dev/null +++ b/db/migrate/20160101145545_add_profile_image_to_authors.rb @@ -0,0 +1,5 @@ +class AddProfileImageToAuthors < ActiveRecord::Migration + def change + add_column :authors, :profile_image, :string + end +end diff --git a/db/migrate/20160101170140_add_published_to_articles.rb b/db/migrate/20160101170140_add_published_to_articles.rb new file mode 100644 index 0000000000000..b05f24deb54a7 --- /dev/null +++ b/db/migrate/20160101170140_add_published_to_articles.rb @@ -0,0 +1,6 @@ +class AddPublishedToArticles < ActiveRecord::Migration + def change + add_column :articles, :published, :boolean, default:false + add_column :articles, :password, :string + end +end diff --git a/db/migrate/20160104220657_create_ad_clicks.rb b/db/migrate/20160104220657_create_ad_clicks.rb new file mode 100644 index 0000000000000..48109eea771fa --- /dev/null +++ b/db/migrate/20160104220657_create_ad_clicks.rb @@ -0,0 +1,9 @@ +class CreateAdClicks < ActiveRecord::Migration + def change + create_table :ad_clicks do |t| + t.integer :article_id + t.integer :advertisement_id + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160104221355_add_url_to_advertisments.rb b/db/migrate/20160104221355_add_url_to_advertisments.rb new file mode 100644 index 0000000000000..24570f8d82057 --- /dev/null +++ b/db/migrate/20160104221355_add_url_to_advertisments.rb @@ -0,0 +1,5 @@ +class AddUrlToAdvertisments < ActiveRecord::Migration + def change + add_column :advertisements, :url, :text + end +end diff --git a/db/migrate/20160104222032_create_delayed_jobs.rb b/db/migrate/20160104222032_create_delayed_jobs.rb new file mode 100644 index 0000000000000..27fdcf6cc5899 --- /dev/null +++ b/db/migrate/20160104222032_create_delayed_jobs.rb @@ -0,0 +1,22 @@ +class CreateDelayedJobs < ActiveRecord::Migration + def self.up + create_table :delayed_jobs, force: true do |table| + table.integer :priority, default: 0, null: false # Allows some jobs to jump to the front of the queue + table.integer :attempts, default: 0, null: false # Provides for retries, but still fail eventually. + table.text :handler, null: false # YAML-encoded string of the object that will do work + table.text :last_error # reason for last failure (See Note below) + table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future. + table.datetime :locked_at # Set when a client is working on this object + table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead) + table.string :locked_by # Who is working on this object (if locked) + table.string :queue # The name of the queue this job is in + table.timestamps null: true + end + + add_index :delayed_jobs, [:priority, :run_at], name: "delayed_jobs_priority" + end + + def self.down + drop_table :delayed_jobs + end +end diff --git a/db/migrate/20160104223954_add_ip_to_clicks.rb b/db/migrate/20160104223954_add_ip_to_clicks.rb new file mode 100644 index 0000000000000..aa3f1dff67b61 --- /dev/null +++ b/db/migrate/20160104223954_add_ip_to_clicks.rb @@ -0,0 +1,5 @@ +class AddIpToClicks < ActiveRecord::Migration + def change + add_column :ad_clicks, :ip, :string + end +end diff --git a/db/migrate/20160104225041_add_anchor_to_add.rb b/db/migrate/20160104225041_add_anchor_to_add.rb new file mode 100644 index 0000000000000..00e0b0fd64bb0 --- /dev/null +++ b/db/migrate/20160104225041_add_anchor_to_add.rb @@ -0,0 +1,5 @@ +class AddAnchorToAdd < ActiveRecord::Migration + def change + add_column :advertisements, :anchor_text, :string + end +end diff --git a/db/migrate/20160105211934_add_category_based_banner.rb b/db/migrate/20160105211934_add_category_based_banner.rb new file mode 100644 index 0000000000000..5ad9520367487 --- /dev/null +++ b/db/migrate/20160105211934_add_category_based_banner.rb @@ -0,0 +1,5 @@ +class AddCategoryBasedBanner < ActiveRecord::Migration + def change + add_column :articles, :programming_category, :string + end +end diff --git a/db/migrate/20160111153315_add_published_date_to_articles.rb b/db/migrate/20160111153315_add_published_date_to_articles.rb new file mode 100644 index 0000000000000..f8cc81415f5d1 --- /dev/null +++ b/db/migrate/20160111153315_add_published_date_to_articles.rb @@ -0,0 +1,5 @@ +class AddPublishedDateToArticles < ActiveRecord::Migration + def change + add_column :articles, :published_at, :datetime + end +end diff --git a/db/migrate/20160115190444_create_links.rb b/db/migrate/20160115190444_create_links.rb new file mode 100644 index 0000000000000..98becb5a3a174 --- /dev/null +++ b/db/migrate/20160115190444_create_links.rb @@ -0,0 +1,14 @@ +class CreateLinks < ActiveRecord::Migration + def change + create_table :links do |t| + t.text :title + t.text :body_html + t.text :url + t.text :description + t.text :image + t.string :category + + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160120012230_create_pulse_subscriptions.rb b/db/migrate/20160120012230_create_pulse_subscriptions.rb new file mode 100644 index 0000000000000..fc6c6aed62e4f --- /dev/null +++ b/db/migrate/20160120012230_create_pulse_subscriptions.rb @@ -0,0 +1,15 @@ +class CreatePulseSubscriptions < ActiveRecord::Migration + def change + create_table :pulse_subscriptions do |t| + t.string :team_name + t.string :team_code + t.string :channel + t.string :pulses, default: [].to_yaml + t.string :access_token + t.string :config_url + t.string :sending_url + t.string :scope, default: [].to_yaml + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160124203153_add_reddit_info_to_links.rb b/db/migrate/20160124203153_add_reddit_info_to_links.rb new file mode 100644 index 0000000000000..641d9c0f5d090 --- /dev/null +++ b/db/migrate/20160124203153_add_reddit_info_to_links.rb @@ -0,0 +1,5 @@ +class AddRedditInfoToLinks < ActiveRecord::Migration + def change + add_column :links, :reddit_score, :integer, default: 0 + end +end diff --git a/db/migrate/20160124205229_add_pulsed_to_links.rb b/db/migrate/20160124205229_add_pulsed_to_links.rb new file mode 100644 index 0000000000000..91174ab8178e9 --- /dev/null +++ b/db/migrate/20160124205229_add_pulsed_to_links.rb @@ -0,0 +1,7 @@ +class AddPulsedToLinks < ActiveRecord::Migration + def change + add_column :links, :pulsed, :boolean, default: false + add_column :links, :ids_for_pulse_subscriptions_hit, :text, default: [].to_yaml + add_column :links, :num_pulse_subscriptions_hit, :integer + end +end diff --git a/db/migrate/20160125202948_add_reddit_code_to_links.rb b/db/migrate/20160125202948_add_reddit_code_to_links.rb new file mode 100644 index 0000000000000..1340a286a046f --- /dev/null +++ b/db/migrate/20160125202948_add_reddit_code_to_links.rb @@ -0,0 +1,5 @@ +class AddRedditCodeToLinks < ActiveRecord::Migration + def change + add_column :links, :reddit_identifier, :string + end +end diff --git a/db/migrate/20160126145035_create_pulses.rb b/db/migrate/20160126145035_create_pulses.rb new file mode 100644 index 0000000000000..34c913b95d1fe --- /dev/null +++ b/db/migrate/20160126145035_create_pulses.rb @@ -0,0 +1,11 @@ +class CreatePulses < ActiveRecord::Migration + def change + create_table :pulses do |t| + t.integer :pulse_subscription_id + t.integer :link_id + t.text :body + t.string :category + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160126152212_change_pulses_column_name.rb b/db/migrate/20160126152212_change_pulses_column_name.rb new file mode 100644 index 0000000000000..563749b0f6699 --- /dev/null +++ b/db/migrate/20160126152212_change_pulses_column_name.rb @@ -0,0 +1,5 @@ +class ChangePulsesColumnName < ActiveRecord::Migration + def change + rename_column :pulse_subscriptions, :pulses, :subscribed_categories + end +end diff --git a/db/migrate/20160128215217_create_job_listings.rb b/db/migrate/20160128215217_create_job_listings.rb new file mode 100644 index 0000000000000..9a8de4e111cf3 --- /dev/null +++ b/db/migrate/20160128215217_create_job_listings.rb @@ -0,0 +1,16 @@ +class CreateJobListings < ActiveRecord::Migration + def change + create_table :job_listings do |t| + t.integer :organization_id + t.string :name + t.text :body_html + t.string :category + t.string :url + t.string :email + t.string :city + t.string :state + t.string :country + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160129154529_create_organizations.rb b/db/migrate/20160129154529_create_organizations.rb new file mode 100644 index 0000000000000..94d671dfe0866 --- /dev/null +++ b/db/migrate/20160129154529_create_organizations.rb @@ -0,0 +1,19 @@ +class CreateOrganizations < ActiveRecord::Migration + def change + create_table :organizations do |t| + t.string :name + t.text :summary + t.string :profile_image + t.string :url + t.string :twitter_username + t.string :jobs_url + t.string :jobs_email + t.string :address + t.string :city + t.string :state + t.string :zip_code + t.string :country + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160131213109_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb b/db/migrate/20160131213109_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..6bbd5594ea043 --- /dev/null +++ b/db/migrate/20160131213109_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb @@ -0,0 +1,31 @@ +# This migration comes from acts_as_taggable_on_engine (originally 1) +class ActsAsTaggableOnMigration < ActiveRecord::Migration + def self.up + create_table :tags do |t| + t.string :name + end + + create_table :taggings do |t| + t.references :tag + + # You should make sure that the column created is + # long enough to store the required class names. + t.references :taggable, polymorphic: true + t.references :tagger, polymorphic: true + + # Limit is created to prevent MySQL error on index + # length for MyISAM table type: http://bit.ly/vgW2Ql + t.string :context, limit: 128 + + t.datetime :created_at + end + + add_index :taggings, :tag_id + add_index :taggings, [:taggable_id, :taggable_type, :context] + end + + def self.down + drop_table :taggings + drop_table :tags + end +end diff --git a/db/migrate/20160131213110_add_missing_unique_indices.acts_as_taggable_on_engine.rb b/db/migrate/20160131213110_add_missing_unique_indices.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..4ca676f6c7290 --- /dev/null +++ b/db/migrate/20160131213110_add_missing_unique_indices.acts_as_taggable_on_engine.rb @@ -0,0 +1,20 @@ +# This migration comes from acts_as_taggable_on_engine (originally 2) +class AddMissingUniqueIndices < ActiveRecord::Migration + def self.up + add_index :tags, :name, unique: true + + remove_index :taggings, :tag_id + remove_index :taggings, [:taggable_id, :taggable_type, :context] + add_index :taggings, + [:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type], + unique: true, name: 'taggings_idx' + end + + def self.down + remove_index :tags, :name + + remove_index :taggings, name: 'taggings_idx' + add_index :taggings, :tag_id + add_index :taggings, [:taggable_id, :taggable_type, :context] + end +end diff --git a/db/migrate/20160131213111_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb b/db/migrate/20160131213111_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..8edb508078131 --- /dev/null +++ b/db/migrate/20160131213111_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb @@ -0,0 +1,15 @@ +# This migration comes from acts_as_taggable_on_engine (originally 3) +class AddTaggingsCounterCacheToTags < ActiveRecord::Migration + def self.up + add_column :tags, :taggings_count, :integer, default: 0 + + ActsAsTaggableOn::Tag.reset_column_information + ActsAsTaggableOn::Tag.find_each do |tag| + ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings) + end + end + + def self.down + remove_column :tags, :taggings_count + end +end diff --git a/db/migrate/20160131213112_add_missing_taggable_index.acts_as_taggable_on_engine.rb b/db/migrate/20160131213112_add_missing_taggable_index.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..71f2d7f43309d --- /dev/null +++ b/db/migrate/20160131213112_add_missing_taggable_index.acts_as_taggable_on_engine.rb @@ -0,0 +1,10 @@ +# This migration comes from acts_as_taggable_on_engine (originally 4) +class AddMissingTaggableIndex < ActiveRecord::Migration + def self.up + add_index :taggings, [:taggable_id, :taggable_type, :context] + end + + def self.down + remove_index :taggings, [:taggable_id, :taggable_type, :context] + end +end diff --git a/db/migrate/20160131213113_change_collation_for_tag_names.acts_as_taggable_on_engine.rb b/db/migrate/20160131213113_change_collation_for_tag_names.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..bfb06bc7cda48 --- /dev/null +++ b/db/migrate/20160131213113_change_collation_for_tag_names.acts_as_taggable_on_engine.rb @@ -0,0 +1,10 @@ +# This migration comes from acts_as_taggable_on_engine (originally 5) +# This migration is added to circumvent issue #623 and have special characters +# work properly +class ChangeCollationForTagNames < ActiveRecord::Migration + def up + if ActsAsTaggableOn::Utils.using_mysql? + execute("ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;") + end + end +end diff --git a/db/migrate/20160131234917_add_description_to_jobs.rb b/db/migrate/20160131234917_add_description_to_jobs.rb new file mode 100644 index 0000000000000..151539484a7cf --- /dev/null +++ b/db/migrate/20160131234917_add_description_to_jobs.rb @@ -0,0 +1,5 @@ +class AddDescriptionToJobs < ActiveRecord::Migration + def change + add_column :job_listings, :description, :string + end +end diff --git a/db/migrate/20160201001953_rename_authors_to_users.rb b/db/migrate/20160201001953_rename_authors_to_users.rb new file mode 100644 index 0000000000000..9a4c065c66402 --- /dev/null +++ b/db/migrate/20160201001953_rename_authors_to_users.rb @@ -0,0 +1,5 @@ +class RenameAuthorsToUsers < ActiveRecord::Migration + def change + rename_table :authors, :users + end +end diff --git a/db/migrate/20160201002243_change_author_id_to_user_id.rb b/db/migrate/20160201002243_change_author_id_to_user_id.rb new file mode 100644 index 0000000000000..269b5af3ff733 --- /dev/null +++ b/db/migrate/20160201002243_change_author_id_to_user_id.rb @@ -0,0 +1,6 @@ +class ChangeAuthorIdToUserId < ActiveRecord::Migration + def change + rename_column :articles, :author_id, :user_id + + end +end diff --git a/db/migrate/20160201012919_add_devise_to_users.rb b/db/migrate/20160201012919_add_devise_to_users.rb new file mode 100644 index 0000000000000..0976d459782f0 --- /dev/null +++ b/db/migrate/20160201012919_add_devise_to_users.rb @@ -0,0 +1,64 @@ +class AddDeviseToUsers < ActiveRecord::Migration + def self.up + change_table(:users) do |t| + ## Database authenticatable + t.string :email, null: false, default: "" + t.string :encrypted_password, null: false, default: "" + + ## Recoverable + t.string :reset_password_token + t.datetime :reset_password_sent_at + + ## Rememberable + t.datetime :remember_created_at + + ## Trackable + t.integer :sign_in_count, default: 0, null: false + t.datetime :current_sign_in_at + t.datetime :last_sign_in_at + t.inet :current_sign_in_ip + t.inet :last_sign_in_ip + + ## Confirmable + t.string :confirmation_token + t.datetime :confirmed_at + t.datetime :confirmation_sent_at + t.string :unconfirmed_email # Only if using reconfirmable + + ## Lockable + # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts + # t.string :unlock_token # Only if unlock strategy is :email or :both + # t.datetime :locked_at + + + # Uncomment below if timestamps were not included in your original model. + # t.timestamps null: false + end + + # add_index :users, :email, unique: true + add_index :users, :reset_password_token, unique: true + add_index :users, :confirmation_token, unique: true + # add_index :users, :unlock_token, unique: true + end + + def self.down + # By default, we don't want to make any assumption about how to roll back a migration when your + # model already existed. Please edit below which fields you would like to remove in this migration. + # raise ActiveRecord::IrreversibleMigration + # remove_index :users, :reset_password_token + # remove_index :users, :email + # remove_column :users, :encrypted_password + # remove_column :users, :reset_password_token + # remove_column :users, :reset_password_sent_at + # remove_column :users, :email + # remove_column :users, :remember_created_at + # remove_column :users, :sign_in_count + # remove_column :users, :current_sign_in_at + # remove_column :users, :last_sign_in_at + # remove_column :users, :current_sign_in_ip + # remove_column :users, :last_sign_in_ip + + + + end +end diff --git a/db/migrate/20160201014516_create_identities.rb b/db/migrate/20160201014516_create_identities.rb new file mode 100644 index 0000000000000..c3390ca0f9361 --- /dev/null +++ b/db/migrate/20160201014516_create_identities.rb @@ -0,0 +1,13 @@ +class CreateIdentities < ActiveRecord::Migration + def change + create_table :identities do |t| + # t.references :user, index: true + t.integer :user_id + t.string :provider + t.string :uid + + t.timestamps null: false + end + # add_foreign_key :identities, :users + end +end diff --git a/db/migrate/20160202211114_add_organization_id_to_users.rb b/db/migrate/20160202211114_add_organization_id_to_users.rb new file mode 100644 index 0000000000000..9ff6fcb08779c --- /dev/null +++ b/db/migrate/20160202211114_add_organization_id_to_users.rb @@ -0,0 +1,6 @@ +class AddOrganizationIdToUsers < ActiveRecord::Migration + def change + add_column :users, :organization_id, :integer + add_index :users, :organization_id + end +end diff --git a/db/migrate/20160202214951_add_bumped_at_to_job_listings.rb b/db/migrate/20160202214951_add_bumped_at_to_job_listings.rb new file mode 100644 index 0000000000000..a3dbb2056f2db --- /dev/null +++ b/db/migrate/20160202214951_add_bumped_at_to_job_listings.rb @@ -0,0 +1,5 @@ +class AddBumpedAtToJobListings < ActiveRecord::Migration + def change + add_column :job_listings, :bumped_at, :datetime + end +end diff --git a/db/migrate/20160203005540_add_org_admin_to_users.rb b/db/migrate/20160203005540_add_org_admin_to_users.rb new file mode 100644 index 0000000000000..07281199ee3db --- /dev/null +++ b/db/migrate/20160203005540_add_org_admin_to_users.rb @@ -0,0 +1,5 @@ +class AddOrgAdminToUsers < ActiveRecord::Migration + def change + add_column :users, :org_admin, :boolean, default: false + end +end diff --git a/db/migrate/20160203011021_add_default_job_stuff_to_users.rb b/db/migrate/20160203011021_add_default_job_stuff_to_users.rb new file mode 100644 index 0000000000000..4e73585ccf782 --- /dev/null +++ b/db/migrate/20160203011021_add_default_job_stuff_to_users.rb @@ -0,0 +1,6 @@ +class AddDefaultJobStuffToUsers < ActiveRecord::Migration + def change + add_column :users, :base_cover_letter, :text + add_column :users, :resume_html, :text + end +end diff --git a/db/migrate/20160203233256_add_remote_allowed_boolean_to_job_listings.rb b/db/migrate/20160203233256_add_remote_allowed_boolean_to_job_listings.rb new file mode 100644 index 0000000000000..034936b991602 --- /dev/null +++ b/db/migrate/20160203233256_add_remote_allowed_boolean_to_job_listings.rb @@ -0,0 +1,5 @@ +class AddRemoteAllowedBooleanToJobListings < ActiveRecord::Migration + def change + add_column :job_listings, :location_status, :string, default: "in office" + end +end diff --git a/db/migrate/20160206011647_add_compensation_and_level_to_job_listings.rb b/db/migrate/20160206011647_add_compensation_and_level_to_job_listings.rb new file mode 100644 index 0000000000000..9859b661ade2e --- /dev/null +++ b/db/migrate/20160206011647_add_compensation_and_level_to_job_listings.rb @@ -0,0 +1,6 @@ +class AddCompensationAndLevelToJobListings < ActiveRecord::Migration + def change + add_column :job_listings, :compensation_description, :string + add_column :job_listings, :experience_level, :string + end +end diff --git a/db/migrate/20160211170239_add_summary_to_users.rb b/db/migrate/20160211170239_add_summary_to_users.rb new file mode 100644 index 0000000000000..3a237c8fcf1fb --- /dev/null +++ b/db/migrate/20160211170239_add_summary_to_users.rb @@ -0,0 +1,6 @@ +class AddSummaryToUsers < ActiveRecord::Migration + def change + add_column :users, :summary, :text + add_column :users, :website_url, :string + end +end diff --git a/db/migrate/20160214023247_create_job_applications.rb b/db/migrate/20160214023247_create_job_applications.rb new file mode 100644 index 0000000000000..4aabe6ce16a6e --- /dev/null +++ b/db/migrate/20160214023247_create_job_applications.rb @@ -0,0 +1,10 @@ +class CreateJobApplications < ActiveRecord::Migration + def change + create_table :job_applications do |t| + t.integer :job_listing_id + t.integer :user_id + t.text :cover_letter + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160226193243_add_active_to_links.rb b/db/migrate/20160226193243_add_active_to_links.rb new file mode 100644 index 0000000000000..7d90e605580a1 --- /dev/null +++ b/db/migrate/20160226193243_add_active_to_links.rb @@ -0,0 +1,5 @@ +class AddActiveToLinks < ActiveRecord::Migration + def change + add_column :links, :active, :boolean, default: true + end +end diff --git a/db/migrate/20160304000325_add_pismo_to_links.rb b/db/migrate/20160304000325_add_pismo_to_links.rb new file mode 100644 index 0000000000000..ad98992c74679 --- /dev/null +++ b/db/migrate/20160304000325_add_pismo_to_links.rb @@ -0,0 +1,9 @@ +class AddPismoToLinks < ActiveRecord::Migration + def change + add_column :links, :pismo_response_json, :text + add_column :links, :pismo_body, :text + add_column :links, :pismo_html, :text + add_column :links, :pismo_description, :text + add_column :links, :pismo_keywords, :text + end +end diff --git a/db/migrate/20160304010353_create_comments.rb b/db/migrate/20160304010353_create_comments.rb new file mode 100644 index 0000000000000..034f4512da523 --- /dev/null +++ b/db/migrate/20160304010353_create_comments.rb @@ -0,0 +1,11 @@ +class CreateComments < ActiveRecord::Migration + def change + create_table :comments do |t| + t.integer :link_id + t.integer :user_id + t.text :body_html + t.boolean :edited, default: false + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160304011144_add_ancestry_to_comments.rb b/db/migrate/20160304011144_add_ancestry_to_comments.rb new file mode 100644 index 0000000000000..5b9fd62eeac4c --- /dev/null +++ b/db/migrate/20160304011144_add_ancestry_to_comments.rb @@ -0,0 +1,6 @@ +class AddAncestryToComments < ActiveRecord::Migration + def change + add_column :comments, :ancestry, :string + add_index :comments, :ancestry + end +end diff --git a/db/migrate/20160309155009_add_body_text_to_links.rb b/db/migrate/20160309155009_add_body_text_to_links.rb new file mode 100644 index 0000000000000..099cf8741ec1c --- /dev/null +++ b/db/migrate/20160309155009_add_body_text_to_links.rb @@ -0,0 +1,6 @@ +class AddBodyTextToLinks < ActiveRecord::Migration + def change + add_column :links, :body_text, :text + add_column :links, :base_url, :string + end +end diff --git a/db/migrate/20160310024038_add_username_to_users.rb b/db/migrate/20160310024038_add_username_to_users.rb new file mode 100644 index 0000000000000..3b71a27699f40 --- /dev/null +++ b/db/migrate/20160310024038_add_username_to_users.rb @@ -0,0 +1,5 @@ +class AddUsernameToUsers < ActiveRecord::Migration + def change + add_column :users, :username, :string + end +end diff --git a/db/migrate/20160317190829_create_podcasts.rb b/db/migrate/20160317190829_create_podcasts.rb new file mode 100644 index 0000000000000..001c574bcaa64 --- /dev/null +++ b/db/migrate/20160317190829_create_podcasts.rb @@ -0,0 +1,13 @@ +class CreatePodcasts < ActiveRecord::Migration + def change + create_table :podcasts do |t| + t.string :title + t.text :description + t.string :feed_url + t.string :itunes_url + t.string :image + t.string :slug + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160317190838_create_podcast_episodes.rb b/db/migrate/20160317190838_create_podcast_episodes.rb new file mode 100644 index 0000000000000..992da247a6ce5 --- /dev/null +++ b/db/migrate/20160317190838_create_podcast_episodes.rb @@ -0,0 +1,19 @@ +class CreatePodcastEpisodes < ActiveRecord::Migration + def change + create_table :podcast_episodes do |t| + t.integer :podcast_id + t.string :title + t.string :subtitle + t.text :summary + t.string :media_url + t.string :website_url + t.string :itunes_url + t.string :image + t.integer :duration_in_seconds + t.datetime :published_at + t.string :slug + t.string :guid + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160318195259_add_image_quality_to_articles.rb b/db/migrate/20160318195259_add_image_quality_to_articles.rb new file mode 100644 index 0000000000000..341ee3386cc9a --- /dev/null +++ b/db/migrate/20160318195259_add_image_quality_to_articles.rb @@ -0,0 +1,5 @@ +class AddImageQualityToArticles < ActiveRecord::Migration + def change + add_column :articles, :image_jpg_quality, :integer, default: 90 + end +end diff --git a/db/migrate/20160322214055_add_home_screen_to_articles.rb b/db/migrate/20160322214055_add_home_screen_to_articles.rb new file mode 100644 index 0000000000000..0994f2d8cfe98 --- /dev/null +++ b/db/migrate/20160322214055_add_home_screen_to_articles.rb @@ -0,0 +1,5 @@ +class AddHomeScreenToArticles < ActiveRecord::Migration + def change + add_column :articles, :featured, :boolean, default: false + end +end diff --git a/db/migrate/20160323233659_add_deepgram_id_code_to_podcast_episodes.rb b/db/migrate/20160323233659_add_deepgram_id_code_to_podcast_episodes.rb new file mode 100644 index 0000000000000..6a7cb51e1da96 --- /dev/null +++ b/db/migrate/20160323233659_add_deepgram_id_code_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddDeepgramIdCodeToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :deepgram_id_code, :string + end +end diff --git a/db/migrate/20160324231938_add_processed_html_to_articles.rb b/db/migrate/20160324231938_add_processed_html_to_articles.rb new file mode 100644 index 0000000000000..1133c3fb098af --- /dev/null +++ b/db/migrate/20160324231938_add_processed_html_to_articles.rb @@ -0,0 +1,5 @@ +class AddProcessedHtmlToArticles < ActiveRecord::Migration + def change + add_column :articles, :processed_html, :text + end +end diff --git a/db/migrate/20160329004330_add_id_code_to_comments.rb b/db/migrate/20160329004330_add_id_code_to_comments.rb new file mode 100644 index 0000000000000..6bbab37623402 --- /dev/null +++ b/db/migrate/20160329004330_add_id_code_to_comments.rb @@ -0,0 +1,5 @@ +class AddIdCodeToComments < ActiveRecord::Migration + def change + add_column :comments, :id_code, :string + end +end diff --git a/db/migrate/20160401203746_add_key_and_token_to_identities.rb b/db/migrate/20160401203746_add_key_and_token_to_identities.rb new file mode 100644 index 0000000000000..162054f8b7650 --- /dev/null +++ b/db/migrate/20160401203746_add_key_and_token_to_identities.rb @@ -0,0 +1,7 @@ +class AddKeyAndTokenToIdentities < ActiveRecord::Migration + def change + add_column :identities, :token, :string + add_column :identities, :secret, :string + + end +end diff --git a/db/migrate/20160418001613_add_body_to_podcast_episodes.rb b/db/migrate/20160418001613_add_body_to_podcast_episodes.rb new file mode 100644 index 0000000000000..4d4fee06b97ec --- /dev/null +++ b/db/migrate/20160418001613_add_body_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddBodyToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :body, :text + end +end diff --git a/db/migrate/20160428002923_add_quote_to_podcast_episodes.rb b/db/migrate/20160428002923_add_quote_to_podcast_episodes.rb new file mode 100644 index 0000000000000..ff204e0511b34 --- /dev/null +++ b/db/migrate/20160428002923_add_quote_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddQuoteToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :quote, :text + end +end diff --git a/db/migrate/20160503004547_create_kis.rb b/db/migrate/20160503004547_create_kis.rb new file mode 100644 index 0000000000000..07f760294a504 --- /dev/null +++ b/db/migrate/20160503004547_create_kis.rb @@ -0,0 +1,17 @@ +class CreateKis < ActiveRecord::Migration + def change + create_table :kis do |t| + t.integer :user_id + t.text :body_markdown + t.string :body_html + t.integer :markdown_character_count, default: 0 + t.boolean :edited, default: false + t.datetime :edited_at + t.datetime :published_at + t.boolean :published, default: false + t.boolean :featured, default: false + t.string :id_code + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160505014825_add_remember_token_to_users.rb b/db/migrate/20160505014825_add_remember_token_to_users.rb new file mode 100644 index 0000000000000..78d2956061b18 --- /dev/null +++ b/db/migrate/20160505014825_add_remember_token_to_users.rb @@ -0,0 +1,5 @@ +class AddRememberTokenToUsers < ActiveRecord::Migration + def change + add_column :users, :remember_token, :string + end +end diff --git a/db/migrate/20160510022025_add_social_image_to_podcast_episodes.rb b/db/migrate/20160510022025_add_social_image_to_podcast_episodes.rb new file mode 100644 index 0000000000000..cbf10afe70ba8 --- /dev/null +++ b/db/migrate/20160510022025_add_social_image_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddSocialImageToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :social_image, :string + end +end diff --git a/db/migrate/20160517144259_create_sponsors.rb b/db/migrate/20160517144259_create_sponsors.rb new file mode 100644 index 0000000000000..1b7d4b1630897 --- /dev/null +++ b/db/migrate/20160517144259_create_sponsors.rb @@ -0,0 +1,11 @@ +class CreateSponsors < ActiveRecord::Migration + def change + create_table :sponsors do |t| + t.string :name + t.text :description + t.string :color_hex + t.string :image + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160517144335_create_sponsorships.rb b/db/migrate/20160517144335_create_sponsorships.rb new file mode 100644 index 0000000000000..fea7edccf1151 --- /dev/null +++ b/db/migrate/20160517144335_create_sponsorships.rb @@ -0,0 +1,11 @@ +class CreateSponsorships < ActiveRecord::Migration + def change + create_table :sponsorships do |t| + t.integer :sponsor_id + t.integer :sponsorable_id + t.string :sponsorable_type + t.string :description + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160518202957_add_featured_number_to_articles.rb b/db/migrate/20160518202957_add_featured_number_to_articles.rb new file mode 100644 index 0000000000000..4d1de4b57b47a --- /dev/null +++ b/db/migrate/20160518202957_add_featured_number_to_articles.rb @@ -0,0 +1,10 @@ +class AddFeaturedNumberToArticles < ActiveRecord::Migration + def change + add_column :sponsors, :url, :string + add_column :sponsorships, :url, :string + add_column :articles, :featured_number, :integer + add_column :podcast_episodes, :featured_number, :integer + add_column :podcast_episodes, :featured, :boolean, default:true + add_column :kis, :featured_number, :integer + end +end diff --git a/db/migrate/20160525190703_create_questions.rb b/db/migrate/20160525190703_create_questions.rb new file mode 100644 index 0000000000000..b19f020b68485 --- /dev/null +++ b/db/migrate/20160525190703_create_questions.rb @@ -0,0 +1,14 @@ +class CreateQuestions < ActiveRecord::Migration + def change + create_table :questions do |t| + t.string :main_text + t.text :sub_text + t.string :slug + t.boolean :published, default: false + t.datetime :published_at + t.boolean :featured, default: false + t.integer :featured_number + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160525192526_create_answers.rb b/db/migrate/20160525192526_create_answers.rb new file mode 100644 index 0000000000000..070277f4c6cbf --- /dev/null +++ b/db/migrate/20160525192526_create_answers.rb @@ -0,0 +1,14 @@ +class CreateAnswers < ActiveRecord::Migration + def change + create_table :answers do |t| + t.integer :question_id + t.integer :user_id + t.string :slug + t.text :body_markdown + t.text :body_html + t.text :body_plain_text + t.integer :score + t.timestamps null: false + end + end +end diff --git a/db/migrate/20160602140503_add_social_image_to_articles.rb b/db/migrate/20160602140503_add_social_image_to_articles.rb new file mode 100644 index 0000000000000..4001faccc368b --- /dev/null +++ b/db/migrate/20160602140503_add_social_image_to_articles.rb @@ -0,0 +1,5 @@ +class AddSocialImageToArticles < ActiveRecord::Migration + def change + add_column :articles, :social_image, :string + end +end diff --git a/db/migrate/20160610135858_add_attributes_to_podcasts.rb b/db/migrate/20160610135858_add_attributes_to_podcasts.rb new file mode 100644 index 0000000000000..6c4c29c00b20c --- /dev/null +++ b/db/migrate/20160610135858_add_attributes_to_podcasts.rb @@ -0,0 +1,7 @@ +class AddAttributesToPodcasts < ActiveRecord::Migration + def change + add_column :podcasts, :twitter_username, :string + add_column :podcasts, :website_url, :string + add_column :podcasts, :main_color_hex, :string + end +end diff --git a/db/migrate/20160610145259_add_more_attributes_to_podcasts.rb b/db/migrate/20160610145259_add_more_attributes_to_podcasts.rb new file mode 100644 index 0000000000000..72fa1d4db0037 --- /dev/null +++ b/db/migrate/20160610145259_add_more_attributes_to_podcasts.rb @@ -0,0 +1,7 @@ +class AddMoreAttributesToPodcasts < ActiveRecord::Migration + def change + add_column :podcasts, :overcast_url, :string + add_column :podcasts, :android_url, :string + add_column :podcasts, :pattern_image, :string + end +end diff --git a/db/migrate/20160610155109_add_order_key_to_podcast_episodes.rb b/db/migrate/20160610155109_add_order_key_to_podcast_episodes.rb new file mode 100644 index 0000000000000..72b4e2830ed67 --- /dev/null +++ b/db/migrate/20160610155109_add_order_key_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddOrderKeyToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :order_key, :string + end +end diff --git a/db/migrate/20160703135819_add_editing_permissions_to_articles.rb b/db/migrate/20160703135819_add_editing_permissions_to_articles.rb new file mode 100644 index 0000000000000..6d4c7b1ae639f --- /dev/null +++ b/db/migrate/20160703135819_add_editing_permissions_to_articles.rb @@ -0,0 +1,6 @@ +class AddEditingPermissionsToArticles < ActiveRecord::Migration + def change + add_column :articles, :allow_small_edits, :boolean, default: true + add_column :articles, :allow_big_edits, :boolean, default: true + end +end diff --git a/db/migrate/20160713202608_add_secret_to_users.rb b/db/migrate/20160713202608_add_secret_to_users.rb new file mode 100644 index 0000000000000..b0b4a90812ab0 --- /dev/null +++ b/db/migrate/20160713202608_add_secret_to_users.rb @@ -0,0 +1,5 @@ +class AddSecretToUsers < ActiveRecord::Migration + def change + add_column :users, :secret, :string + end +end diff --git a/db/migrate/20160726230520_add_github_path_to_articles.rb b/db/migrate/20160726230520_add_github_path_to_articles.rb new file mode 100644 index 0000000000000..4904b9107e15b --- /dev/null +++ b/db/migrate/20160726230520_add_github_path_to_articles.rb @@ -0,0 +1,5 @@ +class AddGithubPathToArticles < ActiveRecord::Migration + def change + add_column :articles, :github_path, :string + end +end diff --git a/db/migrate/20160801212954_add_body_markdown_to_articles.rb b/db/migrate/20160801212954_add_body_markdown_to_articles.rb new file mode 100644 index 0000000000000..e8c09b90dfc03 --- /dev/null +++ b/db/migrate/20160801212954_add_body_markdown_to_articles.rb @@ -0,0 +1,5 @@ +class AddBodyMarkdownToArticles < ActiveRecord::Migration + def change + add_column :articles, :body_markdown, :text + end +end diff --git a/db/migrate/20160809182110_add_slug_to_organizations.rb b/db/migrate/20160809182110_add_slug_to_organizations.rb new file mode 100644 index 0000000000000..27d6bcbe42b77 --- /dev/null +++ b/db/migrate/20160809182110_add_slug_to_organizations.rb @@ -0,0 +1,8 @@ +class AddSlugToOrganizations < ActiveRecord::Migration + def change + add_column :organizations, :slug, :string + add_column :organizations, :nav_image, :string + add_column :articles, :organization_id, :integer + + end +end diff --git a/db/migrate/20160810191937_add_github_username_to_organizations.rb b/db/migrate/20160810191937_add_github_username_to_organizations.rb new file mode 100644 index 0000000000000..99360d4004416 --- /dev/null +++ b/db/migrate/20160810191937_add_github_username_to_organizations.rb @@ -0,0 +1,5 @@ +class AddGithubUsernameToOrganizations < ActiveRecord::Migration + def change + add_column :organizations, :github_username, :string + end +end diff --git a/db/migrate/20160819025830_add_processed_html_to_podcast_episodes.rb b/db/migrate/20160819025830_add_processed_html_to_podcast_episodes.rb new file mode 100644 index 0000000000000..ace3df529e0fb --- /dev/null +++ b/db/migrate/20160819025830_add_processed_html_to_podcast_episodes.rb @@ -0,0 +1,5 @@ +class AddProcessedHtmlToPodcastEpisodes < ActiveRecord::Migration + def change + add_column :podcast_episodes, :processed_html, :text + end +end diff --git a/db/migrate/20160905190604_create_collection.rb b/db/migrate/20160905190604_create_collection.rb new file mode 100644 index 0000000000000..96c7365b5c3f1 --- /dev/null +++ b/db/migrate/20160905190604_create_collection.rb @@ -0,0 +1,17 @@ +class CreateCollection < ActiveRecord::Migration + def change + create_table :collections do |t| + t.string :title + t.string :slug + t.string :description + t.string :main_image + t.string :social_image + t.integer :user_id + t.integer :organization_id + t.boolean :published, default: false + t.timestamps null: false + end + add_index("collections", "user_id") + add_index("collections", "organization_id") + end +end diff --git a/db/migrate/20160908145640_add_sponsor_id_to_articles.rb b/db/migrate/20160908145640_add_sponsor_id_to_articles.rb new file mode 100644 index 0000000000000..6ea2c2db27c3b --- /dev/null +++ b/db/migrate/20160908145640_add_sponsor_id_to_articles.rb @@ -0,0 +1,7 @@ +class AddSponsorIdToArticles < ActiveRecord::Migration + def change + add_column :articles, :sponsor_id, :integer + add_column :articles, :sponsor_showing, :boolean, default: false + + end +end diff --git a/db/migrate/20160908151357_add_pattern_image_to_sponsors.rb b/db/migrate/20160908151357_add_pattern_image_to_sponsors.rb new file mode 100644 index 0000000000000..fd151630a8fe9 --- /dev/null +++ b/db/migrate/20160908151357_add_pattern_image_to_sponsors.rb @@ -0,0 +1,6 @@ +class AddPatternImageToSponsors < ActiveRecord::Migration + def change + add_column :sponsors, :pattern_image, :string + add_column :sponsors, :subheadline, :string + end +end diff --git a/db/migrate/20160926154138_add_polymorphism_to_comments.rb b/db/migrate/20160926154138_add_polymorphism_to_comments.rb new file mode 100644 index 0000000000000..2098441f37a37 --- /dev/null +++ b/db/migrate/20160926154138_add_polymorphism_to_comments.rb @@ -0,0 +1,7 @@ +class AddPolymorphismToComments < ActiveRecord::Migration + def change + add_column :comments, :commentable_id, :integer + add_column :comments, :commentable_type, :string + add_column :comments, :score, :integer, default: 0 + end +end diff --git a/db/migrate/20160926164412_create_reactions.rb b/db/migrate/20160926164412_create_reactions.rb new file mode 100644 index 0000000000000..b840900f8aeac --- /dev/null +++ b/db/migrate/20160926164412_create_reactions.rb @@ -0,0 +1,13 @@ +class CreateReactions < ActiveRecord::Migration + def change + create_table :reactions do |t| + t.integer :user_id + t.integer :reactable_id + t.string :reactable_type + t.string :category + t.float :points, default: 1.0 + t.timestamps null: false + end + add_index("reactions", "user_id") + end +end diff --git a/db/migrate/20161013195522_add_colors_to_orgs.rb b/db/migrate/20161013195522_add_colors_to_orgs.rb new file mode 100644 index 0000000000000..45f5225800488 --- /dev/null +++ b/db/migrate/20161013195522_add_colors_to_orgs.rb @@ -0,0 +1,7 @@ +class AddColorsToOrgs < ActiveRecord::Migration + def change + add_column :organizations, :bg_color_hex, :string + add_column :organizations, :text_color_hex, :string + + end +end diff --git a/db/migrate/20161018201530_add_canonical_url_to_articles.rb b/db/migrate/20161018201530_add_canonical_url_to_articles.rb new file mode 100644 index 0000000000000..1faef574fc478 --- /dev/null +++ b/db/migrate/20161018201530_add_canonical_url_to_articles.rb @@ -0,0 +1,5 @@ +class AddCanonicalUrlToArticles < ActiveRecord::Migration + def change + add_column :articles, :canonical_url, :string + end +end diff --git a/db/migrate/20161124212209_add_alt_to_sponsors.rb b/db/migrate/20161124212209_add_alt_to_sponsors.rb new file mode 100644 index 0000000000000..e74f3a3dff519 --- /dev/null +++ b/db/migrate/20161124212209_add_alt_to_sponsors.rb @@ -0,0 +1,12 @@ +class AddAltToSponsors < ActiveRecord::Migration + def change + add_column :sponsors, :alt_subheadline, :string + add_column :articles, :alt_description, :text + add_column :articles, :alt_image, :string + add_column :articles, :lead_phrase, :string, default: "Sponsored by a service we love" + add_column :articles, :alt_lead_phrase, :string, default: "Sponsored by a service we love" + add_column :articles, :button_text, :string, default: "Learn More" + add_column :articles, :alt_button_text, :string, default: "Learn More" + + end +end diff --git a/db/migrate/20161208193428_add_collection_id_to_articles.rb b/db/migrate/20161208193428_add_collection_id_to_articles.rb new file mode 100644 index 0000000000000..7729d8738c86f --- /dev/null +++ b/db/migrate/20161208193428_add_collection_id_to_articles.rb @@ -0,0 +1,7 @@ +class AddCollectionIdToArticles < ActiveRecord::Migration + def change + add_column :articles, :collection_id, :integer + add_column :articles, :collection_position, :integer + add_column :articles, :name_within_collection, :string + end +end diff --git a/db/migrate/20161211234357_add_comment_toggle_to_articles.rb b/db/migrate/20161211234357_add_comment_toggle_to_articles.rb new file mode 100644 index 0000000000000..c1e01a61a1fb2 --- /dev/null +++ b/db/migrate/20161211234357_add_comment_toggle_to_articles.rb @@ -0,0 +1,5 @@ +class AddCommentToggleToArticles < ActiveRecord::Migration + def change + add_column :articles, :show_comments, :boolean, default: false + end +end diff --git a/db/migrate/20161212161130_add_image_background_hex_to_articles.rb b/db/migrate/20161212161130_add_image_background_hex_to_articles.rb new file mode 100644 index 0000000000000..224df2587a2ef --- /dev/null +++ b/db/migrate/20161212161130_add_image_background_hex_to_articles.rb @@ -0,0 +1,5 @@ +class AddImageBackgroundHexToArticles < ActiveRecord::Migration + def change + add_column :articles, :main_image_background_hex_color, :string, default: "#dddddd" + end +end diff --git a/db/migrate/20161213212554_add_email_settings_to_users.rb b/db/migrate/20161213212554_add_email_settings_to_users.rb new file mode 100644 index 0000000000000..52de04d0c5a77 --- /dev/null +++ b/db/migrate/20161213212554_add_email_settings_to_users.rb @@ -0,0 +1,6 @@ +class AddEmailSettingsToUsers < ActiveRecord::Migration + def change + add_column :users, :email_newsletter, :boolean, default: true + add_column :users, :email_comment_notifications, :boolean, default: true + end +end diff --git a/db/migrate/20161216165302_add_ids_for_other_articles_to_articles.rb b/db/migrate/20161216165302_add_ids_for_other_articles_to_articles.rb new file mode 100644 index 0000000000000..1f8b5d456464b --- /dev/null +++ b/db/migrate/20161216165302_add_ids_for_other_articles_to_articles.rb @@ -0,0 +1,5 @@ +class AddIdsForOtherArticlesToArticles < ActiveRecord::Migration + def change + add_column :articles, :ids_for_suggested_articles, :string, default: "[]" + end +end diff --git a/db/migrate/20161219173922_add_deleted_to_comments.rb b/db/migrate/20161219173922_add_deleted_to_comments.rb new file mode 100644 index 0000000000000..0aa16decf30f9 --- /dev/null +++ b/db/migrate/20161219173922_add_deleted_to_comments.rb @@ -0,0 +1,5 @@ +class AddDeletedToComments < ActiveRecord::Migration + def change + add_column :comments, :deleted, :boolean, default: false + end +end diff --git a/db/migrate/20161223053926_add_colors_to_users.rb b/db/migrate/20161223053926_add_colors_to_users.rb new file mode 100644 index 0000000000000..c402b4cb636c7 --- /dev/null +++ b/db/migrate/20161223053926_add_colors_to_users.rb @@ -0,0 +1,7 @@ +class AddColorsToUsers < ActiveRecord::Migration + def change + add_column :users, :bg_color_hex, :string + add_column :users, :text_color_hex, :string + + end +end diff --git a/db/migrate/20161226180959_add_details_to_users.rb b/db/migrate/20161226180959_add_details_to_users.rb new file mode 100644 index 0000000000000..30f5388b75c12 --- /dev/null +++ b/db/migrate/20161226180959_add_details_to_users.rb @@ -0,0 +1,14 @@ +class AddDetailsToUsers < ActiveRecord::Migration + def change + add_column :users, :employer_name, :string + add_column :users, :employer_url, :string + add_column :users, :employment_title, :string + add_column :users, :currently_learning, :string + add_column :users, :mostly_work_with, :string + add_column :users, :available_for, :string + add_column :users, :currently_hacking_on, :string + add_column :users, :location, :string + add_column :users, :email_public, :boolean, default: false + add_column :users, :education, :string + end +end diff --git a/db/migrate/20161228210927_add_reputation_modifier_to_users.rb b/db/migrate/20161228210927_add_reputation_modifier_to_users.rb new file mode 100644 index 0000000000000..a3264a7fd1971 --- /dev/null +++ b/db/migrate/20161228210927_add_reputation_modifier_to_users.rb @@ -0,0 +1,5 @@ +class AddReputationModifierToUsers < ActiveRecord::Migration + def change + add_column :users, :reputation_modifier, :float, default: 1.0 + end +end diff --git a/db/migrate/20161229054605_add_super_admin_to_users.rb b/db/migrate/20161229054605_add_super_admin_to_users.rb new file mode 100644 index 0000000000000..a54f1d008c96f --- /dev/null +++ b/db/migrate/20161229054605_add_super_admin_to_users.rb @@ -0,0 +1,5 @@ +class AddSuperAdminToUsers < ActiveRecord::Migration + def change + add_column :users, :super_admin, :boolean, default: false + end +end diff --git a/db/migrate/20170105141344_add_plit_testing_stuff_to_sponsors_for_real.rb b/db/migrate/20170105141344_add_plit_testing_stuff_to_sponsors_for_real.rb new file mode 100644 index 0000000000000..cc7c80f59b29a --- /dev/null +++ b/db/migrate/20170105141344_add_plit_testing_stuff_to_sponsors_for_real.rb @@ -0,0 +1,21 @@ +class AddPlitTestingStuffToSponsorsForReal < ActiveRecord::Migration + def change + remove_column :articles, :alt_description, :text + remove_column :articles, :alt_image, :string + remove_column :articles, :lead_phrase, :string, default: "Sponsored by a service we love" + remove_column :articles, :alt_lead_phrase, :string, default: "Sponsored by a service we love" + remove_column :articles, :button_text, :string, default: "Learn More" + remove_column :articles, :alt_button_text, :string, default: "Learn More" + + add_column :sponsors, :alt_description, :text + add_column :sponsors, :alt_image, :string + add_column :sponsors, :lead_phrase, :string, default: "Sponsored by a service we love" + add_column :sponsors, :alt_lead_phrase, :string, default: "Sponsored by a service we love" + add_column :sponsors, :button_text, :string, default: "Learn More" + add_column :sponsors, :alt_button_text, :string, default: "Learn More" + add_column :sponsors, :currently_split_testing, :boolean, default: false + add_column :sponsors, :version_name, :string, default: "v0" + add_column :sponsors, :alt_version_name, :string, default: "v1" + + end +end diff --git a/db/migrate/20170110154028_add_alt_url_to_sponsors.rb b/db/migrate/20170110154028_add_alt_url_to_sponsors.rb new file mode 100644 index 0000000000000..12882db6a5e20 --- /dev/null +++ b/db/migrate/20170110154028_add_alt_url_to_sponsors.rb @@ -0,0 +1,5 @@ +class AddAltUrlToSponsors < ActiveRecord::Migration + def change + add_column :sponsors, :alt_url, :string + end +end diff --git a/db/migrate/20170110170105_add_receive_notifications_to_comments_and_articles.rb b/db/migrate/20170110170105_add_receive_notifications_to_comments_and_articles.rb new file mode 100644 index 0000000000000..f5a0b19a01ee1 --- /dev/null +++ b/db/migrate/20170110170105_add_receive_notifications_to_comments_and_articles.rb @@ -0,0 +1,6 @@ +class AddReceiveNotificationsToCommentsAndArticles < ActiveRecord::Migration + def change + add_column :articles, :receive_notifications, :boolean, default: true + add_column :comments, :receive_notifications, :boolean, default: true + end +end diff --git a/db/migrate/20170119193031_add_score_to_users.rb b/db/migrate/20170119193031_add_score_to_users.rb new file mode 100644 index 0000000000000..221eab0cc85ad --- /dev/null +++ b/db/migrate/20170119193031_add_score_to_users.rb @@ -0,0 +1,5 @@ +class AddScoreToUsers < ActiveRecord::Migration + def change + add_column :users, :score, :integer, default: 0 + end +end diff --git a/db/migrate/20170127194840_add_approved_and_paid_to_articles.rb b/db/migrate/20170127194840_add_approved_and_paid_to_articles.rb new file mode 100644 index 0000000000000..0cb7cced82b49 --- /dev/null +++ b/db/migrate/20170127194840_add_approved_and_paid_to_articles.rb @@ -0,0 +1,8 @@ +class AddApprovedAndPaidToArticles < ActiveRecord::Migration + def change + add_column :articles, :approved, :boolean, default: false + add_column :articles, :amount_due, :float, default: 0.00 + add_column :articles, :amount_paid, :float, default: 0.00 + add_column :articles, :paid, :boolean, default: false + end +end diff --git a/db/migrate/20170206214820_add_scret_to_sponsors.rb b/db/migrate/20170206214820_add_scret_to_sponsors.rb new file mode 100644 index 0000000000000..1a0ab48723f3c --- /dev/null +++ b/db/migrate/20170206214820_add_scret_to_sponsors.rb @@ -0,0 +1,5 @@ +class AddScretToSponsors < ActiveRecord::Migration + def change + add_column :sponsors, :url_secret, :string + end +end diff --git a/db/migrate/20170206220334_add_start_date_to_sponsors_and_paid.rb b/db/migrate/20170206220334_add_start_date_to_sponsors_and_paid.rb new file mode 100644 index 0000000000000..bde5c286f6c2c --- /dev/null +++ b/db/migrate/20170206220334_add_start_date_to_sponsors_and_paid.rb @@ -0,0 +1,6 @@ +class AddStartDateToSponsorsAndPaid < ActiveRecord::Migration + def change + add_column :sponsors, :start_date, :datetime + add_column :sponsors, :amount_paid, :float + end +end diff --git a/db/migrate/20170208152018_acts_as_follower_migration.rb b/db/migrate/20170208152018_acts_as_follower_migration.rb new file mode 100644 index 0000000000000..d6a60c0e0d675 --- /dev/null +++ b/db/migrate/20170208152018_acts_as_follower_migration.rb @@ -0,0 +1,17 @@ +class ActsAsFollowerMigration < ActiveRecord::Migration + def self.up + create_table :follows, :force => true do |t| + t.references :followable, :polymorphic => true, :null => false + t.references :follower, :polymorphic => true, :null => false + t.boolean :blocked, :default => false, :null => false + t.timestamps + end + + add_index :follows, ["follower_id", "follower_type"], :name => "fk_follows" + add_index :follows, ["followable_id", "followable_type"], :name => "fk_followables" + end + + def self.down + drop_table :follows + end +end diff --git a/db/migrate/20170209164016_add_email_follower_notifications.rb b/db/migrate/20170209164016_add_email_follower_notifications.rb new file mode 100644 index 0000000000000..33b70a418a10b --- /dev/null +++ b/db/migrate/20170209164016_add_email_follower_notifications.rb @@ -0,0 +1,5 @@ +class AddEmailFollowerNotifications < ActiveRecord::Migration + def change + add_column :users, :email_follower_notifications, :boolean, default: true + end +end diff --git a/db/migrate/20170213183337_add_sign_up_information_to_users.rb b/db/migrate/20170213183337_add_sign_up_information_to_users.rb new file mode 100644 index 0000000000000..16df4bede87db --- /dev/null +++ b/db/migrate/20170213183337_add_sign_up_information_to_users.rb @@ -0,0 +1,7 @@ +class AddSignUpInformationToUsers < ActiveRecord::Migration + def change + add_column :users, :signup_cta_variant, :string + add_column :users, :signup_refer_code, :string + add_column :users, :signup_referring_site, :string + end +end diff --git a/db/migrate/20170216145500_add_location_fields_etc_to_users.rb b/db/migrate/20170216145500_add_location_fields_etc_to_users.rb new file mode 100644 index 0000000000000..b8bf621b7c004 --- /dev/null +++ b/db/migrate/20170216145500_add_location_fields_etc_to_users.rb @@ -0,0 +1,20 @@ +class AddLocationFieldsEtcToUsers < ActiveRecord::Migration + def change + add_column :users, :top_languages, :string + add_column :users, :experience_level, :integer + add_column :users, :specialty, :string + add_column :users, :tabs_or_spaces, :string + add_column :users, :shipping_name, :string + add_column :users, :shipping_company, :string + add_column :users, :shipping_address, :string + add_column :users, :shipping_address_line_2, :string + add_column :users, :shipping_city, :string + add_column :users, :shipping_state, :string + add_column :users, :shipping_country, :string + add_column :users, :shipping_postal_code, :string + add_column :users, :shirt_gender, :string + add_column :users, :shirt_size, :string + add_column :users, :onboarding_package_requested, :boolean, default: false + add_column :users, :onboarding_package_fulfilled, :boolean, default: false + end +end diff --git a/db/migrate/20170228174838_add_identity_data_to_users.rb b/db/migrate/20170228174838_add_identity_data_to_users.rb new file mode 100644 index 0000000000000..7b7b284d4429f --- /dev/null +++ b/db/migrate/20170228174838_add_identity_data_to_users.rb @@ -0,0 +1,9 @@ +class AddIdentityDataToUsers < ActiveRecord::Migration + def change + add_column :identities, :auth_data_dump, :text + add_column :users, :github_created_at, :datetime + add_column :users, :twitter_created_at, :datetime + add_column :users, :twitter_following_count, :integer + add_column :users, :twitter_followers_count, :integer + end +end diff --git a/db/migrate/20170302152930_add_attributes_to_tags.rb b/db/migrate/20170302152930_add_attributes_to_tags.rb new file mode 100644 index 0000000000000..139f5119c62f3 --- /dev/null +++ b/db/migrate/20170302152930_add_attributes_to_tags.rb @@ -0,0 +1,16 @@ +class AddAttributesToTags < ActiveRecord::Migration + def change + add_column :tags, :wiki_body_markdown, :text + add_column :tags, :wiki_body_html, :text + add_column :tags, :rules_markdown, :text + add_column :tags, :rules_html, :text + add_column :tags, :short_summary, :string + add_column :tags, :requires_approval, :boolean, default: false + add_column :tags, :submission_template, :text + add_column :tags, :submission_rules_headsup, :string + add_column :tags, :pretty_name, :string + add_column :tags, :profile_image, :string + add_column :tags, :bg_color_hex, :string + add_column :tags, :text_color_hex, :string + end +end diff --git a/db/migrate/20170303171502_add_social_image_to_tags.rb b/db/migrate/20170303171502_add_social_image_to_tags.rb new file mode 100644 index 0000000000000..bcd5d59c02483 --- /dev/null +++ b/db/migrate/20170303171502_add_social_image_to_tags.rb @@ -0,0 +1,5 @@ +class AddSocialImageToTags < ActiveRecord::Migration + def change + add_column :tags, :social_image, :string + end +end diff --git a/db/migrate/20170303180353_create_features.rb b/db/migrate/20170303180353_create_features.rb new file mode 100644 index 0000000000000..64ad2a25843c6 --- /dev/null +++ b/db/migrate/20170303180353_create_features.rb @@ -0,0 +1,9 @@ +class CreateFeatures < ActiveRecord::Migration + def change + create_table :features do |t| + t.string :key, null: false + t.boolean :enabled, null: false, default: false + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170309162937_add_markdown_character_count_to_comments.rb b/db/migrate/20170309162937_add_markdown_character_count_to_comments.rb new file mode 100644 index 0000000000000..f7aa1f57ccac9 --- /dev/null +++ b/db/migrate/20170309162937_add_markdown_character_count_to_comments.rb @@ -0,0 +1,5 @@ +class AddMarkdownCharacterCountToComments < ActiveRecord::Migration + def change + add_column :comments, :markdown_character_count, :integer + end +end diff --git a/db/migrate/20170310003608_add_comment_lifecycle_attributes.rb b/db/migrate/20170310003608_add_comment_lifecycle_attributes.rb new file mode 100644 index 0000000000000..c686a3cea9afe --- /dev/null +++ b/db/migrate/20170310003608_add_comment_lifecycle_attributes.rb @@ -0,0 +1,7 @@ +class AddCommentLifecycleAttributes < ActiveRecord::Migration + def change + add_column :comments, :article_conversion_inquiry, :boolean, default: false + add_column :comments, :article_conversion_won, :boolean, default: false + add_column :comments, :article_conversion_lost, :boolean, default: false + end +end diff --git a/db/migrate/20170317171912_add_welcome_package_submitted_at_to_users.rb b/db/migrate/20170317171912_add_welcome_package_submitted_at_to_users.rb new file mode 100644 index 0000000000000..0bb3dae743680 --- /dev/null +++ b/db/migrate/20170317171912_add_welcome_package_submitted_at_to_users.rb @@ -0,0 +1,7 @@ +class AddWelcomePackageSubmittedAtToUsers < ActiveRecord::Migration + def change + add_column :users, :onboarding_package_form_submmitted_at, :datetime + add_column :users, :personal_data_updated_at, :datetime + + end +end diff --git a/db/migrate/20170325040822_create_tweets.rb b/db/migrate/20170325040822_create_tweets.rb new file mode 100644 index 0000000000000..55e3267230a54 --- /dev/null +++ b/db/migrate/20170325040822_create_tweets.rb @@ -0,0 +1,44 @@ +class CreateTweets < ActiveRecord::Migration + def change + create_table :tweets do |t| + t.integer :user_id + t.integer :favorite_count + t.integer :retweet_count + t.integer :twitter_user_following_count + t.integer :twitter_user_followers_count + t.string :in_reply_to_user_id_code + t.string :in_reply_to_status_id_code + t.string :twitter_uid + t.string :twitter_username + t.string :twitter_id_code + t.string :quoted_tweet_id_code + t.string :in_reply_to_username + t.string :source + t.string :text + t.string :twitter_name + t.string :mentioned_usernames_serialized, default: [].to_yaml + t.string :hashtags_serialized, default: [].to_yaml + t.string :primary_external_url + t.string :profile_image + t.text :urls_serialized, default: [].to_yaml + t.text :media_serialized, default: [].to_yaml + t.text :extended_entities_serialized, default: {}.to_yaml + t.text :full_fetched_object_serialized, default: {}.to_yaml + t.datetime :tweeted_at + t.datetime :last_fetched_at + t.boolean :user_is_verified + t.boolean :is_quote_status + t.timestamps null: false + + + #favorite_count ⇒ Integer readonly +#in_reply_to_screen_name ⇒ String readonly +#in_reply_to_status_id ⇒ Integer (also: #in_reply_to_tweet_id) readonly +#in_reply_to_user_id ⇒ Integer readonly +#lang ⇒ String readonly +#retweet_count ⇒ Integer readonly +#source ⇒ String readonly +#text ⇒ String readonly + end + end +end diff --git a/db/migrate/20170330184420_create_github_issues.rb b/db/migrate/20170330184420_create_github_issues.rb new file mode 100644 index 0000000000000..a67dd9a384ca2 --- /dev/null +++ b/db/migrate/20170330184420_create_github_issues.rb @@ -0,0 +1,11 @@ +class CreateGithubIssues < ActiveRecord::Migration + def change + create_table :github_issues do |t| + t.string :url + t.string :type + t.string :issue_serialized, default: {}.to_yaml + t.string :processed_html + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170330222954_change_github_issue_column_name.rb b/db/migrate/20170330222954_change_github_issue_column_name.rb new file mode 100644 index 0000000000000..279313fde6f42 --- /dev/null +++ b/db/migrate/20170330222954_change_github_issue_column_name.rb @@ -0,0 +1,5 @@ +class ChangeGithubIssueColumnName < ActiveRecord::Migration + def change + rename_column :github_issues, :type, :category + end +end diff --git a/db/migrate/20170403135236_add_banned_status_to_users.rb b/db/migrate/20170403135236_add_banned_status_to_users.rb new file mode 100644 index 0000000000000..0aaff7e626942 --- /dev/null +++ b/db/migrate/20170403135236_add_banned_status_to_users.rb @@ -0,0 +1,7 @@ +class AddBannedStatusToUsers < ActiveRecord::Migration + def change + add_column :users, :banned, :boolean, default: false + add_column :articles, :removed_for_abuse, :boolean, default: false + add_column :articles, :abuse_removal_reason, :string + end +end diff --git a/db/migrate/20170411145225_add_feed_url_to_users.rb b/db/migrate/20170411145225_add_feed_url_to_users.rb new file mode 100644 index 0000000000000..6e8f9836b0eb7 --- /dev/null +++ b/db/migrate/20170411145225_add_feed_url_to_users.rb @@ -0,0 +1,6 @@ +class AddFeedUrlToUsers < ActiveRecord::Migration + def change + add_column :users, :feed_url, :string + add_column :articles, :published_from_feed, :boolean, default: false + end +end diff --git a/db/migrate/20170502162438_add_soundcloud_url_to_podcasts.rb b/db/migrate/20170502162438_add_soundcloud_url_to_podcasts.rb new file mode 100644 index 0000000000000..e36d22998f97a --- /dev/null +++ b/db/migrate/20170502162438_add_soundcloud_url_to_podcasts.rb @@ -0,0 +1,5 @@ +class AddSoundcloudUrlToPodcasts < ActiveRecord::Migration + def change + add_column :podcasts, :soundcloud_url, :string + end +end diff --git a/db/migrate/20170505210243_change_article_column_default.rb b/db/migrate/20170505210243_change_article_column_default.rb new file mode 100644 index 0000000000000..1504626485305 --- /dev/null +++ b/db/migrate/20170505210243_change_article_column_default.rb @@ -0,0 +1,5 @@ +class ChangeArticleColumnDefault < ActiveRecord::Migration + def change + change_column_default(:articles, :show_comments, true) + end +end diff --git a/db/migrate/20170517172352_add_edited_at_to_comments.rb b/db/migrate/20170517172352_add_edited_at_to_comments.rb new file mode 100644 index 0000000000000..19f35a3e5be80 --- /dev/null +++ b/db/migrate/20170517172352_add_edited_at_to_comments.rb @@ -0,0 +1,5 @@ +class AddEditedAtToComments < ActiveRecord::Migration + def change + add_column :comments, :edited_at, :datetime + end +end diff --git a/db/migrate/20170521154826_create_blocks.rb b/db/migrate/20170521154826_create_blocks.rb new file mode 100644 index 0000000000000..a4f80b97cb45a --- /dev/null +++ b/db/migrate/20170521154826_create_blocks.rb @@ -0,0 +1,22 @@ +class CreateBlocks < ActiveRecord::Migration + def change + create_table :blocks do |t| + t.integer :user_id + t.text :input_html + t.text :processed_html + t.text :published_html + t.text :input_css + t.text :processed_css + t.text :published_css + t.text :input_javascript + t.text :processed_javascript + t.text :published_javascript + t.string :title + t.text :body_markdown + t.text :body_html + t.boolean :featured + t.integer :featured_number + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170523210349_add_counter_culture_to_models.rb b/db/migrate/20170523210349_add_counter_culture_to_models.rb new file mode 100644 index 0000000000000..1a8f56abaa2d6 --- /dev/null +++ b/db/migrate/20170523210349_add_counter_culture_to_models.rb @@ -0,0 +1,11 @@ +class AddCounterCultureToModels < ActiveRecord::Migration + def change + add_column :users, :articles_count, :integer, null: false, default: 0 + add_column :users, :comments_count, :integer, null: false, default: 0 + add_column :articles, :comments_count, :integer, null: false, default: 0 + add_column :articles, :reactions_count, :integer, null: false, default: 0 + add_column :comments, :reactions_count, :integer, null: false, default: 0 + add_column :podcast_episodes, :comments_count, :integer, null: false, default: 0 + add_column :podcast_episodes, :reactions_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20170524160535_add_alias_for_to_tags.rb b/db/migrate/20170524160535_add_alias_for_to_tags.rb new file mode 100644 index 0000000000000..fb05e0d2b28d6 --- /dev/null +++ b/db/migrate/20170524160535_add_alias_for_to_tags.rb @@ -0,0 +1,5 @@ +class AddAliasForToTags < ActiveRecord::Migration + def change + add_column :tags, :alias_for, :string + end +end diff --git a/db/migrate/20170531150807_drop_unused_tables.rb b/db/migrate/20170531150807_drop_unused_tables.rb new file mode 100644 index 0000000000000..e81cdacb9e199 --- /dev/null +++ b/db/migrate/20170531150807_drop_unused_tables.rb @@ -0,0 +1,13 @@ +class DropUnusedTables < ActiveRecord::Migration + def change + drop_table :pulse_subscriptions + drop_table :pulses + drop_table :questions + drop_table :ad_clicks + drop_table :job_applications + drop_table :job_listings + drop_table :kis + drop_table :advertisements + drop_table :answers + end +end diff --git a/db/migrate/20170531151548_add_processed_html_to_comments.rb b/db/migrate/20170531151548_add_processed_html_to_comments.rb new file mode 100644 index 0000000000000..3ea960d2a3475 --- /dev/null +++ b/db/migrate/20170531151548_add_processed_html_to_comments.rb @@ -0,0 +1,6 @@ +class AddProcessedHtmlToComments < ActiveRecord::Migration + def change + add_column :comments, :body_markdown, :text + add_column :comments, :processed_html, :text + end +end diff --git a/db/migrate/20170602152759_add_old_usernames_to_users.rb b/db/migrate/20170602152759_add_old_usernames_to_users.rb new file mode 100644 index 0000000000000..2d1a64cb883e1 --- /dev/null +++ b/db/migrate/20170602152759_add_old_usernames_to_users.rb @@ -0,0 +1,6 @@ +class AddOldUsernamesToUsers < ActiveRecord::Migration + def change + add_column :users, :old_username, :string + add_column :users, :old_old_username, :string + end +end diff --git a/db/migrate/20170607191629_add_block_index_position_to_blocks.rb b/db/migrate/20170607191629_add_block_index_position_to_blocks.rb new file mode 100644 index 0000000000000..75d94f6c84880 --- /dev/null +++ b/db/migrate/20170607191629_add_block_index_position_to_blocks.rb @@ -0,0 +1,5 @@ +class AddBlockIndexPositionToBlocks < ActiveRecord::Migration + def change + add_column :blocks, :index_position, :integer + end +end diff --git a/db/migrate/20170610142132_add_text_only_name_to_users.rb b/db/migrate/20170610142132_add_text_only_name_to_users.rb new file mode 100644 index 0000000000000..ba618b3b971b2 --- /dev/null +++ b/db/migrate/20170610142132_add_text_only_name_to_users.rb @@ -0,0 +1,5 @@ +class AddTextOnlyNameToUsers < ActiveRecord::Migration + def change + add_column :users, :text_only_name, :string + end +end diff --git a/db/migrate/20170613193616_add_shipping_validated_to_users.rb b/db/migrate/20170613193616_add_shipping_validated_to_users.rb new file mode 100644 index 0000000000000..1e52e1f1aea92 --- /dev/null +++ b/db/migrate/20170613193616_add_shipping_validated_to_users.rb @@ -0,0 +1,5 @@ +class AddShippingValidatedToUsers < ActiveRecord::Migration + def change + add_column :users, :shipping_validated, :boolean, default: false + end +end diff --git a/db/migrate/20170615172623_add_shipping_validated_at_to_users.rb b/db/migrate/20170615172623_add_shipping_validated_at_to_users.rb new file mode 100644 index 0000000000000..72f5c06790c56 --- /dev/null +++ b/db/migrate/20170615172623_add_shipping_validated_at_to_users.rb @@ -0,0 +1,5 @@ +class AddShippingValidatedAtToUsers < ActiveRecord::Migration + def change + add_column :users, :shipping_validated_at, :datetime + end +end diff --git a/db/migrate/20170615172941_add_supported_and_keywords_for_search_attributes_to_tags.rb b/db/migrate/20170615172941_add_supported_and_keywords_for_search_attributes_to_tags.rb new file mode 100644 index 0000000000000..3752ed52352b9 --- /dev/null +++ b/db/migrate/20170615172941_add_supported_and_keywords_for_search_attributes_to_tags.rb @@ -0,0 +1,6 @@ +class AddSupportedAndKeywordsForSearchAttributesToTags < ActiveRecord::Migration + def change + add_column :tags, :supported, :boolean, default: false + add_column :tags, :keywords_for_search, :string + end +end diff --git a/db/migrate/20170616191722_add_looking_for_work_to_users.rb b/db/migrate/20170616191722_add_looking_for_work_to_users.rb new file mode 100644 index 0000000000000..056aade1176fe --- /dev/null +++ b/db/migrate/20170616191722_add_looking_for_work_to_users.rb @@ -0,0 +1,6 @@ +class AddLookingForWorkToUsers < ActiveRecord::Migration + def change + add_column :users, :looking_for_work, :boolean, default: false + add_column :users, :looking_for_work_publicly, :boolean, default: false + end +end diff --git a/db/migrate/20170619151747_rolify_create_roles.rb b/db/migrate/20170619151747_rolify_create_roles.rb new file mode 100644 index 0000000000000..999c94a3eea81 --- /dev/null +++ b/db/migrate/20170619151747_rolify_create_roles.rb @@ -0,0 +1,19 @@ +class RolifyCreateRoles < ActiveRecord::Migration + def change + create_table(:roles) do |t| + t.string :name + t.references :resource, :polymorphic => true + + t.timestamps + end + + create_table(:users_roles, :id => false) do |t| + t.references :user + t.references :role + end + + add_index(:roles, :name) + add_index(:roles, [ :name, :resource_type, :resource_id ]) + add_index(:users_roles, [ :user_id, :role_id ]) + end +end diff --git a/db/migrate/20170620145442_add_video_to_articles.rb b/db/migrate/20170620145442_add_video_to_articles.rb new file mode 100644 index 0000000000000..6602ff164ecb5 --- /dev/null +++ b/db/migrate/20170620145442_add_video_to_articles.rb @@ -0,0 +1,9 @@ +class AddVideoToArticles < ActiveRecord::Migration + def change + add_column :articles, :video, :string + add_column :articles, :video_code, :string + add_column :articles, :video_source_url, :string + add_column :articles, :video_thumbnail_url, :string + add_column :articles, :video_closed_caption_track_url, :string + end +end diff --git a/db/migrate/20170620212740_remove_super_admin_from_users.rb b/db/migrate/20170620212740_remove_super_admin_from_users.rb new file mode 100644 index 0000000000000..08620e99e15dc --- /dev/null +++ b/db/migrate/20170620212740_remove_super_admin_from_users.rb @@ -0,0 +1,5 @@ +class RemoveSuperAdminFromUsers < ActiveRecord::Migration + def change + remove_column :users, :super_admin + end +end diff --git a/db/migrate/20170622191911_add_contact_consent_to_users.rb b/db/migrate/20170622191911_add_contact_consent_to_users.rb new file mode 100644 index 0000000000000..601e134360c08 --- /dev/null +++ b/db/migrate/20170622191911_add_contact_consent_to_users.rb @@ -0,0 +1,5 @@ +class AddContactConsentToUsers < ActiveRecord::Migration + def change + add_column :users, :contact_consent, :boolean, default:false + end +end diff --git a/db/migrate/20170626211738_add_reactions_count_to_users.rb b/db/migrate/20170626211738_add_reactions_count_to_users.rb new file mode 100644 index 0000000000000..23dba2631fb39 --- /dev/null +++ b/db/migrate/20170626211738_add_reactions_count_to_users.rb @@ -0,0 +1,5 @@ +class AddReactionsCountToUsers < ActiveRecord::Migration + def change + add_column :users, :reactions_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20170627205501_create_notifications.rb b/db/migrate/20170627205501_create_notifications.rb new file mode 100644 index 0000000000000..22b7a2ab19b8c --- /dev/null +++ b/db/migrate/20170627205501_create_notifications.rb @@ -0,0 +1,13 @@ +class CreateNotifications < ActiveRecord::Migration + def change + create_table :notifications do |t| + t.integer :notifiable_id + t.integer :user_id + t.string :notifiable_type + t.text :body_html + t.string :action + + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170706212815_create_mentions.rb b/db/migrate/20170706212815_create_mentions.rb new file mode 100644 index 0000000000000..59dc64a947077 --- /dev/null +++ b/db/migrate/20170706212815_create_mentions.rb @@ -0,0 +1,10 @@ +class CreateMentions < ActiveRecord::Migration + def change + create_table :mentions do |t| + t.integer :mentionable_id + t.string :mentionable_type + t.integer :user_id + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170711195143_add_hotness_score_to_tags.rb b/db/migrate/20170711195143_add_hotness_score_to_tags.rb new file mode 100644 index 0000000000000..f56cb4a45c60c --- /dev/null +++ b/db/migrate/20170711195143_add_hotness_score_to_tags.rb @@ -0,0 +1,5 @@ +class AddHotnessScoreToTags < ActiveRecord::Migration + def change + add_column :tags, :hotness_score, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20170717214026_add_hotness_score_to_articles.rb b/db/migrate/20170717214026_add_hotness_score_to_articles.rb new file mode 100644 index 0000000000000..53037957d57b4 --- /dev/null +++ b/db/migrate/20170717214026_add_hotness_score_to_articles.rb @@ -0,0 +1,5 @@ +class AddHotnessScoreToArticles < ActiveRecord::Migration + def change + add_column :articles, :hotness_score, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20170718150429_remove_constraint_from_hotness_score.rb b/db/migrate/20170718150429_remove_constraint_from_hotness_score.rb new file mode 100644 index 0000000000000..f06e8154c2791 --- /dev/null +++ b/db/migrate/20170718150429_remove_constraint_from_hotness_score.rb @@ -0,0 +1,6 @@ +class RemoveConstraintFromHotnessScore < ActiveRecord::Migration + def change + change_column :articles, :hotness_score, :integer, :null => true + change_column :tags, :hotness_score, :integer, :null => true + end +end diff --git a/db/migrate/20170718174233_create_broadcasts.rb b/db/migrate/20170718174233_create_broadcasts.rb new file mode 100644 index 0000000000000..4c42f53358fbf --- /dev/null +++ b/db/migrate/20170718174233_create_broadcasts.rb @@ -0,0 +1,13 @@ +class CreateBroadcasts < ActiveRecord::Migration + def change + create_table :broadcasts do |t| + t.string :title + t.text :body_markdown + t.text :processed_html + t.boolean :sent, default: false + t.string :type_of + end + + remove_column :notifications, :body_html, :text + end +end diff --git a/db/migrate/20170719184042_add_notification_reminder_email_to_users.rb b/db/migrate/20170719184042_add_notification_reminder_email_to_users.rb new file mode 100644 index 0000000000000..1cea20a5a4ca4 --- /dev/null +++ b/db/migrate/20170719184042_add_notification_reminder_email_to_users.rb @@ -0,0 +1,5 @@ +class AddNotificationReminderEmailToUsers < ActiveRecord::Migration + def change + add_column :users, :email_unread_notifications, :boolean, default:true + end +end diff --git a/db/migrate/20170719211212_create_ahoy_messages.rb b/db/migrate/20170719211212_create_ahoy_messages.rb new file mode 100644 index 0000000000000..84f467632300f --- /dev/null +++ b/db/migrate/20170719211212_create_ahoy_messages.rb @@ -0,0 +1,32 @@ +class CreateAhoyMessages < ActiveRecord::Migration + def change + create_table :ahoy_messages do |t| + t.string :token + + # user + t.text :to + t.integer :user_id + t.string :user_type + + # optional - feel free to remove + t.string :mailer + t.text :subject + t.text :content + + # optional + t.string :utm_source + t.string :utm_medium + t.string :utm_term + t.string :utm_content + t.string :utm_campaign + + # timestamps + t.timestamp :sent_at + t.timestamp :opened_at + t.timestamp :clicked_at + end + + add_index :ahoy_messages, [:token] + add_index :ahoy_messages, [:user_id, :user_type] + end +end diff --git a/db/migrate/20170725171619_add_onboarding_package_requested_again_to_users.rb b/db/migrate/20170725171619_add_onboarding_package_requested_again_to_users.rb new file mode 100644 index 0000000000000..d95d587ef361f --- /dev/null +++ b/db/migrate/20170725171619_add_onboarding_package_requested_again_to_users.rb @@ -0,0 +1,5 @@ +class AddOnboardingPackageRequestedAgainToUsers < ActiveRecord::Migration + def change + add_column :users, :onboarding_package_requested_again, :boolean, default: false + end +end diff --git a/db/migrate/20170727002902_add_admin_publish_permission_to_rss.rb b/db/migrate/20170727002902_add_admin_publish_permission_to_rss.rb new file mode 100644 index 0000000000000..1ce3649acc94d --- /dev/null +++ b/db/migrate/20170727002902_add_admin_publish_permission_to_rss.rb @@ -0,0 +1,6 @@ +class AddAdminPublishPermissionToRss < ActiveRecord::Migration + def change + add_column :users, :feed_admin_publish_permission, :boolean, default: true + add_column :users, :feed_mark_canonical, :boolean, default: false + end +end diff --git a/db/migrate/20170727153841_add_source_url_to_articles.rb b/db/migrate/20170727153841_add_source_url_to_articles.rb new file mode 100644 index 0000000000000..b0929c5b45bdc --- /dev/null +++ b/db/migrate/20170727153841_add_source_url_to_articles.rb @@ -0,0 +1,5 @@ +class AddSourceUrlToArticles < ActiveRecord::Migration + def change + add_column :articles, :feed_source_url, :string + end +end diff --git a/db/migrate/20170802204604_create_notes.rb b/db/migrate/20170802204604_create_notes.rb new file mode 100644 index 0000000000000..2c04b9b89099f --- /dev/null +++ b/db/migrate/20170802204604_create_notes.rb @@ -0,0 +1,11 @@ +class CreateNotes < ActiveRecord::Migration + def change + create_table :notes do |t| + t.integer :user_id + t.text :content + t.string :reason + + t.timestamps null: false + end + end +end diff --git a/db/migrate/20170804193835_add_main_tag_for_social_to_articles.rb b/db/migrate/20170804193835_add_main_tag_for_social_to_articles.rb new file mode 100644 index 0000000000000..a344d9522ca84 --- /dev/null +++ b/db/migrate/20170804193835_add_main_tag_for_social_to_articles.rb @@ -0,0 +1,5 @@ +class AddMainTagForSocialToArticles < ActiveRecord::Migration + def change + add_column :articles, :main_tag_name_for_social, :string + end +end diff --git a/db/migrate/20170809182148_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb b/db/migrate/20170809182148_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb new file mode 100644 index 0000000000000..94e1f2e4bac85 --- /dev/null +++ b/db/migrate/20170809182148_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb @@ -0,0 +1,23 @@ +# This migration comes from acts_as_taggable_on_engine (originally 6) +if ActiveRecord.gem_version >= Gem::Version.new('5.0') + class AddMissingIndexesOnTaggings < ActiveRecord::Migration[4.2]; end +else + class AddMissingIndexesOnTaggings < ActiveRecord::Migration; end +end +AddMissingIndexesOnTaggings.class_eval do + def change + add_index :taggings, :tag_id unless index_exists? :taggings, :tag_id + add_index :taggings, :taggable_id unless index_exists? :taggings, :taggable_id + add_index :taggings, :taggable_type unless index_exists? :taggings, :taggable_type + add_index :taggings, :tagger_id unless index_exists? :taggings, :tagger_id + add_index :taggings, :context unless index_exists? :taggings, :context + + unless index_exists? :taggings, [:tagger_id, :tagger_type] + add_index :taggings, [:tagger_id, :tagger_type] + end + + unless index_exists? :taggings, [:taggable_id, :taggable_type, :tagger_id, :context], name: 'taggings_idy' + add_index :taggings, [:taggable_id, :taggable_type, :tagger_id, :context], name: 'taggings_idy' + end + end +end diff --git a/db/migrate/20170821154300_add_second_user_id_to_articles.rb b/db/migrate/20170821154300_add_second_user_id_to_articles.rb new file mode 100644 index 0000000000000..c42d6c09b10d9 --- /dev/null +++ b/db/migrate/20170821154300_add_second_user_id_to_articles.rb @@ -0,0 +1,6 @@ +class AddSecondUserIdToArticles < ActiveRecord::Migration[5.0] + def change + add_column :articles, :second_user_id, :integer + add_column :articles, :third_user_id, :integer + end +end diff --git a/db/migrate/20170828165505_add_positive_column_to_reactions.rb b/db/migrate/20170828165505_add_positive_column_to_reactions.rb new file mode 100644 index 0000000000000..47744dd4e84e1 --- /dev/null +++ b/db/migrate/20170828165505_add_positive_column_to_reactions.rb @@ -0,0 +1,6 @@ +class AddPositiveColumnToReactions < ActiveRecord::Migration[5.0] + def change + add_column :articles, :positive_reactions_count, :integer, null: false, default: 0 + add_column :comments, :positive_reactions_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20170829164950_add_last_buffered_to_articles.rb b/db/migrate/20170829164950_add_last_buffered_to_articles.rb new file mode 100644 index 0000000000000..823c214f13d88 --- /dev/null +++ b/db/migrate/20170829164950_add_last_buffered_to_articles.rb @@ -0,0 +1,5 @@ +class AddLastBufferedToArticles < ActiveRecord::Migration[5.0] + def change + add_column :articles, :last_buffered, :datetime + end +end diff --git a/db/migrate/20170829190632_add_edited_at_to_articles.rb b/db/migrate/20170829190632_add_edited_at_to_articles.rb new file mode 100644 index 0000000000000..76d04386d435b --- /dev/null +++ b/db/migrate/20170829190632_add_edited_at_to_articles.rb @@ -0,0 +1,5 @@ +class AddEditedAtToArticles < ActiveRecord::Migration[5.0] + def change + add_column :articles, :edited_at, :datetime + end +end diff --git a/db/migrate/20170831180005_add_last_moderation_notification_to_users.rb b/db/migrate/20170831180005_add_last_moderation_notification_to_users.rb new file mode 100644 index 0000000000000..70faca0b0b7df --- /dev/null +++ b/db/migrate/20170831180005_add_last_moderation_notification_to_users.rb @@ -0,0 +1,5 @@ +class AddLastModerationNotificationToUsers < ActiveRecord::Migration[5.0] + def change + add_column :users, :last_moderation_notification, :datetime, default: 1.day.ago + end +end diff --git a/db/migrate/20170831200650_drop_features.rb b/db/migrate/20170831200650_drop_features.rb new file mode 100644 index 0000000000000..cf1c8586345dc --- /dev/null +++ b/db/migrate/20170831200650_drop_features.rb @@ -0,0 +1,5 @@ +class DropFeatures < ActiveRecord::Migration[5.0] + def change + drop_table :features + end +end diff --git a/db/migrate/20170905170750_add_last_notification_activity_to_users.rb b/db/migrate/20170905170750_add_last_notification_activity_to_users.rb new file mode 100644 index 0000000000000..4d9bdeccba59a --- /dev/null +++ b/db/migrate/20170905170750_add_last_notification_activity_to_users.rb @@ -0,0 +1,5 @@ +class AddLastNotificationActivityToUsers < ActiveRecord::Migration[5.0] + def change + add_column :users, :last_notification_activity, :datetime + end +end diff --git a/db/migrate/20170912012249_create_feedback_messages.rb b/db/migrate/20170912012249_create_feedback_messages.rb new file mode 100644 index 0000000000000..455039d9b7c72 --- /dev/null +++ b/db/migrate/20170912012249_create_feedback_messages.rb @@ -0,0 +1,10 @@ +class CreateFeedbackMessages < ActiveRecord::Migration[5.1] + def change + create_table :feedback_messages do |t| + t.text :message + t.string :feedback_type + t.string :category_selection + t.integer :user_id + end + end +end diff --git a/db/migrate/20170920160022_add_crossposted_at_to_articles.rb b/db/migrate/20170920160022_add_crossposted_at_to_articles.rb new file mode 100644 index 0000000000000..bede51954efaf --- /dev/null +++ b/db/migrate/20170920160022_add_crossposted_at_to_articles.rb @@ -0,0 +1,5 @@ +class AddCrosspostedAtToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :crossposted_at, :datetime + end +end diff --git a/db/migrate/20170921205230_add_stripe_id_code_to_users.rb b/db/migrate/20170921205230_add_stripe_id_code_to_users.rb new file mode 100644 index 0000000000000..404d0689fab81 --- /dev/null +++ b/db/migrate/20170921205230_add_stripe_id_code_to_users.rb @@ -0,0 +1,5 @@ +class AddStripeIdCodeToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :stripe_id_code, :string + end +end diff --git a/db/migrate/20170921221837_add_automatically_renew_to_articles.rb b/db/migrate/20170921221837_add_automatically_renew_to_articles.rb new file mode 100644 index 0000000000000..06a4923b830cb --- /dev/null +++ b/db/migrate/20170921221837_add_automatically_renew_to_articles.rb @@ -0,0 +1,6 @@ +class AddAutomaticallyRenewToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :automatically_renew, :boolean, default: false + add_column :articles, :last_invoiced_at, :datetime + end +end diff --git a/db/migrate/20171002180944_add_checked_code_of_conduct_to_users.rb b/db/migrate/20171002180944_add_checked_code_of_conduct_to_users.rb new file mode 100644 index 0000000000000..0c375e0238ec1 --- /dev/null +++ b/db/migrate/20171002180944_add_checked_code_of_conduct_to_users.rb @@ -0,0 +1,5 @@ +class AddCheckedCodeOfConductToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :checked_code_of_conduct, :boolean, default: false, acceptance: { message: "accept code of conduct" } + end +end diff --git a/db/migrate/20171002195852_add_email_mention_notifications_to_users.rb b/db/migrate/20171002195852_add_email_mention_notifications_to_users.rb new file mode 100644 index 0000000000000..8b9dc7d6c3e76 --- /dev/null +++ b/db/migrate/20171002195852_add_email_mention_notifications_to_users.rb @@ -0,0 +1,5 @@ +class AddEmailMentionNotificationsToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :email_mention_notifications, :boolean, default: true + end +end diff --git a/db/migrate/20171003191547_add_live_now_boolean_to_articles.rb b/db/migrate/20171003191547_add_live_now_boolean_to_articles.rb new file mode 100644 index 0000000000000..8db7d6eb028ea --- /dev/null +++ b/db/migrate/20171003191547_add_live_now_boolean_to_articles.rb @@ -0,0 +1,5 @@ +class AddLiveNowBooleanToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :live_now, :boolean, default: false + end +end diff --git a/db/migrate/20171003222833_add_secret_to_organizations.rb b/db/migrate/20171003222833_add_secret_to_organizations.rb new file mode 100644 index 0000000000000..ed7a16079f3cb --- /dev/null +++ b/db/migrate/20171003222833_add_secret_to_organizations.rb @@ -0,0 +1,5 @@ +class AddSecretToOrganizations < ActiveRecord::Migration[5.1] + def change + add_column :organizations, :secret, :string + end +end diff --git a/db/migrate/20171004025750_add_proof_to_orgs.rb b/db/migrate/20171004025750_add_proof_to_orgs.rb new file mode 100644 index 0000000000000..9b7f8527225ac --- /dev/null +++ b/db/migrate/20171004025750_add_proof_to_orgs.rb @@ -0,0 +1,6 @@ +class AddProofToOrgs < ActiveRecord::Migration[5.1] + def change + add_column :organizations, :proof, :text + add_column :organizations, :approved, :boolean, default: false + end +end diff --git a/db/migrate/20171012215224_create_github_repos.rb b/db/migrate/20171012215224_create_github_repos.rb new file mode 100644 index 0000000000000..cf7891fd0ea2c --- /dev/null +++ b/db/migrate/20171012215224_create_github_repos.rb @@ -0,0 +1,19 @@ +class CreateGithubRepos < ActiveRecord::Migration[5.1] + def change + create_table :github_repos do |t| + t.integer :user_id + t.string :name + t.string :description + t.string :language + t.string :url + t.integer :bytes_size + t.integer :watchers_count + t.integer :stargazers_count + t.boolean :featured, default: false + t.integer :priority, default: 0 + t.string :additional_note + t.text :info_hash, default: [].to_yaml + t.timestamps + end + end +end diff --git a/db/migrate/20171013180013_add_forked_to_github_repos.rb b/db/migrate/20171013180013_add_forked_to_github_repos.rb new file mode 100644 index 0000000000000..c70b36a8a6f3a --- /dev/null +++ b/db/migrate/20171013180013_add_forked_to_github_repos.rb @@ -0,0 +1,5 @@ +class AddForkedToGithubRepos < ActiveRecord::Migration[5.1] + def change + add_column :github_repos, :fork, :boolean, default: false + end +end diff --git a/db/migrate/20171019152130_add_status_notice_column_to_podcasts.rb b/db/migrate/20171019152130_add_status_notice_column_to_podcasts.rb new file mode 100644 index 0000000000000..43c6b412785ad --- /dev/null +++ b/db/migrate/20171019152130_add_status_notice_column_to_podcasts.rb @@ -0,0 +1,5 @@ +class AddStatusNoticeColumnToPodcasts < ActiveRecord::Migration[5.1] + def change + add_column :podcasts, :status_notice, :text, default: "" + end +end diff --git a/db/migrate/20171019215638_drop_sponsorships.rb b/db/migrate/20171019215638_drop_sponsorships.rb new file mode 100644 index 0000000000000..06ae954397ab0 --- /dev/null +++ b/db/migrate/20171019215638_drop_sponsorships.rb @@ -0,0 +1,5 @@ +class DropSponsorships < ActiveRecord::Migration[5.1] + def change + drop_table :sponsorships + end +end diff --git a/db/migrate/20171020160338_add_location_to_articles.rb b/db/migrate/20171020160338_add_location_to_articles.rb new file mode 100644 index 0000000000000..20b5e36089dc4 --- /dev/null +++ b/db/migrate/20171020160338_add_location_to_articles.rb @@ -0,0 +1,6 @@ +class AddLocationToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :lat, :decimal, precision: 10, scale: 6 + add_column :articles, :long, :decimal, precision: 10, scale: 6 + end +end diff --git a/db/migrate/20171024171916_add_spaminess_score_to_comments_and_articles.rb b/db/migrate/20171024171916_add_spaminess_score_to_comments_and_articles.rb new file mode 100644 index 0000000000000..c305fd2eff135 --- /dev/null +++ b/db/migrate/20171024171916_add_spaminess_score_to_comments_and_articles.rb @@ -0,0 +1,6 @@ +class AddSpaminessScoreToCommentsAndArticles < ActiveRecord::Migration[5.1] + def change + add_column :comments, :spaminess_rating, :integer, default: 0 + add_column :articles, :spaminess_rating, :integer, default: 0 + end +end diff --git a/db/migrate/20171024193812_drop_sponsors_table.rb b/db/migrate/20171024193812_drop_sponsors_table.rb new file mode 100644 index 0000000000000..125ec070ac959 --- /dev/null +++ b/db/migrate/20171024193812_drop_sponsors_table.rb @@ -0,0 +1,5 @@ +class DropSponsorsTable < ActiveRecord::Migration[5.1] + def change + drop_table :sponsors + end +end diff --git a/db/migrate/20171026214850_add_follow_counter_cache_to_users.rb b/db/migrate/20171026214850_add_follow_counter_cache_to_users.rb new file mode 100644 index 0000000000000..0487643a00137 --- /dev/null +++ b/db/migrate/20171026214850_add_follow_counter_cache_to_users.rb @@ -0,0 +1,7 @@ +class AddFollowCounterCacheToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :following_tags_count, :integer, null: false, default: 0 + add_column :users, :following_users_count, :integer, null: false, default: 0 + add_column :users, :following_orgs_count, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20171030214855_create_display_ads.rb b/db/migrate/20171030214855_create_display_ads.rb new file mode 100644 index 0000000000000..d5f8b5d5ff1d3 --- /dev/null +++ b/db/migrate/20171030214855_create_display_ads.rb @@ -0,0 +1,17 @@ +class CreateDisplayAds < ActiveRecord::Migration[5.1] + def change + create_table :display_ads do |t| + t.integer :organization_id + t.string :placement_area + t.text :body_markdown + t.text :processed_html + t.float :cost_per_impression, default: 0 + t.float :cost_per_click, default: 0 + t.integer :impressions_count, default: 0 + t.integer :clicks_count, default: 0 + t.boolean :published, default: false + t.boolean :approved, default: false + t.timestamps + end + end +end diff --git a/db/migrate/20171103165851_add_language_to_articles.rb b/db/migrate/20171103165851_add_language_to_articles.rb new file mode 100644 index 0000000000000..0eb094ab5ab57 --- /dev/null +++ b/db/migrate/20171103165851_add_language_to_articles.rb @@ -0,0 +1,5 @@ +class AddLanguageToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :language, :string + end +end diff --git a/db/migrate/20171104014225_create_flipflop_features.rb b/db/migrate/20171104014225_create_flipflop_features.rb new file mode 100644 index 0000000000000..b901d2ff08e18 --- /dev/null +++ b/db/migrate/20171104014225_create_flipflop_features.rb @@ -0,0 +1,9 @@ +class CreateFlipflopFeatures < ActiveRecord::Migration[5.1] + def change + create_table :flipflop_features do |t| + t.string :key, null: false + t.boolean :enabled, null: false, default: false + t.timestamps null: false + end + end +end diff --git a/db/migrate/20171106203902_add_github_id_code_to_github_repos.rb b/db/migrate/20171106203902_add_github_id_code_to_github_repos.rb new file mode 100644 index 0000000000000..1880afd5a140e --- /dev/null +++ b/db/migrate/20171106203902_add_github_id_code_to_github_repos.rb @@ -0,0 +1,5 @@ +class AddGithubIdCodeToGithubRepos < ActiveRecord::Migration[5.1] + def change + add_column :github_repos, :github_id_code, :integer + end +end diff --git a/db/migrate/20171110215815_create_job_opportunities.rb b/db/migrate/20171110215815_create_job_opportunities.rb new file mode 100644 index 0000000000000..57f86e8f16e4f --- /dev/null +++ b/db/migrate/20171110215815_create_job_opportunities.rb @@ -0,0 +1,30 @@ +class CreateJobOpportunities < ActiveRecord::Migration[5.1] + def change + create_table :job_opportunities do |t| + t.string :remoteness + t.string :experience_level + t.string :time_commitment + t.string :permanency + t.string :location_given + t.string :location_city + t.string :location_country_code + t.string :location_postal_code + t.decimal :location_lat, precision: 10, scale: 6 + t.decimal :location_long, precision: 10, scale: 6 + # add_column :articles, :location_given, :string + # add_column :articles, :location_city, :string + # add_column :articles, :location_country_code, :string + # add_column :articles, :location_postal_code, :string + # add_column :articles, :lat, :decimal, precision: 10, scale: 6 + # add_column :articles, :long, :decimal, precision: 10, scale: 6 + + # t.integer :number_of_employees + # t.float :cost_per_click, default: 0 + # t.integer :impressions_count, default: 0 + # t.integer :clicks_count, default: 0 + # t.boolean :published, default: false + # t.boolean :approved, default: false + t.timestamps + end + end +end diff --git a/db/migrate/20171110223810_add_job_opportunity_id_to_articles.rb b/db/migrate/20171110223810_add_job_opportunity_id_to_articles.rb new file mode 100644 index 0000000000000..686cfb982e5a2 --- /dev/null +++ b/db/migrate/20171110223810_add_job_opportunity_id_to_articles.rb @@ -0,0 +1,5 @@ +class AddJobOpportunityIdToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :job_opportunity_id, :integer + end +end diff --git a/db/migrate/20171116191214_add_language_settings_to_users.rb b/db/migrate/20171116191214_add_language_settings_to_users.rb new file mode 100644 index 0000000000000..d1c820877dcb4 --- /dev/null +++ b/db/migrate/20171116191214_add_language_settings_to_users.rb @@ -0,0 +1,6 @@ +class AddLanguageSettingsToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :language_settings, :jsonb, null: false, default: {} + add_index :users, :language_settings, using: :gin + end +end diff --git a/db/migrate/20171116203319_add_saw_onboarding_to_user.rb b/db/migrate/20171116203319_add_saw_onboarding_to_user.rb new file mode 100644 index 0000000000000..55a88d9a83004 --- /dev/null +++ b/db/migrate/20171116203319_add_saw_onboarding_to_user.rb @@ -0,0 +1,5 @@ +class AddSawOnboardingToUser < ActiveRecord::Migration[5.1] + def change + add_column :users, :saw_onboarding, :boolean, default: true + end +end diff --git a/db/migrate/20171204171217_drop_links_table.rb b/db/migrate/20171204171217_drop_links_table.rb new file mode 100644 index 0000000000000..4cc2fb4842a95 --- /dev/null +++ b/db/migrate/20171204171217_drop_links_table.rb @@ -0,0 +1,5 @@ +class DropLinksTable < ActiveRecord::Migration[5.1] + def change + drop_table :links + end +end diff --git a/db/migrate/20171229192205_change_last_moderation_notification_default_on_user.rb b/db/migrate/20171229192205_change_last_moderation_notification_default_on_user.rb new file mode 100644 index 0000000000000..57e67f79f5e72 --- /dev/null +++ b/db/migrate/20171229192205_change_last_moderation_notification_default_on_user.rb @@ -0,0 +1,9 @@ +class ChangeLastModerationNotificationDefaultOnUser < ActiveRecord::Migration[5.1] + def up + change_column_default :users, :last_moderation_notification, Time.new("2017-01-01") + end + + def down + change_column_default :users, :last_moderation_notification, Time.new("2017-01-01") + end +end diff --git a/db/migrate/20180103183451_add_missing_indexes.rb b/db/migrate/20180103183451_add_missing_indexes.rb new file mode 100644 index 0000000000000..89b38ed7799a4 --- /dev/null +++ b/db/migrate/20180103183451_add_missing_indexes.rb @@ -0,0 +1,10 @@ +class AddMissingIndexes < ActiveRecord::Migration[5.1] + def change + add_index :users, :username, unique: true + add_index :organizations, :slug, unique: true + add_index :articles, :slug + add_index :articles, :hotness_score + add_index :articles, :featured_number + add_index :articles, :published_at + end +end diff --git a/db/migrate/20180107004333_add_indexes_to_reactions.rb b/db/migrate/20180107004333_add_indexes_to_reactions.rb new file mode 100644 index 0000000000000..b3417811d0c70 --- /dev/null +++ b/db/migrate/20180107004333_add_indexes_to_reactions.rb @@ -0,0 +1,7 @@ +class AddIndexesToReactions < ActiveRecord::Migration[5.1] + def change + add_index :reactions, :reactable_id + add_index :reactions, :category + add_index :reactions, :reactable_type + end +end diff --git a/db/migrate/20180110012012_add_membership_payment_to_user.rb b/db/migrate/20180110012012_add_membership_payment_to_user.rb new file mode 100644 index 0000000000000..8dec2c0fe00b4 --- /dev/null +++ b/db/migrate/20180110012012_add_membership_payment_to_user.rb @@ -0,0 +1,5 @@ +class AddMembershipPaymentToUser < ActiveRecord::Migration[5.1] + def change + add_column :users, :monthly_dues, :integer, default: 0 + end +end diff --git a/db/migrate/20180111170406_add_facebook_last_buffered_to_articles.rb b/db/migrate/20180111170406_add_facebook_last_buffered_to_articles.rb new file mode 100644 index 0000000000000..23dec5b122703 --- /dev/null +++ b/db/migrate/20180111170406_add_facebook_last_buffered_to_articles.rb @@ -0,0 +1,5 @@ +class AddFacebookLastBufferedToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :facebook_last_buffered, :datetime + end +end diff --git a/db/migrate/20180115221125_add_meta_info_to_organizations.rb b/db/migrate/20180115221125_add_meta_info_to_organizations.rb new file mode 100644 index 0000000000000..5a98aaa4f234c --- /dev/null +++ b/db/migrate/20180115221125_add_meta_info_to_organizations.rb @@ -0,0 +1,9 @@ +class AddMetaInfoToOrganizations < ActiveRecord::Migration[5.1] + def change + add_column :organizations, :email, :string + add_column :organizations, :location, :string + add_column :organizations, :company_size, :string + add_column :organizations, :tech_stack, :string + add_column :organizations, :story, :string + end +end diff --git a/db/migrate/20180130192627_add_display_sponsors_boolean_to_users.rb b/db/migrate/20180130192627_add_display_sponsors_boolean_to_users.rb new file mode 100644 index 0000000000000..bd86fa69ad11b --- /dev/null +++ b/db/migrate/20180130192627_add_display_sponsors_boolean_to_users.rb @@ -0,0 +1,5 @@ +class AddDisplaySponsorsBooleanToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :display_sponsors, :boolean, default: true + end +end diff --git a/db/migrate/20180131183322_add_membership_start_date_to_users.rb b/db/migrate/20180131183322_add_membership_start_date_to_users.rb new file mode 100644 index 0000000000000..6c9ac3ccb2b6e --- /dev/null +++ b/db/migrate/20180131183322_add_membership_start_date_to_users.rb @@ -0,0 +1,5 @@ +class AddMembershipStartDateToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :membership_started_at, :datetime + end +end diff --git a/db/migrate/20180202171402_add_email_membership_newsletter_to_users.rb b/db/migrate/20180202171402_add_email_membership_newsletter_to_users.rb new file mode 100644 index 0000000000000..c6e074179fe07 --- /dev/null +++ b/db/migrate/20180202171402_add_email_membership_newsletter_to_users.rb @@ -0,0 +1,5 @@ +class AddEmailMembershipNewsletterToUsers < ActiveRecord::Migration[5.1] + def change + add_column :users, :email_membership_newsletter, :boolean, default: false + end +end diff --git a/db/migrate/20180208210732_add_unique_website_url_boolean_to_podcasts.rb b/db/migrate/20180208210732_add_unique_website_url_boolean_to_podcasts.rb new file mode 100644 index 0000000000000..027b3a9440dba --- /dev/null +++ b/db/migrate/20180208210732_add_unique_website_url_boolean_to_podcasts.rb @@ -0,0 +1,5 @@ +class AddUniqueWebsiteUrlBooleanToPodcasts < ActiveRecord::Migration[5.1] + def change + add_column :podcasts, :unique_website_url?, :boolean, default: true + end +end diff --git a/db/migrate/20180209174729_create_events.rb b/db/migrate/20180209174729_create_events.rb new file mode 100644 index 0000000000000..ccc4e57ad8bae --- /dev/null +++ b/db/migrate/20180209174729_create_events.rb @@ -0,0 +1,17 @@ +class CreateEvents < ActiveRecord::Migration[5.1] + def change + create_table :events do |t| + t.string :title + t.string :category + t.datetime :starts_at + t.datetime :ends_at + t.string :location_name + t.string :location_url + t.string :cover_image + t.text :description_markdown + t.text :description_html + t.boolean :published + t.timestamps + end + end +end diff --git a/db/migrate/20180210161930_add_cached_tag_list_to_articles.rb b/db/migrate/20180210161930_add_cached_tag_list_to_articles.rb new file mode 100644 index 0000000000000..0b12afd1c9f5d --- /dev/null +++ b/db/migrate/20180210161930_add_cached_tag_list_to_articles.rb @@ -0,0 +1,5 @@ +class AddCachedTagListToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :cached_tag_list, :string + end +end diff --git a/db/migrate/20180212153228_add_cached_user_fields_to_articles.rb b/db/migrate/20180212153228_add_cached_user_fields_to_articles.rb new file mode 100644 index 0000000000000..334f5e01f85fd --- /dev/null +++ b/db/migrate/20180212153228_add_cached_user_fields_to_articles.rb @@ -0,0 +1,7 @@ +class AddCachedUserFieldsToArticles < ActiveRecord::Migration[5.1] + def change + add_column :articles, :path, :string + add_column :articles, :cached_user_name, :string + add_column :articles, :cached_user_username, :string + end +end diff --git a/db/migrate/20180213165354_add_expiration_date_to_user_table.rb b/db/migrate/20180213165354_add_expiration_date_to_user_table.rb new file mode 100644 index 0000000000000..82f74fd9d858b --- /dev/null +++ b/db/migrate/20180213165354_add_expiration_date_to_user_table.rb @@ -0,0 +1,5 @@ +class AddExpirationDateToUserTable < ActiveRecord::Migration[5.1] + def change + add_column :users, :workshop_expiration, :datetime + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 0000000000000..fd7e726804d7a --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,629 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20180213165354) do + + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "ahoy_messages", id: :serial, force: :cascade do |t| + t.datetime "clicked_at" + t.text "content" + t.string "mailer" + t.datetime "opened_at" + t.datetime "sent_at" + t.text "subject" + t.text "to" + t.string "token" + t.integer "user_id" + t.string "user_type" + t.string "utm_campaign" + t.string "utm_content" + t.string "utm_medium" + t.string "utm_source" + t.string "utm_term" + t.index ["token"], name: "index_ahoy_messages_on_token" + t.index ["user_id", "user_type"], name: "index_ahoy_messages_on_user_id_and_user_type" + end + + create_table "articles", id: :serial, force: :cascade do |t| + t.string "abuse_removal_reason" + t.boolean "allow_big_edits", default: true + t.boolean "allow_small_edits", default: true + t.float "amount_due", default: 0.0 + t.float "amount_paid", default: 0.0 + t.boolean "approved", default: false + t.boolean "automatically_renew", default: false + t.text "body_html" + t.text "body_markdown" + t.string "cached_tag_list" + t.string "cached_user_name" + t.string "cached_user_username" + t.string "canonical_url" + t.integer "collection_id" + t.integer "collection_position" + t.integer "comments_count", default: 0, null: false + t.datetime "created_at", null: false + t.datetime "crossposted_at" + t.string "description" + t.datetime "edited_at" + t.datetime "facebook_last_buffered" + t.boolean "featured", default: false + t.integer "featured_number" + t.string "feed_source_url" + t.string "github_path" + t.integer "hotness_score", default: 0 + t.string "ids_for_suggested_articles", default: "[]" + t.integer "image_jpg_quality", default: 90 + t.text "intro_html" + t.integer "job_opportunity_id" + t.string "language" + t.datetime "last_buffered" + t.datetime "last_invoiced_at" + t.decimal "lat", precision: 10, scale: 6 + t.boolean "live_now", default: false + t.decimal "long", precision: 10, scale: 6 + t.string "main_image" + t.string "main_image_background_hex_color", default: "#dddddd" + t.string "main_tag_name_for_social" + t.string "name_within_collection" + t.integer "organization_id" + t.boolean "paid", default: false + t.string "password" + t.string "path" + t.integer "positive_reactions_count", default: 0, null: false + t.text "processed_html" + t.string "programming_category" + t.boolean "published", default: false + t.datetime "published_at" + t.boolean "published_from_feed", default: false + t.integer "reactions_count", default: 0, null: false + t.boolean "receive_notifications", default: true + t.boolean "removed_for_abuse", default: false + t.integer "second_user_id" + t.boolean "show_comments", default: true + t.text "slug" + t.string "social_image" + t.integer "spaminess_rating", default: 0 + t.integer "sponsor_id" + t.boolean "sponsor_showing", default: false + t.integer "third_user_id" + t.string "title" + t.datetime "updated_at", null: false + t.integer "user_id" + t.string "video" + t.string "video_closed_caption_track_url" + t.string "video_code" + t.string "video_source_url" + t.string "video_thumbnail_url" + t.index ["featured_number"], name: "index_articles_on_featured_number" + t.index ["hotness_score"], name: "index_articles_on_hotness_score" + t.index ["published_at"], name: "index_articles_on_published_at" + t.index ["slug"], name: "index_articles_on_slug" + t.index ["user_id"], name: "index_articles_on_user_id" + end + + create_table "blocks", id: :serial, force: :cascade do |t| + t.text "body_html" + t.text "body_markdown" + t.datetime "created_at", null: false + t.boolean "featured" + t.integer "featured_number" + t.integer "index_position" + t.text "input_css" + t.text "input_html" + t.text "input_javascript" + t.text "processed_css" + t.text "processed_html" + t.text "processed_javascript" + t.text "published_css" + t.text "published_html" + t.text "published_javascript" + t.string "title" + t.datetime "updated_at", null: false + t.integer "user_id" + end + + create_table "broadcasts", id: :serial, force: :cascade do |t| + t.text "body_markdown" + t.text "processed_html" + t.boolean "sent", default: false + t.string "title" + t.string "type_of" + end + + create_table "collections", id: :serial, force: :cascade do |t| + t.datetime "created_at", null: false + t.string "description" + t.string "main_image" + t.integer "organization_id" + t.boolean "published", default: false + t.string "slug" + t.string "social_image" + t.string "title" + t.datetime "updated_at", null: false + t.integer "user_id" + t.index ["organization_id"], name: "index_collections_on_organization_id" + t.index ["user_id"], name: "index_collections_on_user_id" + end + + create_table "comments", id: :serial, force: :cascade do |t| + t.string "ancestry" + t.boolean "article_conversion_inquiry", default: false + t.boolean "article_conversion_lost", default: false + t.boolean "article_conversion_won", default: false + t.text "body_html" + t.text "body_markdown" + t.integer "commentable_id" + t.string "commentable_type" + t.datetime "created_at", null: false + t.boolean "deleted", default: false + t.boolean "edited", default: false + t.datetime "edited_at" + t.string "id_code" + t.integer "link_id" + t.integer "markdown_character_count" + t.integer "positive_reactions_count", default: 0, null: false + t.text "processed_html" + t.integer "reactions_count", default: 0, null: false + t.boolean "receive_notifications", default: true + t.integer "score", default: 0 + t.integer "spaminess_rating", default: 0 + t.datetime "updated_at", null: false + t.integer "user_id" + t.index ["ancestry"], name: "index_comments_on_ancestry" + end + + create_table "delayed_jobs", id: :serial, force: :cascade do |t| + t.integer "attempts", default: 0, null: false + t.datetime "created_at" + t.datetime "failed_at" + t.text "handler", null: false + t.text "last_error" + t.datetime "locked_at" + t.string "locked_by" + t.integer "priority", default: 0, null: false + t.string "queue" + t.datetime "run_at" + t.datetime "updated_at" + t.index ["priority", "run_at"], name: "delayed_jobs_priority" + end + + create_table "display_ads", force: :cascade do |t| + t.boolean "approved", default: false + t.text "body_markdown" + t.integer "clicks_count", default: 0 + t.float "cost_per_click", default: 0.0 + t.float "cost_per_impression", default: 0.0 + t.datetime "created_at", null: false + t.integer "impressions_count", default: 0 + t.integer "organization_id" + t.string "placement_area" + t.text "processed_html" + t.boolean "published", default: false + t.datetime "updated_at", null: false + end + + create_table "events", force: :cascade do |t| + t.string "title" + t.string "category" + t.datetime "starts_at" + t.datetime "ends_at" + t.string "location_name" + t.string "location_url" + t.string "cover_image" + t.text "description_markdown" + t.text "description_html" + t.boolean "published" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + + create_table "feedback_messages", force: :cascade do |t| + t.string "category_selection" + t.string "feedback_type" + t.text "message" + t.integer "user_id" + end + + create_table "flipflop_features", force: :cascade do |t| + t.datetime "created_at", null: false + t.boolean "enabled", default: false, null: false + t.string "key", null: false + t.datetime "updated_at", null: false + end + + create_table "follows", id: :serial, force: :cascade do |t| + t.boolean "blocked", default: false, null: false + t.datetime "created_at" + t.integer "followable_id", null: false + t.string "followable_type", null: false + t.integer "follower_id", null: false + t.string "follower_type", null: false + t.datetime "updated_at" + t.index ["followable_id", "followable_type"], name: "fk_followables" + t.index ["follower_id", "follower_type"], name: "fk_follows" + end + + create_table "github_issues", id: :serial, force: :cascade do |t| + t.string "category" + t.datetime "created_at", null: false + t.string "issue_serialized", default: "--- {}\n" + t.string "processed_html" + t.datetime "updated_at", null: false + t.string "url" + end + + create_table "github_repos", force: :cascade do |t| + t.string "additional_note" + t.integer "bytes_size" + t.datetime "created_at", null: false + t.string "description" + t.boolean "featured", default: false + t.boolean "fork", default: false + t.integer "github_id_code" + t.text "info_hash", default: "--- []\n" + t.string "language" + t.string "name" + t.integer "priority", default: 0 + t.integer "stargazers_count" + t.datetime "updated_at", null: false + t.string "url" + t.integer "user_id" + t.integer "watchers_count" + end + + create_table "identities", id: :serial, force: :cascade do |t| + t.text "auth_data_dump" + t.datetime "created_at", null: false + t.string "provider" + t.string "secret" + t.string "token" + t.string "uid" + t.datetime "updated_at", null: false + t.integer "user_id" + end + + create_table "job_opportunities", force: :cascade do |t| + t.datetime "created_at", null: false + t.string "experience_level" + t.string "location_city" + t.string "location_country_code" + t.string "location_given" + t.decimal "location_lat", precision: 10, scale: 6 + t.decimal "location_long", precision: 10, scale: 6 + t.string "location_postal_code" + t.string "permanency" + t.string "remoteness" + t.string "time_commitment" + t.datetime "updated_at", null: false + end + + create_table "mentions", id: :serial, force: :cascade do |t| + t.datetime "created_at", null: false + t.integer "mentionable_id" + t.string "mentionable_type" + t.datetime "updated_at", null: false + t.integer "user_id" + end + + create_table "notes", id: :serial, force: :cascade do |t| + t.text "content" + t.datetime "created_at", null: false + t.string "reason" + t.datetime "updated_at", null: false + t.integer "user_id" + end + + create_table "notifications", id: :serial, force: :cascade do |t| + t.string "action" + t.datetime "created_at", null: false + t.integer "notifiable_id" + t.string "notifiable_type" + t.datetime "updated_at", null: false + t.integer "user_id" + end + + create_table "organizations", id: :serial, force: :cascade do |t| + t.string "address" + t.boolean "approved", default: false + t.string "bg_color_hex" + t.string "city" + t.string "company_size" + t.string "country" + t.datetime "created_at", null: false + t.string "email" + t.string "github_username" + t.string "jobs_email" + t.string "jobs_url" + t.string "location" + t.string "name" + t.string "nav_image" + t.string "profile_image" + t.text "proof" + t.string "secret" + t.string "slug" + t.string "state" + t.string "story" + t.text "summary" + t.string "tech_stack" + t.string "text_color_hex" + t.string "twitter_username" + t.datetime "updated_at", null: false + t.string "url" + t.string "zip_code" + t.index ["slug"], name: "index_organizations_on_slug", unique: true + end + + create_table "podcast_episodes", id: :serial, force: :cascade do |t| + t.text "body" + t.integer "comments_count", default: 0, null: false + t.datetime "created_at", null: false + t.string "deepgram_id_code" + t.integer "duration_in_seconds" + t.boolean "featured", default: true + t.integer "featured_number" + t.string "guid" + t.string "image" + t.string "itunes_url" + t.string "media_url" + t.string "order_key" + t.integer "podcast_id" + t.text "processed_html" + t.datetime "published_at" + t.text "quote" + t.integer "reactions_count", default: 0, null: false + t.string "slug" + t.string "social_image" + t.string "subtitle" + t.text "summary" + t.string "title" + t.datetime "updated_at", null: false + t.string "website_url" + end + + create_table "podcasts", id: :serial, force: :cascade do |t| + t.string "android_url" + t.datetime "created_at", null: false + t.text "description" + t.string "feed_url" + t.string "image" + t.string "itunes_url" + t.string "main_color_hex" + t.string "overcast_url" + t.string "pattern_image" + t.string "slug" + t.string "soundcloud_url" + t.text "status_notice", default: "" + t.string "title" + t.string "twitter_username" + t.datetime "updated_at", null: false + t.string "website_url" + t.boolean "unique_website_url?", default: true + end + + create_table "reactions", id: :serial, force: :cascade do |t| + t.string "category" + t.datetime "created_at", null: false + t.float "points", default: 1.0 + t.integer "reactable_id" + t.string "reactable_type" + t.datetime "updated_at", null: false + t.integer "user_id" + t.index ["category"], name: "index_reactions_on_category" + t.index ["reactable_id"], name: "index_reactions_on_reactable_id" + t.index ["reactable_type"], name: "index_reactions_on_reactable_type" + t.index ["user_id"], name: "index_reactions_on_user_id" + end + + create_table "roles", id: :serial, force: :cascade do |t| + t.datetime "created_at" + t.string "name" + t.integer "resource_id" + t.string "resource_type" + t.datetime "updated_at" + t.index ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id" + t.index ["name"], name: "index_roles_on_name" + end + + create_table "taggings", id: :serial, force: :cascade do |t| + t.string "context", limit: 128 + t.datetime "created_at" + t.integer "tag_id" + t.integer "taggable_id" + t.string "taggable_type" + t.integer "tagger_id" + t.string "tagger_type" + t.index ["context"], name: "index_taggings_on_context" + t.index ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true + t.index ["tag_id"], name: "index_taggings_on_tag_id" + t.index ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context" + t.index ["taggable_id", "taggable_type", "tagger_id", "context"], name: "taggings_idy" + t.index ["taggable_id"], name: "index_taggings_on_taggable_id" + t.index ["taggable_type"], name: "index_taggings_on_taggable_type" + t.index ["tagger_id", "tagger_type"], name: "index_taggings_on_tagger_id_and_tagger_type" + t.index ["tagger_id"], name: "index_taggings_on_tagger_id" + end + + create_table "tags", id: :serial, force: :cascade do |t| + t.string "alias_for" + t.string "bg_color_hex" + t.integer "hotness_score", default: 0 + t.string "keywords_for_search" + t.string "name" + t.string "pretty_name" + t.string "profile_image" + t.boolean "requires_approval", default: false + t.text "rules_html" + t.text "rules_markdown" + t.string "short_summary" + t.string "social_image" + t.string "submission_rules_headsup" + t.text "submission_template" + t.boolean "supported", default: false + t.integer "taggings_count", default: 0 + t.string "text_color_hex" + t.text "wiki_body_html" + t.text "wiki_body_markdown" + t.index ["name"], name: "index_tags_on_name", unique: true + end + + create_table "tweets", id: :serial, force: :cascade do |t| + t.datetime "created_at", null: false + t.text "extended_entities_serialized", default: "--- {}\n" + t.integer "favorite_count" + t.text "full_fetched_object_serialized", default: "--- {}\n" + t.string "hashtags_serialized", default: "--- []\n" + t.string "in_reply_to_status_id_code" + t.string "in_reply_to_user_id_code" + t.string "in_reply_to_username" + t.boolean "is_quote_status" + t.datetime "last_fetched_at" + t.text "media_serialized", default: "--- []\n" + t.string "mentioned_usernames_serialized", default: "--- []\n" + t.string "primary_external_url" + t.string "profile_image" + t.string "quoted_tweet_id_code" + t.integer "retweet_count" + t.string "source" + t.string "text" + t.datetime "tweeted_at" + t.string "twitter_id_code" + t.string "twitter_name" + t.string "twitter_uid" + t.integer "twitter_user_followers_count" + t.integer "twitter_user_following_count" + t.string "twitter_username" + t.datetime "updated_at", null: false + t.text "urls_serialized", default: "--- []\n" + t.integer "user_id" + t.boolean "user_is_verified" + end + + create_table "users", id: :serial, force: :cascade do |t| + t.integer "articles_count", default: 0, null: false + t.string "available_for" + t.boolean "banned", default: false + t.text "base_cover_letter" + t.string "bg_color_hex" + t.boolean "checked_code_of_conduct", default: false + t.integer "comments_count", default: 0, null: false + t.datetime "confirmation_sent_at" + t.string "confirmation_token" + t.datetime "confirmed_at" + t.boolean "contact_consent", default: false + t.datetime "created_at", null: false + t.datetime "current_sign_in_at" + t.inet "current_sign_in_ip" + t.string "currently_hacking_on" + t.string "currently_learning" + t.boolean "display_sponsors", default: true + t.string "education" + t.string "email", default: "", null: false + t.boolean "email_comment_notifications", default: true + t.boolean "email_follower_notifications", default: true + t.boolean "email_membership_newsletter", default: false + t.boolean "email_mention_notifications", default: true + t.boolean "email_newsletter", default: true + t.boolean "email_public", default: false + t.boolean "email_unread_notifications", default: true + t.string "employer_name" + t.string "employer_url" + t.string "employment_title" + t.string "encrypted_password", default: "", null: false + t.integer "experience_level" + t.boolean "feed_admin_publish_permission", default: true + t.boolean "feed_mark_canonical", default: false + t.string "feed_url" + t.integer "following_orgs_count", default: 0, null: false + t.integer "following_tags_count", default: 0, null: false + t.integer "following_users_count", default: 0, null: false + t.datetime "github_created_at" + t.string "github_username" + t.jsonb "language_settings", default: {}, null: false + t.datetime "last_moderation_notification", default: "2017-01-01 05:00:00" + t.datetime "last_notification_activity" + t.datetime "last_sign_in_at" + t.inet "last_sign_in_ip" + t.string "location" + t.boolean "looking_for_work", default: false + t.boolean "looking_for_work_publicly", default: false + t.datetime "membership_started_at" + t.integer "monthly_dues", default: 0 + t.string "mostly_work_with" + t.string "name" + t.string "old_old_username" + t.string "old_username" + t.datetime "onboarding_package_form_submmitted_at" + t.boolean "onboarding_package_fulfilled", default: false + t.boolean "onboarding_package_requested", default: false + t.boolean "onboarding_package_requested_again", default: false + t.boolean "org_admin", default: false + t.integer "organization_id" + t.datetime "personal_data_updated_at" + t.string "profile_image" + t.integer "reactions_count", default: 0, null: false + t.datetime "remember_created_at" + t.string "remember_token" + t.float "reputation_modifier", default: 1.0 + t.datetime "reset_password_sent_at" + t.string "reset_password_token" + t.text "resume_html" + t.boolean "saw_onboarding", default: true + t.integer "score", default: 0 + t.string "secret" + t.string "shipping_address" + t.string "shipping_address_line_2" + t.string "shipping_city" + t.string "shipping_company" + t.string "shipping_country" + t.string "shipping_name" + t.string "shipping_postal_code" + t.string "shipping_state" + t.boolean "shipping_validated", default: false + t.datetime "shipping_validated_at" + t.string "shirt_gender" + t.string "shirt_size" + t.integer "sign_in_count", default: 0, null: false + t.string "signup_cta_variant" + t.string "signup_refer_code" + t.string "signup_referring_site" + t.string "specialty" + t.string "stripe_id_code" + t.text "summary" + t.string "tabs_or_spaces" + t.string "text_color_hex" + t.string "text_only_name" + t.string "top_languages" + t.datetime "twitter_created_at" + t.integer "twitter_followers_count" + t.integer "twitter_following_count" + t.string "twitter_username" + t.string "unconfirmed_email" + t.datetime "updated_at", null: false + t.string "username" + t.string "website_url" + t.datetime "workshop_expiration" + t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true + t.index ["language_settings"], name: "index_users_on_language_settings", using: :gin + t.index ["organization_id"], name: "index_users_on_organization_id" + t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true + t.index ["username"], name: "index_users_on_username", unique: true + end + + create_table "users_roles", id: false, force: :cascade do |t| + t.integer "role_id" + t.integer "user_id" + t.index ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id" + end + +end diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 0000000000000..d648fda5e855c --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,176 @@ +p "1/7 Creating orgs" +3.times do + attributes = { name: Faker::Book.title, + summary: Faker::Hipster.paragraph(1), + profile_image: File.open("#{Rails.root}/app/assets/images/android-icon-36x36.png"), + nav_image: Faker::Avatar.image, + url: Faker::Internet.url, + slug: "org#{rand(10000)}", + github_username: "org#{rand(10000)}", + twitter_username: "org#{rand(10000)}", + bg_color_hex: Faker::Color.hex_color, + text_color_hex: Faker::Color.hex_color + } + Organization.create!(attributes) +end + +# Create users + +p "2/7 Creating users" +roles = %i(level_1_member level_2_member level_3_member level_4_member workshop_pass) +80.times do |i| + begin + identity_attributes = { provider: "twitter", + uid: "#{i}", + token: "#{i}", + secret: "#{i}",} + identity = Identity.create(identity_attributes) + user_attributes = { + name: Faker::Name.name, + summary: Faker::Hipster.paragraph(1), + profile_image: Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg'), + website_url: Faker::Internet.url, + twitter_username: "twitter_#{i}", + email_comment_notifications: false, + email_follower_notifications: false, + email: Faker::Internet.email, + confirmed_at: Time.now, + password: "password", + } + user = User.create!(user_attributes) + user.add_role(roles[rand(0..4)]) + identity.user = user + identity.save! + rescue + p "error creating user" + end +end + +# Create their articles + +p "3/7 Creating Tags" +Tag.create!( + name: "beginners", + bg_color_hex: "#ffa500", + text_color_hex: "#ffffff", + supported: true, + ) +Tag.create!( + name: "career", + bg_color_hex: "#2a2566", + text_color_hex: "#ffffff", + supported: true, +) +Tag.create!( + name: "computerscience", + bg_color_hex: "#dbd3fd", + text_color_hex: "#0c0040", + supported: true, + ) +Tag.create!( + name: "git", + bg_color_hex: "#F54D27", + text_color_hex: "#413932", + supported: true, +) +Tag.create!( + name: "go", + bg_color_hex: "#E0EBF5", + text_color_hex: "#03284a", + supported: true, +) +Tag.create!( + name: "java", + bg_color_hex: "#01476e", + text_color_hex: "#ff8f8f", + supported: true, + ) +Tag.create!( + name: "javascript", + bg_color_hex: "#f7df1e", + text_color_hex: "#000000", + supported: true, +) +Tag.create!( + name: "linux", + bg_color_hex: "#008ddd", + text_color_hex: "#ffffff", + supported: true, +) +Tag.create!( + name: "productivity", + bg_color_hex: "#88a2cc", + text_color_hex: "#262524", + supported: true, +) +Tag.create!( + name: "python", + bg_color_hex: "#1e38bb", + text_color_hex: "#FFDF5B", + supported: true, +) +Tag.create!( + name: "security", + bg_color_hex: "#000000", + text_color_hex: "#ffffff", + supported: true, +) +Tag.create!( + name: "webdev", + bg_color_hex: "#562765", + text_color_hex: "#ffffff", + supported: true, +) + +p "4/7 Creating articles" +150.times do + # begin + four_tags_string = "discuss, meta, git, changelog" + valid_markdown = "---\ntitle: #{Faker::Book.title} #{rand(5000)}\npublished: true\ncover_image: #{Faker::Avatar.image}\ntags: #{four_tags_string}\n---\n#{Faker::Hipster.paragraph(4)}" + attributes = { + body_markdown: valid_markdown, + featured: true, + show_comments: true, + user_id: User.order("RANDOM()").first.id, + } + Article.create!(attributes) + # rescue + # p "error creating article" + # end +end + +# Create comments + +p "5/7 Creating comments" +200.times do + attributes = { + body_markdown: Faker::Hipster.paragraph(1), + user_id: User.order("RANDOM()").first.id, + commentable_id: Article.order("RANDOM()").first.id, + commentable_type: "Article", + } + Comment.create!(attributes) +end + +# Create podcasts + +p "6/7 Creating podcasts" +podcast_objects = [ + {"title"=>"CodingBlocks", "description"=>nil, "feed_url"=>"http://feeds.podtrac.com/c8yBGHRafqhz", "image"=> Faker::Avatar.image, "slug"=>"codingblocks", "twitter_username"=>"CodingBlocks", "website_url"=>"http://codingblocks.net", "main_color_hex"=>"111111", "overcast_url"=>"https://overcast.fm/itunes769189585/coding-blocks-software-and-web-programming-security-best-practices-microsoft-net", "android_url"=>"http://subscribeonandroid.com/feeds.podtrac.com/c8yBGHRafqhz", image: Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg')}, + {"title"=>"Talk Python", "description"=>nil, "feed_url"=>"https://talkpython.fm/episodes/rss", "image"=> Faker::Avatar.image, "slug"=>"talkpython", "twitter_username"=>"TalkPython", "website_url"=>"https://talkpython.fm", "main_color_hex"=>"181a1c", "overcast_url"=>"https://overcast.fm/itunes979020229/talk-python-to-me-python-conversations-for-passionate-developers", "android_url"=>"https://subscribeonandroid.com/talkpython.fm/episodes/rss", image: Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg')}, + {"title"=>"Developer on Fire", "description"=>"", "feed_url"=>"http://developeronfire.com/rss.xml", "itunes_url"=>"https://itunes.apple.com/us/podcast/developer-on-fire/id1006105326", "image"=> Faker::Avatar.image, "slug"=>"developeronfire", "twitter_username"=>"raelyard", "website_url"=>"http://developeronfire.com", "main_color_hex"=>"", "overcast_url"=>"https://overcast.fm/itunes1006105326/developer-on-fire", "android_url"=>"http://subscribeonandroid.com/developeronfire.com/rss.xml", image: Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg')}, + {"title"=>"Building Programmers", "description"=>"", "feed_url"=>"https://building.fireside.fm/rss", "itunes_url"=>"https://itunes.apple.com/us/podcast/building-programmers/id1149043456", "image"=> Faker::Avatar.image, "slug"=>"buildingprogrammers", "twitter_username"=>"run_kmc", "website_url"=>"https://building.fireside.fm", "main_color_hex"=>"140837", "overcast_url"=>"https://overcast.fm/itunes1149043456/building-programmers", "android_url"=>"https://subscribeonandroid.com/building.fireside.fm/rss", image: Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg')}, +] + +podcast_objects.each do |attributes| + podcast = Podcast.create!(attributes) + PodcastFeed.new.get_episodes(podcast, 4) +end + +p "7/7 Creating Broadcasts" +Broadcast.create!( + title: "Welcome Notification", + processed_html: "Welcome to dev.to! Start by introducing yourself in the welcome thread.", + type_of: "Onboarding", + sent: true, +) diff --git a/docs/Content_instagram-possibilities.md b/docs/Content_instagram-possibilities.md new file mode 100644 index 0000000000000..5f13da96eb2cb --- /dev/null +++ b/docs/Content_instagram-possibilities.md @@ -0,0 +1,25 @@ +- https://twitter.com/ThePracticalDev/status/766858028859523072 +- https://twitter.com/ThePracticalDev/status/766251634775166976 +- https://twitter.com/ThePracticalDev/status/765948960930406400 +- https://twitter.com/ThePracticalDev/status/764829038997278720 +~https://twitter.com/ThePracticalDev/status/763824436738945024~ +- https://twitter.com/ThePracticalDev/status/763470048463912960 +- https://twitter.com/ThePracticalDev/status/763125291002761217 +- https://twitter.com/ThePracticalDev/status/762709515133485056 +- https://twitter.com/ThePracticalDev/status/761546959354228740 +~https://twitter.com/ThePracticalDev/status/760480121241427968~ +- https://twitter.com/ThePracticalDev/status/760136868289712128 +- https://twitter.com/ThePracticalDev/status/755879385622843396 +- https://twitter.com/ThePracticalDev/status/752317048944984064 +- https://twitter.com/ThePracticalDev/status/748164497840410624 +- https://twitter.com/ThePracticalDev/status/747843812219813888 +- https://twitter.com/ThePracticalDev/status/733908215021199360 + +~https://twitter.com/ThePracticalDev/status/743846903759142918~ + +- https://twitter.com/ThePracticalDev/status/771384348121628676 +- https://twitter.com/ThePracticalDev/status/771394858712006661 < caption was context-specific, needs to be adjusted +- https://twitter.com/ThePracticalDev/status/770978423363829760 +- https://twitter.com/ThePracticalDev/status/770234031078273024 +- https://twitter.com/ThePracticalDev/status/769905065960284160 +- https://twitter.com/ThePracticalDev/status/764829038997278720 diff --git a/docs/General_brand-details.md b/docs/General_brand-details.md new file mode 100644 index 0000000000000..45eeb0c2d9b25 --- /dev/null +++ b/docs/General_brand-details.md @@ -0,0 +1,5 @@ +Logo: Joystick font + +DEV should be technically offcenter slightly to the right because the V is inbalanced. + +DEV has a classic arcade font and supporting imagery should run along with that. diff --git a/docs/General_core-values.md b/docs/General_core-values.md new file mode 100644 index 0000000000000..e11bc5dbe4c56 --- /dev/null +++ b/docs/General_core-values.md @@ -0,0 +1,3 @@ +# Core Values + +#### TODO diff --git a/docs/General_editorial-guidelines.md b/docs/General_editorial-guidelines.md new file mode 100644 index 0000000000000..1e55903a6e8fa --- /dev/null +++ b/docs/General_editorial-guidelines.md @@ -0,0 +1,10 @@ +# Editorial Guidelines for publishing on dev.to + +### Don't get too clever with the title +Match the cleverness of the title to the tone of the piece and air on the side of descriptive, rather than poetic. + +### Short pieces are fine! +You may be tempted to want to write a "full" blog post, but if you only need to write one paragraph, do that! + +### Cover pictures are best for longer pieces +If it's short, simple, and technical, don't worry about picking a nice cover pic. If it's deeper and more high level in topic, go with an artistic cover image. diff --git a/docs/General_oss-manifesto.md b/docs/General_oss-manifesto.md new file mode 100644 index 0000000000000..1d308c2c42fcb --- /dev/null +++ b/docs/General_oss-manifesto.md @@ -0,0 +1,41 @@ +# Building a Massively Open Community-Driven Company + +The Practical Dev (https://dev.to, @ThePracticalDev on Twitter) is a new and tiny, but undeniably interesting company built on ideals of openness and honesty with a target of open-sourcing as much as possible. In this talk, we discuss why openness is such an amazing choice for us and speak about our technical roadmap to open source. + +We have created a unique brand, built on humor and personality, engagement with community, and working out from there. Few technology companies establish a strong brand personality and engaged community before a line of code is written, but that was the story. We are a company built on opinionated commentary about software development and have established a large, captive audience in a short amount of time. It puts us in a position to grow the company with full input from the community every step of the way, as anyone who commits code is inherently a user of our services and member of the community. + +The decision to make open source part of our DNA from the beginning will involve a lot of challenges. The speakers, Ben Halpern and Jess Lee, will discuss how we plan to address the challenges and leverage the opportunities. + +Topics will include: + +- Leadership in startups and in open source +- The benefits of diversity +- The current technology stack and our plans for the future, the need to balance being opinionated and open to new ideas +- The evolutionary nature of peoples' roles within a startup and open source project +- Making unpopular choices and saying no +- What it means to be open and honest in the digital age + +Thank you for taking the time to read this proposal. It is an honor to be considered. + + +- Atypical approach to building the thing everybody thinks need to be build. +- Critical Node as an outsider +- Community-first development +- Shared ideology +- The talk will be an opportunity to lay an opinionated stake in the ground. +- Core team and satellites, ensuring community fairness. Openness in terms of moderation, making critical community-first choices from the beginning to ensure people of all backgrounds feel safe and appreciated in the community. Allowing ourselves to reimplement other ideas, knowing the differences can be subtle because we've staked our claim as an industry brand. +- Slow and asynchronous. +- Thirsty for the right kind of experience. In search of some buy-in from long-time developers who share in the vision. +- Notable personality differences between Ben and Jess is a critical strength of the founding relationship, but buy-in is critical. A diverse community willing to buy in will be amazing. +- What is unique about a wildly polyglot group of developers of all experience levels and how can we build a truly remarkable thing. +- When you're radically open source, there are challenges and expectations. You give up a lot, but you also gain a lot. We are a company willing to lay a lot out there for the benefit of the community. We will be the open meta company. +- It is dangerous to be open, but increasingly, it is dangerous to be closed. Privacy by obfuscation is hard to bank on. +- When a company's early growth strategy is the creator's humor, knowing how to leverage that and how to not fall into the trap of riding that too hard. +- Being open about the commercial intentions of this business, which were a hard thing to accept personally. +- The people behind open source +- Saying no to stuff is hard and it has a way of opening yourself up to criticism. +- Community comes to your defense when you have an engaged, open dialog with them. +- Blogging about some of the technical choices in the past has been huge for opening my eyes up to what the next step might be. +- You're allowed to make unpopular choices. You're better off being open about it. It's a feature, not a bug. +- Attention is cheap. Retention is everything. 15 minutes of fame. Bottle it. Are we a flash in the pan? +- There are already haters. diff --git a/docs/General_producer-acquisition.md b/docs/General_producer-acquisition.md new file mode 100644 index 0000000000000..31b4d29b285fb --- /dev/null +++ b/docs/General_producer-acquisition.md @@ -0,0 +1,32 @@ +# Finding new producers + +## Base repeatable strategy + +### Situation + +People are interested and enthusiastic about dev.to, we can see that people believe in it and are willing to sign up. What's hard is actually getting them to write a good article, mostly because writing is hard, especially when you feel pressure. So lots of people sign up and don't wind up writing anything. We can improve the onboarding flow but that wouldn't solve the underlying problem. + +### Proposal + +We need to get people who are already primed with content ready to be published. The best case is people who have just published something to Medium. + +We comb Medium every day for recently published posts that pass the quick smell test and then message the writers telling them they can and should repost the article to dev.to. We can workshop a good canned message and should be able to make this a daily routine until we no longer need to do it. + +I think we could come up with a good division of channels so we could each do some of this stuff without stepping on each others toes, but let's make it extremely systematic, almost automated. + +I just experimented by following this protocol with three instances, took me less than a minute. Already got a positive! + +Here is a sample one I sent: + +> Hey, I just came across your Elm article Medium from a few days ago. We'd love to feature some more Elm content on https://dev.to , so I welcome you to repost your medium posts (Elm and otherwise) on https://dev.to if you'd like. +It's self-serve so you can sign up and it should only take a couple of minutes. 🙌 + +Got this response immediately + +> Ah awesome, yeah I will do. Anything to help spread the word of Elm. :-D Genuinely chuffed that you reached out to me tbh. :-D + +I'd say that's pretty fucking awesome. Another awesome sign: I clicked through on three Elm articles on Medium and all three people already followed us. That is, frankly, an amazing position to be in. + +### Conclusion + +This is classic growth hacking and can act as our underlying stream which is super repeatable. We will compliment this with the more high-touch stuff like reaching out to more established developers and more community stuff and more ambitious original content in general. diff --git a/docs/General_twitter.md b/docs/General_twitter.md new file mode 100644 index 0000000000000..a8a6f0e31250c --- /dev/null +++ b/docs/General_twitter.md @@ -0,0 +1,41 @@ +# Twitter + +The Twitter account is the voice and there are ways to do it well, types of tweets, etc. + +### Medium and language agnostic topics +- Ethics of software +- Encryption +- Databases +- Trivia + + + +### Classifying types of tweets + +- Classic on-brand jokes (ORLY covers) +- Silliness (play on words) +- Interesting tidbits/oddities, like a fascinating Stack Overflow question +- Great articles on programming culture (and not so much the greater tech culture) +- On point criticisms, there is a real bar here though. It can be too easy to devolve into useless "think piece" land when being critical. +- Programming news that has broad appeal (releases of fascinating OSS and APIs) +- Fun interactions with other Twitter people +- Polls are fucking sweet. +- Fascinating GitHub projects +- Funny little interactions with notable characters. Asking stupid questions. Nothing insulting. +- Text screenshots from Hacker News, Reddit, etc. + - Could be money but needs to be done with care. +- Tweet storms are great if natural and on point. Don't get too happy with them. +- Insightful or funny quotes + +### Keys + +- Keep it balanced. Don't be too ridiculous without stabling off to seriousness. +- Try new things and pay attention to the results +- Keep a general narrative up. Nothing lives on its own. +- Cynicism is fun but don't be too much of a downer. +- Learn from new things and take notes of what works but stay grounded to the core, centered line. Stay true to the origins in some sort of way while also asking, how can this be better? Like a TV show with existing fans but the creative latitude to let the characters evolve. + +### The future + +- Twitter is great but it's somewhat limited and also not a platform we can rely on. We must diversify and ultimately bring the same magic of Twitter onto our platform if we can. +- Extend what we can do with Twitter including more private messaging with users. Right now we have lots of DM convos but it's hard to scale that in the current setup. If we can scale up the number of private convos we are having with people we can draw a lot of power from that. diff --git a/docs/Logistics_shirt-sale-process.md b/docs/Logistics_shirt-sale-process.md new file mode 100644 index 0000000000000..8633e961806a9 --- /dev/null +++ b/docs/Logistics_shirt-sale-process.md @@ -0,0 +1,40 @@ +## Shirt sale process checklist + +- Create design + - Come up with concept + - Consult with artist(s) + - Finalize design +- Coordinate with print shop + - Finalize pricing + - Negotiate + - Ask for + - Explore garment possibilities, like crew sweaters +- Materials (order ahead of time!) + - Printer + - 4x6 Printer paper + - Polybags + - Scale + - Stickers + - Pens/markers +- Shopify + - Input weight for each SKU + - Fix Stamps.com/Shopify funky character issue +- Marketing + - Order sample garments + - better quality this time! + - Photo shoot + - Hold sale, create urgency + - Tell story on Twitter + - Show off beauty on Instagram +- Turnaround + - Determine quantity needs + - Place order with print shop + - Hold turnaround party +- Turnaround party + - Divide list up between people + - Print off lists + - Mark order number on each package + - Print off all shipping labels, match up with packages + - Schedule USPS pickup (if possible) + +## Promise quality and over-deliver on delight! diff --git a/docs/Technical_payments.md b/docs/Technical_payments.md new file mode 100644 index 0000000000000..50630a01ba0b1 --- /dev/null +++ b/docs/Technical_payments.md @@ -0,0 +1,38 @@ +## Payments + +We use stripe because it's the industry leader in API-driven payment processing. It is developer-friendly and has good docs. + +- [Stripe Rails Checkout](https://stripe.com/docs/checkout/rails) +- [Stripe Ruby API](https://stripe.com/docs/api?lang=ruby) + +High level things we need to build: + - The checkouts controller + - A charges model to capture the transaction info in our database and keep track of what's been paid and when. + - Mapping our user to a Stripe customer when payment is made + - A page for a form (within the flow, we might want to pop the form in elsewhere, but we should have a dedicated generic page to create charges from.) + +Before an article is saved, we check if there has been a charges made on it in the past week, and mark it as paid. Only "paid" posts show up on [/jobs](https://dev.to/jobs). And paying buys you one week, after which it goes back to unpaid. You can either make a new charges, which will bump it, or create a new article if you like. + +Let's focus on creating a safe, well thought out checkout flow and really learn the Stripe API because it will be key to our flow. There will come other times where we will want to create charges, so we don't want to couple anything too tightly to the job flow. + +## Technical details as I see them now: + - charges controller as instructed + - charges model in our database which map to Stripe charges, belongs to `Article` and `User` + - Fields: + - `user_id` + - `article_id` + - `stripe_charge_key` + - A foreign key on our `User` model which maps to a Stripe customer + - such as `stripe_customer_key` + - A boolean field on our `Article` model called `paid`, which will be true if certain other criteria are met. + +## User stories + - I need to be able to create a job listing in a self serve manner as long as I have permission to do so and have it live as soon as I'm done + - I need to be able to pay with a previously used card for convenience (cards can be retrieved from stripe via query, I don't think we need to store this in our DB since we have the `User` => `stripe_customer` mapping) + +## Key takeaways + - This is just my initial assertion, but let's not rush this process. I want to have a good dialogue about this and we should have several discussions about this implementation. And we should not go live without good test coverage around this flow. + - The modeling of this problem is up for discussion. The above guideline is subject to change. I'd suggest diving deep into the docs. + - This will also be how we accept payment for ads and other stuff. We're building towards that. + +# You, Jess, are the head of finances, so this is your domain and you are perfect for this task! diff --git a/docs/bulk_dm.rb b/docs/bulk_dm.rb new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/empty-module.js b/empty-module.js new file mode 100644 index 0000000000000..9dc5fc1e4a43e --- /dev/null +++ b/empty-module.js @@ -0,0 +1 @@ +module.exports = ''; diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000000000..b089f5477a4ad --- /dev/null +++ b/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + collectCoverageFrom: [ + 'app/javascript/src/**/*.{js,jsx}', + '!**/__tests__/**' + ], + moduleNameMapper: { + '\\.(svg)$': '/empty-module.js' + } +}; diff --git a/lib/api_constraints.rb b/lib/api_constraints.rb new file mode 100644 index 0000000000000..2d6445b228f1f --- /dev/null +++ b/lib/api_constraints.rb @@ -0,0 +1,10 @@ +class ApiConstraints + def initialize(options) + @version = options[:version] + @default = options[:default] + end + + def matches?(req) + @default || req.headers['Accept'].include?("application/vnd.example.v#{@version}") + end +end diff --git a/lib/assets/.keep b/lib/assets/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/lib/tasks/.keep b/lib/tasks/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake new file mode 100644 index 0000000000000..8ce31458590a4 --- /dev/null +++ b/lib/tasks/db.rake @@ -0,0 +1,30 @@ +# namespace :db do +# +# desc "Copy production database to local" +# +# task :copy_production => :environment do +# puts "FIRING UP!" +# # Download latest dump +# system("echo hey") +# system("heroku pg:backups --remote heroku capture") +# system("curl -o latest.dump `heroku pg:backups --remote heroku public-url`") +# +# +# # get user and database name +# # config = Rails.configuration.database_configuration["development"] +# # database = config["database"] +# # user = config["username"] +# # +# # # import +# # system("pg_restore --verbose --clean --no-acl --no-owner -h localhost -d #{database} #{Rails.root}/tmp/latest.dump") +# end +# +# end +# +# +# heroku pg:backups --remote heroku capture +# curl -o latest.dump `heroku pg:backups --remote heroku public-url` +# rake db:reset +# pg_restore --verbose --no-acl --no-owner -t articles -t users -t podcasts -t podcast_episodes -t sponsors -t identities -t organizations -h localhost -d PracticalDeveloper_development latest.dump +# rake db:migrate +# pg_restore --verbose --clean --no-acl --no-owner -t articles -t users -t podcasts -t podcast_episodes -t sponsors -t identities -t organizations -h localhost -d PracticalDeveloper_development latest.dump diff --git a/lib/tasks/fetch.rake b/lib/tasks/fetch.rake new file mode 100644 index 0000000000000..637e2acfd535c --- /dev/null +++ b/lib/tasks/fetch.rake @@ -0,0 +1,63 @@ +desc "This task is called by the Heroku scheduler add-on" + +task :get_podcast_episodes => :environment do + Podcast.find_each do |p| + PodcastFeed.new.get_episodes(p,5) + end +end + +task :periodic_cache_bust => :environment do + CacheBuster.new.bust("/enter") + CacheBuster.new.bust("/new") + CacheBuster.new.bust("/dashboard") + CacheBuster.new.bust("/users/auth/twitter") + CacheBuster.new.bust("/users/auth/github") + CacheBuster.new.bust("/feed") + CacheBuster.new.bust("/feed") + CacheBuster.new.bust("/feed.xml") +end + +task :hourly_bust => :environment do + CacheBuster.new.bust("/") +end + +task :fetch_all_rss => :environment do + Rails.application.eager_load! + RssReader.get_all_articles +end + +task :resave_supported_tags => :environment do + puts "resaving supported tags" + Tag.where(supported: true).find_each(&:save) +end + +task :renew_hired_articles => :environment do + Article. + tagged_with("hiring"). + where("featured_number < ?", 7.days.ago.to_i + 11.minutes.to_i). + where(approved: true, published: true, automatically_renew: true). + each do |article| + if article.automatically_renew + article.featured_number = Time.now.to_i + article.save + else + article.approved = false + article.body_markdown = article.body_markdown.gsub("published: true", "published: false") + article.save + end + end +end + +task :clear_memory_if_too_high => :environment do + if Rails.cache.stats.flatten[1]["bytes"].to_i > 2000000000 + Rails.cache.clear + end +end + +task :save_nil_hotness_scores => :environment do + Article.where(hotness_score: nil, published: true).find_each(&:save) +end + +task :github_repo_fetch_all => :environment do + GithubRepo.update_to_latest +end \ No newline at end of file diff --git a/lib/tasks/linters.rake b/lib/tasks/linters.rake new file mode 100644 index 0000000000000..ceeca72b759e9 --- /dev/null +++ b/lib/tasks/linters.rake @@ -0,0 +1,29 @@ +if %w(development test).include? Rails.env + namespace :lint do + desc "eslint" + task :eslint do + cmd = "cd client && npm run eslint . -- --ext .jsx,.js" + puts "Running eslint via `#{cmd}`" + sh cmd + end + + desc "jscs" + task :jscs do + cmd = "cd client && npm run jscs ." + puts "Running jscs via `#{cmd}`" + sh cmd + end + + desc "JS Linting" + task js: [:eslint, :jscs] do + puts "Completed running all JavaScript Linters" + end + + task lint: [:js] do + puts "Completed all linting" + end + end + + desc "Runs all linters. Run `rake -D lint` to see all available lint options" + task lint: ["lint:lint"] +end diff --git a/log/.keep b/log/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000..173d9ccd8f3df --- /dev/null +++ b/package-lock.json @@ -0,0 +1,11314 @@ +{ + "name": "Dev.to", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.38.tgz", + "integrity": "sha512-JNHofQND7Iiuy3f6RXSillN1uBe87DAp+1ktsBfSxfL3xWeGFyJC9jH5zu2zs7eqVGp2qXWvJZFiJIwOYnaCQw==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "@rails/webpacker": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@rails/webpacker/-/webpacker-3.0.2.tgz", + "integrity": "sha1-V0sCHB89cAtAqTRXbJvaxcn5x0Q=", + "requires": { + "babel-core": "6.26.0", + "babel-loader": "7.1.2", + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-preset-env": "1.6.1", + "coffee-loader": "0.8.0", + "compression-webpack-plugin": "1.0.1", + "css-loader": "0.28.7", + "extract-text-webpack-plugin": "3.0.1", + "file-loader": "0.11.2", + "glob": "7.1.2", + "js-yaml": "3.10.0", + "node-sass": "4.5.3", + "path-complete-extname": "0.1.0", + "postcss-cssnext": "3.0.2", + "postcss-loader": "2.0.8", + "postcss-smart-import": "0.7.5", + "rails-erb-loader": "5.2.1", + "resolve-url-loader": "2.1.1", + "sass-loader": "6.0.6", + "style-loader": "0.18.2", + "webpack": "3.8.1", + "webpack-manifest-plugin": "1.3.2" + } + }, + "@types/node": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.3.0.tgz", + "integrity": "sha512-wNBfvNjzsJl4tswIZKXCFQY0lss9nKUyJnG6T94X/eqjRgI2jHZ4evdjhQYBSan/vGtF6XVXPApOmNH2rf0KKw==", + "dev": true + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "dev": true, + "requires": { + "mime-types": "2.1.17", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==" + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "acorn-globals": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz", + "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", + "dev": true, + "requires": { + "acorn": "5.1.2" + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "adjust-sourcemap-loader": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.1.0.tgz", + "integrity": "sha1-QS2SQE62HkETY1ASy6U6M9AI4OI=", + "requires": { + "assert": "1.4.1", + "camelcase": "1.2.1", + "loader-utils": "1.1.0", + "lodash.assign": "4.2.0", + "lodash.defaults": "3.1.2", + "object-path": "0.9.2", + "regex-parser": "2.2.8" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "lodash.defaults": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", + "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", + "requires": { + "lodash.assign": "3.2.0", + "lodash.restparam": "3.6.1" + }, + "dependencies": { + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._createassigner": "3.1.1", + "lodash.keys": "3.1.2" + } + } + } + } + } + }, + "agentkeepalive": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" + }, + "ajv": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz", + "integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "json-schema-traverse": "0.3.1", + "json-stable-stringify": "1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-escapes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "any-promise": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", + "integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=" + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "requires": { + "sprintf-js": "1.0.3" + } + }, + "aria-query": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", + "integrity": "sha512-/r2lHl09V3o74+2MLKEdewoj37YZqiQZnfen1O4iNlrOjUgeKuu1U2yF3iKh6HJxqF+OXkLMfQv65Z/cvxD6vA==", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.9.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.4.1.tgz", + "integrity": "sha1-YqVrJ5yYoR0JhwlqAcw+6463u9c=", + "requires": { + "lodash": "4.17.4" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", + "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=" + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000749", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "1.0.30000749", + "electron-to-chromium": "1.3.27" + } + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "axobject-query": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", + "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.0", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-jest": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.1.0.tgz", + "integrity": "sha512-5pKRFTlDr+x1JESNRd5leqvxEJk3dRwVvIXikB6Lr4BWZbBppk1Wp+BLUzxWL8tM+EYGLCWgfqkD35Sft8r8Lw==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "4.1.5", + "babel-preset-jest": "22.1.0" + } + }, + "babel-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", + "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", + "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.9.1", + "test-exclude": "4.1.1" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } + } + }, + "babel-plugin-jest-hoist": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.1.0.tgz", + "integrity": "sha512-Og5sjbOZc4XUI3njqwYhS6WLTlHQUJ/y5+dOqmst8eHrozYZgT4OMzAaYaxhk75c2fBVYwn7+mNEN97XDO7cOw==", + "dev": true + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.1", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.5.1", + "invariant": "2.2.2", + "semver": "5.4.1" + } + }, + "babel-preset-jest": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.1.0.tgz", + "integrity": "sha512-ps2UYz7IQpP2IgZ41tJjUuUDTxJioprHXD8fi9DoycKDGNqB3nAX/ggy1S3plaQd43ktBvMS1FkkyGNoBujFpg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "22.1.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" + } + }, + "babel-preset-preact": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-preact/-/babel-preset-preact-1.1.0.tgz", + "integrity": "sha1-NaxlWnOkm4Q4FjzgU4Fld+GYCGE=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-transform-react-jsx": "6.24.1" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.1", + "regenerator-runtime": "0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, + "binary-extensions": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=" + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "2.0.3" + } + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.1", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.15" + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.1.1", + "multicast-dns-service-types": "1.1.0" + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "requires": { + "hoek": "4.2.0" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-process-hrtime": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz", + "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "requires": { + "browserify-aes": "1.1.1", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.5" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "0.2.9" + } + }, + "browserslist": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.1.tgz", + "integrity": "sha512-jAvM2ku7YDJ+leAq3bFH1DE0Ylw+F+EQDq4GkqZfgPEqpWYw9ofQH85uKSB9r3Tv7XDbfqVtE+sdvKJW7IlPJA==", + "requires": { + "caniuse-lite": "1.0.30000749", + "electron-to-chromium": "1.3.27" + } + }, + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000749", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "1.0.30000749", + "electron-to-chromium": "1.3.27" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000749", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000749.tgz", + "integrity": "sha1-VWdzqjqnBPWB10j6Y7RsoIeqxn0=" + }, + "caniuse-lite": { + "version": "1.0.30000749", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000749.tgz", + "integrity": "sha1-L/OChlrq2MyjXaz7qwT1jv+kwBw=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + }, + "dependencies": { + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + } + } + }, + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.0" + } + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.2", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "ci-info": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", + "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "clone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=" + }, + "clone-deep": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", + "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", + "requires": { + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "3.2.2", + "shallow-clone": "0.1.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "requires": { + "q": "1.5.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "coffee-loader": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/coffee-loader/-/coffee-loader-0.8.0.tgz", + "integrity": "sha512-jMxsuxagYouuhTcf1EoLz8pONTIl5gwuyIdTIOCuArGLQiNc2fS6G7KfTfadb8+hiOfwslhD60wjih2knTnAww==", + "requires": { + "loader-utils": "1.1.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "requires": { + "clone": "1.0.2", + "color-convert": "1.9.0", + "color-string": "0.3.0" + } + }, + "color-convert": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "requires": { + "color-name": "1.1.3" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.1" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "complex.js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.4.tgz", + "integrity": "sha512-Syl95HpxUTS0QjwNxencZsKukgh1zdS9uXeXX2Us0pHaqBR6kiZZi0AkZ9VpZFwHJyVIUVzI4EumjWdXP3fy6w==" + }, + "compressible": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "dev": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "compression": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", + "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "bytes": "3.0.0", + "compressible": "2.0.12", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + } + }, + "compression-webpack-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-ABF2AFb31gpIBeEy/w6Ct0u+K+jY8jFRfGwjUWGxVTidA9pf7iH/JzjcVBQ+KB1gNMycujMxA56/PznMPUV5jw==", + "requires": { + "async": "2.4.1", + "webpack-sources": "1.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz", + "integrity": "sha1-PbJPlz9LkjsOgvYZzg3wJBHKYj0=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "core-js": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.10.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.9" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.2.0" + } + } + } + }, + "crypto-browserify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.5" + } + }, + "css": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", + "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", + "requires": { + "inherits": "2.0.3", + "source-map": "0.1.43", + "source-map-resolve": "0.3.1", + "urix": "0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "css-color-function": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz", + "integrity": "sha1-jtJMLAIFBzM5+voAS8jBQfzLKC4=", + "requires": { + "balanced-match": "0.1.0", + "color": "0.11.4", + "debug": "3.1.0", + "rgb": "0.1.0" + }, + "dependencies": { + "balanced-match": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz", + "integrity": "sha1-tQS9BYabOSWd0MXvw12EMXbczEo=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-loader": { + "version": "0.28.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", + "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + } + } + }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=" + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=" + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.1", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.2", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + } + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "requires": { + "cssom": "0.3.2" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "0.10.35" + } + }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decimal.js": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-7.2.3.tgz", + "integrity": "sha512-AoFI37QS0S87Ft0r3Bdz4q9xSpm1Paa9lSeKLXgMPk/u/+QPIM5Gy4DHcZQS1seqPJH4gHLauPGn347z0HbsrA==" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "2.0.1" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "diff": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.5" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz", + "integrity": "sha512-kN+DjfGF7dJGUL7nWRktL9Z18t1rWP3aQlyZdY8XlpvU3Nc6GeFTQApftcjtWKxAZfiggZSGrCEoszNgvnpwDg==", + "dev": true, + "requires": { + "ip": "1.1.5", + "safe-buffer": "5.1.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "1.1.1" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + }, + "domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.0.tgz", + "integrity": "sha512-WpwuBlZ2lQRFa4H/4w49deb9rJLot9KmqrKKjMc9qBl7CID+DdC2swoa34ccRl+anL2B6bLp6TjFdIdnzekMBQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emoji-regex": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.19" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "requires": { + "prr": "0.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, + "es5-ext": { + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.13.1.tgz", + "integrity": "sha512-UCJVV50RtLHYzBp1DZ8CMPtRSg4iVZvjgO9IJHIKyWU/AnJVjtdRikoUPLB29n5pzMB7TnsLQWf0V6VUJfoPfw==", + "dev": true, + "requires": { + "ajv": "5.5.1", + "babel-code-frame": "6.26.0", + "chalk": "2.1.0", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.0.2", + "eslint-scope": "3.7.1", + "espree": "3.5.2", + "esquery": "1.0.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.1.0", + "ignore": "3.3.5", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.10.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.1", + "text-table": "0.2.0" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + }, + "ajv": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", + "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "espree": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", + "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", + "dev": true, + "requires": { + "acorn": "5.2.1", + "acorn-jsx": "3.0.1" + } + }, + "globals": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", + "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", + "dev": true + } + } + }, + "eslint-config-airbnb": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "12.1.0" + }, + "dependencies": { + "eslint-config-airbnb-base": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", + "dev": true, + "requires": { + "eslint-restricted-globals": "0.1.1" + } + } + } + }, + "eslint-config-airbnb-base": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.0.0.tgz", + "integrity": "sha512-/XlFQGn3Mkwm642/GYBtOH3pgFX4Z7saBsqqyp96v0bEUPq24nIrZ6N72qAoD0lR2wAne4EC4YsHYkbPfaRfiA==", + "dev": true, + "requires": { + "eslint-restricted-globals": "0.1.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz", + "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==", + "dev": true, + "requires": { + "debug": "2.6.9", + "resolve": "1.4.0" + } + }, + "eslint-module-utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", + "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "pkg-dir": "1.0.0" + } + }, + "eslint-plugin-import": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz", + "integrity": "sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ==", + "dev": true, + "requires": { + "builtin-modules": "1.1.1", + "contains-path": "0.1.0", + "debug": "2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "0.3.1", + "eslint-module-utils": "2.1.1", + "has": "1.0.1", + "lodash.cond": "4.5.2", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz", + "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", + "dev": true, + "requires": { + "aria-query": "0.7.0", + "array-includes": "3.0.3", + "ast-types-flow": "0.0.7", + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "2.0.1" + } + }, + "eslint-plugin-react": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz", + "integrity": "sha512-YGSjB9Qu6QbVTroUZi66pYky3DfoIPLdHQ/wmrBGyBRnwxQsBXAov9j2rpXt/55i8nyMv6IRWJv2s4d4YnduzQ==", + "dev": true, + "requires": { + "doctrine": "2.0.2", + "has": "1.0.1", + "jsx-ast-utils": "2.0.1", + "prop-types": "15.6.0" + }, + "dependencies": { + "doctrine": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", + "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + } + } + }, + "eslint-restricted-globals": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", + "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", + "dev": true + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.35" + } + }, + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "exec-sh": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", + "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", + "dev": true, + "requires": { + "merge": "1.2.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "2.2.3" + } + }, + "expect": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-22.1.0.tgz", + "integrity": "sha512-8K+8TjNnZq73KYtqNWKWTbYbN8z4loeL+Pn2bqpmtTdBtLNXJtpz9vkUcQlFsgKMDRA3VM8GXRA6qbV/oBF7Bw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "jest-diff": "22.1.0", + "jest-get-type": "22.1.0", + "jest-matcher-utils": "22.1.0", + "jest-message-util": "22.1.0", + "jest-regex-util": "22.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + } + } + }, + "express": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.1", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.0", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.2", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.1", + "serve-static": "1.13.1", + "setprototypeof": "1.1.0", + "statuses": "1.3.1", + "type-is": "1.6.15", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "external-editor": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", + "integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19", + "jschardet": "1.5.1", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz", + "integrity": "sha512-zv0/Cg2mU8uMzeQQ3oyfJvZU4Iv/GbQYUIr/HU+8pZetT/0W3xj6XAbxoG4gsp8SbnYcFd4BOsCAZPl9NvplPw==", + "requires": { + "async": "2.4.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.0.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=" + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "2.0.0" + } + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.2.2", + "object-assign": "4.1.1" + } + }, + "file-loader": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", + "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", + "requires": { + "loader-utils": "1.1.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.2", + "minimatch": "3.0.4" + } + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "1.0.1", + "make-dir": "1.1.0", + "pkg-dir": "2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "2.1.0" + } + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fraction.js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.2.tgz", + "integrity": "sha512-OswcigOSil3vYXgrPSx4NCaSyPikXqVNYN/4CyhS0ucVOJ4GVYr6KQQLLcAudvS/4bBOzxqJ3XIsFaaMjl98ZQ==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", + "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "optional": true, + "requires": { + "nan": "2.7.0", + "node-pre-gyp": "0.6.36" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "optional": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "optional": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.36", + "bundled": true, + "optional": true, + "requires": { + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "optional": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "requires": { + "globule": "1.2.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "minimatch": "3.0.4" + } + }, + "gonzales-pe": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.2.tgz", + "integrity": "sha512-jbQFnd6CD3iEuGtSKVhsh37tQIkkx+/eil3tufyYOHMouG89uqtkWGP03P4vxY+XGeJnCi3ewIY+BnBogyC61Q==", + "requires": { + "minimist": "1.1.3" + }, + "dependencies": { + "minimist": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz", + "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=" + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "5.2.2", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "requires": { + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.0.2" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "obuf": "1.1.1", + "readable-stream": "2.3.3", + "wbuf": "1.7.2" + } + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "1.0.3" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.3.1" + }, + "dependencies": { + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", + "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", + "dev": true + }, + "http-proxy": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "dev": true, + "requires": { + "eventemitter3": "1.2.0", + "requires-port": "1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "1.16.2", + "is-glob": "3.1.0", + "lodash": "4.17.4", + "micromatch": "2.3.11" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "ignore": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", + "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "dev": true + }, + "import-local": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", + "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.1.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.0.5", + "figures": "2.0.0", + "lodash": "4.17.4", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "3.7.0" + } + }, + "interpret": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=" + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "1.10.0" + } + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-ci": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "dev": true, + "requires": { + "ci-info": "1.1.2" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "3.2.2" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.1" + } + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true, + "requires": { + "tryit": "1.0.3" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isnumeric": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz", + "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-api": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", + "dev": true, + "requires": { + "async": "2.4.1", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "js-yaml": "3.10.0", + "mkdirp": "0.5.1", + "once": "1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=" + }, + "jest": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-22.1.2.tgz", + "integrity": "sha512-Skp++igki9rteOcqNFlg28YtXly5uEJcwLLzWrmeuUyLdpxxfCYgSxhE4ShtYnxn6BN0BdC5EOmK1CWZecFCGw==", + "dev": true, + "requires": { + "jest-cli": "22.1.2" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "jest-cli": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.1.2.tgz", + "integrity": "sha512-t0W04YJBK5pLjp9AroUVTWE46ERh2pNLTVqJzS6nOwq6pn1/wAjCBNeE+HmK1uKVjNPGmDMhoqxxV9FFBFEjyA==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.1.0", + "exit": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "import-local": "1.0.0", + "is-ci": "1.1.0", + "istanbul-api": "1.2.1", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-source-maps": "1.2.2", + "jest-changed-files": "22.1.0", + "jest-config": "22.1.2", + "jest-environment-jsdom": "22.1.2", + "jest-get-type": "22.1.0", + "jest-haste-map": "22.1.0", + "jest-message-util": "22.1.0", + "jest-regex-util": "22.1.0", + "jest-resolve-dependencies": "22.1.0", + "jest-runner": "22.1.2", + "jest-runtime": "22.1.2", + "jest-snapshot": "22.1.2", + "jest-util": "22.1.2", + "jest-worker": "22.1.0", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "realpath-native": "1.0.0", + "rimraf": "2.6.2", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.0", + "yargs": "10.1.1" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.1.tgz", + "integrity": "sha512-7uRL1HZdCbc1QTP+X8mehOPuCYKC/XTaqAPj7gABLfTt6pgLyVRn3QVte4qhtilZouWCvqd1kipgMKl5tKsFiw==", + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.1.0" + } + }, + "yargs-parser": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "jest-changed-files": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.1.0.tgz", + "integrity": "sha512-NGc5HF3zXaMMph1L3HwPw7zVu0uAad2CZ+5QYQaP9QzB9jBioukulg2vcy7gdJRfWAr3D8EGlu4jfUHOtLNVmQ==", + "dev": true, + "requires": { + "throat": "4.1.0" + } + }, + "jest-config": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.1.2.tgz", + "integrity": "sha512-nhE4OZn+PvB4zyogvN5zK2+h+FIAgO7uEzH7eHwuJtBpRSBci6DLeMEIMC9ztJTOvg/wLySAm4WRqdyAehRCzw==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "glob": "7.1.2", + "jest-environment-jsdom": "22.1.2", + "jest-environment-node": "22.1.2", + "jest-get-type": "22.1.0", + "jest-jasmine2": "22.1.2", + "jest-regex-util": "22.1.0", + "jest-resolve": "22.1.0", + "jest-util": "22.1.2", + "jest-validate": "22.1.2", + "pretty-format": "22.1.0" + } + }, + "jest-diff": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.1.0.tgz", + "integrity": "sha512-lowdbU/dzXh+2/MR5QcvU5KPNkO4JdAEYw0PkQCbIQIuy5+g3QZBuVhWh8179Fmpg4CQrz1WgoK/yQHDCHbqqw==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "diff": "3.4.0", + "jest-get-type": "22.1.0", + "pretty-format": "22.1.0" + } + }, + "jest-docblock": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.1.0.tgz", + "integrity": "sha512-/+OGgBVRJb5wCbXrB1LQvibQBz2SdrvDdKRNzY1gL+OISQJZCR9MOewbygdT5rVzbbkfhC4AR2x+qWmNUdJfjw==", + "dev": true, + "requires": { + "detect-newline": "2.1.0" + } + }, + "jest-environment-jsdom": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.1.2.tgz", + "integrity": "sha512-mGcuJPJ4+F+GJaWw+YZVMcTWFXxB+FR2E1CztnC85kTbVbLv2wWKCn91KgxstYf2E3/OQ26WICngnOBISZiEXQ==", + "dev": true, + "requires": { + "jest-mock": "22.1.0", + "jest-util": "22.1.2", + "jsdom": "11.5.1" + } + }, + "jest-environment-node": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.1.2.tgz", + "integrity": "sha512-khr801nOSK380J97T2T0kMABJbSMOl8Mn3xwP0PiaCoaAaYlQ4XB+x+aXsVNPUH4FOOZq9ojytu84EdWChR+Hg==", + "dev": true, + "requires": { + "jest-mock": "22.1.0", + "jest-util": "22.1.2" + } + }, + "jest-fetch-mock": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-1.4.0.tgz", + "integrity": "sha1-yk4OkRzcb3tbTkvXBylrZvgtWiE=", + "dev": true, + "requires": { + "isomorphic-fetch": "2.2.1" + } + }, + "jest-get-type": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.1.0.tgz", + "integrity": "sha512-nD97IVOlNP6fjIN5i7j5XRH+hFsHL7VlauBbzRvueaaUe70uohrkz7pL/N8lx/IAwZRTJ//wOdVgh85OgM7g3w==", + "dev": true + }, + "jest-haste-map": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.1.0.tgz", + "integrity": "sha512-vETdC6GboGlZX6+9SMZkXtYRQSKBbQ47sFF7NGglbMN4eyIZBODply8rlcO01KwBiAeiNCKdjUyfonZzJ93JEg==", + "dev": true, + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "22.1.0", + "jest-worker": "22.1.0", + "micromatch": "2.3.11", + "sane": "2.2.0" + } + }, + "jest-jasmine2": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.1.2.tgz", + "integrity": "sha512-z8X41QkqJovovpeO0e6+wutZnJmjUC0G0ZopKhPQ5JIobxbU9AqOc402vdKhEYnrjaw8WszR5+HU3EL08Arguw==", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.1.0", + "co": "4.6.0", + "expect": "22.1.0", + "graceful-fs": "4.1.11", + "is-generator-fn": "1.0.0", + "jest-diff": "22.1.0", + "jest-matcher-utils": "22.1.0", + "jest-message-util": "22.1.0", + "jest-snapshot": "22.1.2", + "source-map-support": "0.5.1" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.1.tgz", + "integrity": "sha512-EZNecLNrsdRk9fcdOcjjy+Z/id7cr68sdmsYtR1gA45oQ81Ccea0UvM7DdSRblO0Ie5zWX31bvJTC7Y3QZVujg==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + } + } + }, + "jest-leak-detector": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.1.0.tgz", + "integrity": "sha512-8QsCWkncWAqdvrXN4yXQp9vgWF6CT3RkRey+d06SIHX913uXzAJhJdZyo6eE+uHVYMxUbxqW93npbUFhAR0YxA==", + "dev": true, + "requires": { + "pretty-format": "22.1.0" + } + }, + "jest-matcher-utils": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.1.0.tgz", + "integrity": "sha512-Zn1OD9wVjILOdvRxgAnqiCN36OX6KJx+P2FHN+3lzQ0omG2N2OAguxE1QXuJJneG2yndlkXjekXFP254c0cSpw==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "jest-get-type": "22.1.0", + "pretty-format": "22.1.0" + } + }, + "jest-message-util": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.1.0.tgz", + "integrity": "sha512-kftcoawOeOVUGuGWmMupJt7FGLK1pqOrh02FlJwtImmPGZ2yTWCTx2D+N/g95qD2jCbQ/ntH1goBixhAIIxL+g==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.38", + "chalk": "2.1.0", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.1" + } + }, + "jest-mock": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.1.0.tgz", + "integrity": "sha512-gL3/C8ds6e1PWiOTsV7sIejPP/ECYQgDbwMzbNCc+ZFPuPH3EpwsVLGmQqPK6okgnDagimbbQnss3kPJ8HCMtA==", + "dev": true + }, + "jest-regex-util": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.1.0.tgz", + "integrity": "sha512-on0LqVS6Xeh69sw3d1RukVnur+lVOl3zkmb0Q54FHj9wHoq6dbtWqb3TSlnVUyx36hqjJhjgs/QLqs07Bzu72Q==", + "dev": true + }, + "jest-resolve": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.1.0.tgz", + "integrity": "sha512-hp4Od9YNEv3A/xNN5pPlNjMuisdZyg3u+XAZOqnGxWPVqnbjvEZ25U2HmYM0eLhOzVTHAAsNnAA8HWDzY1Cwjw==", + "dev": true, + "requires": { + "browser-resolve": "1.11.2", + "chalk": "2.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.1.0.tgz", + "integrity": "sha512-76Ll61bD/Sus8wK8d+lw891EtiBJGJkWG8OuVDTEX0z3z2+jPujvQqSB2eQ+kCHyCsRwJ2PSjhn3UHqae/oEtA==", + "dev": true, + "requires": { + "jest-regex-util": "22.1.0" + } + }, + "jest-runner": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.1.2.tgz", + "integrity": "sha512-ib7Rld/2wjNWs3voI8nxx1wSyB6/UFplEW6c3faWCqhPrC01UUIHLUgSOpUKdhj+LOlB1EOS9r4+r99xJHJS4g==", + "dev": true, + "requires": { + "exit": "0.1.2", + "jest-config": "22.1.2", + "jest-docblock": "22.1.0", + "jest-haste-map": "22.1.0", + "jest-jasmine2": "22.1.2", + "jest-leak-detector": "22.1.0", + "jest-message-util": "22.1.0", + "jest-runtime": "22.1.2", + "jest-util": "22.1.2", + "jest-worker": "22.1.0", + "throat": "4.1.0" + } + }, + "jest-runtime": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.1.2.tgz", + "integrity": "sha512-wlYWwpI0loqdrp+h0bBB1Rpn2UqLgKMgYZqQBVxg9Dx0OqPNtVkqSGkINlYv5Jkf1eNCXDbv5JEvdlhiy9fh7Q==", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-jest": "22.1.0", + "babel-plugin-istanbul": "4.1.5", + "chalk": "2.1.0", + "convert-source-map": "1.5.0", + "exit": "0.1.2", + "graceful-fs": "4.1.11", + "jest-config": "22.1.2", + "jest-haste-map": "22.1.0", + "jest-regex-util": "22.1.0", + "jest-resolve": "22.1.0", + "jest-util": "22.1.2", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "realpath-native": "1.0.0", + "slash": "1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "2.3.0", + "yargs": "10.1.1" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "yargs": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.1.tgz", + "integrity": "sha512-7uRL1HZdCbc1QTP+X8mehOPuCYKC/XTaqAPj7gABLfTt6pgLyVRn3QVte4qhtilZouWCvqd1kipgMKl5tKsFiw==", + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.1.0" + } + }, + "yargs-parser": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "jest-snapshot": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.1.2.tgz", + "integrity": "sha512-45co/M0gTe6Y6yHaJLydEZKHOFpFHESLah40jW35DWd3pd7q188bsi0oUY4Kls7PDXUamvTWuTKTZXCtzwSvCw==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "jest-diff": "22.1.0", + "jest-matcher-utils": "22.1.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "22.1.0" + } + }, + "jest-util": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.1.2.tgz", + "integrity": "sha512-z/7pZG4b+uXWRLWJnJ8iZKfiMBONB3KBWJQlximgRBBsFM7bX3sLd09Dzy6lgwyUUTa286XSJP59d8ux5V3D1g==", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.1.0", + "graceful-fs": "4.1.11", + "is-ci": "1.1.0", + "jest-message-util": "22.1.0", + "jest-validate": "22.1.2", + "mkdirp": "0.5.1" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "jest-validate": { + "version": "22.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.1.2.tgz", + "integrity": "sha512-IjvMsV7GW5ghg5PTQvU23zJqTBmnq10eY+4n47awUeXYEGH27N+JajFPOg6tsN+OYvEPsohPquKoqQ5XBVs/ow==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "jest-get-type": "22.1.0", + "leven": "2.1.0", + "pretty-format": "22.1.0" + } + }, + "jest-worker": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.1.0.tgz", + "integrity": "sha512-ezLueYAQowk5N6g2J7bNZfq4NWZvMNB5Qd24EmOZLcM5SXTdiFvxykZIoNiMj9C98cCbPaojX8tfR7b1LJwNig==", + "dev": true, + "requires": { + "merge-stream": "1.0.1" + } + }, + "js-base64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", + "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jschardet": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", + "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==", + "dev": true + }, + "jsdom": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.5.1.tgz", + "integrity": "sha512-89ztIZ03aYK9f1uUrLXLsZndRge/JnZjzjpaN+lrse3coqz+8PR/dX4WLHpbF5fIKTXhDjFODOJw2328lPJ90g==", + "dev": true, + "requires": { + "abab": "1.0.4", + "acorn": "5.1.2", + "acorn-globals": "4.1.0", + "array-equal": "1.0.0", + "browser-process-hrtime": "0.1.2", + "content-type-parser": "1.0.2", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "domexception": "1.0.0", + "escodegen": "1.9.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.2.0", + "nwmatcher": "1.4.3", + "parse5": "3.0.3", + "pn": "1.1.0", + "request": "2.83.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "6.4.0", + "xml-name-validator": "2.0.1" + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "3.0.3" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.5" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "left-pad": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.2.0.tgz", + "integrity": "sha1-0wpzxrggHY99jnlWupYWCHpo4O4=", + "dev": true + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "requires": { + "lodash._bindcallback": "3.0.1", + "lodash._isiterateecall": "3.0.9", + "lodash.restparam": "3.6.1" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", + "dev": true + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.mergewith": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", + "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=" + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=" + }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "requires": { + "lodash._reinterpolate": "3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "loglevel": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.5.1.tgz", + "integrity": "sha1-GJB4yUq5BT7iFaCs2/JCROoPZQI=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "macaddress": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", + "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" + }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.4" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" + }, + "mathjs": { + "version": "3.16.5", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-3.16.5.tgz", + "integrity": "sha1-11pSZUNdKCSwZ7N6R4dx3uv2qsw=", + "requires": { + "complex.js": "2.0.4", + "decimal.js": "7.2.3", + "fraction.js": "4.0.2", + "javascript-natural-sort": "0.7.1", + "seed-random": "2.2.0", + "tiny-emitter": "2.0.0", + "typed-function": "0.10.5" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "1.1.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "0.1.4", + "readable-stream": "2.3.3" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "requires": { + "mime-db": "1.30.0" + } + }, + "mimic-fn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "0.1.8", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.1.1.tgz", + "integrity": "sha1-bn3oalcIcqsXBYrepxYLvsqBTd4=", + "dev": true, + "requires": { + "dns-packet": "1.2.2", + "thunky": "0.1.0" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-forge": { + "version": "0.6.33", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", + "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", + "dev": true + }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.4", + "request": "2.83.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + } + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", + "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.11.1", + "domain-browser": "1.1.7", + "events": "1.1.1", + "https-browserify": "0.0.1", + "os-browserify": "0.2.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.3", + "stream-browserify": "2.0.1", + "stream-http": "2.7.2", + "string_decoder": "0.10.31", + "timers-browserify": "2.0.4", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "node-notifier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", + "dev": true, + "requires": { + "growly": "1.3.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" + } + }, + "node-sass": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", + "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.2", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.0", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.7.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.83.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwmatcher": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + }, + "object-path": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" + }, + "object.entries": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz", + "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.9.0", + "function-bind": "1.1.1", + "has": "1.0.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.9.0" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "1.0.2" + } + } + } + }, + "obuf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", + "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onecolor": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.0.4.tgz", + "integrity": "sha1-daRvgNpseqpbTarhekcZi9llJJQ=" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "original": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", + "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "dev": true, + "requires": { + "url-parse": "1.0.5" + }, + "dependencies": { + "url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dev": true, + "requires": { + "querystringify": "0.0.4", + "requires-port": "1.0.0" + } + } + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=" + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "requires": { + "asn1.js": "4.9.1", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "1.3.1" + } + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "9.3.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "path-complete-extname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-complete-extname/-/path-complete-extname-0.1.0.tgz", + "integrity": "sha1-xFRwJmnzFFL4GTqmFokV+jFpL0o=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "2.3.0" + } + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.9" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "pixrem": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-4.0.1.tgz", + "integrity": "sha1-LaSh3m7EQjxfw3lOkwuB1EkOxoY=", + "requires": { + "browserslist": "2.5.1", + "postcss": "6.0.13", + "reduce-css-calc": "1.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + }, + "pleeease-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pleeease-filters/-/pleeease-filters-4.0.0.tgz", + "integrity": "sha1-ZjKy+wVkjSdY2GU4T7zteeHMrsc=", + "requires": { + "onecolor": "3.0.4", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "portfinder": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "dev": true, + "requires": { + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "1.1.3", + "js-base64": "2.3.2", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-apply": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/postcss-apply/-/postcss-apply-0.8.0.tgz", + "integrity": "sha1-FOVEu7XLbxweBIhXll15rgZrE0M=", + "requires": { + "babel-runtime": "6.26.0", + "balanced-match": "0.4.2", + "postcss": "6.0.13" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz", + "integrity": "sha1-lNxCLI+QmX8WvTOjZUu77AhJY7Q=", + "requires": { + "postcss": "6.0.13", + "postcss-selector-parser": "2.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + } + }, + "postcss-color-function": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-function/-/postcss-color-function-4.0.0.tgz", + "integrity": "sha1-fgEG9Pah7LGtWzqFU6zl6Ciq4Yc=", + "requires": { + "css-color-function": "1.3.3", + "postcss": "6.0.13", + "postcss-message-helpers": "2.0.0", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-gray": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-4.0.0.tgz", + "integrity": "sha1-aBvzBQl91mv+8OHmKC1dmbWsyV0=", + "requires": { + "color": "1.0.3", + "postcss": "6.0.13", + "postcss-message-helpers": "2.0.0", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "requires": { + "color-convert": "1.9.0", + "color-string": "1.5.2" + } + }, + "color-string": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", + "requires": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-hex-alpha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz", + "integrity": "sha1-HlPmyKyyN5Vej9CLfs2xuLgwn5U=", + "requires": { + "color": "1.0.3", + "postcss": "6.0.13", + "postcss-message-helpers": "2.0.0" + }, + "dependencies": { + "color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "requires": { + "color-convert": "1.9.0", + "color-string": "1.5.2" + } + }, + "color-string": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", + "requires": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-hsl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz", + "integrity": "sha1-EnA2ZvoxBDDj8wpFTawThjF9WEQ=", + "requires": { + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0", + "units-css": "0.4.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-hwb": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz", + "integrity": "sha1-NAKxnvTYSXVAwftQcr6YY8qVVx4=", + "requires": { + "color": "1.0.3", + "postcss": "6.0.13", + "postcss-message-helpers": "2.0.0", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "color": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "requires": { + "color-convert": "1.9.0", + "color-string": "1.5.2" + } + }, + "color-string": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", + "requires": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-rebeccapurple": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.0.0.tgz", + "integrity": "sha1-7rrwPTY7QwC5Z5K9MIHBntZlE9M=", + "requires": { + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-rgb": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz", + "integrity": "sha1-FFOcinExSUtILg3RzCZf9lFLUmM=", + "requires": { + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-color-rgba-fallback": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz", + "integrity": "sha1-N9XJNToHoJJwkSqCYGu0Kg1wLAQ=", + "requires": { + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0", + "rgb-hex": "2.1.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-cssnext": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-cssnext/-/postcss-cssnext-3.0.2.tgz", + "integrity": "sha512-jA6kGdcUMZqLUgw6MdpyNWGFhk0LIITVhC/jTnLRZLoXSTR88qT2cFOn3LbY06udt1PVdTCHDG3plBjxVKf8BQ==", + "requires": { + "autoprefixer": "7.1.6", + "caniuse-api": "2.0.0", + "chalk": "2.1.0", + "pixrem": "4.0.1", + "pleeease-filters": "4.0.0", + "postcss": "6.0.13", + "postcss-apply": "0.8.0", + "postcss-attribute-case-insensitive": "2.0.0", + "postcss-calc": "6.0.1", + "postcss-color-function": "4.0.0", + "postcss-color-gray": "4.0.0", + "postcss-color-hex-alpha": "3.0.0", + "postcss-color-hsl": "2.0.0", + "postcss-color-hwb": "3.0.0", + "postcss-color-rebeccapurple": "3.0.0", + "postcss-color-rgb": "2.0.0", + "postcss-color-rgba-fallback": "3.0.0", + "postcss-custom-media": "6.0.0", + "postcss-custom-properties": "6.2.0", + "postcss-custom-selectors": "4.0.1", + "postcss-font-family-system-ui": "2.0.1", + "postcss-font-variant": "3.0.0", + "postcss-image-set-polyfill": "0.3.5", + "postcss-initial": "2.0.0", + "postcss-media-minmax": "3.0.0", + "postcss-nesting": "4.2.1", + "postcss-pseudo-class-any-link": "4.0.0", + "postcss-pseudoelements": "5.0.0", + "postcss-replace-overflow-wrap": "2.0.0", + "postcss-selector-matches": "3.0.1", + "postcss-selector-not": "3.0.1" + }, + "dependencies": { + "autoprefixer": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", + "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==", + "requires": { + "browserslist": "2.5.1", + "caniuse-lite": "1.0.30000749", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0" + } + }, + "caniuse-api": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-2.0.0.tgz", + "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=", + "requires": { + "browserslist": "2.5.1", + "caniuse-lite": "1.0.30000749", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + } + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "postcss-calc": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.1.tgz", + "integrity": "sha1-PSQXG79udinUIqQ26/5t2VEfQzA=", + "requires": { + "css-unit-converter": "1.1.1", + "postcss": "6.0.13", + "postcss-selector-parser": "2.2.3", + "reduce-css-calc": "2.1.1" + } + }, + "reduce-css-calc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.1.tgz", + "integrity": "sha1-9OzXoA7D5Wg3c/IIBnrX2hF7nbA=", + "requires": { + "css-unit-converter": "1.1.1", + "postcss-value-parser": "3.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-custom-media": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz", + "integrity": "sha1-vlMnhBEOyylQRPtTlaGABushpzc=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-custom-properties": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.2.0.tgz", + "integrity": "sha512-eNR2h9T9ciKMoQEORrPjH33XeN/nuvVuxArOKmHtsFbGbNss631tgTrKou3/pmjAZbA4QQkhLIkPQkIk3WW+8w==", + "requires": { + "balanced-match": "1.0.0", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-custom-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz", + "integrity": "sha1-eBOC+UxS5yfvXKR3bqKt9JphE4I=", + "requires": { + "postcss": "6.0.13", + "postcss-selector-matches": "3.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", + "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", + "requires": { + "postcss": "5.2.18", + "uniqid": "4.1.1" + } + }, + "postcss-font-family-system-ui": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-family-system-ui/-/postcss-font-family-system-ui-2.0.1.tgz", + "integrity": "sha1-MYoHX9y4S4ZKqCOlGTXvClhy6RE=", + "requires": { + "lodash": "4.17.4", + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-font-variant": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz", + "integrity": "sha1-CMzIj2BQuoLtjvLMdsDGprQfGD4=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-image-set-polyfill": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz", + "integrity": "sha1-Dxk0E3AM8fgr05Bm7wFtZaShgYE=", + "requires": { + "postcss": "6.0.13", + "postcss-media-query-parser": "0.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-initial": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-2.0.0.tgz", + "integrity": "sha1-cnFfczbgu3k1HZnuZcSiU6hEG6Q=", + "requires": { + "lodash.template": "4.4.0", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-loader": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.8.tgz", + "integrity": "sha512-KtXBiQ/r/WYW8LxTSJK7h8wLqvCMSub/BqmRnud/Mu8RzwflW9cmXxwsMwbn15TNv287Hcufdb3ZSs7xHKnG8Q==", + "requires": { + "loader-utils": "1.1.0", + "postcss": "6.0.13", + "postcss-load-config": "1.2.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-media-minmax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz", + "integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=" + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.1" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "1.0.30000749", + "electron-to-chromium": "1.3.27" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-nesting": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-4.2.1.tgz", + "integrity": "sha512-IkyWXICwagCnlaviRexi7qOdwPw3+xVVjgFfGsxmztvRVaNxAlrypOIKqDE5mxY+BVxnId1rnUKBRQoNE2VDaA==", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz", + "integrity": "sha1-kVKgYT00UHIFE+iJKFS65C0O5o4=", + "requires": { + "postcss": "6.0.13", + "postcss-selector-parser": "2.2.3" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-pseudoelements": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz", + "integrity": "sha1-7vGU6NUkZFylIKlJ6V5RjoEkAss=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz", + "integrity": "sha1-eU22+qVPjbEAhUOSqTr0V2i04ls=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-sass": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.1.0.tgz", + "integrity": "sha1-DSplW10kHsj0Gbs9o43lyhF0bds=", + "requires": { + "gonzales-pe": "4.2.2", + "mathjs": "3.16.5", + "postcss": "5.2.18" + } + }, + "postcss-scss": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.2.tgz", + "integrity": "sha1-/0XPM1S4ee6JpOtoaA9GrJuxT5Q=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-selector-matches": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz", + "integrity": "sha1-5WNAEeE5UIgYYbvdWMLQER/8lqs=", + "requires": { + "balanced-match": "0.4.2", + "postcss": "6.0.13" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-selector-not": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz", + "integrity": "sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk=", + "requires": { + "balanced-match": "0.4.2", + "postcss": "6.0.13" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-smart-import": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/postcss-smart-import/-/postcss-smart-import-0.7.5.tgz", + "integrity": "sha512-Bs9wAFxH5irGpenBg9a65jTcydZLh7VBTX6NYwMXvVXO6y9CQ83kRmfpQDs5lHhl6IODeIeQfJep5HBMd9UVCQ==", + "requires": { + "babel-runtime": "6.26.0", + "lodash": "4.17.4", + "object-assign": "4.1.1", + "postcss": "6.0.13", + "postcss-sass": "0.1.0", + "postcss-scss": "1.0.2", + "postcss-value-parser": "3.3.0", + "promise-each": "2.2.0", + "read-cache": "1.0.0", + "resolve": "1.4.0", + "sugarss": "1.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "preact": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/preact/-/preact-8.2.5.tgz", + "integrity": "sha1-y/o5YqgBJ2gVn20B1G+cHrMhPAo=" + }, + "preact-render-spy": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/preact-render-spy/-/preact-render-spy-1.2.2.tgz", + "integrity": "sha512-+jjGgYiVh244YayzCCxqixlbpT8C3vpoyoG+5a4dh2HeelANOC+SKHyV3AjoRd9zBX2VhXVwcvruPLlWSiUAQQ==", + "dev": true, + "requires": { + "lodash.isequal": "4.5.0", + "object.entries": "1.0.4", + "preact-render-to-string": "3.7.0" + } + }, + "preact-render-to-json": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/preact-render-to-json/-/preact-render-to-json-3.6.6.tgz", + "integrity": "sha1-9n9IWBkSrFP8n0hzvG1840L3HCA=", + "dev": true + }, + "preact-render-to-string": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-3.7.0.tgz", + "integrity": "sha1-fbQXdFS8ATleDQHWrAe8XoOOMe4=", + "dev": true, + "requires": { + "pretty-format": "3.8.0" + }, + "dependencies": { + "pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=", + "dev": true + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "pretty-format": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.1.0.tgz", + "integrity": "sha512-0HHR5hCmjDGU4sez3w5zRDAAwn7V0vT4SgPiYPZ1XDm5sT3Icb+Bh+fsOP3+Y3UwPjMr7TbRj+L7eQyMkPAxAw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } + }, + "promise-each": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz", + "integrity": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=", + "requires": { + "any-promise": "0.1.0" + } + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, + "proxy-addr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", + "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.5.2" + } + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.5" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true + }, + "rails-erb-loader": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/rails-erb-loader/-/rails-erb-loader-5.2.1.tgz", + "integrity": "sha1-OZt3gbiMEpvGIaglYyntL4VTmOk=", + "requires": { + "loader-utils": "1.1.0", + "lodash.defaults": "4.2.0" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "realpath-native": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.0.tgz", + "integrity": "sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==", + "dev": true, + "requires": { + "util.promisify": "1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + } + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" + }, + "regenerator-runtime": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-parser": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.8.tgz", + "integrity": "sha1-2kwM2lqChVkJQWiTD0VfUytv+6w=" + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "0.5.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "dev": true, + "requires": { + "lodash": "4.17.4" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "dev": true, + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resolve-url-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.1.1.tgz", + "integrity": "sha512-ZrMHMPJ8boX5peNuuHfw/waNpWAgvEj8+f8mEE/W61tC9L4NcyEBnruK7LsKamnNTbf0gUoJdPmV1okjSUVJgA==", + "requires": { + "adjust-sourcemap-loader": "1.1.0", + "camelcase": "4.1.0", + "convert-source-map": "1.5.0", + "loader-utils": "1.1.0", + "lodash.defaults": "4.2.0", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.5.7", + "urix": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + } + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "requires": { + "convert-source-map": "0.3.5", + "css": "2.2.1" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" + }, + "rgb": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz", + "integrity": "sha1-vieykej+/+rBvZlylyG/pA/AN7U=" + }, + "rgb-hex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-2.1.0.tgz", + "integrity": "sha1-x3PF/iJoolV42SU5qCp6XOU77aY=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "sane": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", + "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "exec-sh": "0.2.1", + "fb-watchman": "2.0.0", + "fsevents": "1.1.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "sass-loader": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", + "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", + "requires": { + "async": "2.4.1", + "clone-deep": "0.3.0", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "requires": { + "ajv": "5.2.2" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "2.3.2", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz", + "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", + "dev": true, + "requires": { + "node-forge": "0.6.33" + } + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + }, + "send": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.1", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" + } + }, + "sendbird": { + "version": "3.0.52", + "resolved": "https://registry.npmjs.org/sendbird/-/sendbird-3.0.52.tgz", + "integrity": "sha1-UqlH/nznSoIJb/KFPa2t/1Rfod0=", + "requires": { + "agentkeepalive": "2.2.0", + "form-data": "2.1.2", + "websocket": "1.0.24", + "xhr2": "0.1.4" + }, + "dependencies": { + "form-data": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.2", + "mime-types": "2.1.17", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "dev": true, + "requires": { + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "requires": { + "is-extendable": "0.1.1", + "kind-of": "2.0.1", + "lazy-cache": "0.2.7", + "mixin-object": "2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz", + "integrity": "sha1-wt/DhquqDD4zxI2z/ocFnmkGXv0=" + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "sntp": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", + "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", + "requires": { + "hoek": "4.2.0" + } + }, + "sockjs": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", + "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "2.0.3" + }, + "dependencies": { + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.1.9" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", + "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", + "requires": { + "atob": "1.1.3", + "resolve-url": "0.2.1", + "source-map-url": "0.3.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "0.5.7" + } + }, + "source-map-url": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=" + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.1", + "select-hose": "2.0.0", + "spdy-transport": "2.0.20" + } + }, + "spdy-transport": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", + "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.1", + "readable-stream": "2.3.3", + "safe-buffer": "5.1.1", + "wbuf": "1.7.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "requires": { + "readable-stream": "2.3.3" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, + "stream-http": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", + "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", + "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + } + }, + "sugarss": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-1.0.0.tgz", + "integrity": "sha1-ZeUbOVhDL7cNVFGmi7M+MtDPHvc=", + "requires": { + "postcss": "6.0.13" + }, + "dependencies": { + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "requires": { + "argparse": "1.0.9", + "esprima": "2.7.3" + } + } + } + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "table": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz", + "integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.4", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "test-exclude": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "thunky": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", + "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", + "dev": true + }, + "time-stamp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", + "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "requires": { + "setimmediate": "1.0.5" + } + }, + "tiny-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.0.tgz", + "integrity": "sha1-utMnrbGAS0KiMa+nQVMr2ITNCa0=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "requires": { + "punycode": "1.4.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.17" + } + }, + "typed-function": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-0.10.5.tgz", + "integrity": "sha1-Lg8Yq9BlIZ+raUpEamXG0ZgYMsA=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz", + "integrity": "sha1-EBezLZhP9VbroQD1AViauhrOLgQ=", + "requires": { + "is-typedarray": "1.0.0" + } + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqid": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", + "requires": { + "macaddress": "0.2.8" + } + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "units-css": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz", + "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=", + "requires": { + "isnumeric": "0.2.0", + "viewport-dimensions": "0.2.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-parse": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", + "dev": true, + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "viewport-dimensions": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz", + "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w=" + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.11" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "0.2.1", + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "watchpack": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", + "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "requires": { + "async": "2.4.1", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + } + }, + "wbuf": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", + "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", + "dev": true, + "requires": { + "minimalistic-assert": "1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", + "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", + "requires": { + "acorn": "5.1.2", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.2.2", + "ajv-keywords": "2.1.0", + "async": "2.4.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.0.4", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.0.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.4.0", + "webpack-sources": "1.0.1", + "yargs": "8.0.2" + }, + "dependencies": { + "ajv-keywords": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", + "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", + "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.4.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + } + }, + "webpack-dev-server": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz", + "integrity": "sha512-bwq7sj452FRH+oVfgOA8xXKkLYPTNsYB4dQ0Jhz3ydjNJ9MvhpGJtehFW8Z0cEcwNkRRiF4aYbReiSGQ4pbS1w==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "1.7.0", + "compression": "1.7.1", + "connect-history-api-fallback": "1.4.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.2", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "import-local": "0.1.1", + "internal-ip": "1.2.0", + "ip": "1.1.5", + "loglevel": "1.5.1", + "opn": "5.1.0", + "portfinder": "1.0.13", + "selfsigned": "1.10.1", + "serve-index": "1.9.1", + "sockjs": "0.3.18", + "sockjs-client": "1.1.4", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "4.5.0", + "webpack-dev-middleware": "1.12.0", + "yargs": "6.6.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "webpack-manifest-plugin": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz", + "integrity": "sha512-MX60Bv2G83Zks9pi3oLOmRgnPAnwrlMn+lftMrWBm199VQjk46/xgzBi9lPfpZldw2+EI2S+OevuLIaDuxCWRw==", + "requires": { + "fs-extra": "0.30.0", + "lodash": "4.17.4" + } + }, + "webpack-sources": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", + "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.5.7" + } + }, + "websocket": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.24.tgz", + "integrity": "sha1-dJA+dfJUW2suHeFCW8HJBZF6GJA=", + "requires": { + "debug": "2.6.9", + "nan": "2.7.0", + "typedarray-to-buffer": "3.1.2", + "yaeti": "0.0.6" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.9", + "websocket-extensions": "0.1.2" + } + }, + "websocket-extensions": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz", + "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "whatwg-url": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.0.tgz", + "integrity": "sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg==", + "dev": true, + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "requires": { + "string-width": "1.0.2" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, + "xhr2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", + "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8=" + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000000..d3fdd697af28f --- /dev/null +++ b/package.json @@ -0,0 +1,49 @@ +{ + "name": "Dev.to", + "version": "1.0.0", + "description": "Where programmers share ideas and help each other grow", + "main": "index.js", + "directories": { + "doc": "docs", + "lib": "lib", + "test": "test" + }, + "scripts": { + "test": "jest app/javascript/ --coverage", + "test:watch": "jest app/javascript/ --coverage --watch" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/thepracticaldev/dev.to_private.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/thepracticaldev/dev.to_private/issues" + }, + "homepage": "https://github.com/thepracticaldev/dev.to_private#readme", + "devDependencies": { + "babel-jest": "^22.1.0", + "babel-preset-env": "^1.6.1", + "babel-preset-preact": "^1.1.0", + "eslint": "^4.9.0", + "eslint-config-airbnb": "^16.1.0", + "eslint-config-airbnb-base": "^12.0.0", + "eslint-plugin-ignore-erb": "^0.1.1", + "eslint-plugin-import": "^2.7.0", + "eslint-plugin-jsx-a11y": "^6.0.2", + "eslint-plugin-react": "^7.4.0", + "jest": "^22.1.2", + "jest-fetch-mock": "^1.4.0", + "preact-render-spy": "^1.2.1", + "preact-render-to-json": "^3.6.6", + "webpack-dev-server": "^2.9.1" + }, + "dependencies": { + "@rails/webpacker": "^3.0.1", + "babel-plugin-transform-react-jsx": "^6.24.1", + "preact": "^8.2.5", + "prop-types": "^15.6.0", + "sendbird": "^3.0.52" + } +} diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000000000..453ee79df2dcf --- /dev/null +++ b/public/404.html @@ -0,0 +1,101 @@ + + + + The page you were looking for doesn't exist (404) + + + + + +
+
+ 404 + 404 DEV +
+

You have lost your way.
Return to Home Page

+
+
+ + diff --git a/public/422.html b/public/422.html new file mode 100644 index 0000000000000..a21f82b3bdb81 --- /dev/null +++ b/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/500.html b/public/500.html new file mode 100644 index 0000000000000..74f61dd9629df --- /dev/null +++ b/public/500.html @@ -0,0 +1,81 @@ + + + + We're sorry, but something went wrong (500) + + + + + + + +
+
+ 500 error +

500 Error

+

It's not you, it's me.

+
+
+ + +
+ +
+
+
+ +
+
+ +
+ + diff --git a/public/503.html b/public/503.html new file mode 100644 index 0000000000000..a324486f22a85 --- /dev/null +++ b/public/503.html @@ -0,0 +1,31 @@ + + + Server overload! + + + +
+

503 Error

+

[insert cute animal to quell your frustration]

+ +

This image was not hosted on our servers, for obvious reasons.

+
Sorry about any frustration this may have caused you.
+
+ + \ No newline at end of file diff --git a/public/catmeme.png b/public/catmeme.png new file mode 100644 index 0000000000000..381db0c62cc52 Binary files /dev/null and b/public/catmeme.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/public/google78d33e39533e3e7f.html b/public/google78d33e39533e3e7f.html new file mode 100644 index 0000000000000..2a52cc8814533 --- /dev/null +++ b/public/google78d33e39533e3e7f.html @@ -0,0 +1 @@ +google-site-verification: google78d33e39533e3e7f.html \ No newline at end of file diff --git a/public/google7c0286fae6fe45be.html b/public/google7c0286fae6fe45be.html new file mode 100644 index 0000000000000..e41bc3afaca00 --- /dev/null +++ b/public/google7c0286fae6fe45be.html @@ -0,0 +1 @@ +google-site-verification: google7c0286fae6fe45be.html \ No newline at end of file diff --git a/public/maintenance.html b/public/maintenance.html new file mode 100644 index 0000000000000..e93d3140ba0b7 --- /dev/null +++ b/public/maintenance.html @@ -0,0 +1,56 @@ + + + + + We are undergoing maintenance + + + + + + + + + + +
+
+

We are doing scheduled maintenance.

+
+

This should only take a couple minutes. Come back shortly.

+

Follow @ThePracticalDev on Twitter

+
+ + diff --git a/public/offline.html b/public/offline.html new file mode 100644 index 0000000000000..2f1f652a665b7 --- /dev/null +++ b/public/offline.html @@ -0,0 +1,95 @@ + + + + You are not connected to the Internet + + + + + + + + + + + + + + + + + + +
+
+ +

It looks like you've lost your Internet connection.

+ +

But you probably already knew that.

+

+ Either way, it's a good opportunity to show you this cool offline page made with service workers, indicating just how cutting-edge we are over here at dev.to. +

+

This must be frustrating, but to put it in context, Trump's still president, so a poor Internet connection can't be so bad, right? On the other hand, you don't have access to the Internet, so maybe he's been impeached by now, for all you know. +

Have a nice day either way. Maybe you can go play outside, some fresh air could do you good. <3

+
+
+ + diff --git a/public/revised500.html b/public/revised500.html new file mode 100644 index 0000000000000..866b61e40b30e --- /dev/null +++ b/public/revised500.html @@ -0,0 +1,185 @@ + + + + We're sorry, but something went wrong (500) + + + + +
+ +
+ 500 error +
+ +
+
+

500:Internal Server Error

+

Oops, this isn't where you were trying to go...

+ +
Don't worry though, you can return to our homepage by clicking here. + +
+
+ +
But perhaps this is an opportunity, would you like to:
+ +
+
    +
  1. + Explore some great articles the DEV community has written about errors. +
  2. +
  3. + Learn more about HTTP errors. +
  4. +
  5. + Bravely help us debug this error. +
  6. +
+
+
+ +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+
+ + diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000000000..3c9c7c01f30b9 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,5 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file +# +# To ban all spiders from the entire site uncomment the next two lines: +# User-agent: * +# Disallow: / diff --git a/public/search.xml b/public/search.xml new file mode 100644 index 0000000000000..cee164c16a580 --- /dev/null +++ b/public/search.xml @@ -0,0 +1,9 @@ + + + DEV Search + Find posts from the DEV community. + software development + yo@dev.to + + \ No newline at end of file diff --git a/public/tinymcestyles.css b/public/tinymcestyles.css new file mode 100644 index 0000000000000..dcb9cb9f61263 --- /dev/null +++ b/public/tinymcestyles.css @@ -0,0 +1,80 @@ +body{ + background-color:#fff; + color:#0f0f0f; + font-family: Palatino, 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif; + font-size:21px; + padding:0px 5px; +} +p{ + line-height: 32px; + margin:20px 0px 25px; +} +h2{ + font-size:1.72em; + font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + font-weight:400; +} +h3{ + font-size:1.32em; + font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + font-weight:400; +} + + +.mce-content-body .mce-reset{ + margin:0; + padding:0; + border:0; + outline:0; + vertical-align:top; + background:transparent; + text-decoration:none; + color:black; + font-family:Arial; + text-shadow:none; + float:none; + position:static; + width:auto; + height:auto; + white-space:nowrap; + cursor:inherit; + line-height:normal; + font-weight:normal; + text-align:left; + -webkit-tap-highlight-color:transparent; + -moz-box-sizing:content-box; + -webkit-box-sizing:content-box; + box-sizing:content-box; + direction:ltr;max-width:none} +.mce-object{ + border:1px dotted #3a3a3a; + background:#d5d5d5 url(img/object.gif) no-repeat center} +.mce-preview-object{ + display:inline-block; + position:relative; + margin:0 2px 0 2px; + line-height:0; + border:1px solid gray} +.mce-preview-object .mce-shim{ + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)} +figure.align-left{float:left} +figure.align-right{float:right} +figure.image.align-center{display:table;margin-left:auto;margin-right:auto} +figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0} +figure.image img{margin:8px 8px 0 8px} +figure.image figcaption{margin:6px 8px 6px 8px;text-align:center} +.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none} +.mce-pagebreak{ + cursor:default; + display:block; + border:0; + width:100%; + height:5px; + border:1px dashed #666; + margin-top:15px; + page-break-before:always} diff --git a/spec/controllers/articles_controller_spec.rb b/spec/controllers/articles_controller_spec.rb new file mode 100644 index 0000000000000..abf5cc6f1608d --- /dev/null +++ b/spec/controllers/articles_controller_spec.rb @@ -0,0 +1,28 @@ +# controller specs are now discouraged in favor of request specs. +# This file should eventually be removed +require "rails_helper" + +RSpec.describe ArticlesController, type: :controller do + describe "GET #feed" do + it "works" do + get :feed, format: :rss + expect(response.status).to eq(200) + end + end + + describe "GET #new" do + context "with authorized user" do + it "returns a new article" do + get :new + expect(response).to render_template(:new) + end + end + + context "with authorized user with tag param" do + it "returns a new article" do + get :new, params: { slug: "shecoded" } + expect(response).to render_template(:new) + end + end + end +end diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb new file mode 100644 index 0000000000000..083c6b904f182 --- /dev/null +++ b/spec/controllers/users_controller_spec.rb @@ -0,0 +1,48 @@ +# controller specs are now discouraged in favor of request specs. +# This file should eventually be removed +require "rails_helper" + +RSpec.describe UsersController, type: :controller do + let(:user) { create(:user) } + + describe "GET #index" do + context "without current_user" do + it "returns a 302" do + get :index, params: { user_board: "following" } + expect(response.status).to eq(302) + end + end + + context "with current_user" do + before { sign_in user } + + it "works for followings" do + get :index, params: { user_board: "following" } + expect(response.status).to eq(200) + end + + it" works for followers" do + get :index, params: { user_board: "followers" } + expect(response.status).to eq(200) + end + end + end + + describe "GET #edit" do + context "without being signed in" do + it "returns redirect" do + get :edit + expect(response).to redirect_to("/enter") + end + end + + context "with authorized user" do + before { sign_in user } + + it "returns 200" do + get :edit + expect(response.status).to eq(200) + end + end + end +end diff --git a/spec/factories/articles.rb b/spec/factories/articles.rb new file mode 100644 index 0000000000000..a5db91745d6ba --- /dev/null +++ b/spec/factories/articles.rb @@ -0,0 +1,37 @@ +FactoryBot.define do + factory :article do + transient do + title Faker::Book.title + published true + date "01/01/2015" + tags Faker::Hipster.words(4).join(", ") + canonical_url Faker::Internet.url + with_canonical_url false + with_date false + with_tags true + with_hr_issue false + with_tweet_tag false + with_title true + end + user + description { Faker::Hipster.paragraph(1)[0..100] } + main_image { Faker::Avatar.image } + language "en" + body_markdown do + <<~HEREDOC + --- + title: #{title if with_title} + published: #{published} + tags: #{tags if with_tags} + date: #{date if with_date} + canonical_url: #{canonical_url if with_canonical_url} + --- + + #{Faker::Hipster.paragraph(2)} + #{"{% tweet 232398293939393 %}" if with_tweet_tag} + #{Faker::Hipster.paragraph(1)} + #{"\n\n---\n\n something \n\n---\n funky in the code? \n---\n That's nice"if with_hr_issue} + HEREDOC + end + end +end diff --git a/spec/factories/blocks.rb b/spec/factories/blocks.rb new file mode 100644 index 0000000000000..959e403916894 --- /dev/null +++ b/spec/factories/blocks.rb @@ -0,0 +1,7 @@ +FactoryBot.define do + factory :block do + input_html { Faker::Hipster.paragraph(1) } + input_css { "body {color:red}" } + input_javascript { Faker::Hipster.paragraph(1) } + end +end diff --git a/spec/factories/broadcasts.rb b/spec/factories/broadcasts.rb new file mode 100644 index 0000000000000..4007dbcfc4b18 --- /dev/null +++ b/spec/factories/broadcasts.rb @@ -0,0 +1,15 @@ +FactoryBot.define do + factory :broadcast do + sent { false } + end + + trait :onboarding do + title { "Welcome Notification" } + type_of { "Onboarding" } + processed_html { "Welcome to dev.to! Introduce yourself in our welcome thread!" } + end + + trait :sent do + sent true + end +end diff --git a/spec/factories/comments.rb b/spec/factories/comments.rb new file mode 100644 index 0000000000000..afedefc1e1ace --- /dev/null +++ b/spec/factories/comments.rb @@ -0,0 +1,8 @@ +FactoryBot.define do + factory :comment do + user + body_markdown { Faker::Hipster.paragraph(1) } + commentable_id { rand(1000) } + commentable_type { "Article" } + end +end diff --git a/spec/factories/display_ads.rb b/spec/factories/display_ads.rb new file mode 100644 index 0000000000000..2c3c95c93656a --- /dev/null +++ b/spec/factories/display_ads.rb @@ -0,0 +1,6 @@ +FactoryBot.define do + factory :display_ad do + placement_area { "sidebar" } + body_markdown { "Hello _hey_ Hey hey" } + end +end diff --git a/spec/factories/events.rb b/spec/factories/events.rb new file mode 100644 index 0000000000000..38ddc0c75ccf5 --- /dev/null +++ b/spec/factories/events.rb @@ -0,0 +1,8 @@ +FactoryBot.define do + factory :event do + title { Faker::Company.bs } + description_markdown { Faker::Hipster.paragraph(2) } + starts_at Time.now + ends_at Time.now + 3660 + end +end diff --git a/spec/factories/github_repos.rb b/spec/factories/github_repos.rb new file mode 100644 index 0000000000000..cdc0f987f1dbd --- /dev/null +++ b/spec/factories/github_repos.rb @@ -0,0 +1,14 @@ +FactoryBot.define do + factory :github_repo do + name { Faker::Book.title } + url { Faker::Internet.url } + description { Faker::Book.title } + language { Faker::Book.title } + bytes_size { rand(100000) } + watchers_count { rand(100000) } + github_id_code { rand(100000) } + stargazers_count { rand(100000) } + featured { true } + fork { false } + end +end diff --git a/spec/factories/identities.rb b/spec/factories/identities.rb new file mode 100644 index 0000000000000..5ed2b8f11d227 --- /dev/null +++ b/spec/factories/identities.rb @@ -0,0 +1,8 @@ +FactoryBot.define do + factory :identity do + provider { "github" } + uid { rand(100000) } + token { rand(100000) } + secret { rand(100000) } + end +end diff --git a/spec/factories/mentions.rb b/spec/factories/mentions.rb new file mode 100644 index 0000000000000..0c50073c6c351 --- /dev/null +++ b/spec/factories/mentions.rb @@ -0,0 +1,7 @@ +FactoryBot.define do + factory :mention do + user + mentionable_id { rand(1000) } + mentionable_type { "Comment" } + end +end diff --git a/spec/factories/notifications.rb b/spec/factories/notifications.rb new file mode 100644 index 0000000000000..1ed67732447e6 --- /dev/null +++ b/spec/factories/notifications.rb @@ -0,0 +1,5 @@ +FactoryBot.define do + factory :notification do + sent { false } + end +end diff --git a/spec/factories/organizations.rb b/spec/factories/organizations.rb new file mode 100644 index 0000000000000..7249a42fbf592 --- /dev/null +++ b/spec/factories/organizations.rb @@ -0,0 +1,14 @@ +FactoryBot.define do + factory :organization do + name { Faker::Company.name } + summary { Faker::Hipster.paragraph(1)[0..150] } + profile_image { File.open("#{Rails.root}/app/assets/images/android-icon-36x36.png") } + nav_image { Faker::Avatar.image } + url { Faker::Internet.url } + slug { "org#{rand(10_000)}" } + github_username { "org#{rand(10_000)}" } + twitter_username { "org#{rand(10_000)}" } + bg_color_hex { Faker::Color.hex_color } + text_color_hex { Faker::Color.hex_color } + end +end diff --git a/spec/factories/podcast_episodes.rb b/spec/factories/podcast_episodes.rb new file mode 100644 index 0000000000000..8fe80d9c662db --- /dev/null +++ b/spec/factories/podcast_episodes.rb @@ -0,0 +1,11 @@ +FactoryBot.define do + factory :podcast_episode do + podcast_id { rand(30) } + title { rand(30) } + media_url { Faker::Internet.url } + website_url { Faker::Internet.url } + body { Faker::Hipster.paragraph(1) } + slug { "slug-#{rand(10_000)}" } + guid { "guid-#{rand(10_000)}" } + end +end diff --git a/spec/factories/podcasts.rb b/spec/factories/podcasts.rb new file mode 100644 index 0000000000000..497e0b999dd9b --- /dev/null +++ b/spec/factories/podcasts.rb @@ -0,0 +1,9 @@ +FactoryBot.define do + factory :podcast do + title { Faker::Beer.name } + image { Rack::Test::UploadedFile.new(File.join(Rails.root, 'spec', 'support', 'fixtures', 'images', 'image1.jpeg'), 'image/jpeg') } + description { Faker::Hipster.paragraph(1) } + slug { "slug-#{rand(10_000)}" } + feed_url { "slug-#{rand(10_000)}" } + end +end diff --git a/spec/factories/reactions.rb b/spec/factories/reactions.rb new file mode 100644 index 0000000000000..ed89002803803 --- /dev/null +++ b/spec/factories/reactions.rb @@ -0,0 +1,8 @@ +FactoryBot.define do + factory :reaction do + reactable_id { rand(10000) } + user_id { rand(10000) } + reactable_type { "Article" } + category { "like" } + end +end diff --git a/spec/factories/tags.rb b/spec/factories/tags.rb new file mode 100644 index 0000000000000..972e37d089445 --- /dev/null +++ b/spec/factories/tags.rb @@ -0,0 +1,6 @@ +FactoryBot.define do + factory :tag do + name { rand(10000).to_s } + supported { true } + end +end diff --git a/spec/factories/users.rb b/spec/factories/users.rb new file mode 100644 index 0000000000000..3faf5f1006f05 --- /dev/null +++ b/spec/factories/users.rb @@ -0,0 +1,39 @@ +FactoryBot.define do + sequence(:email) { |n| "person#{n}@example.com" } + sequence(:username) { |n| "username#{n}" } + sequence(:twitter_username) { |n| "twitter#{n}" } + sequence(:github_username) { |n| "github#{n}" } + + factory :user do + name { Faker::Name.name } + email { generate :email } + username { generate :username } + profile_image { Rack::Test::UploadedFile.new(File.join(Rails.root, "spec", "support", "fixtures", "images", "image1.jpeg"), "image/jpeg") } + twitter_username { generate :twitter_username } + github_username { generate :github_username } + summary { Faker::Lorem.paragraph[0..rand(190)] } + website_url { Faker::Internet.url } + confirmed_at { Time.now } + saw_onboarding { true } + signup_cta_variant { "navbar_basic" } + + trait :super_admin do + after(:build) { |user| user.add_role(:super_admin) } + end + + trait :banned do + after(:build) { |user| user.add_role(:banned) } + end + + trait :ignore_after_callback do + after(:build) do |user| + user.define_singleton_method(:subscribe_to_mailchimp_newsletter) {} + # user.class.skip_callback(:validates, :after_create) + end + end + + after(:create) do |user| + create(:identity, user_id: user.id) + end + end +end diff --git a/spec/features/admin_bans_a_user_spec.rb b/spec/features/admin_bans_a_user_spec.rb new file mode 100644 index 0000000000000..efc6a19c639c4 --- /dev/null +++ b/spec/features/admin_bans_a_user_spec.rb @@ -0,0 +1,57 @@ +require "rails_helper" + +feature "Admin bans user" do + let(:admin) { create(:user, :super_admin) } + let(:user) { create(:user) } + + background do + login_via_session_as admin + end + + before do + visit "/admin/users/#{user.id}/edit" + end + + def ban_user + check("Banned") + fill_in("Reason for ban", with: "something") + click_button("Update User") + end + + def unban_user + visit "/admin/users/#{user.id}/edit" + uncheck("Banned") + click_button("Update User") + end + + describe "invalid bans" do + scenario "fails to ban if no note is left" do + check("Banned") + click_button("Update User") + expect(page).to have_content(/Reason for ban can't be blank if banned is checked/i) + end + + scenario "fails to ban if a reason for ban is left but ban box is not checked" do + fill_in("Reason for ban", with: "something") + click_button("Update User") + expect(page).to have_content("Banned was not checked but had the reason filled out") + end + end + + describe "valid ban" do + scenario "checks that the user is banned and has a reason for ban" do + ban_user + expect(user.banned).to eq(true) + expect(user.reason_for_ban).to eq "something" + end + end + + describe "valid unban" do + scenario "allows a previously banned user to be unbanned" do + ban_user + unban_user + expect(user.banned).to eq(false) + expect(user.reason_for_ban).to eq "something" + end + end +end diff --git a/spec/features/admin_creates_new_event_spec.rb b/spec/features/admin_creates_new_event_spec.rb new file mode 100644 index 0000000000000..94e3fc0ef7386 --- /dev/null +++ b/spec/features/admin_creates_new_event_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' +require 'date' + +feature "Admin creates new event" do + let(:admin) { create(:user, :super_admin) } + + background do + login_via_session_as admin + end + + before do + visit "/internal/events" + end + + def select_date_and_time(year, month, date, hour, min, field_name) + select (year), :from => "event[#{field_name}(1i)]" + select (month), :from => "event[#{field_name}(2i)]" + select (date), :from => "event[#{field_name}(3i)]" + select (hour), :from => "event[#{field_name}(4i)]" + select (min), :from => "event[#{field_name}(5i)]" + end + + def create_and_publish_event + fill_in("Title", with: "Workshop Title") + select_date_and_time("2023", "December", "30","15", "30", "starts_at") + select_date_and_time("2023", "December", "30","16", "30", "ends_at") + check("event[published]") + click_button("Create Event") + end + + scenario "load internal/events" do + expect(page).to have_content("Create Event") + end + + scenario "published event loads on /event" do + create_and_publish_event + visit "/events" + expect(page).to have_content("Workshop Title") + end +end diff --git a/spec/features/admin_sends_a_broadcast_spec.rb b/spec/features/admin_sends_a_broadcast_spec.rb new file mode 100644 index 0000000000000..d5d0ede0686e2 --- /dev/null +++ b/spec/features/admin_sends_a_broadcast_spec.rb @@ -0,0 +1,35 @@ +require "rails_helper" + +feature "Send a broadcast" do + describe "Onboarding/welcome broadcast" do + describe "sent broadcast" do + before do + @broadcast = FactoryBot.create(:broadcast, :onboarding, :sent) + @new_user = FactoryBot.create(:user) + @welcome_notification = Broadcast.send_welcome_notification(@new_user.id) + end + + it "has a welcome notification" do + expect(@welcome_notification.notifiable).to eq @broadcast + end + + it "is properly sent to the new user" do + expect(@welcome_notification.user).to eq @new_user + end + + it "has a link to the welcome thread" do + expect(@broadcast.processed_html.html_safe).to include("/welcome") + end + end + + describe "unsent broadcast" do + before do + broadcast = FactoryBot.create(:broadcast, :onboarding) + end + + it "is an unsent broadcast that doesn't create a notification" do + expect(Notification.all.empty?).to be true + end + end + end +end diff --git a/spec/features/admin_warns_a_user_spec.rb b/spec/features/admin_warns_a_user_spec.rb new file mode 100644 index 0000000000000..4092fb2588d6f --- /dev/null +++ b/spec/features/admin_warns_a_user_spec.rb @@ -0,0 +1,42 @@ +require "rails_helper" + +feature "Admin warns user" do + let(:admin) { create(:user, :super_admin) } + let(:user) { create(:user) } + + background do + login_via_session_as admin + end + + before do + visit "/admin/users/#{user.id}/edit" + end + + def warn_user + check("Warned") + fill_in("Reason for warning", with: "something") + click_button("Update User") + end + + describe "invalid warnings" do + scenario "fails to warn if no note is left" do + check("Warned") + click_button("Update User") + expect(page).to have_content(/Reason for warning can't be blank if warned is checked/i) + end + + scenario "fails to warn if a reason for warning is left but warn box is not checked" do + fill_in("Reason for warning", with: "something") + click_button("Update User") + expect(page).to have_content("Warned was not checked but had the reason filled out") + end + end + + describe "valid warning" do + scenario "checks that the user is warned and has a reason for warning" do + warn_user + expect(user.warned).to eq(true) + expect(user.reason_for_warning).to eq "something" + end + end +end diff --git a/spec/features/banned_user_interactions_spec.rb b/spec/features/banned_user_interactions_spec.rb new file mode 100644 index 0000000000000..80c7e0921e298 --- /dev/null +++ b/spec/features/banned_user_interactions_spec.rb @@ -0,0 +1,10 @@ +require "rails_helper" + +feature "Banned user" do + let(:banned_user) { create(:user, :banned) } + + scenario "tries to create an article" do + login_via_session_as banned_user + expect { visit "/new" }.to raise_error("BANNED") + end +end diff --git a/spec/features/user_adds_a_credit_card.rb b/spec/features/user_adds_a_credit_card.rb new file mode 100644 index 0000000000000..4d8a95db7b9f4 --- /dev/null +++ b/spec/features/user_adds_a_credit_card.rb @@ -0,0 +1,30 @@ +# require "rails_helper" +# require 'stripe_mock' + +# feature "User adds a credit card" do +# let(:stripe_helper) { StripeMock.create_test_helper } +# let(:user) { create(:user) } +# before do +# StripeMock.start +# Stripe::Plan.create( +# :amount => 0, +# :interval => "month", +# :name => "Monthly Billing", +# :currency => "usd", +# :id => "monthly-billing" +# ) +# end +# after { StripeMock.stop } + +# background do +# login_via_session_as user +# end + +# scenario "User navigates to settings page and adds a card" do +# visit "/settings/billing" +# # find("#custom-stripe-button").click +# expect(page).to have_text("+ Add Credit Card") +# # click_button("+ Add Credit Card") +# # find(:css, "input[@placeholder='Card Number']").set("4242424242424242") +# end +# end diff --git a/spec/features/user_deletes_an_article_spec.rb b/spec/features/user_deletes_an_article_spec.rb new file mode 100644 index 0000000000000..98912abe7fcd1 --- /dev/null +++ b/spec/features/user_deletes_an_article_spec.rb @@ -0,0 +1,24 @@ +require "rails_helper" + +RSpec.feature "Deleting Article", js: true do + let(:author) { create(:user) } + let(:article) { create(:article, user_id: author.id) } + + def delete_article_via_dashboard + visit "/dashboard" + delete_link = find_link("DELETE") + delete_link.click + second_link = find_link("DELETE") + second_link.click + end + + before do + article + end + + scenario "author of article deletes own article" do + login_via_session_as author + delete_article_via_dashboard + expect(page).to have_text("Write your first post now") + end +end diff --git a/spec/features/user_edits_a_comment_spec.rb b/spec/features/user_edits_a_comment_spec.rb new file mode 100644 index 0000000000000..8a4fe60f59dff --- /dev/null +++ b/spec/features/user_edits_a_comment_spec.rb @@ -0,0 +1,40 @@ +require "rails_helper" + +RSpec.describe "Editing Comment", type: :feature, js: true do + let(:user) { create(:user) } + let(:article) { create(:article, show_comments: true) } + let(:raw_comment) { Faker::Lorem.paragraph } + let(:new_comment_text) { Faker::Lorem.paragraph } + let(:comment) do + create(:comment, commentable_id: article.id, user_id: user.id, body_markdown: raw_comment) + end + + before do + login_via_session_as user + comment + end + + describe "User edits their own comment on the bottom of the article" do + it "User clicks the edit button and autofocuses to the text field" do + visit article.path.to_s + find(:xpath, "//a[@class='edit-butt' and text()='EDIT']").click + expect(page).to have_css("textarea[autofocus='autofocus']") + end + + it "User submits a new edit on their comment" do + visit article.path.to_s + find(:xpath, "//a[@class='edit-butt' and text()='EDIT']").click + fill_in "text-area", with: new_comment_text + click_button("SUBMIT") + expect(page).to have_text(new_comment_text) + end + end + + describe "User edits comment their own comment on their permalink page" do + it "User clicks the edit button and autofocuses to the text field" do + visit comment.path.to_s + find(:xpath, "//a[@class='edit-butt' and text()='EDIT']").click + expect(page).to have_css("textarea[autofocus='autofocus']") + end + end +end diff --git a/spec/features/user_edits_an_article_spec.rb b/spec/features/user_edits_an_article_spec.rb new file mode 100644 index 0000000000000..bf5fd01b6e176 --- /dev/null +++ b/spec/features/user_edits_an_article_spec.rb @@ -0,0 +1,38 @@ +require "rails_helper" + +feature "Editing with an editor" do + let(:user) { create(:user) } + let(:dir) { "../support/fixtures/sample_article.txt" } + let(:template) { File.read(File.join(File.dirname(__FILE__), dir)) } + let(:article) do + create(:article, + user_id: user.id, + body_markdown: template.gsub("false", "true"), + body_html: "") + end + + background do + login_via_session_as user + end + + scenario "user click the edit-post button", js: true, retry: 3 do + link = "/#{user.username}/#{article.slug}" + visit link + find("#action-space").click + expect(page).to have_current_path(link + "/edit") + end + + scenario "user preview their edit post" do + visit "/#{user.username}/#{article.slug}/edit" + click_button("previewbutt") + expect(page).to have_text(template[-200..-1]) + end + + scenario "user update their post" do + visit "/#{user.username}/#{article.slug}/edit" + fill_in "article_body_markdown", with: template.gsub("true", "false") + click_button("article-submit") + expect(page).to have_text("Unpublished Post.") + end +end + diff --git a/spec/features/user_edits_profile_spec.rb b/spec/features/user_edits_profile_spec.rb new file mode 100644 index 0000000000000..d9d7a3973841a --- /dev/null +++ b/spec/features/user_edits_profile_spec.rb @@ -0,0 +1,33 @@ +require "rails_helper" + +RSpec.describe "User edits their profile", type: :feature, js: true do + let(:user) { create(:user, saw_onboarding: true) } + + before do + login_via_session_as user + end + + describe "via their profile page" do + it "clicks on the edit profile button" do + visit "/#{user.username}" + find(:xpath, "//button[@id='user-follow-butt']").click + expect(page).to have_current_path("/settings") + end + end + + describe "via visiting /settings" do + it "goes to /settings" do + visit "/settings" + expect(page).to have_current_path("/settings") + end + end + + describe "via the navbar" do + it "clicks on the Settings button in the navbar" do + visit "/" + find(:xpath, "//button[@id='navigation-butt']").hover + find(:xpath, "//div[@id='loggedinmenu']/a[@href='/settings']").click + expect(page).to have_current_path("/settings") + end + end +end diff --git a/spec/features/user_fills_out_comment_spec.rb b/spec/features/user_fills_out_comment_spec.rb new file mode 100644 index 0000000000000..b975b03d7e277 --- /dev/null +++ b/spec/features/user_fills_out_comment_spec.rb @@ -0,0 +1,30 @@ +require "rails_helper" + +feature "Creating Comment" do + let(:user) { create(:user) } + let(:raw_comment) { Faker::Lorem.paragraph } + let(:article) do + create(:article, user_id: user.id, show_comments: true) + end + + background do + login_via_session_as user + end + + # scenario "User fills out comment box normally" do + # visit article.path.to_s + # fill_in "text-area", with: raw_comment + # click_button("SUBMIT") + # expect(page).to have_css(".comment-action-buttons") + # expect(page).to have_text(raw_comment) + # end + + # scenario "User replies to a comment" do + # create(:comment, commentable_id: article.id, user_id: user.id) + # visit article.path.to_s + # find(".toggle-reply-form").click + # fill_in "text-area", with: raw_comment + # click_button("SUBMIT") + # expect(page).to have_text(raw_comment) + # end +end diff --git a/spec/features/user_fills_out_givaway_form_spec.rb b/spec/features/user_fills_out_givaway_form_spec.rb new file mode 100644 index 0000000000000..8597da1fb8f03 --- /dev/null +++ b/spec/features/user_fills_out_givaway_form_spec.rb @@ -0,0 +1,52 @@ +require "rails_helper" + +feature "Freestickers giveaway (wind-down)" do + let(:user) { create(:user, onboarding_package_requested: true) } + let(:success_message) { "Your stickers should arrive soon" } + let(:error_messages) do + [ + "You need a shipping name", + "You need a shipping address", + "You need a shipping city", + "You need a shipping country", + "You need to include your favorite languages. It's a spam filter.", + ] + end + + def fill_form + fill_in "Name (for shipping)", with: user.name + fill_in "Company (for shipping if applicable)", with: "what" + fill_in "Address", with: "is" + fill_in "Address Line 2", with: "this" + fill_in "City", with: "New York" + fill_in "State/Province", with: "NY" + select "Canada", from: "Country" + fill_in "Zip Number/Postal Code", with: "10036" + fill_in "Favorite programming languages", with: "JavaScript" + fill_in "Specialty (web development, sysadmin, etc.)", with: "Software Developer" + end + + before { login_as(user) } + + scenario "user fills out giveaway form correctly" do + visit "freestickers/edit" + fill_form + click_button("Submit") + expect(page).to have_text(success_message) + end + + scenario "user fills out giveaway form incorrectly" do + visit "freestickers/edit" + # if we don't select '-----', the form will take 'US' because it is listed first + select "-----", from: "Country" + click_button("Submit") + expect(page).to have_css "div#error_explanation" + error_messages.all? { |error| expect(page).to have_text(error) } + end + + scenario "user already filled out the re-request giveaway form" do + user.onboarding_package_requested_again = true + visit "freestickers/edit" + expect(page).to have_text(success_message) + end +end diff --git a/spec/features/user_leaves_top_level_comment_spec.rb b/spec/features/user_leaves_top_level_comment_spec.rb new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/spec/features/user_sees_checklist_on_home_page_spec.rb b/spec/features/user_sees_checklist_on_home_page_spec.rb new file mode 100644 index 0000000000000..3edfb5d823b49 --- /dev/null +++ b/spec/features/user_sees_checklist_on_home_page_spec.rb @@ -0,0 +1,14 @@ +require "rails_helper" + +feature "Seeing checklist on home page" do + let(:user) { create(:user) } + + background do + login_via_session_as user + end + + # scenario "user visits home page to see checklist seen", js: true do + # visit "/" + # page.should have_css("#sidebar-additional.showing") + # end +end \ No newline at end of file diff --git a/spec/features/user_selects_looking_for_work.rb b/spec/features/user_selects_looking_for_work.rb new file mode 100644 index 0000000000000..ed9a3d99be064 --- /dev/null +++ b/spec/features/user_selects_looking_for_work.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.feature "Looking For Work" do + let(:user) { create(:user) } + let(:tag) { create(:tag, name: "hiring") } + + before do + login_as(user) + end + + scenario "User selects looking for work and autofollows hiring tag" do + tag + visit "/settings" + page.check "Looking for work" + click_button("submit") + Delayed::Worker.new.work_off + expect(user.follows.count).to eq(1) + end +end diff --git a/spec/features/user_updates_org_settings_spec.rb b/spec/features/user_updates_org_settings_spec.rb new file mode 100644 index 0000000000000..9c480fa1b1953 --- /dev/null +++ b/spec/features/user_updates_org_settings_spec.rb @@ -0,0 +1,36 @@ +require "rails_helper" + +RSpec.describe "Organization setting page(/settings/organization)", type: :feature, js: true do + let(:user) { create(:user) } + let(:organization) { create(:organization) } + + before do + login_via_session_as user + end + + it "user creates an organization" do + visit "settings/organization" + fill_in "Name", with: "Organization Name" + fill_in "Username", with: "Organization" + attach_file("organization_profile_image", "#{Rails.root}/app/assets/images/android-icon-36x36.png") + fill_in "Text color (hex)", with: "#ffffff" + fill_in "Background color (hex)", with: "#000000" + fill_in "Site url", with: "http://company.com" + fill_in "Summary", with: "Summary" + click_button "SUBMIT" + expect(page).to have_text("Your organization was successfully created and you are an admin.") + end + + it "remove user from organization" do + user.organization_id = organization.id + user.org_admin = true + user2 = create(:user, username: "newuser") + user2.organization_id = organization.id + user2.save + user.save + visit "settings/organization" + click_button("Remove from org") + page.driver.browser.switch_to.alert.accept + expect(page).not_to have_text(user2.name) + end +end diff --git a/spec/features/user_uses_the_editor_spec.rb b/spec/features/user_uses_the_editor_spec.rb new file mode 100644 index 0000000000000..6a3f93cb04b11 --- /dev/null +++ b/spec/features/user_uses_the_editor_spec.rb @@ -0,0 +1,62 @@ +require "rails_helper" + +feature "Using the editor" do + let(:user) { create(:user) } + let(:raw_text) { "../support/fixtures/sample_article_template_spec.txt" } + # what are these + let(:dir) { "../support/fixtures/sample_article.txt" } + let(:rich_dir) { "../support/fixtures/sample_rich_article.txt" } + let(:template) { File.read(File.join(File.dirname(__FILE__), dir)) } + let(:rich_template) { File.read(File.join(File.dirname(__FILE__), rich_dir)) } + + background do + login_via_session_as user + end + + def read_from_file(dir) + File.read(File.join(File.dirname(__FILE__), dir)) + end + + def fill_markdown_with(content) + visit "/new" + fill_in "article_body_markdown", with: content + end + + feature "Previewing an article", js: true do + after do + page.evaluate_script("window.onbeforeunload = function(){}") + end + + scenario "fill out form with ruch content and click preview" do + fill_markdown_with(read_from_file(raw_text)) + page.execute_script("window.scrollTo(0, -100000)") + find("button#previewbutt").click + article_body = find(:xpath, "//div[@id='article_body']")["innerHTML"] + Approvals.verify(article_body, name: "user_preview_article_body", format: :html) + end + end + + feature "Submitting an article" do + scenario "fill out form and submit" do + fill_markdown_with(read_from_file(raw_text)) + click_button("article-submit") + article_body = find(:xpath, "//div[@id='article-body']")["innerHTML"] + Approvals.verify(article_body, name: "user_submit_article", format: :html) + end + + scenario "user write and publish an article" do + fill_markdown_with(template.gsub("false", "true")) + click_button("article-submit") + ["Sample Article", template[-200..-1], "test"].each do |text| + expect(page).to have_text(text) + end + end + + scenario "user write and publish an article without a title" do + fill_markdown_with(template.gsub("Sample Article", "")) + click_button("article-submit") + expect(page).to have_css("div#error_explanation", + text: "Title can't be blank") + end + end +end diff --git a/spec/features/user_views_and_closes_onboarding_spec.rb b/spec/features/user_views_and_closes_onboarding_spec.rb new file mode 100644 index 0000000000000..bc6512d1fbfa6 --- /dev/null +++ b/spec/features/user_views_and_closes_onboarding_spec.rb @@ -0,0 +1,111 @@ +require "rails_helper" + +describe "User views and closes onboarding", type: :feature, js: true do + let(:tag) { create(:tag, name: "java") } + + def sign_out + find("#navbar-menu-wrapper").hover.click_link(href: "/signout_confirm") + click_link(href: "/users/sign_out") + end + + def click_sidebar_link + click_link("GITHUB") + end + + def sign_up_or_in(provider = "twitter") + find("#navbar-menu-wrapper").hover.click_link(href: "/users/auth/#{provider}?state=navbar_basic") + end + + def sign_up_and_close_onboarding + sign_up_or_in + button = find(".close-button") + button.click + end + + before do + tag + visit "/" + end + + describe "sign up via navbar, notifications, and sidebar goes to onboarding" do + describe "via navbar" do + xit "with Twitter" do + sign_up_or_in("twitter") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + + xit "with GitHub" do + sign_up_or_in("github") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + end + + + describe "via notifications" do + it "with Twitter" do + click_link(href: "/notifications") + click_link("Twitter") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + + it "with GitHub" do + click_link(href: "/notifications") + click_link("GitHub") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + end + + describe "via sidebar" do + it "with Twitter" do + click_link("TWITTER") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + + it "with GitHub" do + click_link("GITHUB") + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + end + end + + describe "via in-feed CTA" do + before do + 5.times { create(:article, featured: true) } + visit "/" + end + + it "with Twitter" do + in_feed_link = find_link(href: "/users/auth/twitter?state=in-feed-cta") + in_feed_link.click + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + + xit "with GitHub" do + in_feed_link = find_link(href: "/users/auth/github?state=in-feed-cta") + in_feed_link.click + expect(find(".global-modal-inner")).to have_content("WELCOME!") + end + end + + describe "onboarding state does not reappear after closing or completing" do + xit "onboarding closes properly" do + sign_up_and_close_onboarding + expect(page).not_to have_selector(".close-button") + end + + xit "onboarding stays closed after closing" do + sign_up_and_close_onboarding + sign_out + sign_up_or_in + expect(page).not_to have_selector(".global-modal-inner") + end + + xit "onboarding stays closed after completing" do + sign_up_or_in + 3.times { find(".next_button").click } + sign_out + sign_up_or_in + expect(page).not_to have_selector(".global-modal-inner") + end + end +end diff --git a/spec/features/user_visits_podcast_index_spec.rb b/spec/features/user_visits_podcast_index_spec.rb new file mode 100644 index 0000000000000..eb3d12e5d1399 --- /dev/null +++ b/spec/features/user_visits_podcast_index_spec.rb @@ -0,0 +1,11 @@ +# require 'rails_helper' +# +# feature 'User visits podcast index page' do +# scenario 'they see the foobar on the page' do +# visit "/pod" +# +# fill_in 'Name', with: 'My foobar' +# click_button 'Create Foobar' +# expect(page).to have_css '.foobar-name', 'My foobar' +# end +# end diff --git a/spec/features/user_visits_podcast_show_spec.rb b/spec/features/user_visits_podcast_show_spec.rb new file mode 100644 index 0000000000000..f29eb599e12d0 --- /dev/null +++ b/spec/features/user_visits_podcast_show_spec.rb @@ -0,0 +1,33 @@ +require 'rails_helper' + +feature 'User visits podcast show page' do + let(:podcast) { create(:podcast) } + let(:podcast_episode) { create(:podcast_episode, podcast_id: podcast.id) } + let(:user) { create(:user) } + let(:comment) { create(:comment,user_id:user.id, + commentable_id:podcast_episode.id, + commentable_type:"Article") } + let(:comment2) { create(:comment, + user_id:user.id, + commentable_id:article.id, + parent_id: podcast_episode.id, + commentable_type:"Article") } + + scenario 'they see the content of the hero' do + visit "#{podcast_episode.path}" + expect(page).to have_text(podcast_episode.title) + expect(page).to have_css '.record' + end + scenario 'see the new comment box on the page' do + visit "#{podcast_episode.path}" + expect(page).to have_css 'form#new_comment' + expect(find("#comment_commentable_type", :visible => false).value).to eq("PodcastEpisode") + expect(find("#comment_commentable_id", :visible => false).value).to eq(podcast_episode.id.to_s) + + end + # scenario 'see comments on the page' do + # visit "#{podcast_episode.path}" + # expect(page).to have_css '#comment-node-'+comment.id + # end + +end diff --git a/spec/features/user_visits_tags_page_spec.rb b/spec/features/user_visits_tags_page_spec.rb new file mode 100644 index 0000000000000..f2945bc98b698 --- /dev/null +++ b/spec/features/user_visits_tags_page_spec.rb @@ -0,0 +1,21 @@ +require "rails_helper" + +describe "Tag index page (/tags)", type: :feature, js: true do + let(:user) { create(:user) } + let(:tag) { create(:tag) } + + def match_checkmark(checkmark) + # ✔ seems to appear in chrome + # ✓ seems to appear headless chrome + checkmark == "✔" || checkmark == "✓" + end + + before { login_as(user) } + + context "when a tag is not already followed" do + before do + tag + visit "/tags" + end + end +end diff --git a/spec/labor/article_suggester_spec.rb b/spec/labor/article_suggester_spec.rb new file mode 100644 index 0000000000000..3c0516ef4acb6 --- /dev/null +++ b/spec/labor/article_suggester_spec.rb @@ -0,0 +1,26 @@ +require 'rails_helper' + +RSpec.describe ArticleSuggester do + let(:user) {create(:user)} + before do + create(:article,user_id:user.id, featured: true) + create(:article,user_id:user.id, featured: true) + create(:article,user_id:user.id, featured: true) + create(:article,user_id:user.id, featured: true) + end + + it "returns proper number of articles with post with tags" do + article = create(:article,user_id:user.id, featured: true) + expect(described_class.new(article).articles.size).to eq(4) + end + + it "returns proper number of articles with post without tags" do + article = create(:article,user_id:user.id, featured: true) + article.tag_list = "" + expect(described_class.new(article).articles.size).to eq(4) + end + + it "returns proper number articles if number is passed" do + expect(described_class.new(Article.last).articles(2).size).to eq(2) + end +end diff --git a/spec/labor/bufferizer_spec.rb b/spec/labor/bufferizer_spec.rb new file mode 100644 index 0000000000000..148d2a12a7373 --- /dev/null +++ b/spec/labor/bufferizer_spec.rb @@ -0,0 +1,18 @@ +require "rails_helper" + +RSpec.describe Bufferizer do + let(:user) {create(:user)} + let(:article) {create(:article,user_id:user.id)} + + it "sends to buffer twitter" do + tweet = "test tweet" + described_class.new(article, tweet).twitter_post! + expect(article.last_buffered.utc.to_i).to be > 2.minutes.ago.to_i + end + + it "sends to buffer facebook" do + post = "test facebook post" + described_class.new(article, post).facebook_post! + expect(article.facebook_last_buffered.utc.to_i).to be > 2.minutes.ago.to_i + end +end diff --git a/spec/labor/cache_buster_spec.rb b/spec/labor/cache_buster_spec.rb new file mode 100644 index 0000000000000..d2770e624b00d --- /dev/null +++ b/spec/labor/cache_buster_spec.rb @@ -0,0 +1,18 @@ +require 'rails_helper' + +RSpec.describe CacheBuster do + let(:user) {create(:user)} + let(:article) {create(:article,user_id:user.id)} + let(:comment) {create(:comment, user_id: user.id,commentable_id: article.id)} + it 'should bust comment' do + CacheBuster.new.bust_comment(comment) + end + it 'should bust article' do + CacheBuster.new.bust_article(article) + end + it 'should bust featured article' do + article.featured = true + article.save + CacheBuster.new.bust_article(article) + end +end diff --git a/spec/labor/classic_article_spec.rb b/spec/labor/classic_article_spec.rb new file mode 100644 index 0000000000000..173e5d6e8c280 --- /dev/null +++ b/spec/labor/classic_article_spec.rb @@ -0,0 +1,41 @@ +require 'rails_helper' + +RSpec.describe ClassicArticle do + let(:user) { create(:user) } + let(:tag) { create(:tag, supported: true) } + let(:article) { create(:article, tags: [tag.name], featured: true) } + let(:reaction) { create(:reaction, user_id: user.id, reactable_id: article.id) } + + it "returns an article" do + user.follow(tag) + create(:reaction, user_id: user.id, reactable_id: article.id) + create(:reaction, user_id: user.id, reactable_id: article.id, category:"thinking") + create(:reaction, user_id: user.id, reactable_id: article.id, category:"unicorn") + expect(described_class.new(user).get.id).to eq article.id + end + + it "does not return article if none exists with enough reactions" do + user.follow(tag) + expect(described_class.new(user).get).to eq nil + end + + it "does not return article if user does not follow" do + create(:reaction, user_id: user.id, reactable_id: article.id) + create(:reaction, user_id: user.id, reactable_id: article.id, category:"thinking") + create(:reaction, user_id: user.id, reactable_id: article.id, category:"unicorn") + expect(described_class.new(user).get).to eq nil + end + + it "returns single article if multiple qualify" do + user.follow(tag) + create(:reaction, user_id: user.id, reactable_id: article.id) + create(:reaction, user_id: user.id, reactable_id: article.id, category:"thinking") + create(:reaction, user_id: user.id, reactable_id: article.id, category:"unicorn") + user2 = create(:user) + article2 = create(:article, user_id: user2.id) + create(:reaction, user_id: user2.id, reactable_id: article2.id) + create(:reaction, user_id: user2.id, reactable_id: article2.id, category:"thinking") + create(:reaction, user_id: user2.id, reactable_id: article2.id, category:"unicorn") + expect(described_class.new(user).get.id).to eq article.id + end +end diff --git a/spec/labor/color_from_image_spec.rb b/spec/labor/color_from_image_spec.rb new file mode 100644 index 0000000000000..39930ef60449e --- /dev/null +++ b/spec/labor/color_from_image_spec.rb @@ -0,0 +1,7 @@ +require 'rails_helper' + +RSpec.describe ColorFromImage do + it 'should return a color' do + expect(described_class.new("https://example.com").main).to match /\A#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\z/ + end +end diff --git a/spec/labor/coupon_generator_spec.rb b/spec/labor/coupon_generator_spec.rb new file mode 100644 index 0000000000000..5fbf75f218e78 --- /dev/null +++ b/spec/labor/coupon_generator_spec.rb @@ -0,0 +1,14 @@ +require "rails_helper" + +RSpec.describe CouponGenerator, vcr: {} do + let(:versions) { ["member_discount", "sticker_pack", "tee_pack"] } + + describe "#expect" do + it "generates code with proper prefix ( [version]_[code] )" do + VCR.use_cassette "coupon_generator_1" do + version = versions.sample + expect(described_class.new(1, version).generate).to include("#{version}_") + end + end + end +end diff --git a/spec/labor/follow_checker_spec.rb b/spec/labor/follow_checker_spec.rb new file mode 100644 index 0000000000000..1179e33ff5445 --- /dev/null +++ b/spec/labor/follow_checker_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +RSpec.describe FollowChecker do + let(:user) { create(:user) } + it "checks if following a thing and returns true if they are" do + user_2 = create(:user) + user.follow(user_2) + expect(described_class.new(user, "User", user_2.id).cached_follow_check).to eq(true) + end + + it "checks if following a thing and returns false if they are not" do + user_2 = create(:user) + expect(described_class.new(user, "User", user_2.id).cached_follow_check).to eq(false) + end +end diff --git a/spec/labor/generated_image_spec.rb b/spec/labor/generated_image_spec.rb new file mode 100644 index 0000000000000..9c2eb80d75236 --- /dev/null +++ b/spec/labor/generated_image_spec.rb @@ -0,0 +1,48 @@ +require 'rails_helper' + +RSpec.describe GeneratedImage do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + it 'should return the social image url if there is a social image' do + article.social_image = Faker::Avatar.image + expect(GeneratedImage.new(article).social_image).to eq(article.social_image) + end + + it 'should return the main image if there is a main image' do + article.main_image = Faker::Avatar.image + article.social_image = nil + expect(GeneratedImage.new(article).social_image).to eq(article.main_image) + end + + it 'should return the she coded path if it is there and no social or main' do + article.main_image = nil + article.social_image = nil + article.cached_tag_list = "shecoded, hello, goodbye" + expect(GeneratedImage.new(article).social_image.include? "shecoded").to eq(true) + end + + it 'should return discuss image path if the other criteria is not met' do + article.main_image = nil + article.social_image = nil + article.cached_tag_list = "discuss, hello, goodbye" + expect(GeneratedImage.new(article).social_image.include? "discuss").to eq(true) + end + + it 'should return a default image if the rest are not present' do + article.main_image = nil + article.social_image = nil + article.cached_tag_list = "heyhahahaha, hello, goodbye" + expect(GeneratedImage.new(article).social_image.include? "default").to eq(true) + end + + it "creates various generated images of different title lengths" do + nums = [25,49,79,99,105] + nums.each do |n| + article.title = "0" * n + article.cached_tag_list = "discuss, hello, goodbye" + GeneratedImage.new(article).social_image + article.cached_tag_list = "hello, goodbye" + GeneratedImage.new(article).social_image + end + end +end diff --git a/spec/labor/hex_comparer_spec.rb b/spec/labor/hex_comparer_spec.rb new file mode 100644 index 0000000000000..1fa22d966dc4c --- /dev/null +++ b/spec/labor/hex_comparer_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +RSpec.describe HexComparer do + it "Returns biggest hex" do + expect(HexComparer.new(["#ffffff","#000000"]).biggest).to eq("#ffffff") + end + + it "Returns smallest hex" do + expect(HexComparer.new(["#ffffff","#000000"]).smallest).to eq("#000000") + end + + it "Orders hexes" do + expect(HexComparer.new(["#ffffff","#111111","#333333","#000000"]).order).to eq(["#000000","#111111","#333333","#ffffff"]) + end +end diff --git a/spec/labor/language_detector_spec.rb b/spec/labor/language_detector_spec.rb new file mode 100644 index 0000000000000..d32c064229a48 --- /dev/null +++ b/spec/labor/language_detector_spec.rb @@ -0,0 +1,9 @@ +require 'rails_helper' + +RSpec.describe LanguageDetector do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + it "Should return language" do + expect(LanguageDetector.new(article).detect).to eq("en") + end +end diff --git a/spec/labor/mailchimp_bot_spec.rb b/spec/labor/mailchimp_bot_spec.rb new file mode 100644 index 0000000000000..2fda72f796b28 --- /dev/null +++ b/spec/labor/mailchimp_bot_spec.rb @@ -0,0 +1,107 @@ +require "rails_helper" + +class FakeGibbonRequest < Gibbon::Request + def lists(*args); super end + + def members(*args); super end +end + +RSpec.describe MailchimpBot do + let(:user) { create(:user, :ignore_after_callback) } + let(:article) { create(:article, user_id: user.id) } + let(:my_gibbon_client) { instance_double(FakeGibbonRequest) } + + before do + allow(Gibbon::Request).to receive(:new) { my_gibbon_client } + allow(my_gibbon_client).to receive(:lists) { my_gibbon_client } + allow(my_gibbon_client).to receive(:members) { my_gibbon_client } + allow(my_gibbon_client).to receive(:upsert).and_return(true) + end + + def matcher + { body: { + email_address: user.email, + status: "subscribed", + merge_fields: { + NAME: user.name.to_s, + USERNAME: user.username.to_s, + TWITTER: user.twitter_username.to_s, + GITHUB: user.github_username.to_s, + IMAGE_URL: user.profile_image_url.to_s, + ARTICLES: user.articles.size, + COMMENTS: user.comments.size, + ONBOARD_PK: user.onboarding_package_requested.to_s, + EXPERIENCE: user.experience_level || 666, + COUNTRY: user.shipping_country.to_s, + STATE: user.shipping_state.to_s, + POSTAL_ZIP: user.shipping_postal_code.to_s, + }, + } } + end + + describe "#upsert" do + it "works" do + described_class.new(user).upsert + expect(my_gibbon_client).to have_received(:upsert) + end + end + + describe "#upsert_to_newsletter" do + it "sends proper information" do + described_class.new(user).upsert_to_newsletter + expect(my_gibbon_client).to have_received(:upsert).with(matcher) + end + + it "unsubscribes properly" do + user.update(email_newsletter: false) + described_class.new(user).upsert_to_newsletter + expect(my_gibbon_client).to have_received(:upsert). + with(hash_including(body: hash_including(status: "unsubscribed"))) + end + + it "subscribes properly" do + user.update(email_newsletter: false) + user.update(email_newsletter: true) + described_class.new(user).upsert_to_newsletter + expect(my_gibbon_client).to have_received(:upsert). + with(hash_including(body: hash_including(status: "subscribed"))) + end + + it "updates email properly" do + user.update(email: Faker::Internet.email) + user.confirm + described_class.new(user).upsert_to_newsletter + expect(my_gibbon_client).to have_received(:upsert). + with(hash_including(body: hash_including(email_address: user.email))) + end + end + + describe "#upsert_to_membership_newsletter" do + it "returns false if user isn't a sustaining member" do + expect(described_class.new(user).upsert_to_membership_newsletter).to be(false) + end + + context "when user is a sustaining member" do + it "send proper information" do + user.update(monthly_dues: 2500, email_membership_newsletter: true) + user.add_role(:level_2_member) + described_class.new(user).upsert_to_membership_newsletter + expect(my_gibbon_client).to have_received(:upsert). + with(hash_including( + body: hash_including( + status: "subscribed", + merge_fields: hash_including(MEMBERSHIP: "level_2_member"), + ), + )) + end + + it "unsubscribes if monthly due become 0" do + user.update(monthly_dues: 2500) + user.update(monthly_dues: 0) + described_class.new(user).upsert_to_membership_newsletter + expect(my_gibbon_client).to have_received(:upsert). + with(hash_including(body: hash_including(status: "unsubscribed"))) + end + end + end +end diff --git a/spec/labor/markdown_parser_spec.rb b/spec/labor/markdown_parser_spec.rb new file mode 100644 index 0000000000000..7155a94e145f2 --- /dev/null +++ b/spec/labor/markdown_parser_spec.rb @@ -0,0 +1,79 @@ +require "rails_helper" + +RSpec.describe MarkdownParser do + let(:random_word) { Faker::Lorem.word } + let(:basic_parsed_markdown) { described_class.new(random_word) } + + def generate_and_parse_markdown(raw_markdown) + described_class.new(raw_markdown).finalize + end + + it "works" do + expect(basic_parsed_markdown.finalize).to include(random_word) + end + + it "escape liquid tags in codeblock" do + code_block = "```\n{% what %}\n```" + expect(generate_and_parse_markdown(code_block)).to include("{% what %}") + end + + it "escape liquid tags in inline code" do + inline_code = "`{% what %}`" + expect(generate_and_parse_markdown(inline_code)).to include(inline_code[1..-2]) + end + + context "when provided with an @username" do + it "links to a user if user exist" do + username = create(:user).username + with_user = "@#{username}" + html = Nokogiri::HTML(generate_and_parse_markdown(with_user)) + expect(html.search("a").to_s).to include("/#{username}") + end + + it "doesn't link to a user if user doesn't exist" do + with_user = "@#{random_word}" + html = Nokogiri::HTML(generate_and_parse_markdown(with_user)) + expect(html.search("a")).to be_empty + end + end + + context "when provided with nested links" do + it "does not generated nested link tags" do + nested_links = generate_and_parse_markdown("[[](http://b)](http://a)") + nested_links = Nokogiri::HTML(nested_links).at("p").inner_html + expect(nested_links).to eq('[](http://a)') + end + end + + context "when provided with liquid tags" do + it "raises error if liquid tag was used incorrectly" do + bad_ltag = "{% #{random_word} %}" + expect { generate_and_parse_markdown(bad_ltag) }.to raise_error(StandardError) + end + end + + describe "#tags_used" do + let(:parsed_markdown) { described_class.new("{% youtube oHg5SJYRHA0 %}") } + + it "returns empty if no tag was used" do + expect(basic_parsed_markdown.tags_used).to eq([]) + end + + it "return tags used if it was used" do + expect(parsed_markdown.tags_used).to eq([YoutubeTag]) + end + end + + context "when an image is used" do + it "wraps image in link" do + inline_code = "![](https://image.com/image.jpg)" + expect(generate_and_parse_markdown(inline_code)).to include(" 10 + end + + it "does not re-create article if it already exist" do + described_class.new.get_all_articles + article_count_before = Article.all.length + described_class.new.get_all_articles + expect(Article.all.length).to eq(article_count_before) + end + + it "gets articles for user" do + described_class.new.fetch_user(User.first) + # the 7 here depends on the fixture + # not fetching comments is baked into this + expect(Article.all.length).to be > 2 + end + + it "does not set featured_number" do + described_class.new.fetch_user(User.first) + expect(Article.all.map(&:featured_number).uniq).to eq([nil]) + end + end + + describe "#valid_feed_url?" do + it "returns true on valid feed url" do + expect(described_class.new.valid_feed_url?(link)).to be true + end + + it "returns false on invalid feed url" do + bad_link = "www.google.com" + expect(described_class.new.valid_feed_url?(bad_link)).to be false + end + end +end diff --git a/spec/labor/tag_parser_spec.rb b/spec/labor/tag_parser_spec.rb new file mode 100644 index 0000000000000..919d8f967b9e8 --- /dev/null +++ b/spec/labor/tag_parser_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + + +RSpec.describe TagParser do + let(:tag0){create(:tag, name:"things")} + let(:tag1){create(:tag,name: "peter")} + + let(:tag2){create(:tag,name: "stuff", alias_for: tag0.name)} + + let(:tag3){create(:tag,name: "mac", alias_for: tag1.name)} + + + + def create_tag_parser(tag_arr) + TagParser.new(tag_arr).parse + end + describe "#parse" do + it "removes spaces" do + tags = ["w o r d", "a pp le"] + expect(create_tag_parser(tags)).to eq(["word","apple"]) + end + + it "does not allow dashes" do + tags = ["w-o-r-d", "a-pp-le"] + expect(create_tag_parser(tags)).to eq(["word","apple"]) + end + it "allows only alphanumeric characters" do + tags = ["w0rd", "app|3","&!tes4@#$%^&*"] + expect(create_tag_parser(tags)).to eq(["w0rd", "app3", "tes4"]) + end + it "returns nothing if nothing is recieved" do + expect(create_tag_parser([])).to eq([]) + end + it "uses tag alias if one exists" do + tags = [ tag2.name, tag3.name] + expect(create_tag_parser(tags)).to eq ([tag2.alias_for, tag3.alias_for]) + end + + end +end diff --git a/spec/labor/unread_notifications_emailer_spec.rb b/spec/labor/unread_notifications_emailer_spec.rb new file mode 100644 index 0000000000000..06a7443a63759 --- /dev/null +++ b/spec/labor/unread_notifications_emailer_spec.rb @@ -0,0 +1,11 @@ +require "rails_helper" + +RSpec.describe UnreadNotificationsEmailer, vcr: {} do + let(:user) { create(:user) } + + it "returns boolean on whether or not to send an email based on user activity" do + VCR.use_cassette("unread_notification_mailer", match_requests_on: [:method]) do + expect(described_class.new(user).should_send_email?).to be_in([true, false]) + end + end +end diff --git a/spec/liquid_tags/codepen_tag_spec.rb b/spec/liquid_tags/codepen_tag_spec.rb new file mode 100644 index 0000000000000..8aff55882bc5a --- /dev/null +++ b/spec/liquid_tags/codepen_tag_spec.rb @@ -0,0 +1,24 @@ +require "rails_helper" + +RSpec.describe CodepenTag, type: :liquid_template do + describe "#link" do + let(:codepen_link) { "https://codepen.io/twhite96/pen/XKqrJX" } + + def generate_new_liquid(link) + Liquid::Template.register_tag("codepen", CodepenTag) + Liquid::Template.parse("{% codepen #{link} %}") + end + + it "accepts codepen link" do + liquid = generate_new_liquid(codepen_link) + rendered_codepen_iframe = liquid.render + Approvals.verify(rendered_codepen_iframe, name: "codepen_liquid_tag", format: :html) + end + + it "rejects invalid codepen link" do + expect do + generate_new_liquid("invalid_codepen_link") + end.to raise_error(StandardError) + end + end +end diff --git a/spec/liquid_tags/comment_tag_spec.rb b/spec/liquid_tags/comment_tag_spec.rb new file mode 100644 index 0000000000000..595569701c38e --- /dev/null +++ b/spec/liquid_tags/comment_tag_spec.rb @@ -0,0 +1,31 @@ +require 'rails_helper' + +RSpec.describe CommentTag, type: :liquid_template do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id) } + setup { Liquid::Template.register_tag('devcomment', CommentTag) } + + def generate_comment_tag(id_code) + Liquid::Template.parse("{% devcomment #{id_code} %}") + end + + context 'when given valid id_code' do + it 'fetches the target comment' do + liquid = generate_comment_tag(comment.id_code_generated) + expect(liquid.root.nodelist.first.comment).to eq(comment) + end + + it 'raise error if comment does not exist' do + expect do + generate_comment_tag('this should fail') + end.to raise_error(StandardError) + end + end + + it 'rejects invalid id_code' do + expect do + generate_comment_tag('this should fail') + end.to raise_error(StandardError) + end +end diff --git a/spec/liquid_tags/gist_tag_spec.rb b/spec/liquid_tags/gist_tag_spec.rb new file mode 100644 index 0000000000000..4fb206d3f5734 --- /dev/null +++ b/spec/liquid_tags/gist_tag_spec.rb @@ -0,0 +1,32 @@ +require 'rails_helper' + +RSpec.describe GistTag, type: :liquid_template do + describe "#link" do + let(:gist_link) { "https://gist.github.com/vaidehijoshi/6536e03b81e93a78c56537117791c3f1" } + + def generate_new_liquid(link) + Liquid::Template.register_tag("gist", GistTag) + Liquid::Template.parse("{% gist #{link} %}") + end + + def generate_script(link) + html = <<~HTML +
+ +
+ HTML + html.gsub("\n", " ").delete(" ") + end + + it "accepts proper gist url" do + liquid = generate_new_liquid(gist_link) + expect(liquid.render.delete(" ")).to eq(generate_script(gist_link)) + end + + it "rejects invalid gist url" do + expect { + generate_new_liquid("really_long_invalid_id") + }.to raise_error(StandardError) + end + end +end diff --git a/spec/liquid_tags/github_tag_spec.rb b/spec/liquid_tags/github_tag_spec.rb new file mode 100644 index 0000000000000..edc79af05d1fe --- /dev/null +++ b/spec/liquid_tags/github_tag_spec.rb @@ -0,0 +1,40 @@ +require "rails_helper" + +vcr_option = { + cassette_name: "github_api", + allow_playback_repeats: "true", +} + +RSpec.describe GithubTag, vcr: vcr_option do + describe "#id" do + let(:github_link) { "https://github.com/facebook/react/issues/9218" } + + setup { Liquid::Template.register_tag("github", described_class) } + + def generate_github_issue(link) + Liquid::Template.parse("{% github #{link} %}") + end + + it "rejects github link without domain" do + expect do + generate_github_issue("/react/issues/9193") + end.to raise_error(StandardError) + end + + it "rejects invalid github issue link" do + expect do + generate_github_issue("https://github.com/issues/9193") + end.to raise_error(StandardError) + end + + it "renders properly" do + output = generate_github_issue(github_link).render + # NB: this approvals test is a little harder to update + # because a legitimate github access token is required for octokit + # which is then captured via vcr. + # IF YOU DO PLAN TO UPDATE THIS: be sure to remove your access token + # from the vcr cassette generated by this + Approvals.verify(output, name: "github_liquid_tag_default", format: :html) + end + end +end diff --git a/spec/liquid_tags/instagram_tag_spec.rb b/spec/liquid_tags/instagram_tag_spec.rb new file mode 100644 index 0000000000000..fb2019c21e1e7 --- /dev/null +++ b/spec/liquid_tags/instagram_tag_spec.rb @@ -0,0 +1,27 @@ +require "rails_helper" + +RSpec.describe InstagramTag, type: :liquid_template do + describe "#id" do + let(:valid_id) { "BXgGcAUjM39" } + let(:invalid_id) { "blahblahblahbl" } + + def generate_instagram_tag(id) + Liquid::Template.register_tag("instagram", InstagramTag) + Liquid::Template.parse("{% instagram #{id} %}") + end + + it "checks that the tag is properly parsed" do + valid_id = "BXgGcAUjM39" + html = "
" + expect(generate_instagram_tag(valid_id).render).to eq(html.chomp("\n")) + end + + it "rejects invalid ids" do + expect { generate_instagram_tag(invalid_id) }.to raise_error(StandardError) + end + + it "accepts a valid id" do + expect { generate_instagram_tag(valid_id) }.not_to raise_error + end + end +end diff --git a/spec/liquid_tags/link_tag_spec.rb b/spec/liquid_tags/link_tag_spec.rb new file mode 100644 index 0000000000000..541121fdd8ce6 --- /dev/null +++ b/spec/liquid_tags/link_tag_spec.rb @@ -0,0 +1,53 @@ +require "rails_helper" + +RSpec.describe LinkTag, type: :liquid_template do + let(:user) { create(:user, username: "username45", name: "Chase Danger", profile_image: nil) } + let(:article) do + create(:article, user_id: user.id, title: "test this please", tags: "tag1 tag2 tag3") + end + let(:org) { create(:organization) } + let(:org_user) { create(:user, organization_id: org.id) } + let(:org_article) do + create(:article, user_id: org_user.id, title: "test this please", tags: "tag1 tag2 tag3", + organization_id: org.id) + end + + def generate_new_liquid(slug) + Liquid::Template.register_tag("link", LinkTag) + Liquid::Template.parse("{% link #{slug} %}") + end + + def correct_link_html(article) + tags = article.tag_list.map { |t| "##{t}" }.reverse.join + <<-HTML + + HTML + end + + it "raise error when invalid" do + expect { generate_new_liquid("fake_username/fake_article_slug") }. + to raise_error("Invalid link URL or link URL does not exist") + end + + it "render proper link tag" do + liquid = generate_new_liquid("#{user.username}/#{article.slug}") + expect(liquid.render).to eq(correct_link_html(article)) + end + + it "also tries to look for article by organization if failed to find by username" do + liquid = generate_new_liquid("#{org_article.username}/#{org_article.slug}") + expect(liquid.render).to eq(correct_link_html(org_article)) + end +end diff --git a/spec/liquid_tags/podcast_tag_spec.rb b/spec/liquid_tags/podcast_tag_spec.rb new file mode 100644 index 0000000000000..b6b77f99ae255 --- /dev/null +++ b/spec/liquid_tags/podcast_tag_spec.rb @@ -0,0 +1,32 @@ +require 'rails_helper' + +RSpec.describe PodcastTag, type: :liquid_template do + let(:podcast) { create(:podcast) } + let(:podcast_episode) { create(:podcast_episode, podcast_id: podcast.id) } + let(:valid_long_slug) { "/#{podcast.slug}/#{podcast_episode.slug}" } + + before { Liquid::Template.register_tag('podcast', PodcastTag) } + + def generate_podcast_liquid_tag(link) + Liquid::Template.parse("{% podcast #{link} %}") + end + + context 'when given valid link' do + it 'fetches target podcast' do + liquid = generate_podcast_liquid_tag(valid_long_slug) + expect(liquid.root.nodelist.first.episode).to eq(podcast_episode) + end + + it 'raises error if podcast does not exist' do + expect do + generate_podcast_liquid_tag(valid_long_slug + '1') + end.to raise_error(StandardError) + end + end + + it 'rejects invalid link' do + expect do + generate_podcast_liquid_tag('https://dev.to/toolsday/hardware/test/2') + end.to raise_error(StandardError) + end +end diff --git a/spec/liquid_tags/replit_tag_spec.rb b/spec/liquid_tags/replit_tag_spec.rb new file mode 100644 index 0000000000000..e2fb1b61f15ad --- /dev/null +++ b/spec/liquid_tags/replit_tag_spec.rb @@ -0,0 +1,21 @@ +require 'rails_helper' + +RSpec.describe ReplitTag, type: :liquid_template do + describe '#id' do + let(:replit_id) { 'dQw4w9WgXcQ' } + def generate_new_liquid(id) + Liquid::Template.register_tag('replit', ReplitTag) + Liquid::Template.parse("{% replit #{id} %}") + end + + it 'accepts replit id' do + liquid = generate_new_liquid(replit_id) + expect(liquid.render).to include('
') + end + + it 'renders iframe' do + liquid = generate_new_liquid(replit_id) + expect(liquid.render).to include(" '\ + '' + end + + it 'accepts youtube video id' do + liquid = generate_new_liquid(youtube_id) + expect(liquid.render).to eq(generate_iframe(youtube_id)) + end + + it 'accepts youtube video id with empty space' do + liquid = generate_new_liquid(youtube_id + ' ') + expect(liquid.render).to eq(generate_iframe(youtube_id)) + end + + it 'rejects invalid youtube video id' do + expect { + generate_new_liquid('really_long_invalid_id') + }.to raise_error(StandardError) + end + end +end diff --git a/spec/mailers/.keep b/spec/mailers/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/spec/mailers/notify_mailer_spec.rb b/spec/mailers/notify_mailer_spec.rb new file mode 100644 index 0000000000000..7236176720b67 --- /dev/null +++ b/spec/mailers/notify_mailer_spec.rb @@ -0,0 +1,84 @@ +require "rails_helper" + +RSpec.describe NotifyMailer, :type => :mailer do + describe "notify" do + let(:user) { create(:user) } + let(:user2) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id) } + + describe "new_reply_email" do + it "renders proper subject" do + new_reply_email = NotifyMailer.new_reply_email(comment) + expect(new_reply_email.subject).to include("replied to your") + end + it "renders proper receiver" do + new_reply_email = NotifyMailer.new_reply_email(comment) + expect(new_reply_email.to).to eq([comment.user.email]) + end + end + + describe "new_follower_email" do + it "renders proper subject" do + user2.follow(user) + new_follower_email = NotifyMailer.new_follower_email(Follow.last) + expect(new_follower_email.subject).to eq("#{user2.name} just followed you on dev.to") + end + it "renders proper receiver" do + user2.follow(user) + new_follower_email = NotifyMailer.new_follower_email(Follow.last) + expect(new_follower_email.to).to eq([user.email]) + end + end + describe "new_mention_email" do + it "renders proper subject" do + mention = create(:mention, user_id: user2.id, mentionable_id: comment.id) + new_mention_email = NotifyMailer.new_mention_email(mention) + expect(new_mention_email.subject).to include("#{comment.user.name} just mentioned you") + end + it "renders proper receiver" do + mention = create(:mention, user_id: user2.id, mentionable_id: comment.id) + new_mention_email = NotifyMailer.new_mention_email(mention) + expect(new_mention_email.to).to eq([user2.email]) + end + end + describe "new_membership_subscription_email" do + it "renders proper subject" do + user = create(:user) + new_membership_subscription_email = NotifyMailer.new_membership_subscription_email(user,"level_1_member") + expect(new_membership_subscription_email.subject).to include("Thanks for subscribing") + end + it "renders proper receiver" do + user = create(:user) + new_membership_subscription_email = NotifyMailer.new_membership_subscription_email(user,"level_1_member") + expect(new_membership_subscription_email.to).to eq([user.email]) + end + end + describe "subscription_cancellation_email" do + it "renders proper subject" do + user = create(:user) + subscription_cancellation_email = NotifyMailer.subscription_cancellation_email(user) + expect(subscription_cancellation_email.subject).to include("Sorry to lose you") + end + it "renders proper receiver" do + user = create(:user) + subscription_cancellation_email = NotifyMailer.subscription_cancellation_email(user) + expect(subscription_cancellation_email.to).to eq([user.email]) + end + end + + describe "scholarship_awarded_email" do + it "renders proper subject" do + user = create(:user) + scholarship_awarded_email = NotifyMailer.scholarship_awarded_email(user) + expect(scholarship_awarded_email.subject).to eq("Congrats on your DEV Scholarship!") + end + + it "renders proper receiver" do + user = create(:user) + scholarship_awarded_email = NotifyMailer.scholarship_awarded_email(user) + expect(scholarship_awarded_email.to).to eq([user.email]) + end + end + end +end diff --git a/spec/mailers/previews/notify_mailer_preview.rb b/spec/mailers/previews/notify_mailer_preview.rb new file mode 100644 index 0000000000000..6af59bbb63e70 --- /dev/null +++ b/spec/mailers/previews/notify_mailer_preview.rb @@ -0,0 +1,34 @@ +# Preview all emails at http://localhost:3000/rails/mailers/notify_mailer +class NotifyMailerPreview < ActionMailer::Preview + def new_reply_email + NotifyMailer.new_reply_email(Comment.find(1)) + end + + def new_follower_email + NotifyMailer.new_follower_email(Follow.last) + end + + def unread_notifications_email + NotifyMailer.unread_notifications_email(User.last) + end + + def new_mention_email + NotifyMailer.new_mention_email(Mention.last) + end + + def new_membership_subscription_email + NotifyMailer.new_membership_subscription_email(User.last, "level_2_member") + end + + def subscription_update_confirm_email + NotifyMailer.subscription_update_confirm_email(User.last) + end + + def subscription_cancellation_email + NotifyMailer.subscription_cancellation_email(User.last) + end + + def scholarship_awarded_email + NotifyMailer.scholarship_awarded_email(User.last) + end +end diff --git a/spec/models/article_spec.rb b/spec/models/article_spec.rb new file mode 100644 index 0000000000000..80c1a9f0e773d --- /dev/null +++ b/spec/models/article_spec.rb @@ -0,0 +1,347 @@ +require "rails_helper" + +RSpec.describe Article, type: :model do + def build_and_validate_article(*args) + article = build(:article, *args) + article.validate + article + end + + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + it { is_expected.to validate_uniqueness_of(:canonical_url).allow_blank } + it { is_expected.to validate_uniqueness_of(:body_markdown).scoped_to(:user_id) } + it { is_expected.to validate_uniqueness_of(:slug).scoped_to(:user_id) } + it { is_expected.to validate_uniqueness_of(:feed_source_url).allow_blank } + it { is_expected.to validate_presence_of(:title) } + it { is_expected.to validate_length_of(:title).is_at_most(128) } + it { is_expected.to belong_to(:user) } + it { is_expected.to belong_to(:organization) } + it { is_expected.to belong_to(:collection) } + it { is_expected.to have_many(:comments) } + it { is_expected.to have_many(:reactions) } + it { is_expected.to have_many(:notifications) } + it { is_expected.to validate_presence_of(:user_id) } + + context "if published" do + before { allow(subject).to receive(:published?).and_return(true) } + it { is_expected.to validate_presence_of(:slug) } + end + + it "assigns published date if included in frontmatter" do + expect(create(:article, with_date: true).published_at).not_to be_nil + end + + it "reject future dates" do + expect(build(:article, with_date: true, date: "01/01/2020").valid?).to be(false) + end + + it "has proper username" do + expect(article.username).to eq(article.user.username) + end + + it "persists with valid data" do + article.save + expect(article.persisted?).to eq(true) + end + + it "does not persist with invalid data" do + bad_body = "hey hey hey hey hey hey" + expect(build(:article, body_markdown: bad_body).valid?).to eq(false) + end + + it "does not persist with invalid publish scoped data" do + article = Article.create(title: "hey", + body_html: "hey hey hey hey hey hey", + published: true) + expect(article.persisted?).to eq(false) + end + + describe "#published_at" do + let(:not_published_article) { build(:article, published: false) } + + before do + not_published_article.validate + end + + it "does not have a published_at if not published" do + expect(not_published_article.published_at).to be_nil + end + + it "does have a published_at if published" do + article.validate + expect(article.published_at).not_to be_nil + end + + it "does not have crossposted_at if not published_from_feed" do + expect(article.crossposted_at).to be_nil + end + + it "does have crossposted_at if not published_from_feed" do + article.published_from_feed = true + article.save + expect(article.crossposted_at).not_to be_nil + end + end + + describe "featured_number" do + it "is updated if approved when already true" do + article.body_markdown = "---\ntitle: Hellohnnnn#{rand(1000)}\npublished: true\ntags: hiring\n---\n\nHello" + article.save + article.approved = true + article.save + sleep(1) + article.body_markdown = "---\ntitle: Hellohnnnn#{rand(1000)}\npublished: true\ntags: hiring\n---\n\nHellos" + article.approved = true + article.save! + expect(article.featured_number).not_to eq(article.updated_at.to_i) + end + end + + describe "#slug" do + let(:title) { "hey This' is$ a SLUG" } + let(:article0) { build(:article, title: title, published: false) } + let(:article1) { build(:article, title: title, published: false) } + + before do + article0.validate + end + + context "when unpublished" do + it "creates proper slug with this-is-the-slug format" do + expect(article0.slug).to match /(.*-){4,}/ + end + + it "modifies slug on create if proposed slug already exists on the user" do + article1.validate + expect(article1.slug).not_to start_with(article0.slug) + end + end + + context "when published" do + before { article0.update(published: true) } + + it "creates proper slug with this-is-the-slug format" do + expect(article0.slug).to start_with("hey-this-is-a-slug") + end + + it "does not change slug if the article was edited" do + article0.update(title: "New title.") + expect(article0.slug).to start_with("hey-this-is-a-slug") + end + end + end + + context "when provided with body_markdown" do + let(:test_article) { build(:article, title: title) } + let(:title) { "Talk About It, Justify It" } + let(:slug) { "talk-about-it-justify-it" } + + before { test_article.validate } + + describe "#title" do + it "produces a proper title" do + expect(test_article.title).to eq(title) + end + end + + describe "#slug" do + it "produces a proper slug similar to the title" do + expect(test_article.slug).to start_with(slug) + end + end + + describe "#tag" do + it "parses tags" do + expect(test_article.tag_list.length).to be > 0 + end + + it "accepts an empty tag list and returns empty array" do + expect(build_and_validate_article(with_tags: false).tag_list).to eq([]) + end + + it "rejects if there are more than 4 tags" do + five_tags = "one, two, three, four, five" + expect(build(:article, tags: five_tags).valid?).to be(false) + end + end + + describe "#canonical_url" do + let(:article_with_canon_url) { build(:article, with_canonical_url: true) } + + before do + article_with_canon_url.validate + end + + it "parses does not assign canonical_url" do + expect(article.canonical_url).to eq(nil) + end + + it "parses canonical_url if canonical_url is present" do + expect(article_with_canon_url.canonical_url).not_to be_nil + end + + it "parses does not remove canonical_url" do + initial_link = article_with_canon_url.canonical_url + article_with_canon_url.body_markdown = build(:article).body_markdown + article_with_canon_url.validate + expect(article_with_canon_url.canonical_url).to eq(initial_link) + end + end + end + + it "detects no liquid tag if not used" do + expect(article.decorate.liquid_tags_used).to eq([]) + end + + it "returns article title length classification" do + article.title = "0" * 106 + expect(article.decorate.title_length_classification).to eq("longest") + article.title = "0" * 81 + expect(article.decorate.title_length_classification).to eq("longer") + article.title = "0" * 61 + expect(article.decorate.title_length_classification).to eq("long") + article.title = "0" * 23 + expect(article.decorate.title_length_classification).to eq("medium") + article.title = "0" * 20 + expect(article.decorate.title_length_classification).to eq("short") + end + + it "returns stripped canonical url" do + article.canonical_url = " http://google.com " + expect(article.decorate.processed_canonical_url).to eq("http://google.com") + end + + it "gets search indexed" do + article = create(:article) + article.index! + end + + it "detects liquid tags used" do + article = build_and_validate_article(with_tweet_tag: true) + expect(article.decorate.liquid_tags_used).to eq([TweetTag]) + end + + it "fixes the issue with --- hr tags" do + article = build_and_validate_article(with_hr_issue: true) + expect(article.processed_html.include?("")).to eq(true) + end + end + + it "adds timestamp url if commentable has video and timestamp" do + article.video = "video" + article.save + comment.body_markdown = "I like the part at 4:30" + comment.save + expect(comment.processed_html.include?(">4:30")).to eq(true) + comment.body_markdown = "I like the part at 4:30 and 5:50" + comment.save + expect(comment.processed_html.include?(">5:50")).to eq(true) + comment.body_markdown = "I like the part at 5:30 and :55" + comment.save + expect(comment.processed_html.include?(">:55")).to eq(true) + comment.body_markdown = "I like the part at 52:30" + comment.save + expect(comment.processed_html.include?(">52:30")).to eq(true) + comment.body_markdown = "I like the part at 1:52:30 and 1:20" + comment.save + expect(comment.processed_html.include?(">1:52:30")).to eq(true) + expect(comment.processed_html.include?(">1:20")).to eq(true) + end + + it "does not add timestamp if commentable does not have video" do + comment.body_markdown = "I like the part at 1:52:30 and 1:20" + comment.save + expect(comment.processed_html.include?(">1:52:30")).to eq(false) + end + + it "adds a mention url if user is mentioned like @mention" do + comment.body_markdown = "Hello @#{user.username}, you are cool." + comment.save + expect(comment.processed_html.include?("/#{user.username}")).to eq(true) + expect(comment.processed_html.include?("href")).to eq(true) + expect(comment.processed_html.include?("Hello ")).to eq(true) + expect(comment.processed_html.size).to be < 450 + end + + it "does not show year in readable time if not current year" do + expect(comment.readable_publish_date).to eq(comment.created_at.strftime("%b %e")) + end + + it "shows year in readable time if not current year" do + comment.created_at = 1.years.ago + last_year = 1.year.ago.year % 100 + expect(comment.readable_publish_date.include?("'#{last_year}")).to eq(true) + end + + it "returns a path" do + expect(comment.path).not_to be(nil) + end + + it "returns name_of_user" do + expect(comment.name_of_user).to eq(comment.user.name) + end + + it "returns the properly formed path" do + expect(comment.path).to eq("/#{comment.user.username}/comment/#{comment.id_code_generated}") + end + + it "returns root article if no parent comment" do + expect(comment.parent_or_root_article).to eq(comment.commentable) + end + + it "returns root parent comment if exists" do + expect(child_comment.parent_or_root_article).to eq(comment) + end + + describe "#parent_user" do + it "returns the root article's user if no parent comment" do + expect(comment.parent_user).to eq(user) + end + + it "returns the root parent comment's user if root parent comment exists" do + expect(child_comment.parent_user).to eq(user) + end + end + + describe "#title" do + it "is no more than 80 characters" do + expect(comment.title.length).to be <= 80 + end + + it "retains content from #processed_html" do + text = comment.title.gsub("...", "").gsub(/\n/, "") + expect(comment.processed_html).to include CGI.unescapeHTML(text) + end + end + + describe "#custom_css" do + it "returns nothing when no ltag was used" do + expect(comment.custom_css).to eq("") + end + + it "returns proper liquid tag classes if used" do + text = "{% devcomment #{comment.id_code_generated} %}" + ltag_comment = create(:comment, commentable_id: create(:article).id, body_markdown: text) + expect(ltag_comment.custom_css).not_to eq("") + end + end + + describe "#sharemeow_link" do + it "uses ShareMeowClient" do + allow(ShareMeowClient).to receive(:image_url).and_return("www.test.com") + comment.sharemeow_link + expect(ShareMeowClient).to have_received(:image_url) + end + end + + describe "::StreamRails::Activity(notification callbacks)" do + after { StreamRails.enabled = false } + + context "when a comment without ancestor is created" do + before do + StreamRails.enabled = true + allow(StreamNotifier).to receive(:new).and_call_original + end + + it "notifies the author" do + create(:comment, commentable_id: article.id) + expect(StreamNotifier).to have_received(:new).with(user.id).at_least(:once) + end + + it " does not notify author if self is author" do + create(:comment, commentable_id: article.id, user_id: user.id) + expect(StreamNotifier).not_to have_received(:new).with(user.id) + end + + it "does not notify anybody else" do + comment1 = create(:comment, commentable_id: article.id) + comment2 = create(:comment, commentable_id: article.id) + expect(StreamNotifier).not_to have_received(:new).with(comment1.user.id) + expect(StreamNotifier).not_to have_received(:new).with(comment2.user.id) + end + end + + context "when a comment with ancestor is created" do + let(:nest_comment_1) { create(:comment, commentable_id: article.id) } + let(:nest_comment_2) { create(:comment, parent_id: nest_comment_1.id, commentable_id: article.id) } + let(:author_comment) do + create(:comment, parent_id: nest_comment_2.id, + commentable_id: article.id, user_id: user.id) + end + let(:nest_comments_authors) { [nest_comment_1.user_id, nest_comment_2.user_id] } + + before do + nest_comments_authors # this needs to be evoked before StreamRails is enabled + StreamRails.enabled = true + allow(StreamNotifier).to receive(:new).and_call_original + end + + it "notifies all the ancestors" do + create(:comment, parent_id: nest_comment_2.id, commentable_id: article.id) + nest_comments_authors.each do |id| + expect(StreamNotifier).to have_received(:new).with(id).at_least(:once) + end + end + + it "does not notifies the author" do + create(:comment, parent_id: nest_comment_2.id, commentable_id: article.id) + expect(StreamNotifier).not_to have_received(:new).with(user.id) + end + + it "notifies all ancestors even if the author is among them" do + create(:comment, parent_id: author_comment.id, commentable_id: article.id) + nest_comments_authors.push(user.id).each do |id| + expect(StreamNotifier).to have_received(:new).with(id).at_least(:once) + end + end + + it "does not notify self if self is among the ancestors" do + me = create(:user) + create(:comment, parent_id: author_comment.id, commentable_id: article.id, user_id: me.id) + create(:comment, parent_id: author_comment.id, commentable_id: article.id, user_id: me.id) + expect(StreamNotifier).not_to have_received(:new).with(me.id) + end + end + end +end diff --git a/spec/models/display_ad_spec.rb b/spec/models/display_ad_spec.rb new file mode 100644 index 0000000000000..eeb69c2c55f7f --- /dev/null +++ b/spec/models/display_ad_spec.rb @@ -0,0 +1,22 @@ +require 'rails_helper' + +RSpec.describe DisplayAd, type: :model do + it { is_expected.to validate_presence_of(:organization_id) } + it { is_expected.to validate_presence_of(:placement_area) } + it { is_expected.to validate_presence_of(:body_markdown) } + + let(:organization) { create(:organization) } + let(:display_ad) { create(:display_ad, organization_id: organization.id) } + + it "generates processed_html before save" do + expect(display_ad.processed_html).to eq("Hello hey Hey hey") + end + it "only disallows unacceptable placement_area" do + display_ad.placement_area = "tsdsdsdds" + expect(display_ad).to_not be_valid + end + it "only allows acceptable placement_area" do + display_ad.placement_area = "sidebar" + expect(display_ad).to be_valid + end +end diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb new file mode 100644 index 0000000000000..c8e7136260882 --- /dev/null +++ b/spec/models/event_spec.rb @@ -0,0 +1,20 @@ +require 'rails_helper' + +RSpec.describe Event, type: :model do + let(:event) { create(:event) } + + it "rejects title with over 45 characters" do + event.title = Faker::Lorem.characters(46) + expect(event).not_to be_valid + end + + it "rejects invalid http url" do + event.location_url = "dev.to" + expect(event).not_to be_valid + end + + it "rejects ends times that are earlier than start times" do + event.ends_at = Time.now - 50000 + expect(event).not_to be_valid + end +end diff --git a/spec/models/follow_spec.rb b/spec/models/follow_spec.rb new file mode 100644 index 0000000000000..d27ba2a15ff63 --- /dev/null +++ b/spec/models/follow_spec.rb @@ -0,0 +1,17 @@ +require 'rails_helper' + +RSpec.describe Follow, type: :model do + after { StreamRails.enabled = false } + + let(:user) { create(:user) } + let(:user_2) { create(:user) } + + before do + StreamRails.enabled = true #Test with StreamRails + allow(StreamNotifier).to receive(:new).and_call_original + end + it "follows user" do + user.follow(user_2) + expect(user.following?(user_2)).to eq(true) + end +end diff --git a/spec/models/github_issue_spec.rb b/spec/models/github_issue_spec.rb new file mode 100644 index 0000000000000..162ac80ee0be7 --- /dev/null +++ b/spec/models/github_issue_spec.rb @@ -0,0 +1,24 @@ +require "rails_helper" + +vcr_option = { + cassette_name: "github_issue_api", + allow_playback_repeats: "true", +} + +RSpec.describe GithubIssue, type: :model, vcr: vcr_option do + let(:link) { "https://api.github.com/repos/thepracticaldev/dev.to/issues/9#issue-195721413" } + + before do + allow(described_class).to receive(:get_html).and_return("

Dev.to looks awesome.") + end + + it "finds or fetches based on URL" do + # NB: this approvals test is a little harder to update + # because a legitimate github access token is required for octokit + # which is then captured via vcr. + # IF YOU DO PLAN TO UPDATE THIS: be sure to remove your access token + # from the vcr cassette generated by this + issue = described_class.find_or_fetch(link) + expect(issue.processed_html).to include("looks awesome") + end +end diff --git a/spec/models/github_repo_spec.rb b/spec/models/github_repo_spec.rb new file mode 100644 index 0000000000000..ac446023fedd6 --- /dev/null +++ b/spec/models/github_repo_spec.rb @@ -0,0 +1,61 @@ +require "rails_helper" + +RSpec.describe GithubRepo, type: :model do + it { is_expected.to validate_presence_of(:name) } + it { is_expected.to validate_presence_of(:url) } + it { is_expected.to validate_uniqueness_of(:url) } + it { is_expected.to validate_uniqueness_of(:github_id_code) } + + let(:user) { create(:user) } + let(:repo) { build(:github_repo, user_id: user.id) } + + it "saves" do + repo.save + expect(repo).to be_valid + end + + describe "::find_or_create" do + it "creates a new object if one doesn't already exists" do + params = { name: Faker::Book.title, user_id: user.id } + described_class.find_or_create("#{Faker::Internet.url}1", params) + expect(described_class.count).to eq(1) + end + + it "returns existing object if it already exists" do + repo.save + before_update_id = repo.id + params = { name: Faker::Book.title } + updated_repo = described_class.find_or_create(repo.url, params) + expect(updated_repo.id).to eq(before_update_id) + end + end + + describe "::update_to_latest" do + let(:my_ocktokit_client) { instance_double(Octokit::Client) } + let(:stubbed_github_repos) do + [OpenStruct.new(repo.attributes.merge(id: repo.github_id_code, html_url: repo.url))] + end + + before do + repo.save + allow(Octokit::Client).to receive(:new).and_return(my_ocktokit_client) + allow(my_ocktokit_client).to receive(:repositories) { stubbed_github_repos } + end + + it "updates all repo" do + old_updated_at = repo.updated_at + Timecop.freeze(Date.today + 3) do + described_class.update_to_latest + expect(old_updated_at).not_to eq(GithubRepo.first.updated_at) + end + end + + it "uses repo's url as reference if id isn't provided" do + repo.update(github_id_code: nil) + Timecop.freeze(Date.today + 3) do + described_class.update_to_latest + expect(repo.updated_at).not_to eq(GithubRepo.first.updated_at) + end + end + end +end diff --git a/spec/models/job_opportunity_spec.rb b/spec/models/job_opportunity_spec.rb new file mode 100644 index 0000000000000..769791b837968 --- /dev/null +++ b/spec/models/job_opportunity_spec.rb @@ -0,0 +1,9 @@ +require 'rails_helper' + +RSpec.describe JobOpportunity, type: :model do + it "returns remoteness in words for remoteness" do + jo = JobOpportunity.new + jo.remoteness = "on_premise" + expect(jo.remoteness_in_words).to eq("In Office") + end +end diff --git a/spec/models/mention_spec.rb b/spec/models/mention_spec.rb new file mode 100644 index 0000000000000..5b4a0dfe4f940 --- /dev/null +++ b/spec/models/mention_spec.rb @@ -0,0 +1,64 @@ +require 'rails_helper' + +RSpec.describe Mention, type: :model do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id) } + + before(:each) do + #Run workers synchronously + # Delayed::Worker.delay_jobs = false + end + + it 'creates mention if there is a user mentioned' do + comment.body_markdown = "Hello @#{user.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(1) + end + + it 'deletes mention if deleted from comment' do + comment.body_markdown = "Hello @#{user.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(1) + comment.body_markdown = "Hello, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(0) + end + + it 'creates one mention even if multiple mentions of same user' do + comment.body_markdown = "Hello @#{user.username} @#{user.username} @#{user.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(1) + end + + it 'creates multiple mentions for multiple users' do + user_2 = create(:user) + comment.body_markdown = "Hello @#{user.username} @#{user_2.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(2) + end + + it 'deletes one of multiple mentions if one of multiple is deleted' do + user_2 = create(:user) + comment.body_markdown = "Hello @#{user.username} @#{user_2.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(2) + comment.body_markdown = "Hello @#{user_2.username}, you are cool." + comment.save + Mention.create_all_without_delay(comment) + expect(Mention.all.size).to eq(1) + end + + it 'creates mention on creation of comment (in addition to update)' do + comment_2 = create(:comment, body_markdown: "Hello @#{user.username}, you are cool.", commentable_id: article.id, user_id:user.id) + Mention.create_all_without_delay(comment_2) + expect(Mention.all.size).to eq(1) + end + +end diff --git a/spec/models/notification_spec.rb b/spec/models/notification_spec.rb new file mode 100644 index 0000000000000..fc36b56ec3a84 --- /dev/null +++ b/spec/models/notification_spec.rb @@ -0,0 +1,34 @@ +require 'rails_helper' + +RSpec.describe Notification, type: :model do + let(:user) { create(:user) } + let(:user2) { create(:user) } + let(:user3) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + it "sends notifications to all followers of article user" do + user2.follow(user) + user3.follow(user) + Notification.send_all_without_delay(article, "Published") + expect(Notification.all.size).to eq(2) + end + + it "sends sends a broadcast to everyone" do + user2.follow(user) + user3.follow(user) + broadcast = Broadcast.create!(processed_html: "Hello", + title: "test broadcast", + type_of: "Announcement") + Notification.send_all_without_delay(broadcast, "Announcement") + expect(Notification.all.size).to eq(3) + end + + it "removes all notifications" do + user2.follow(user) + user3.follow(user) + Notification.send_all_without_delay(article, "Published") + Notification.remove_all_without_delay(article, "Published") + expect(Notification.all.size).to eq(0) + end + +end \ No newline at end of file diff --git a/spec/models/organization_spec.rb b/spec/models/organization_spec.rb new file mode 100644 index 0000000000000..6dff0dd796930 --- /dev/null +++ b/spec/models/organization_spec.rb @@ -0,0 +1,95 @@ +require "rails_helper" + +RSpec.describe Organization, type: :model do + let(:user) { create(:user) } + let(:organization) { create(:organization) } + + describe "#name" do + it "rejects names with over 50 characters" do + organization.name = Faker::Lorem.characters(51) + expect(organization).not_to be_valid + end + + it "accepts names with 50 or less characters" do + expect(organization).to be_valid + end + end + + describe "#summary" do + it "rejects summaries with over 1000 characters" do + organization.summary = Faker::Lorem.characters(1001) + expect(organization).not_to be_valid + end + + it "accepts summaries with 1000 or less characters" do + expect(organization).to be_valid + end + end + + describe "#text_color_hex" do + it "accepts hex color codes" do + organization.text_color_hex = Faker::Color.hex_color + expect(organization).to be_valid + end + + it "rejects color names" do + organization.text_color_hex = Faker::Color.color_name + expect(organization).not_to be_valid + end + + it "rejects RGB colors" do + organization.text_color_hex = Faker::Color.rgb_color + expect(organization).not_to be_valid + end + + it "rejects wrong color format" do + organization.text_color_hex = "##{Faker::Lorem.words(4)}" + expect(organization).not_to be_valid + end + end + + describe "#slug" do + it "accepts properly formatted slug" do + organization.slug = "heyho" + expect(organization).to be_valid + end + + it "accepts properly formatted slug with numbers" do + organization.slug = "HeyHo2" + expect(organization).to be_valid + end + + it "rejects slug with spaces" do + organization.slug = "hey ho" + expect(organization).not_to be_valid + end + + it "rejects slug with unacceptable character" do + organization.slug = "Hey&Ho" + expect(organization).not_to be_valid + end + + it "downcases slug" do + organization.slug = "HaHaHa" + organization.save + expect(organization.slug).to eq("hahaha") + end + end + + describe "#url" do + it "accepts valid http url" do + organization.url = "http://ben.com" + expect(organization).to be_valid + end + + it "accepts valid secure http url" do + organization.url = "https://ben.com" + expect(organization).to be_valid + end + + it "rejects invalid http url" do + organization.url = "ben.com" + expect(organization).not_to be_valid + end + end +end diff --git a/spec/models/podcast_episode_spec.rb b/spec/models/podcast_episode_spec.rb new file mode 100644 index 0000000000000..cb92377c2c425 --- /dev/null +++ b/spec/models/podcast_episode_spec.rb @@ -0,0 +1,9 @@ +require 'rails_helper' + +RSpec.describe PodcastEpisode, type: :model do + let(:podcast) { create(:podcast) } + + it 'accept valid podcast' do + expect(podcast).to be_valid + end +end diff --git a/spec/models/reaction_spec.rb b/spec/models/reaction_spec.rb new file mode 100644 index 0000000000000..e275bfb8dba48 --- /dev/null +++ b/spec/models/reaction_spec.rb @@ -0,0 +1,81 @@ +require "rails_helper" + +RSpec.describe Reaction, type: :model do + let(:user) { create(:user) } + let(:author) { create(:user) } + let(:article) { create(:article, user_id: author.id, featured: true) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id, commentable_type: "Article") } + let(:reaction) { build(:reaction, user_id: user.id, reactable_id: comment.id, reactable_type: "Comment") } + + describe "validations" do + it "allows like reaction for users without trusted role" do + reaction.category = "like" + expect(reaction).to be_valid + end + + it "does not allow reactions outside of whitelist" do + reaction.category = "woozlewazzle" + expect(reaction).not_to be_valid + end + + it "does not allow vomit reaction for users without trusted role" do + reaction.category = "vomit" + expect(reaction).not_to be_valid + end + + it "does not allow thumbsdown reaction for users without trusted role" do + reaction.category = "thumbsdown" + expect(reaction).not_to be_valid + end + + context "if user is trusted" do + before { user.add_role(:trusted) } + + it "allows vomit reactions for users with trusted role" do + reaction.category = "vomit" + expect(reaction).to be_valid + end + + it "allows thumbsdown reactions for users with trusted role" do + reaction.category = "thumbsdown" + expect(reaction).to be_valid + end + end + end + + describe "async callbacks" do + it "runs async jobs effectively" do + u2 = create(:user) + c2 = create(:comment, commentable_id: article.id) + Delayed::Worker.delay_jobs = false + create(:reaction, user_id: u2.id, reactable_id: c2.id, reactable_type: "Comment") + create(:reaction, user_id: u2.id, reactable_id: article.id, reactable_type: "Article") + Delayed::Worker.delay_jobs = true + expect(reaction).to be_valid + end + end + + describe "#activity_object" do + it "returns self" do + expect(reaction.activity_object.instance_of?(described_class)).to be true + end + end + + describe "#activity_target" do + it "returns the porper string" do + expect(reaction.activity_target).to eq("#{reaction.reactable_type}_#{reaction.reactable_id}") + end + end + + describe "stream" do + after { StreamRails.enabled = false } + before do + StreamRails.enabled = true + allow(StreamNotifier).to receive(:new).and_call_original + end + it "notifies the reactable author" do + reaction = create(:reaction, user_id: user.id, reactable_id: article.id, reactable_type: "Article") + expect(StreamNotifier).to have_received(:new).with(author.id).at_least(:once) + end + end +end diff --git a/spec/models/tag_spec.rb b/spec/models/tag_spec.rb new file mode 100644 index 0000000000000..69805b9d62de6 --- /dev/null +++ b/spec/models/tag_spec.rb @@ -0,0 +1,36 @@ +require 'rails_helper' + +RSpec.describe Tag, type: :model do + let(:tag) { build(:tag) } + + it "passes validations if bg_color_hex is valid" do + tag.bg_color_hex = "#000000" + expect(tag).to be_valid + end + + it "fails validation if bg_color_hex is invalid" do + tag.bg_color_hex = "0000000" + expect(tag).not_to be_valid + end + + it "passes validations if text_color_hex is valid" do + tag.text_color_hex = "#000000" + expect(tag).to be_valid + end + + it "fails validation if text_color_hex is invalid" do + tag.text_color_hex = "0000000" + expect(tag).not_to be_valid + end + + it "fails validation if the alias does not refer to an existing tag" do + tag.alias_for = "hello" + expect(tag).not_to be_valid + end + + it "turns markdown into HTML before saving" do + tag.rules_markdown = "Hello [Google](https://google.com)" + tag.save + expect(tag.rules_html.include?("href")).to be(true) + end +end diff --git a/spec/models/tweet_spec.rb b/spec/models/tweet_spec.rb new file mode 100644 index 0000000000000..b2c3bb4641eec --- /dev/null +++ b/spec/models/tweet_spec.rb @@ -0,0 +1,12 @@ +require 'rails_helper' + +RSpec.describe Tweet, type: :model do + it "fetches a tweet" do + tweet = Tweet.fetch("STUBBED_TWEET_ID") + expect(tweet.class.name).to eq("Tweet") + end + it "renders processed text" do + tweet = Tweet.fetch("STUBBED_TWEET_ID") + expect(tweet.processed_text).to include("
") # because there is a \n in the tweet + end +end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb new file mode 100644 index 0000000000000..75a8c36a0beba --- /dev/null +++ b/spec/models/user_spec.rb @@ -0,0 +1,331 @@ +require 'rails_helper' + +RSpec.describe User, type: :model do + let(:user) { create(:user) } + let(:returning_user) { create(:user, signup_cta_variant: nil) } + let(:second_user) { create(:user) } + let(:article) { create(:article,user_id:user.id) } + let(:tag) { create(:tag) } + let(:org) { create(:organization) } + + it { is_expected.to have_many(:articles) } + it { is_expected.to have_many(:reactions) } + it { is_expected.to have_many(:comments) } + it { is_expected.to have_many(:identities) } + it { is_expected.to have_many(:collections) } + it { is_expected.to have_many(:tweets) } + it { is_expected.to have_many(:notifications) } + it { is_expected.to have_many(:mentions) } + it { is_expected.to have_many(:email_messages).class_name("Ahoy::Message") } + it { is_expected.to have_many(:notes) } + it { is_expected.to validate_uniqueness_of(:username).case_insensitive } + it { is_expected.to validate_uniqueness_of(:github_username).allow_blank } + it { is_expected.to validate_uniqueness_of(:twitter_username).allow_blank } + it { is_expected.to validate_presence_of(:username) } + it { is_expected.to validate_length_of(:username).is_at_most(30).is_at_least(2) } + + # the followings are failing + # it { is_expected.to have_many(:keys) } + # it { is_expected.to have_many(:job_applications) } + # it { is_expected.to have_many(:answers) } + # it { is_expected.to validate_uniqueness_of(:email).case_insensitive.allow_blank } + + describe "validations" do + it "gets a username after create" do + expect(user.username).not_to eq(nil) + end + + it "does not accept invalid website url" do + user.website_url = "ben.com" + expect(user).not_to be_valid + end + + it "accepts valid http website url" do + user.website_url = "http://ben.com" + expect(user).to be_valid + end + + it "accepts valid https website url" do + user.website_url = "https://ben.com" + expect(user).to be_valid + end + + it "changes old_username if old_old_username properly if username changes" do + old_username = user.username + random_new_username = "username_#{rand(100000000)}" + user.update(username: random_new_username) + expect(user.username).to eq(random_new_username) + expect(user.old_username).to eq(old_username) + new_username = user.username + user.update(username: "username_#{rand(100000000)}") + expect(user.old_username).to eq(new_username) + expect(user.old_old_username).to eq(old_username) + end + + it "does not accept invalid employer url" do + user.employer_url = "ben.com" + expect(user).not_to be_valid + end + + it "does accept valid http employer url" do + user.employer_url = "http://ben.com" + expect(user).to be_valid + end + + it "does accept valid https employer url" do + user.employer_url = "https://ben.com" + expect(user).to be_valid + end + + it "enforces summary length validation if old summary was valid" do + user.summary = str = "0" * 999 + user.save(validate: false) + user.summary = str = "0" * 999 + expect(user).to be_valid + end + + it "does not inforce summary validation if old summary was invalid" do + user.summary = str = "0" * 999 + expect(user).not_to be_valid + end + end + + ## Registration + describe "user registration" do + it "finds user by email and assigns identity to that if exists" do + OmniAuth.config.mock_auth[:twitter].info.email = user.email + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.id).to eq(user.id) + end + + it "assigns random username if username is taken on registration" do + OmniAuth.config.mock_auth[:twitter].info.nickname = user.username + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.persisted?).to eq(true) + expect(new_user.username).to_not eq(user.username) + end + + it "assigns random username if username is taken by organization on registration" do + org = create(:organization) + OmniAuth.config.mock_auth[:twitter].info.nickname = org.slug + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.persisted?).to eq(true) + expect(new_user.username).to_not eq(org.slug) + end + + + it "assigns signup_cta_variant to state param with Twitter if new user" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "hey-hey-hey").get_user + expect(new_user.signup_cta_variant).to eq("hey-hey-hey") + end + + it "sets saw_onboarding to false with proper signup variant" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "welcome-widget").get_user + expect(new_user.saw_onboarding).to eq(false) + end + + it "sets saw_onboarding to true with nil signup variant" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, nil).get_user + expect(new_user.saw_onboarding).to eq(true) + end + + + + it "does not assign signup_cta_variant to non-new users" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], returning_user, "hey-hey-hey").get_user + expect(new_user.signup_cta_variant).to eq(nil) + end + + it "assigns proper social_username based on auth" do + OmniAuth.config.mock_auth[:twitter].info.nickname = "valid_username" + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.username).to eq("valid_username") + end + + it "assigns modified username if invalid" do + OmniAuth.config.mock_auth[:twitter].info.nickname = "invalid.username" + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.username).to eq("invalidusername") + end + + it "assigns an identity to user" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.identities.size).to eq(1) + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:github], nil, "navbar_basic").get_user + expect(new_user.identities.size).to eq(2) + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.identities.size).to eq(2) + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:github], nil, "navbar_basic").get_user + expect(new_user.identities.size).to eq(2) + end + + it "estimates default language to be nil" do + user.estimate_default_language_without_delay! + expect(user.estimated_default_language).to eq(nil) + end + it "estimates default language to be japan with jp email" do + user.email = "ben@hello.jp" + user.estimate_default_language_without_delay! + expect(user.estimated_default_language).to eq("ja") + end + it "estimates default language based on ID dump" do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + new_user.estimate_default_language_without_delay! + end + end + + it "follows users" do + user_2 = create(:user) + user_3 = create(:user) + user.follow(user_2) + user.follow(user_3) + expect(user.all_follows.size).to eq(2) + end + + describe '#followed_articles' do + let(:user_2) { create(:user) } + let(:user_3) { create(:user) } + before do + 3.times { create(:article, user_id: user_2.id) } + user.follow(user_2) + end + + it "returns all articles following" do + expect(user.followed_articles.size).to eq(3) + end + + it "returns segment of articles if limit is passed" do + expect(user.followed_articles.limit(2).size).to eq(2) + end + end + + it "inserts into mailchimp" do + expect(user.subscribe_to_mailchimp_newsletter_without_delay).to eq true + end + + it "does not allow to change to username that is taken" do + user.username = second_user.username + expect(user).not_to be_valid + end + + it "does not allow to change to username that is taken" do + user.username = create(:organization).slug + expect(user).not_to be_valid + end + + it "indexes into Algolia search" do + user.index! + end + + it "calculates score" do + article.featured = true + article.save + user.calculate_score + expect(user.score).to be > 0 + end + + it 'persists JSON dump of identity data' do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + identity = new_user.identities.first + expect(identity.auth_data_dump.provider).to eq(identity.provider) + end + + it 'persists extracts relevant identity data from logged in user' do + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:twitter], nil, "navbar_basic").get_user + expect(new_user.twitter_following_count).to be_an(Integer) + expect(new_user.twitter_followers_count).to eq(100) + expect(new_user.twitter_created_at).to be_kind_of(ActiveSupport::TimeWithZone) + new_user = AuthorizationService.new(OmniAuth.config.mock_auth[:github], nil, "navbar_basic").get_user + expect(new_user.github_created_at).to be_kind_of(ActiveSupport::TimeWithZone) + end + + describe "onboarding checklist" do + it "returns onboarding checklist made first article if made first published article" do + article.update(published: true) + expect(UserStates.new(user).cached_onboarding_checklist[:write_your_first_article]).to eq(true) + end + + it "returns onboarding checklist made first article false if hasn't written article" do + article.update(published: false) + expect(UserStates.new(user).cached_onboarding_checklist[:write_your_first_article]).to eq(true) + end + + it "returns onboarding checklist follow_your_first_tag if has followed tag" do + user.follow(tag) + expect(UserStates.new(user).cached_onboarding_checklist[:follow_your_first_tag]).to eq(true) + end + + it "returns onboarding checklist follow_your_first_tag false if has not followed tag" do + expect(UserStates.new(user).cached_onboarding_checklist[:follow_your_first_tag]).to eq(false) + end + + it "returns onboarding checklist fill_out_your_profile if has filled out summary" do + user.update(summary: "Hello") + expect(UserStates.new(user).cached_onboarding_checklist[:fill_out_your_profile]).to eq(true) + end + + it "returns onboarding checklist fill_out_your_profile false if has not filled out summary" do + user.update(summary: "") + expect(UserStates.new(user).cached_onboarding_checklist[:fill_out_your_profile]).to eq(false) + end + + it "returns onboarding checklist leave_your_first_reaction if has reacted to a post" do + create(:reaction, user_id: user.id, reactable_id: article.id) + expect(UserStates.new(user).cached_onboarding_checklist[:leave_your_first_reaction]).to eq(true) + end + + it "returns onboarding checklist leave_your_first_reaction false if has not reacted to a post" do + expect(UserStates.new(user).cached_onboarding_checklist[:leave_your_first_reaction]).to eq(false) + end + + it "returns onboarding checklist leave_your_first_comment if has left comment" do + create(:comment, user_id: user.id, commentable_id: article.id, commentable_type: "Article") + expect(UserStates.new(user).cached_onboarding_checklist[:leave_your_first_comment]).to eq(true) + end + + it "returns onboarding checklist leave_your_first_comment false if has not left comment" do + expect(UserStates.new(user).cached_onboarding_checklist[:leave_your_first_comment]).to eq(false) + end + end + + describe "cache counts" do + it "has an accurate tag follow count" do + user.follow(tag) + expect(user.reload.following_tags_count).to eq 1 + end + + it "has an accurate user follow count" do + user.follow(second_user) + expect(user.reload.following_users_count).to eq 1 + end + + it "has an accurate organization follow count" do + user.follow(org) + expect(user.reload.following_orgs_count).to eq 1 + end + end + + describe "#can_view_analytics?" do + it "returns true for users with :super_admin role" do + user.add_role(:super_admin) + expect(user.can_view_analytics?).to be true + end + + it "returns true for users with :admin role" do + user.add_role(:admin) + expect(user.can_view_analytics?).to be true + end + + it "returns true for users with :analytics_beta_tester role" do + user.add_role(:analytics_beta_tester) + expect(user.can_view_analytics?).to be true + end + end + + describe "#destroy" do + it "successfully destroys a user" do + user.destroy + expect(user.persisted?).to be false + end + end +end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb new file mode 100644 index 0000000000000..6e278a4a48483 --- /dev/null +++ b/spec/rails_helper.rb @@ -0,0 +1,212 @@ +# This file is copied to spec/ when you run 'rails generate rspec:install' +ENV["RAILS_ENV"] = "test" + +require File.expand_path("../../config/environment", __FILE__) +require "rspec/rails" +Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } + +# Prevent database truncation if the environment is production +abort("The Rails environment is running in production mode!") if Rails.env.production? +require "spec_helper" +require "webmock/rspec" +require "capybara/rspec" +require "rack_session_access/capybara" +require "stream_rails" +require "selenium/webdriver" +require "rspec/retry" +require "algolia/webmock" +require "approvals/rspec" +require "shoulda/matchers" + +WebMock.disable_net_connect!(allow_localhost: true) + +# Add additional requires below this line. Rails is not loaded until this point! + +# Requires supporting ruby files with custom matchers and macros, etc, in +# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are +# run as spec files by default. This means that files in spec/support that end +# in _spec.rb will both be required and run as specs, causing the specs to be +# run twice. It is recommended that you do not name files matching this glob to +# end with _spec.rb. You can configure this pattern with the --pattern +# option on the command line or in ~/.rspec, .rspec or `.rspec-local`. +# +# The following line is provided for convenience purposes. It has the downside +# of increasing the boot-up time by auto-requiring all files in the support +# directory. Alternatively, in the individual `*_spec.rb` files, manually +# require only the support files necessary. +# +# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } + +# Checks for pending migrations before tests are run. +# If you are not using ActiveRecord, you can remove this line. +ActiveRecord::Migration.maintain_test_schema! + +RSpec.configure do |config| + # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures + config.fixture_path = "#{::Rails.root}/spec/fixtures" + + Approvals.configure do |config| + config.approvals_path = "#{::Rails.root}/spec/support/fixtures/approvals/" + end + + config.include Devise::Test::ControllerHelpers, type: :view + config.include Devise::Test::ControllerHelpers, type: :controller + config.include RequestSpecHelper, type: :request + config.include ApplicationHelper + # config.include CommentsHelper, type: :view + + config.use_transactional_fixtures = false + config.include FactoryBot::Syntax::Methods + + # Apply rack_session_access integrated with devise. + config.include FeatureHelpers, type: :feature + + # show retry status in spec process + config.verbose_retry = true + # show exception that triggers a retry if verbose_retry is set to true + config.display_try_failure_messages = true + + # run retry only on features + config.around :each, :js do |ex| + ex.run_with_retry retry: 3 + end + + config.before do + ActiveRecord::Base.observers.disable :all # <-- Turn 'em all off! + end + + # Only turn on VCR if :vcr is included metadata keys + config.around(:each) do |ex| + if ex.metadata.key?(:vcr) + ex.run + else + VCR.turned_off { ex.run } + end + end + + # Allow testing with Stripe's test server. BECAREFUL + if config.filter_manager.inclusions.rules.include?(:live) + StripeMock.toggle_live(true) + puts "Running **live** tests against Stripe..." + end + + config.before(:each) do + stub_request(:any, /res.cloudinary.com/).to_rack('dsdsdsds') + + stub_request(:post, /api.fastly.com/). + with(headers: { 'Fastly-Key' => 'f15066a3abedf47238b08e437684c84f' }). + to_return(status: 200, body: '', headers: {}) + + stub_request(:post, /api.bufferapp.com/). + to_return(status: 200, body: {fake_text:"so fake"}.to_json, headers: {}) + + stub_request(:any, /api.twitter.com/).to_rack(FakeTwitter) + + # stub_request(:any, /api.getstream.io/).to_rack(FakeStream) + + # for twitter image cdn + stub_request(:get, /twimg.com/) + .to_return(status: 200, body: '', headers: {}) + + stub_request(:any, /api.mailchimp.com/) + .to_return(status: 200, body: '', headers: {}) + + stub_request(:post, /us-east-api.stream-io-api.com\/api\/v1.0\/feed\/user/) + .to_return(status: 200, body: '{}', headers: {}) + end + + # Stub Stream.io + StreamRails.enabled = false + + # Omniauth mock + + OmniAuth.config.test_mode = true + + raw_info = Hashie::Mash.new + raw_info.email = "yourname@email.com" + raw_info.first_name = "fname" + raw_info.gender = "female" + raw_info.id = "123456" + raw_info.last_name ="lname" + raw_info.link = "http://www.facebook.com/url”" + raw_info.lang = "fr" + raw_info.locale = "en_US" + raw_info.name = "fname lname" + raw_info.timezone = 5.5 + raw_info.updated_time = "2012-06-08T13:09:47+0000" + raw_info.username = "fname.lname" + raw_info.verified = true + raw_info.followers_count = 100 + raw_info.friends_count = 1000 + raw_info.created_at = Time.now + + extra_info = Hashie::Mash.new + extra_info.raw_info = raw_info + + info = OmniAuth::AuthHash::InfoHash.new + info.first_name = "fname" + # info.image = "http://graph.facebook.com/123456/picture?type=square”" + info.last_name = "lname" + info.location = "location,state,country" + info.name = "fname lname" + info.nickname = "fname.lname" + info.verified = true + + credentials = OmniAuth::AuthHash::InfoHash.new + credentials.token = "2735246777-jlOnuFlGlvybuwDJfyrIyESLUEgoo6CffyJCQUO" + credentials.secret = "o0cu6ACtypMQfLyWhme3Vj99uSds7rjr4szuuTiykSYcN" + + twitter_auth_hash = OmniAuth::AuthHash.new + twitter_auth_hash.provider = "twitter" + twitter_auth_hash.uid = "123456" + twitter_auth_hash.info = info + twitter_auth_hash.extra = extra_info + twitter_auth_hash.credentials = credentials + + github_auth_hash = OmniAuth::AuthHash.new + github_auth_hash.provider = "github" + github_auth_hash.uid = "1234567" + github_auth_hash.info = info + github_auth_hash.extra = extra_info + github_auth_hash.credentials = credentials + + OmniAuth.config.mock_auth[:twitter] = twitter_auth_hash + + OmniAuth.config.mock_auth[:github] = github_auth_hash + + ######### + + config.infer_spec_type_from_file_location! + + # Filter lines from Rails gems in backtraces. + config.filter_rails_from_backtrace! + # arbitrary gems may also be filtered via: + # config.filter_gems_from_backtrace("gem name") +end + +Shoulda::Matchers.configure do |config| + config.integrate do |with| + with.test_framework :rspec + with.library :rails + end +end + +Capybara.register_driver :chrome do |app| + Capybara::Selenium::Driver.new(app, browser: :chrome) +end + +Capybara.register_driver :headless_chrome do |app| + capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( + chromeOptions: { args: %w(headless disable-gpu window-size=1400,2000) }, + ) + + Capybara::Selenium::Driver.new app, + browser: :chrome, + desired_capabilities: capabilities +end + +# The current driveres implemented are +# - chrome-helper (:chrome) => Use this for browser-based testing +# - headless-chrome (:headless_chrome) => headless version of chrome-helper. Work but slow. + +Capybara.javascript_driver = :headless_chrome diff --git a/spec/requests/analytics_spec.rb b/spec/requests/analytics_spec.rb new file mode 100644 index 0000000000000..b8f752b6c3f87 --- /dev/null +++ b/spec/requests/analytics_spec.rb @@ -0,0 +1,55 @@ +require "rails_helper" + +vcr_option = { + cassette_name: "google_api_request_spec", +} + +RSpec.describe "Analytics", type: :request, vcr: vcr_option do + describe "GET /analytics" do + it "returns json" do + get "/analytics?article_ids=0,1,2,3" + expect(response.content_type).to eq("application/json") + end + + it "returns 200" do + get "/analytics?article_ids=0,1,2,3" + expect(response).to have_http_status(200) + end + + it "raise ParameterMissing if no proper params is given" do + expect { get "/analytics" }.to raise_error ActionController::ParameterMissing + end + + it "returns empty json when user is not signed in" do + get "/analytics?article_ids=0,1,2,3" + expect(response.body).to eq("{}") + end + + context "when signed in" do + let(:user) { create(:user) } + let(:article1) { create(:article, user_id: user.id) } + let(:article2) { create(:article, user_id: user.id) } + + before do + login_as user + end + + it "returns empty json if current user has no priviledge" do + get "/analytics?article_ids=0,1,2,3" + expect(response.body).to eq("{}") + end + + it "returns pageviews if user is an admin" do + user.add_role(:admin) + get "/analytics?article_ids=#{article1.id},#{article2.id}" + expect(JSON.parse(response.body)).to eq(article1.id.to_s => "0", article2.id.to_s => "0") + end + + it "returns pageviews if user is has beta access" do + user.add_role(:analytics_beta_tester) + get "/analytics?article_ids=#{article1.id},#{article2.id}" + expect(JSON.parse(response.body)).to eq(article1.id.to_s => "0", article2.id.to_s => "0") + end + end + end +end diff --git a/spec/requests/articles_api_spec.rb b/spec/requests/articles_api_spec.rb new file mode 100644 index 0000000000000..db7964a8069da --- /dev/null +++ b/spec/requests/articles_api_spec.rb @@ -0,0 +1,59 @@ +require "rails_helper" + +RSpec.describe "ArticlesApi", type: :request do + describe "GET /api/articles" do + it "returns json response" do + get "/api/articles" + expect(response.content_type).to eq("application/json") + end + it "returns featured articles with no params" do + create(:article) + create(:article, featured: true) + create(:article, featured: true) + get "/api/articles" + expect(JSON.parse(response.body).size).to eq(2) + end + it "returns user articles if username param is present" do + user1 = create(:user) + user2 = create(:user) + create(:article, user_id: user1.id) + create(:article, user_id: user1.id) + create(:article, user_id: user2.id) + get "/api/articles?username=#{user1.username}" + expect(JSON.parse(response.body).size).to eq(2) + end + it "returns organization articles if username param is present" do + org = create(:organization) + user1 = create(:user) + user2 = create(:user) + create(:article, user_id: user1.id) + create(:article, user_id: user1.id, organization_id: org.id) + create(:article, user_id: user1.id, organization_id: org.id) + create(:article, user_id: user1.id) + create(:article, user_id: user2.id) + get "/api/articles?username=#{org.slug}" + expect(JSON.parse(response.body).size).to eq(2) + end + it "returns tag articles if tag param is present" do + article = create(:article) + get "/api/articles?tag=#{article.tag_list.first}" + expect(JSON.parse(response.body).size).to eq(1) + end + it "returns tag articles if tag param is present" do + article = create(:article, approved: false) + tag = Tag.find_by_name(article.tag_list.first) + tag.requires_approval = true + tag.save + get "/api/articles?tag=#{tag.name}" + expect(JSON.parse(response.body).size).to eq(0) + end + end + + describe "GET /api/articles/:id" do + it "data for article based on ID" do + article = create(:article) + get "/api/articles/#{article.id}" + expect(JSON.parse(response.body)["title"]).to eq(article.title) + end + end +end diff --git a/spec/requests/articles_create_spec.rb b/spec/requests/articles_create_spec.rb new file mode 100644 index 0000000000000..8e828409d9c41 --- /dev/null +++ b/spec/requests/articles_create_spec.rb @@ -0,0 +1,46 @@ +require "rails_helper" + +RSpec.describe "ArticlesCreate", type: :request do + let(:user) { create(:user) } + + before do + sign_in user + end + + it "creates ordinary article with proper params" do + new_title = "NEW TITLE #{rand(100)}" + post "/articles", params: { + article: { title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "yo" }, + } + expect(Article.last.user_id).to eq(user.id) + end + + it "creates article with front matter params" do + new_title = "NEW TITLE #{rand(100)}" + post "/articles", params: { + article: { body_markdown: "---\ntitle: hey hey hahuu\npublished: false\n---\nYo ho ho#{rand(100)}", tag_list: "yo" }, + } + expect(Article.last.title).to eq("hey hey hahuu") + end + + it "does not allow job opportunity job to not include hiring tag" do + new_title = "NEW TITLE #{rand(100)}" + expect{ post "/articles", params: { + article: { + title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "yoyo", + job_opportunity: { remoteness: "on_premise" } + }, + }}.to raise_error(RuntimeError) + end + + it "creates article with job opportunity nested" do + new_title = "NEW TITLE #{rand(100)}" + post "/articles", params: { + article: { + title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "hiring", + job_opportunity: { remoteness: "on_premise" } + }, + } + expect(Article.last.job_opportunity.remoteness).to eq("on_premise") + end +end diff --git a/spec/requests/articles_update_spec.rb b/spec/requests/articles_update_spec.rb new file mode 100644 index 0000000000000..489e35c2726cf --- /dev/null +++ b/spec/requests/articles_update_spec.rb @@ -0,0 +1,42 @@ +require "rails_helper" + +RSpec.describe "ArticlesUpdate", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + before do + sign_in user + end + + it "updates ordinary article with proper params" do + new_title = "NEW TITLE #{rand(100)}" + put "/articles/#{article.id}", params: { + article: { title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "yo" }, + } + expect(Article.last.title).to eq(new_title) + end + + it "does not create a job opportunity if no hiring tag" do + new_title = "NEW TITLE #{rand(100)}" + put "/articles/#{article.id}", params: { + article: { + title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "yo", + job_opportunity: { remoteness: "on_premise" } + }, + } + expect(JobOpportunity.count).to eq(0) + end + + + it "updates ordinary article with job opportunity nested" do + new_title = "NEW TITLE #{rand(100)}" + put "/articles/#{article.id}", params: { + article: { + title: new_title, body_markdown: "Yo ho ho#{rand(100)}", tag_list: "hiring", + job_opportunity: { remoteness: "on_premise" } + }, + } + expect(Article.last.job_opportunity.remoteness).to eq("on_premise") + end + +end diff --git a/spec/requests/blocks_spec.rb b/spec/requests/blocks_spec.rb new file mode 100644 index 0000000000000..741abd782be04 --- /dev/null +++ b/spec/requests/blocks_spec.rb @@ -0,0 +1,47 @@ +require "rails_helper" + +RSpec.describe "Blocks", type: :request do + let(:user) { create(:user) } + + before do + user.add_role(:super_admin) + sign_in user + end + + describe "GET blocks index" do + it "renders proper blocks index" do + create(:block, user_id: user.id, input_css: ".blue { color: blue;}") + get "/blocks" + expect(response.body).to include("color: blue") + end + end + + describe "POST blocks" do + it "creates block from input data" do + post "/blocks", params: { + block: { input_css: ".blue { color: blue;}", input_html: "yo", input_javascript: "alert('hey')" }, + } + expect(Block.all.size).to eq(1) + end + end + describe "PUT blocks" do + it "updates block from input data" do + block = create(:block, user_id: user.id, input_css: ".blue { color: blue;}") + put "/blocks/#{block.id}", params: { + block: { input_css: ".blue { color: red;}", + input_html: "yo", + input_javascript: "alert('hey')" }, + } + expect(Block.last.processed_css).to include("color: red") + end + end + + describe "DELETE blocks" do + it "updates block from input data" do + block = create(:block, user_id: user.id, input_css: ".blue { color: blue;}") + delete "/blocks/#{block.id}" + expect(Block.all.size).to eq(0) + end + end + +end diff --git a/spec/requests/buffered_articles_spec.rb b/spec/requests/buffered_articles_spec.rb new file mode 100644 index 0000000000000..68ba5c481e3f8 --- /dev/null +++ b/spec/requests/buffered_articles_spec.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.describe "BufferedArticles", type: :request do + describe "GET /buffered_articles" do + it "works! (now write some real specs)" do + get "/buffered_articles" + expect(response).to have_http_status(200) + end + it "responds with json" do + get "/buffered_articles" + expect(response.content_type).to eq("application/json") + end + it "responds with at least one url" do + create(:article) + get "/buffered_articles" + expect(response.body).to include("https://dev.to/") + end + end +end diff --git a/spec/requests/comments_api_spec.rb b/spec/requests/comments_api_spec.rb new file mode 100644 index 0000000000000..60c57bc4233a5 --- /dev/null +++ b/spec/requests/comments_api_spec.rb @@ -0,0 +1,20 @@ +# http://localhost:3000/api/comments?a_id=23 +require "rails_helper" + +RSpec.describe "ArticlesApi", type: :request do + before do + @article = FactoryBot.create(:article) + FactoryBot.create(:comment, commentable_type: "Article", commentable_id: @article.id) + FactoryBot.create(:comment, commentable_type: "Article", commentable_id: @article.id) + end + describe "GET /api/comments" do + it "returns not found if inproper article id" do + expect { get "/api/comments?a_id=gobbledygook" }. + to raise_error(ActiveRecord::RecordNotFound) + end + it "returns comments for article passed" do + get "/api/comments?a_id=#{@article.id}" + expect(JSON.parse(response.body).size).to eq(2) + end + end +end diff --git a/spec/requests/comments_create_spec.rb b/spec/requests/comments_create_spec.rb new file mode 100644 index 0000000000000..2b8526fdf6ef7 --- /dev/null +++ b/spec/requests/comments_create_spec.rb @@ -0,0 +1,18 @@ +require "rails_helper" + +RSpec.describe "CommentsCreate", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + before do + sign_in user + end + + it "creates ordinary article with proper params" do + new_body = "NEW BODY #{rand(100)}" + post "/comments", params: { + comment: { body_markdown: new_body, commentable_id: article.id, commentable_type: "Article" }, + } + expect(Comment.last.user_id).to eq(user.id) + end +end diff --git a/spec/requests/comments_destroy_spec.rb b/spec/requests/comments_destroy_spec.rb new file mode 100644 index 0000000000000..7a83bace15240 --- /dev/null +++ b/spec/requests/comments_destroy_spec.rb @@ -0,0 +1,34 @@ +require "rails_helper" + +RSpec.describe "CommentsUpdate", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + before do + sign_in user + end + + it "deletes childless article" do + new_body = "NEW TITLE #{rand(100)}" + comment = create(:comment, user_id: user.id, commentable_id: article.id) + delete "/comments/#{comment.id}" + expect(Comment.all.size).to eq(0) + end + + it "deletes childless article" do + new_body = "NEW TITLE #{rand(100)}" + comment = create(:comment, user_id: user.id, commentable_id: article.id) + comment_2 = create(:comment, user_id: user.id, commentable_id: article.id, parent_id: comment.id) + delete "/comments/#{comment.id}" + expect(Comment.first.deleted).to eq(true) + end + + + it "visits delete confirm" do + new_body = "NEW TITLE #{rand(100)}" + comment = create(:comment, user_id: user.id, commentable_id: article.id) + get comment.path + "/delete_confirm" + expect(response.body).to include("Are you sure you want to delete this comment") + end + +end diff --git a/spec/requests/comments_spec.rb b/spec/requests/comments_spec.rb new file mode 100644 index 0000000000000..372f64f5cdc3c --- /dev/null +++ b/spec/requests/comments_spec.rb @@ -0,0 +1,65 @@ +require "rails_helper" + +RSpec.describe "Comments", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + let(:podcast) { create(:podcast) } + let(:podcast_episode) { create(:podcast_episode, podcast_id: podcast.id) } + let(:comment) do + create(:comment, + commentable_id: article.id, + commentable_type: "Article", + user_id: user.id) + end + let(:podcast_comment) do + create(:comment, + commentable_id: podcast_episode.id, + commentable_type: "PodcastEpisode", + user_id: user.id) + end + + describe "GET comment index" do + it "returns 200" do + get comment.path + expect(response).to have_http_status(200) + end + + it "displays a comment" do + get comment.path + expect(response.body).to include(comment.processed_html) + end + + context "when the comment is for a podcast's episode" do + it "works" do + get podcast_comment.path + expect(response).to have_http_status(200) + end + end + end + + describe "GET /:username/:slug/comments/:id_code/edit" do + context "when not logged-in" do + it "returns not_found " do + expect do + get "/#{user.username}/#{article.slug}/comments/#{comment.id_code_generated}/edit" + end.to raise_error(ActionController::RoutingError) + end + end + + context "when logged-in" do + before do + login_as user + end + + it "returns 200" do + get "/#{user.username}/#{article.slug}/comments/#{comment.id_code_generated}/edit" + expect(response).to have_http_status(200) + end + + it "returns the comment" do + get "/#{user.username}/#{article.slug}/comments/#{comment.id_code_generated}/edit" + expect(response.body).to include CGI.escapeHTML(comment.body_markdown) + end + end + end +end diff --git a/spec/requests/comments_update_spec.rb b/spec/requests/comments_update_spec.rb new file mode 100644 index 0000000000000..fe923a25e72a4 --- /dev/null +++ b/spec/requests/comments_update_spec.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.describe "CommentsUpdate", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id) } + + before do + sign_in user + end + + it "updates ordinary article with proper params" do + new_body = "NEW TITLE #{rand(100)}" + put "/comments/#{comment.id}", params: { + comment: { body_markdown: new_body }, + } + expect(Comment.last.processed_html).to include(new_body) + end +end diff --git a/spec/requests/dashboard_spec.rb b/spec/requests/dashboard_spec.rb new file mode 100644 index 0000000000000..7b448d96a3f90 --- /dev/null +++ b/spec/requests/dashboard_spec.rb @@ -0,0 +1,33 @@ +require "rails_helper" + +RSpec.describe "Dashboards", type: :request do + let(:user) { create(:user) } + let(:article) { create(:article, user_id: user.id) } + + describe "GET /dashboard" do + context "when logged-in" do + before do + article + login_as user + end + + it "renders user's articles" do + get "/dashboard" + expect(response.body).to include CGI.escapeHTML(article.title) + end + + it "renders user's organization articles" do + organization = create(:organization) + user.update(organization_id: organization.id, org_admin: true) + article.update(organization_id: organization.id) + get "/dashboard/organization" + expect(response.body).to include CGI.escapeHTML(organization.name.upcase) + end + end + + it "redirects to /enter if no current_user" do + get "/dashboard/organization" + expect(response.body).to redirect_to("/enter") + end + end +end diff --git a/spec/requests/editor_spec.rb b/spec/requests/editor_spec.rb new file mode 100644 index 0000000000000..cb04d2514db25 --- /dev/null +++ b/spec/requests/editor_spec.rb @@ -0,0 +1,58 @@ +require "rails_helper" + +RSpec.describe "Editor", type: :request do + describe "GET /new" do + context "when not logged-in" do + it "does not render markdown form" do + get "/new" + expect(response).not_to render_template(:markdown_form) + end + + it "asks the stray-user to 'Join the club'" do + get "/new" + expect(response.body).to include("Join the club") + end + end + end + + describe "GET /:article/edit" do + let(:user) { create(:user) } + let(:article) { create(:article, user: user) } + + context "when not logged-in" do + it "redirects to /enter" do + get "/#{user.username}/#{article.slug}/edit" + expect(response).to redirect_to("/enter") + end + end + + context "when logged-in" do + it "render markdown form" do + sign_in user + get "/#{user.username}/#{article.slug}/edit" + expect(response).to render_template("articles/_markdown_form") + end + end + end + + describe "POST /articles/preview" do + let(:user) { create(:user) } + let(:article) { create(:article, user: user) } + let(:headers) { { "Content-Type": "application/json", Accept: "application/json" } } + + context "when not logged-in" do + it "redirects to /enter" do + post "/articles/preview", headers: headers + expect(response).to redirect_to("/enter") + end + end + + context "when logged-in" do + it "returns json" do + sign_in user + post "/articles/preview", headers: headers + expect(response.content_type).to eq("application/json") + end + end + end +end diff --git a/spec/requests/events_spec.rb b/spec/requests/events_spec.rb new file mode 100644 index 0000000000000..4c3ef47b06467 --- /dev/null +++ b/spec/requests/events_spec.rb @@ -0,0 +1,13 @@ +require "rails_helper" + +RSpec.describe "Events", type: :request do + before do + @event = create(:event) + end + describe "GET /events" do + it "returns proper page" do + get "/events" + expect(response.body).to include "DEV EVENTS" + end + end +end \ No newline at end of file diff --git a/spec/requests/feature_toggle_spec.rb b/spec/requests/feature_toggle_spec.rb new file mode 100644 index 0000000000000..2ef4ac1f92edb --- /dev/null +++ b/spec/requests/feature_toggle_spec.rb @@ -0,0 +1,11 @@ +require "rails_helper" + +RSpec.describe "internal/features", type: :request do + describe "GET /internal/features" do + it "has proper headline" do + user = create(:user) + get "/internal/features" + expect(response.body).to include("Practical Developer Features") + end + end +end diff --git a/spec/requests/feedback_messages_create_spec.rb b/spec/requests/feedback_messages_create_spec.rb new file mode 100644 index 0000000000000..82398d03ad794 --- /dev/null +++ b/spec/requests/feedback_messages_create_spec.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.describe "feedback_messages", type: :request do + describe "POST /feedback_messages" do + before do + allow_any_instance_of(FeedbackMessagesController).to receive(:recaptcha_verified?).and_return(true) + allow_any_instance_of(Slack::Notifier).to receive(:ping).and_return(true) + end + it "creates feedback message with filled form" do + new_body = "NEW BODY #{rand(100)}" + post "/feedback_messages", params: { + feedback_message: { feedback_type: "abuse-reports", + category_selection: "other", + message: new_body }, + } + expect(FeedbackMessage.last.message).to eq(new_body) + end + end +end diff --git a/spec/requests/followed_articles_spec.rb b/spec/requests/followed_articles_spec.rb new file mode 100644 index 0000000000000..890e69d0587b5 --- /dev/null +++ b/spec/requests/followed_articles_spec.rb @@ -0,0 +1,20 @@ +require "rails_helper" + +RSpec.describe "FollowedArticles", type: :request do + describe "GET followed articles index" do + before do + @user = create(:user) + login_as @user + end + it "returns empty articles array if not following anyone" do + get "/followed_articles" + expect(JSON.parse(response.body)["articles"]).to eq([]) + end + it "returns articles of tag I follow" do + article = create(:article) + @user.follow(Tag.find_by_name(article.tag_list.first)) + get "/followed_articles" + expect(JSON.parse(response.body)["articles"].first["title"]).to eq(article.title) + end + end +end diff --git a/spec/requests/follows_create_spec.rb b/spec/requests/follows_create_spec.rb new file mode 100644 index 0000000000000..38f60610cfcbf --- /dev/null +++ b/spec/requests/follows_create_spec.rb @@ -0,0 +1,76 @@ +require "rails_helper" + +RSpec.describe "Following/Unfollowing", type: :request do + let(:user) { create(:user) } + let(:user_2) { create(:user) } + + describe "POST #create" do + before do + login_as user + end + + context "when followable_type is a Tag" do + let(:tag) { create(:tag) } + + before do + post "/follows", params: { followable_type: "Tag", followable_id: tag.id } + end + + it "follows" do + expect(JSON.parse(response.body)["outcome"]).to eq("followed") + end + + it "unfollows if already followed" do + post "/follows", params: { followable_type: "Tag", followable_id: tag.id, verb: "unfollow" } + expect(JSON.parse(response.body)["outcome"]).to eq("unfollowed") + end + end + + context "when followable_type is a User" do + before do + post "/follows", params: { + followable_type: "User", followable_id: user_2.id + } + end + + it "follows" do + expect(JSON.parse(response.body)["outcome"]).to eq("followed") + end + + it "unfollows if already followed" do + post "/follows", params: { + followable_type: "User", followable_id: user_2.id, verb: "unfollow" + } + expect(JSON.parse(response.body)["outcome"]).to eq("unfollowed") + end + end + + context "when followable_type is an Organization" do + let(:organization) { create(:organization) } + + before do + post "/follows", params: { + followable_type: "Organization", followable_id: organization.id + } + end + + it "follows" do + expect(JSON.parse(response.body)["outcome"]).to eq("followed") + end + + it "unfollows if already followed" do + post "/follows", params: { + followable_type: "Organization", followable_id: organization.id, verb: "unfollow" + } + expect(JSON.parse(response.body)["outcome"]).to eq("unfollowed") + end + end + + it "returns articles of tag the user follows" do + article = create(:article) + user.follow(Tag.find_by_name(article.tag_list.first)) + get "/followed_articles" + expect(JSON.parse(response.body)["articles"].first["title"]).to eq(article.title) + end + end +end diff --git a/spec/requests/follows_show_spec.rb b/spec/requests/follows_show_spec.rb new file mode 100644 index 0000000000000..0d07b766e5e51 --- /dev/null +++ b/spec/requests/follows_show_spec.rb @@ -0,0 +1,37 @@ +require "rails_helper" + +RSpec.describe "Follows #show", type: :request do + let(:current_user) { create(:user) } + let(:user) { create(:user) } + let(:tag) { create(:tag) } + let(:organization) { create(:organization) } + + before { login_as current_user } + + def get_following_status + ["User", "Organization", "Tag"].map do |type| + get "/follows/#{send(type.downcase).id}", params: { followable_type: type } + response.body + end + end + + it "rejects unless logged-in" do + logout + get "/follows/#{user.id}" + expect(response.body).to eq("not-logged-in") + end + + it "returns false when not followeing" do + expect(get_following_status.uniq[0]).to eq("false") + end + + it "returns true when is following" do + %w[user organization tag].each { |followable| current_user.follow(send(followable)) } + expect(get_following_status.uniq[0]).to eq("true") + end + + it "return self if current_user try to follow themself" do + get "/follows/#{current_user.id}", params: { followable_type: "User" } + expect(response.body).to eq("self") + end +end diff --git a/spec/requests/ga_events_spec.rb b/spec/requests/ga_events_spec.rb new file mode 100644 index 0000000000000..3e4edae11a012 --- /dev/null +++ b/spec/requests/ga_events_spec.rb @@ -0,0 +1,17 @@ +require "rails_helper" + +vcr_option = { + cassette_name: "ga_event", + allow_playback_repeats: "true", +} + +RSpec.describe "GaEvents", type: :request, vcr: vcr_option do + describe "POST /cromulent" do + it "posts to cromulent" do + post "/cromulent", params: { + path: "/ben", user_language: "en" + }.to_json + expect(response.body).to eq("") + end + end +end diff --git a/spec/requests/github_repos_spec.rb b/spec/requests/github_repos_spec.rb new file mode 100644 index 0000000000000..b72af73fe79c4 --- /dev/null +++ b/spec/requests/github_repos_spec.rb @@ -0,0 +1,44 @@ +require "rails_helper" + +RSpec.describe "GithubRepos", type: :request do + let(:user) { create(:user) } + let(:repo) { build(:github_repo, user_id: user.id) } + let(:my_ocktokit_client) { instance_double(Octokit::Client) } + let(:stubbed_github_repos) do + [OpenStruct.new(repo.attributes.merge(id: repo.github_id_code, html_url: repo.url))] + end + + before do + allow(Octokit::Client).to receive(:new).and_return(my_ocktokit_client) + allow(my_ocktokit_client).to receive(:repositories) { stubbed_github_repos } + sign_in user + end + + describe "POST /github_repos" do + it "returns a 302" do + post "/github_repos", params: { github_repo: { github_id_code: repo.github_id_code } } + expect(response).to have_http_status(302) + end + + it "creates a new GithubRepo object" do + post "/github_repos", params: { github_repo: { github_id_code: repo.github_id_code } } + expect(GithubRepo.count).to eq(1) + end + end + + describe "PUT /github_repos/:id" do + before do + repo.save + end + + it "returns a 302" do + put "/github_repos/#{repo.id}" + expect(response).to have_http_status(302) + end + + it "unfeatures the requested GithubRepo" do + put "/github_repos/#{repo.id}" + expect(GithubRepo.first.featured).to eq(false) + end + end +end diff --git a/spec/requests/image_uploads_spec.rb b/spec/requests/image_uploads_spec.rb new file mode 100644 index 0000000000000..790602b582fec --- /dev/null +++ b/spec/requests/image_uploads_spec.rb @@ -0,0 +1,38 @@ +require "rails_helper" + +RSpec.describe "ImageUploads", type: :request do + describe "POST/image_uploads" do + let(:user) { create(:user) } + let(:headers) { { "Content-Type": "application/json", Accept: "application/json" } } + + context "when not logged-in" do + it "redirects to /enter" do + post "/image_uploads", headers: headers + expect(response).to redirect_to("/enter") + end + end + + context "when logged-in" do + it "returns json" do + sign_in user + post "/image_uploads", headers: headers + expect(response.content_type).to eq("application/json") + end + + it "provides a link" do + # this test is a little flimsy + sign_in user + image = Rack::Test::UploadedFile.new(File.join(Rails.root, "spec", "support", "fixtures", "images", "image1.jpeg"), "image/jpeg") + post "/image_uploads", headers: headers, params: { image: image } + expect(response.body).to match("\/i\/.+\.") + end + + it "prevents image with resolutions larger than 4096x4096" do + sign_in user + image = Rack::Test::UploadedFile.new(File.join(Rails.root, "spec", "support", "fixtures", "images", "bad-image.jpg"), "image/jpeg") + expect { post("/image_uploads", headers: headers, params: { image: image }) }. + to raise_error(CarrierWave::IntegrityError) + end + end + end +end diff --git a/spec/requests/notifications_spec.rb b/spec/requests/notifications_spec.rb new file mode 100644 index 0000000000000..775026c66523c --- /dev/null +++ b/spec/requests/notifications_spec.rb @@ -0,0 +1,20 @@ +# require "rails_helper" + +# vcr_option = { +# cassette_name: "getstream-index", +# allow_playback_repeats: "true", +# } + +# RSpec.describe "NotificationsIndex", type: :request, vcr: vcr_option do +# let(:user) { create(:user) } + +# describe "GET logged-in notifications index" do +# before do +# sign_in user +# end +# it "renders page with proper sidebar" do +# get "/notifications" +# expect(response.body).to include("Notifications") +# end +# end +# end diff --git a/spec/requests/organizations_update_spec.rb b/spec/requests/organizations_update_spec.rb new file mode 100644 index 0000000000000..bebc1965bbef9 --- /dev/null +++ b/spec/requests/organizations_update_spec.rb @@ -0,0 +1,26 @@ +require "rails_helper" + +RSpec.describe "OrganizationsUpdate", type: :request do + let(:organization) { create(:organization)} + let(:user) { create(:user, organization_id: organization.id) } + let(:article) { create(:article, user_id: user.id) } + let(:comment) { create(:comment, user_id: user.id, commentable_id: article.id) } + + before do + user.org_admin = true + sign_in user + end + + it "updates ordinary article with proper params" do + put "/organizations/#{organization.id}", params: { + organization: { text_color_hex: "#111111" }, + } + expect(Organization.last.text_color_hex).to eq("#111111") + end + + it "generates new secret" do + secret = Organization.last.secret + post "/organizations/generate_new_secret" + expect(Organization.last.secret).not_to eq(secret) + end +end diff --git a/spec/requests/pages_spec.rb b/spec/requests/pages_spec.rb new file mode 100644 index 0000000000000..9756e4fa22b9a --- /dev/null +++ b/spec/requests/pages_spec.rb @@ -0,0 +1,52 @@ +require "rails_helper" + +RSpec.describe "Pages", type: :request do + describe "GET /about" do + it "has proper headline" do + get "/about" + expect(response.body).to include("About dev.to") + end + end + + describe "GET /privacy" do + it "has proper headline" do + get "/privacy" + expect(response.body).to include("Privacy Policy") + end + end + + describe "GET /terms" do + it "has proper headline" do + get "/terms" + expect(response.body).to include("Web Site Terms and Conditions of Use") + end + end + + describe "GET /security" do + it "has proper headline" do + get "/security" + expect(response.body).to include("Reporting Vulnerabilities to dev.to") + end + end + + describe "GET /code-of-conduct" do + it "has proper headline" do + get "/code-of-conduct" + expect(response.body).to include("Code of Conduct") + end + end + + describe "GET /rly" do + it "has proper headline" do + get "/rly" + expect(response.body).to include("O RLY Cover Generator") + end + end + + describe "GET /sponsorship-info" do + it "has proper headline" do + get "/sponsorship-info" + expect(response.body).to include ("Sponsorship Information") + end + end +end diff --git a/spec/requests/podcast_episodes_api_spec.rb b/spec/requests/podcast_episodes_api_spec.rb new file mode 100644 index 0000000000000..a8fba1e5b9af4 --- /dev/null +++ b/spec/requests/podcast_episodes_api_spec.rb @@ -0,0 +1,31 @@ +require 'rails_helper' + +vcr_option = { + cassette_name: "se_daily_rss_feed", + allow_playback_repeats: "true", +} + +RSpec.describe "ArticlesApi", type: :request, vcr: vcr_option do + before do + @podcast = FactoryBot.create(:podcast, feed_url: "http://softwareengineeringdaily.com/feed/podcast/") + PodcastFeed.new.get_episodes(@podcast, 2) + end + describe "GET /api/articles" do + it "returns json response" do + get "/api/podcast_episodes" + expect(response.content_type).to eq("application/json") + end + it "returns podcast episodes" do + get "/api/podcast_episodes" + expect(JSON.parse(response.body).size).to eq(2) + end + it "returns podcast episodes of specific podcast if passed username" do + get "/api/podcast_episodes?username=#{@podcast.slug}" + expect(JSON.parse(response.body).size).to eq(2) + end + it "returns nothing is passed invalid podcast slug" do + expect { get "/api/podcast_episodes?username=nothing_#{rand(1000000000000000)}" }. + to raise_error(ActionController::RoutingError) + end + end +end diff --git a/spec/requests/podcast_episodes_index_spec.rb b/spec/requests/podcast_episodes_index_spec.rb new file mode 100644 index 0000000000000..bf31f1decf2d5 --- /dev/null +++ b/spec/requests/podcast_episodes_index_spec.rb @@ -0,0 +1,10 @@ +require "rails_helper" + +RSpec.describe "PodcastEpisodesSpec", type: :request do + describe "GET podcast episodes index" do + it "renders page with proper sidebar" do + get "/pod" + expect(response.body).to include("

Podcasts

") + end + end +end diff --git a/spec/requests/reactions_api_spec.rb b/spec/requests/reactions_api_spec.rb new file mode 100644 index 0000000000000..9ed3fd3d70f3c --- /dev/null +++ b/spec/requests/reactions_api_spec.rb @@ -0,0 +1,22 @@ +# http://localhost:3000/api/comments?a_id=23 +require "rails_helper" + +RSpec.describe "ArticlesApi", type: :request do + before do + @user = FactoryBot.create(:user) + @user.update(secret:"TEST_SECRET") + @user.add_role(:super_admin) + @article = FactoryBot.create(:article) + end + describe "POST /api/reactions" do + it "creates a new reactions" do + post "/api/reactions", params: {reactable_id: @article.id, reactable_type: "Article", category: "like", key: @user.secret} + expect(Reaction.last.reactable_id).to eq(@article.id) + end + it "rejects non-authorized users" do + @user.remove_role(:super_admin) + post "/api/reactions", params: {reactable_id: @article.id, reactable_type: "Article", category: "like", key: @user.secret} + expect(response).to have_http_status(422) + end + end +end diff --git a/spec/requests/reactions_create_spec.rb b/spec/requests/reactions_create_spec.rb new file mode 100644 index 0000000000000..459a455ab1f82 --- /dev/null +++ b/spec/requests/reactions_create_spec.rb @@ -0,0 +1,21 @@ +require "rails_helper" + +RSpec.describe "ReactionsCreate", type: :request do + let(:user) { create(:user) } + + before do + @article = create(:article, user_id: user.id) + sign_in user + end + + it "creates reaction" do + post "/reactions", params: {reactable_id: @article.id, reactable_type: "Article", category: "like"} + expect(Reaction.last.reactable_id).to eq(@article.id) + end + + it "destroys existing reaction" do + post "/reactions", params: {reactable_id: @article.id, reactable_type: "Article", category: "like"} + post "/reactions", params: {reactable_id: @article.id, reactable_type: "Article", category: "like"} + expect(Reaction.all.size).to eq(0) + end +end \ No newline at end of file diff --git a/spec/requests/reactions_get_spec.rb b/spec/requests/reactions_get_spec.rb new file mode 100644 index 0000000000000..8f40a0c1d8b7f --- /dev/null +++ b/spec/requests/reactions_get_spec.rb @@ -0,0 +1,18 @@ +require "rails_helper" + +RSpec.describe "ReactionsGet", type: :request do + describe "GET podcast episodes index" do + it "returns reaction counts for article" do + article = create(:article) + get "/reactions/logged_out_reaction_counts?article_id=#{article.id}" + expect(response.body).to include("article_reaction_counts") + end + it "renders page with proper sidebar" do + article = create(:article) + comment = create(:comment, commentable_id: article.id) + + get "/reactions/logged_out_reaction_counts?commentable_id=#{article.id}&commentable_type=Comment" + expect(response.body).to include("positive_reaction_counts") + end + end +end diff --git a/spec/requests/reading_list_index_spec.rb b/spec/requests/reading_list_index_spec.rb new file mode 100644 index 0000000000000..c6ab925d2388f --- /dev/null +++ b/spec/requests/reading_list_index_spec.rb @@ -0,0 +1,14 @@ +require "rails_helper" + +RSpec.describe "ReadingListIndex", type: :request do + before do + user = create(:user) + sign_in user + end + describe "GET reading list" do + it "returns reading list page" do + get "/readinglist" + expect(response.body).to include("My Reading List") + end + end +end diff --git a/spec/requests/rss_feed_spec.rb b/spec/requests/rss_feed_spec.rb new file mode 100644 index 0000000000000..934581b4bd1df --- /dev/null +++ b/spec/requests/rss_feed_spec.rb @@ -0,0 +1,25 @@ +require "rails_helper" + +RSpec.describe "RssFeed", type: :request do + before do + @user = FactoryBot.create(:user) + @organization = FactoryBot.create(:organization) + @article = FactoryBot.create(:article, user_id: @user.id, featured: true) + end + + describe "GET query page" do + it "renders feed" do + get "/feed" + expect(response.body).to include("https://dev.to") + end + it "renders user feed" do + get "/feed/#{@user.username}" + expect(response.body).to include("https://dev.to/#{@user.username}") + end + it "renders organization feed" do + get "/feed/#{@organization.slug}" + expect(response.body).to include("https://dev.to/#{@organization.slug}") + end + end + +end \ No newline at end of file diff --git a/spec/requests/stories_index_spec.rb b/spec/requests/stories_index_spec.rb new file mode 100644 index 0000000000000..ad7144fedba6f --- /dev/null +++ b/spec/requests/stories_index_spec.rb @@ -0,0 +1,36 @@ +require "rails_helper" + +RSpec.describe "StoriesIndex", type: :request do + describe "GET stories index" do + it "renders page with proper sidebar" do + get "/" + expect(response.body).to include("KEY LINKS") + end + end + describe "GET query page" do + it "renders page with proper header" do + get "/search?q=hello" + expect(response.body).to include("query-header-text") + end + end + describe "GET podcast index" do + it "renders page with proper header" do + podcast = create(:podcast) + get "/"+podcast.slug + expect(response.body).to include(podcast.title) + end + end + describe "GET tag index" do + it "renders page with proper header" do + tag = create(:tag) + get "/t/#{tag.name}" + expect(response.body).to include(tag.name) + end + it "renders tag after alias change" do + tag = create(:tag) + tag_2 = create(:tag, alias_for: tag.name) + get "/t/#{tag_2.name}" + expect(response.body).to redirect_to "/t/#{tag.name}" + end + end +end diff --git a/spec/requests/stories_show_spec.rb b/spec/requests/stories_show_spec.rb new file mode 100644 index 0000000000000..7ecd72ae02bf8 --- /dev/null +++ b/spec/requests/stories_show_spec.rb @@ -0,0 +1,66 @@ +require "rails_helper" + +RSpec.describe "StoriesShow", type: :request do + before do + @user = FactoryBot.create(:user) + @article = FactoryBot.create(:article, user_id: @user.id) + end + + describe "GET /user" do + it "renders to appropriate page" do + get @article.path + expect(response.body).to include CGI.escapeHTML(@article.title) + end + it "renders to appropriate if article belongs to org" do + @article.update(organization_id: create(:organization).id) + get @article.path + expect(response.body).to include CGI.escapeHTML(@article.title) + end + it "redirects to appropriate if article belongs to org and user visits user version" do + @article.update(organization_id: create(:organization).id) + get "/#{@article.user.username}/#{@article.slug}" + expect(response.body).to redirect_to @article.path + end + it "renders to appropriate page if user changes username" do + old_username = @user.username + @user.update(username: "new_hotness_#{rand(10000)}") + get "/#{old_username}/#{@article.slug}" + expect(response.body).to redirect_to("/#{@user.username}/#{@article.slug}") + end + it "renders to appropriate page if user changes username twice" do + old_username = @user.username + @user.update(username: "new_hotness_#{rand(10000)}") + @user.update(username: "new_new_username_#{rand(10000)}") + get "/#{old_username}/#{@article.slug}" + expect(response.body).to redirect_to("/#{@user.username}/#{@article.slug}") + end + it "renders to appropriate page if user changes username twice and go to middle username" do + old_username = @user.username + @user.update(username: "new_hotness_#{rand(10000)}") + middle_username = @user.username + @user.update(username: "new_new_username_#{rand(10000)}") + get "/#{middle_username}/#{@article.slug}" + expect(response.body).to redirect_to("/#{@user.username}/#{@article.slug}") + end + it "renders second and third users if present" do + user_2 = create(:user) + user_3 = create(:user) + @article.update(second_user_id: user_2.id, third_user_id: user_3.id) + get @article.path + expect(response.body).to include "with " + end + it "renders articles of long length without breaking" do + # This is a pretty weak test, just to exercise different lengths with no breakage + @article.title = (0...75).map { (65 + rand(26)).chr }.join + @article.save + get @article.path + @article.title = (0...100).map { (65 + rand(26)).chr }.join + @article.save + get @article.path + @article.title = (0...118).map { (65 + rand(26)).chr }.join + @article.save + get @article.path + expect(response.body).to include "title" + end + end +end diff --git a/spec/requests/stripe_active_cards_spec.rb b/spec/requests/stripe_active_cards_spec.rb new file mode 100644 index 0000000000000..880527c2937d2 --- /dev/null +++ b/spec/requests/stripe_active_cards_spec.rb @@ -0,0 +1,93 @@ +require "rails_helper" + +RSpec.describe "StripeSubscriptions", type: :request do + let(:user) { create(:user) } + let(:stripe_helper) { StripeMock.create_test_helper } + let(:stripe_source_token) { stripe_helper.generate_card_token } + + before do + StripeMock.start + sign_in user + end + + after { StripeMock.stop } + + def valid_instance(user = user_one, amount = 1200) + customer = Stripe::Customer.create( + email: "stripe_tester@dev.to", + source: stripe_helper.generate_card_token, + ) + user.update(stripe_id_code: customer.id) + MembershipService.new(Stripe::Customer.retrieve(user.stripe_id_code), user, amount) + end + + + describe "POST StripeActiveCards#create" do + it "successfully adds a card to the correct user" do + post "/stripe_active_cards", params: { stripe_token: stripe_helper.generate_card_token } + card = Stripe::Customer.retrieve(user.stripe_id_code).sources.first + expect(card.is_a?(Stripe::Card)).to eq(true) + end + end + + describe "PATCH StripeActiveCards#update" do + before do + post "/stripe_subscriptions", params: { amount: "12", + stripe_token: stripe_helper.generate_card_token } + end + + it "properly updates the default card" do + first_card = Stripe::Customer.retrieve(user.stripe_id_code).sources.first + put "/stripe_active_cards/#{first_card.id}" + source = Stripe::Customer.retrieve(user.stripe_id_code).default_source + expect(source).to eq(first_card.id) + end + end + + describe "DESTROY StripeActiveCards#destroy" do + context "when a valid request is made" do + before do + valid_instance(user) + customer = Stripe::Customer.retrieve(user.stripe_id_code) + original_card_id = customer.sources.all(object: "card").first.id + delete "/stripe_active_cards/#{original_card_id}" + end + + it "redirects to billing page" do + expect(response).to redirect_to("/settings/billing") + end + + it "provides the proper flash notice" do + expect(flash[:notice]).to eq("Your card has been successfully removed.") + end + + it "successfully deletes the card" do + customer = Stripe::Customer.retrieve(user.stripe_id_code) + expect(customer.sources.all.count).to eq(0) + end + end + + context "when a user only has one card and one subscription" do + before do + valid_instance(user) + post "/stripe_subscriptions", params: { amount: 12 } + customer = Stripe::Customer.retrieve(user.stripe_id_code) + original_card_id = customer.sources.all(object: "card").first.id + delete "/stripe_active_cards/#{original_card_id}" + end + + it "provides the proper flash error" do + expect(flash[:error]).to include("Can't remove card if you have an active membership.") + end + + it "redirects to billing page" do + expect(response).to redirect_to("/settings/billing") + end + + it "does not delete the card" do + customer = Stripe::Customer.retrieve(user.stripe_id_code) + expect(customer.sources.all.count).to eq(1) + end + end + end +end diff --git a/spec/requests/stripe_subscriptions_spec.rb b/spec/requests/stripe_subscriptions_spec.rb new file mode 100644 index 0000000000000..8cba154277bdb --- /dev/null +++ b/spec/requests/stripe_subscriptions_spec.rb @@ -0,0 +1,172 @@ +require "rails_helper" + +RSpec.describe "StripeSubscriptions", type: :request do + let(:user) { create(:user, :super_admin) } + let(:mock_instance) { instance_double(MembershipService) } + let(:stripe_helper) { StripeMock.create_test_helper } + + before do + StripeMock.start + sign_in user + end + + after { StripeMock.stop } + + describe "POST StripeSubscriptions#create" do + context "when a valid request is made" do + # Andy: Amount is a string here because Stripe returns a string when form is submitted + before do + post "/stripe_subscriptions", params: { + amount: "12", + stripe_token: stripe_helper.generate_card_token, + } + end + + it "creates a customer in Stripe and assigns it to the correct user" do + customer = Stripe::Customer.retrieve(user.stripe_id_code) + expect(customer.is_a?(Stripe::Customer)).to eq(true) + end + + it "assigns the proper role based on the amount" do + expect(user.roles.last.name).to eq("level_2_member") + end + + it "updates the user's monthly_dues with the proper amount" do + expect(user.monthly_dues).to eq(1200) + end + + it "redirects to /settings/membership" do + expect(response.body).to include("Thank you so much") + end + end + + it "can't accept anything less than $1" do + post "/stripe_subscriptions", params: { + amount: rand(100) / 100, + stripe_token: stripe_helper.generate_card_token, + } + expect(response).to redirect_to("/membership") + user.reload + expect(user.stripe_id_code).to eq(nil) + expect(user.roles.count).to eq(1) + end + + # only one type of invalid request right now + context "when an invalid request is made" do + it "redirects to /enter if there's no current_user" do + sign_out user + post "/stripe_subscriptions", params: { amount: "1" } + expect(response).to redirect_to("/enter") + end + + it "errors if amount is less than 0" do + post "/stripe_subscriptions", params: { amount: "-1" } + expect(response).to redirect_to("/membership") + end + + it "errors if amount is 0" do + post "/stripe_subscriptions", params: { amount: "0" } + expect(response).to redirect_to("/membership") + end + + it "denies requests without credit card" do + post "/stripe_subscriptions", params: { amount: "25" } + expect(response).to redirect_to("/membership") + # user.reload + # expect(user.stripe_id_code).to be(nil) + end + end + + it "handles errors if MembershipService#subscribe_customer fails" do + allow(MembershipService).to receive(:new).and_return(mock_instance) + allow(mock_instance).to receive(:subscribe_customer).and_return(nil) + post "/stripe_subscriptions", params: { amount: "1" } + expect(response).to redirect_to("/membership") + end + end + + describe "PUT StripeSubscriptions#update" do + before do + user.add_role(:level_2_member) + end + + context "when there's a subscription for update" do + before do + post "/stripe_subscriptions", params: { + amount: "12", + stripe_token: stripe_helper.generate_card_token, + } + end + + it "assigns the proper role with a new subscription" do + put "/stripe_subscriptions/current_user", params: { + amount: "30", + stripe_token: stripe_helper.generate_card_token, + } + expect(user.has_role?("level_4_member")).to eq(true) + end + + it "updates the user's monthly_dues with the proper amount" do + put "/stripe_subscriptions/current_user", params: { + amount: "30", + stripe_token: stripe_helper.generate_card_token, + } + user.reload + expect(user.monthly_dues).to eq(3000) + end + + it "handles errors if MembershipService#update_subscription fails" do + allow(MembershipService).to receive(:new).and_return(mock_instance) + allow(mock_instance).to receive(:update_subscription).and_return(nil) + put "/stripe_subscriptions/current_user", params: { + amount: "30", + stripe_token: stripe_helper.generate_card_token, + } + expect(response).to redirect_to("/settings/membership") + end + + it "can't accept anything less than $1" do + put "/stripe_subscriptions/current_user", params: { amount: rand(100) / 100 } + expect(response).to redirect_to("/settings/billing") + user.reload + expect(user.stripe_id_code).not_to eq(nil) + expect(user.has_role?(:level_1_member)).to eq(false) + end + + end + end + + describe "DESTROY StripeSubscriptions#destroy" do + before do + user.add_role(:level_2_member) + post "/stripe_subscriptions", params: { + amount: "12", + stripe_token: stripe_helper.generate_card_token, + } + end + + context "when a valid request is made" do + it "deletes membership" do + delete "/stripe_subscriptions/current_user", params: { + stripe_token: stripe_helper.generate_card_token, + } + expect(user.has_role?("level_2_member")).to eq(false) + end + + it "returns user monthly dues to zero" do + delete "/stripe_subscriptions/current_user", params: { + stripe_token: stripe_helper.generate_card_token, + } + user.reload + expect(user.monthly_dues).to eq(0) + end + + it "handles errors if MembershipService#unsubscribe_customer fails" do + allow(MembershipService).to receive(:new).and_return(mock_instance) + allow(mock_instance).to receive(:unsubscribe_customer).and_return(nil) + delete "/stripe_subscriptions/current_user" + expect(response).to redirect_to("/settings") + end + end + end +end diff --git a/spec/requests/top_tags_spec.rb b/spec/requests/top_tags_spec.rb new file mode 100644 index 0000000000000..633e016087806 --- /dev/null +++ b/spec/requests/top_tags_spec.rb @@ -0,0 +1,10 @@ +require "rails_helper" + +RSpec.describe "ArticlesApi", type: :request do + describe "GET /tags" do + it "returns proper page" do + get "/tags" + expect(response.body).to include("Top 100 Tags") + end + end +end diff --git a/spec/requests/user_organization_spec.rb b/spec/requests/user_organization_spec.rb new file mode 100644 index 0000000000000..10eb98cd53f3a --- /dev/null +++ b/spec/requests/user_organization_spec.rb @@ -0,0 +1,50 @@ +require "rails_helper" + +RSpec.describe "UserOrganization", type: :request do + let(:user) { create(:user) } + + before do + @organization = create(:organization, secret: "SECRET") + sign_in user + end + + it "joins org with proper secret" do + post "/users/join_org", params: {org_secret: "SECRET"} + expect(user.organization_id).to eq(@organization.id) + end + + it "returns 404 if secret is wrong" do + expect { post "/users/join_org", params: {org_secret: "NOT SECRET"} }.to raise_error ActionController::RoutingError + end + + it "leaves org" do + post "/users/leave_org" + expect(user.organization_id).to eq(nil) + end + + it "adds org admin" do + user.update(organization_id: @organization.id, org_admin: true) + user_2 = create(:user, organization_id: @organization.id) + post "/users/add_org_admin", params: {user_id: user_2.id} + expect(User.last.org_admin).to eq(true) + end + + it "raises if user not org_admin" do + user.update(organization_id: @organization.id) + user_2 = create(:user, organization_id: @organization.id, org_admin: true) + expect { post "/users/add_org_admin", params: {user_id: user_2.id} }.to raise_error RuntimeError + end + + it "removes org admin" do + user.update(organization_id: @organization.id, org_admin: true) + user_2 = create(:user, organization_id: @organization.id, org_admin: true) + post "/users/remove_org_admin", params: {user_id: user_2.id} + expect(User.last.org_admin).to eq(false) + end + + it "raises if user not org_admin" do + user.update(organization_id: @organization.id) + user_2 = create(:user, organization_id: @organization.id, org_admin: true) + expect { post "/users/remove_org_admin", params: {user_id: user_2.id} }.to raise_error RuntimeError + end +end diff --git a/spec/requests/user_profile_spec.rb b/spec/requests/user_profile_spec.rb new file mode 100644 index 0000000000000..48c135f74e416 --- /dev/null +++ b/spec/requests/user_profile_spec.rb @@ -0,0 +1,55 @@ +require "rails_helper" + +RSpec.describe "UserProfiles", type: :request do + let(:user) { create(:user) } + let(:organization) { create(:organization) } + + describe "GET /user" do + it "renders to appropriate page" do + get "/#{user.username}" + expect(response.body).to include CGI.escapeHTML(user.name) + end + + it "renders profile page of user after changed username" do + old_username = user.username + user.update(username: "new_username_yo_#{rand(10000)}") + get "/#{old_username}" + expect(response).to redirect_to("/#{user.username}") + end + + it "renders profile page of user after two changed usernames" do + old_username = user.username + user.update(username: "new_hotness_#{rand(10000)}") + user.update(username: "new_new_username_#{rand(10000)}") + get "/#{old_username}" + expect(response).to redirect_to("/#{user.username}") + end + + it "renders organization page if org" do + get organization.path + expect(response.body).to include CGI.escapeHTML(organization.name) + end + end + + describe "GET /user" do + it "renders to appropriate page" do + user = create(:user) + get "/#{user.username}" + expect(response.body).to include CGI.escapeHTML(user.name) + end + end + + describe "redirect to moderation" do + it "redirects to admin" do + user = create(:user) + get "/#{user.username}/admin" + expect(response.body).to redirect_to "/admin/users/#{user.id}/edit" + end + + it "redirects to moderate" do + user = create(:user) + get "/#{user.username}/moderate" + expect(response.body).to redirect_to "/internal/users/#{user.id}/edit" + end + end +end diff --git a/spec/requests/user_settings_spec.rb b/spec/requests/user_settings_spec.rb new file mode 100644 index 0000000000000..e7bcf5821ee52 --- /dev/null +++ b/spec/requests/user_settings_spec.rb @@ -0,0 +1,19 @@ +require "rails_helper" + +RSpec.describe "UserSettings", type: :request do + before do + @user = create(:user) + login_as @user + end + describe "PUT /update/:id" do + it "updates summary" do + put "/users/#{@user.id}", params: { user: {tab: "profile", summary: "Hello new summary"} } + expect(@user.summary).to eq("Hello new summary") + end + + it "updates username to too short username" do + put "/users/#{@user.id}", params: { user: {tab: "profile", username: "h"} } + expect(response.body).to include("Username is too short") + end + end +end diff --git a/spec/routing/all_routes_spec.rb b/spec/routing/all_routes_spec.rb new file mode 100644 index 0000000000000..ac4dddffc6dbf --- /dev/null +++ b/spec/routing/all_routes_spec.rb @@ -0,0 +1,32 @@ + +require 'rails_helper' + +RSpec.describe "all routes", type: :routing do + let(:podcast) { create(:podcast) } + let(:user) { create(:user) } + + it "renders a podcast index if there is a podcast with the slug successfully" do + expect(get: "/#{podcast.slug}").to route_to( + controller: "stories", + action: "index", + username: podcast.slug, + ) + end + + it "renders a user index if there is a user with the username successfully" do + expect(get: "/#{user.username}").to route_to( + controller: "stories", + action: "index", + username: user.username, + ) + end + + it "renders a user's story successfully" do + expect(get: "/ben/this-is-a-slug").to route_to( + controller: "stories", + action: "show", + slug: "this-is-a-slug", + username: "ben", + ) + end +end diff --git a/spec/services/membership_service_spec.rb b/spec/services/membership_service_spec.rb new file mode 100644 index 0000000000000..3a19fd59cc7f2 --- /dev/null +++ b/spec/services/membership_service_spec.rb @@ -0,0 +1,99 @@ +require "rails_helper" + +RSpec.describe MembershipService do + let(:user_one) { create(:user, :super_admin) } + let(:user_two) { create(:user, :super_admin) } + let(:stripe_helper) { StripeMock.create_test_helper } + let(:stripe_source_token) { stripe_helper.generate_card_token } + + before { StripeMock.start } + after { StripeMock.stop } + + def valid_instance(user = user_one, amount = 1200) + customer = Stripe::Customer.create( + email: "stripe_tester@dev.to", + source: stripe_helper.generate_card_token, + ) + user.update(stripe_id_code: customer.id) + described_class.new(Stripe::Customer.retrieve(user.stripe_id_code), user, amount) + end + + describe "#find_or_create_plan" do + it "creates a new plan if there is no previous plan" do + expect(valid_instance.plan).to eq(Stripe::Plan.all.first) + end + + # it "uses an existing plan if the amount has been previously used" do + # plan = stripe_helper.create_plan(id: "membership-1200", amount: 1200) + # expect(valid_instance.plan).to eq(plan) + # end + end + + describe "#initialize" do + context "when evoked on a user that already has subscription" do + it "returns an object with subscription" do + customer = Stripe::Customer.create( + email: "stripe_tester@dev.to", + source: stripe_source_token, + ) + user_one.update(stripe_id_code: customer.id) + plan = Stripe::Plan.create( + id: "membership-#{1200}", + currency: "usd", + interval: "month", + name: "Monthly DEV Membership", + amount: 1200, + statement_descriptor: "DEV membership", + ) + Stripe::Subscription.create(customer: customer.id, plan: plan.id) + test = described_class.new(Stripe::Customer.retrieve(user_one.stripe_id_code), user_one, 1200) + expect(test.subscription).not_to be(nil) + end + end + end + + describe "#assign_membership_role" do + context "when amount is 25 dollars" do + it "adds level_3_member role" do + valid_instance(user_one, 2500).subscribe_customer + expect(user_one.has_role?(:level_3_member)).to eq(true) + end + end + + context "when amount is 10 dollars" do + it "adds level_2_member role" do + valid_instance(user_one, 1000).subscribe_customer + expect(user_one.has_role?(:level_2_member)).to eq(true) + end + end + + context "when amount is 1 dollar" do + it "adds level_1_member role" do + valid_instance(user_one, 100).subscribe_customer + expect(user_one.has_role?(:level_1_member)).to eq(true) + end + end + end + + describe "#find_subscription" do + it "returns user's subscription" do + new_membership = valid_instance + new_membership.subscribe_customer + test = described_class.new(Stripe::Customer.retrieve(user_one.stripe_id_code), user_one, 1200) + expect(test.subscription).not_to eq(nil) + end + + it "returns nil if there's no subscription" do + expect(valid_instance.subscription).to eq(nil) + end + end + + describe "#create_subscription" do + it "creates a subscription for a user" do + membership = valid_instance + membership.subscribe_customer + test = described_class.new(Stripe::Customer.retrieve(user_one.stripe_id_code), user_one, 1200) + expect(test.subscription).not_to eq(nil) + end + end +end diff --git a/spec/services/read_notifications_service_spec.rb b/spec/services/read_notifications_service_spec.rb new file mode 100644 index 0000000000000..ea5020f7818bd --- /dev/null +++ b/spec/services/read_notifications_service_spec.rb @@ -0,0 +1,15 @@ +require "rails_helper" + +RSpec.describe ReadNotificationsService do + let(:user) { create(:user) } + let(:mock) { instance_double(NotificationCounter) } + + before do + allow(NotificationCounter).to receive(:new) { mock } + allow(mock).to receive(:set_to_zero).and_return(true) + end + + it "sends to buffer" do + expect(described_class.new(user).mark_as_read).to eq("read") + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000000000..9f7b00b4058c6 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,108 @@ +require "simplecov" + +# This file was generated by the `rails generate rspec:install` command. Conventionally, all +# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. +# The generated `.rspec` file contains `--require spec_helper` which will cause +# this file to always be loaded, without a need to explicitly require it in any +# files. +# +# Given that it is always loaded, you are encouraged to keep this file as +# light-weight as possible. Requiring heavyweight dependencies from this file +# will add to the boot time of your test suite on EVERY test run, even for an +# individual file that may not need all of that loaded. Instead, consider making +# a separate helper file that requires the additional dependencies and performs +# the additional setup, and require it from the spec files that actually need +# it. +# +# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration + +# This makes Rspec fail if there's any output +RSpec::Matchers.define_negated_matcher :avoid_outputting, :output +############ +RSpec.configure do |config| + # makes example fail if there's any output + # config.around do |ex| + # expect(&ex).to avoid_outputting.to_stdout.and avoid_outputting.to_stderr + # end + + # rspec-expectations config goes here. You can use an alternate + # assertion/expectation library such as wrong or the stdlib/minitest + # assertions if you prefer. + config.expect_with :rspec do |expectations| + # This option will default to `true` in RSpec 4. It makes the `description` + # and `failure_message` of custom matchers include text for helper methods + # defined using `chain`, e.g.: + # be_bigger_than(2).and_smaller_than(4).description + # # => "be bigger than 2 and smaller than 4" + # ...rather than: + # # => "be bigger than 2" + expectations.include_chain_clauses_in_custom_matcher_descriptions = true + end + + # rspec-mocks config goes here. You can use an alternate test double + # library (such as bogus or mocha) by changing the `mock_with` option here. + config.mock_with :rspec do |mocks| + # Prevents you from mocking or stubbing a method that does not exist on + # a real object. This is generally recommended, and will default to + # `true` in RSpec 4. + mocks.verify_partial_doubles = true + end + + # This option will default to `:apply_to_host_groups` in RSpec 4 (and will + # have no way to turn it off -- the option exists only for backwards + # compatibility in RSpec 3). It causes shared context metadata to be + # inherited by the metadata hash of host groups and examples, rather than + # triggering implicit auto-inclusion in groups with matching metadata. + config.shared_context_metadata_behavior = :apply_to_host_groups + +# The settings below are suggested to provide a good initial experience +# with RSpec, but feel free to customize to your heart's content. + + # This allows you to limit a spec run to individual examples or groups + # you care about by tagging them with `:focus` metadata. When nothing + # is tagged with `:focus`, all examples get run. RSpec also provides + # aliases for `it`, `describe`, and `context` that include `:focus` + # metadata: `fit`, `fdescribe` and `fcontext`, respectively. + config.filter_run_when_matching :focus + +=begin + # Allows RSpec to persist some state between runs in order to support + # the `--only-failures` and `--next-failure` CLI options. We recommend + # you configure your source control system to ignore this file. + config.example_status_persistence_file_path = "spec/examples.txt" + + # Limits the available syntax to the non-monkey patched syntax that is + # recommended. For more details, see: + # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ + # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ + # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode + config.disable_monkey_patching! + + # Many RSpec users commonly either run the entire suite or an individual + # file, and it's useful to allow more verbose output when running an + # individual spec file. + if config.files_to_run.one? + # Use the documentation formatter for detailed output, + # unless a formatter has already been configured + # (e.g. via a command-line flag). + config.default_formatter = "doc" + end + + # Print the 10 slowest examples and example groups at the + # end of the spec run, to help surface which specs are running + # particularly slow. + config.profile_examples = 10 + + # Run specs in random order to surface order dependencies. If you find an + # order dependency and want to debug it, you can fix the order by providing + # the seed, which is printed after each run. + # --seed 1234 + config.order = :random + + # Seed global randomization in this process using the `--seed` CLI option. + # Setting this allows you to use `--seed` to deterministically reproduce + # test failures related to randomization by passing the same `--seed` value + # as the one that triggered the failure. + Kernel.srand config.seed +=end +end diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb new file mode 100644 index 0000000000000..e0dbc9aa84c78 --- /dev/null +++ b/spec/support/database_cleaner.rb @@ -0,0 +1,21 @@ +RSpec.configure do |config| + config.before(:suite) do + DatabaseCleaner.clean_with(:truncation) + end + + config.before(:each) do + DatabaseCleaner.strategy = :transaction + end + + config.before(:each, js: true) do + DatabaseCleaner.strategy = :truncation + end + + config.before(:each) do + DatabaseCleaner.start + end + + config.after(:each) do + DatabaseCleaner.clean + end +end diff --git a/spec/support/fake_stream.rb b/spec/support/fake_stream.rb new file mode 100644 index 0000000000000..92b18b722a0c4 --- /dev/null +++ b/spec/support/fake_stream.rb @@ -0,0 +1,16 @@ +# spec/support/fake_stream.rb +require 'sinatra/base' + +class FakeStream < Sinatra::Base + get '*' do + json_response 200, 'stream_feed_1.json' + end + + private + + def json_response(response_code, file_name) + content_type :json + status response_code + File.open(File.dirname(__FILE__) + '/fixtures/' + file_name, 'rb').read + end +end diff --git a/spec/support/fake_twitter.rb b/spec/support/fake_twitter.rb new file mode 100644 index 0000000000000..59a9911067d7e --- /dev/null +++ b/spec/support/fake_twitter.rb @@ -0,0 +1,20 @@ +require 'sinatra/base' + +class FakeTwitter < Sinatra::Base + post '/oauth2/token' do + content_type :json + status 200 + end + + get '/1.1/statuses/show/:tweet_id' do + json_response 200, 'tweet_1.json' + end + + private + + def json_response(response_code, file_name) + content_type :json + status response_code + File.open(File.dirname(__FILE__) + '/fixtures/' + file_name, 'rb').read + end +end diff --git a/spec/support/feature_helpers.rb b/spec/support/feature_helpers.rb new file mode 100644 index 0000000000000..a49d60754904f --- /dev/null +++ b/spec/support/feature_helpers.rb @@ -0,0 +1,5 @@ +module FeatureHelpers + def login_via_session_as(user) + page.set_rack_session('warden.user.user.key' => User.serialize_into_session(user)) + end +end diff --git a/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html b/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html new file mode 100644 index 0000000000000..d4fc95ffdbe1a --- /dev/null +++ b/spec/support/fixtures/approvals/codepen_liquid_tag.approved.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/spec/support/fixtures/approvals/github_liquid_tag_default.approved.html b/spec/support/fixtures/approvals/github_liquid_tag_default.approved.html new file mode 100644 index 0000000000000..16b033ba954bc --- /dev/null +++ b/spec/support/fixtures/approvals/github_liquid_tag_default.approved.html @@ -0,0 +1,18 @@ + + + +

[Feature] granular forceUpdate #9218

thysultan avatar
thysultan commented on Mar 19, 2017

When forceUpdate is called on a long list at the very least the whole list must be traversed. For example with the following list arr = [1, 2, 3, 4, 5, 6] and if we where to push 7 arr.push(7) the reconciler will go through elements 1 - 6 and then add a 7 at the end of that list. The suggestion to add support for the following forceUpdate signature.

+
forceUpdate(a: {function|number}, b: number?)
+

Where when passed as an integer a is the start index and b the number of items to traverse similar to how str.substr() works.

+

When the function encounters a number as the a argument it changes the start index of where to start when reconciling the components children and when the b argument is set it changes the end index of where to end the traversal of the components children. So with the above mentioned example if i wanted to optimize the reconciliation process for append updates i could do the following.

+
this.forceUpdate(arr.length);
+

and to target an update in the middle of the list of up to 3 items.

+
this.forceUpdate(arr.length/2, 3);
+

This will allow for very precise O(1) updates when you know ahead of time how the data will change.

+

Possible setState counter-part.

+
setState(a: {function|Object}, b: (function|number)?, c: {number})
+
+// usage
+setState({arr: [...]}, this.state.arr.length);
+ + diff --git a/spec/support/fixtures/approvals/user_preview_article_body.approved.html b/spec/support/fixtures/approvals/user_preview_article_body.approved.html new file mode 100644 index 0000000000000..9dc55cf1007cb --- /dev/null +++ b/spec/support/fixtures/approvals/user_preview_article_body.approved.html @@ -0,0 +1,84 @@ + + +

h1

+ +

h2

+ +

h3

+ +

h4

+ +
h5
+ +
h6
+ +

italic italic
bold bold
You can combine them
asterisks and underscores

+ +
  • Item 1
  • +
  • Item 2 + +
    • Item 2a
    • +
  • +
  1. Item 1
  2. +
  3. Item 2 + +
    1. Item 2a
    2. +
  4. +

GitHub Logo
+Format: Alt Text

+ +
  1. +

    Line break in ul/ol spacing test

    + +
    • TEST1 + +
      • TEST1.1 + +
        • TEST1.1.1
        • +
        • TESET1.1.3
        • +
      • +
    • +
  2. +
  3. +

    Line break in ul/ol spacing test 2

    + +
    • ITEM 1
    • +
    • ITEM 2
    • +
    • ITEM 3
    • +
  4. +

http://github.com
GitHub

+ +

As Kanye West said:

+ +
+

We're living the future so
+the present is our past.

+
+ +

I think you should use an <addr> element here instead.

+ + + +
function fancyAlert(arg) {
+  if(arg) {
+    $.facebox({div:'#foo'})
+  }
+}
+
+ + + +
  • [x] @mentions, #refs, links, formatting, and tags supported
  • +
  • [x] list syntax required (any unordered or ordered list supported)
  • +
  • [x] this is a complete item
  • +
  • [ ] this is an incomplete item
  • +
+ + + + + +
First HeaderSecond Header
Content from cell 1Content from cell 2
Content in the first columnContent in the second column
+ +

this

+ diff --git a/spec/support/fixtures/approvals/user_submit_article.approved.html b/spec/support/fixtures/approvals/user_submit_article.approved.html new file mode 100644 index 0000000000000..13fa1791fa7d2 --- /dev/null +++ b/spec/support/fixtures/approvals/user_submit_article.approved.html @@ -0,0 +1 @@ + diff --git a/spec/support/fixtures/github_issue.json b/spec/support/fixtures/github_issue.json new file mode 100644 index 0000000000000..0002ac7c2e73f --- /dev/null +++ b/spec/support/fixtures/github_issue.json @@ -0,0 +1,98 @@ +{"url": "https://api.github.com/repos/thepracticaldev/dev.to/issues/9", +"repository_url": "https://api.github.com/repos/thepracticaldev/dev.to", +"labels_url": "https://api.github.com/repos/thepracticaldev/dev.to/issues/9/labels{/name}", +"comments_url": "https://api.github.com/repos/thepracticaldev/dev.to/issues/9/comments", +"events_url": "https://api.github.com/repos/thepracticaldev/dev.to/issues/9/events", +"html_url": "https://github.com/thepracticaldev/dev.to/issues/9", +"id": 195721413, +"number": 9, +"title": "Interactive code snippets", +"user": { +"login": "viebel", +"id": 955710, +"avatar_url": "https://avatars1.githubusercontent.com/u/955710?v=4", +"gravatar_id": "", +"url": "https://api.github.com/users/viebel", +"html_url": "https://github.com/viebel", +"followers_url": "https://api.github.com/users/viebel/followers", +"following_url": "https://api.github.com/users/viebel/following{/other_user}", +"gists_url": "https://api.github.com/users/viebel/gists{/gist_id}", +"starred_url": "https://api.github.com/users/viebel/starred{/owner}{/repo}", +"subscriptions_url": "https://api.github.com/users/viebel/subscriptions", +"organizations_url": "https://api.github.com/users/viebel/orgs", +"repos_url": "https://api.github.com/users/viebel/repos", +"events_url": "https://api.github.com/users/viebel/events{/privacy}", +"received_events_url": "https://api.github.com/users/viebel/received_events", +"type": "User", +"site_admin": false +}, +"labels": [ ], +"state": "closed", +"locked": false, +"assignee": { +"login": "benhalpern", +"id": 3102842, +"avatar_url": "https://avatars0.githubusercontent.com/u/3102842?v=4", +"gravatar_id": "", +"url": "https://api.github.com/users/benhalpern", +"html_url": "https://github.com/benhalpern", +"followers_url": "https://api.github.com/users/benhalpern/followers", +"following_url": "https://api.github.com/users/benhalpern/following{/other_user}", +"gists_url": "https://api.github.com/users/benhalpern/gists{/gist_id}", +"starred_url": "https://api.github.com/users/benhalpern/starred{/owner}{/repo}", +"subscriptions_url": "https://api.github.com/users/benhalpern/subscriptions", +"organizations_url": "https://api.github.com/users/benhalpern/orgs", +"repos_url": "https://api.github.com/users/benhalpern/repos", +"events_url": "https://api.github.com/users/benhalpern/events{/privacy}", +"received_events_url": "https://api.github.com/users/benhalpern/received_events", +"type": "User", +"site_admin": false +}, +"assignees": [ +{ +"login": "benhalpern", +"id": 3102842, +"avatar_url": "https://avatars0.githubusercontent.com/u/3102842?v=4", +"gravatar_id": "", +"url": "https://api.github.com/users/benhalpern", +"html_url": "https://github.com/benhalpern", +"followers_url": "https://api.github.com/users/benhalpern/followers", +"following_url": "https://api.github.com/users/benhalpern/following{/other_user}", +"gists_url": "https://api.github.com/users/benhalpern/gists{/gist_id}", +"starred_url": "https://api.github.com/users/benhalpern/starred{/owner}{/repo}", +"subscriptions_url": "https://api.github.com/users/benhalpern/subscriptions", +"organizations_url": "https://api.github.com/users/benhalpern/orgs", +"repos_url": "https://api.github.com/users/benhalpern/repos", +"events_url": "https://api.github.com/users/benhalpern/events{/privacy}", +"received_events_url": "https://api.github.com/users/benhalpern/received_events", +"type": "User", +"site_admin": false +} +], +"milestone": null, +"comments": 24, +"created_at": "2016-12-15T05:40:09Z", +"updated_at": "2017-10-18T18:44:45Z", +"closed_at": "2017-10-18T18:44:45Z", +"author_association": "NONE", +"body": "`Dev.to` looks awesome. Congrats! I was thinking of an integration of the [klipse plugin](https://github.com/viebel/klipse) into dev.to to allow blog writers to have interactive code snippets in javascript, ruby, python, scheme or ocaml. And write cool blog posts like: - http://blog.jrheard.com/procedural-dungeon-generation-drunkards-walk-in-clojurescript - http://exupero.org/hazard/post/islands/ - http://untangled.io/immutable-js-an-introduction-with-examples-written-for-humans/ What do you say? ", +"closed_by": { +"login": "benhalpern", +"id": 3102842, +"avatar_url": "https://avatars0.githubusercontent.com/u/3102842?v=4", +"gravatar_id": "", +"url": "https://api.github.com/users/benhalpern", +"html_url": "https://github.com/benhalpern", +"followers_url": "https://api.github.com/users/benhalpern/followers", +"following_url": "https://api.github.com/users/benhalpern/following{/other_user}", +"gists_url": "https://api.github.com/users/benhalpern/gists{/gist_id}", +"starred_url": "https://api.github.com/users/benhalpern/starred{/owner}{/repo}", +"subscriptions_url": "https://api.github.com/users/benhalpern/subscriptions", +"organizations_url": "https://api.github.com/users/benhalpern/orgs", +"repos_url": "https://api.github.com/users/benhalpern/repos", +"events_url": "https://api.github.com/users/benhalpern/events{/privacy}", +"received_events_url": "https://api.github.com/users/benhalpern/received_events", +"type": "User", +"site_admin": false +} +} \ No newline at end of file diff --git a/spec/support/fixtures/images/bad-image.jpg b/spec/support/fixtures/images/bad-image.jpg new file mode 100644 index 0000000000000..d889b81eeda01 Binary files /dev/null and b/spec/support/fixtures/images/bad-image.jpg differ diff --git a/spec/support/fixtures/images/image1.jpeg b/spec/support/fixtures/images/image1.jpeg new file mode 100644 index 0000000000000..37ef9c5b2995c Binary files /dev/null and b/spec/support/fixtures/images/image1.jpeg differ diff --git a/spec/support/fixtures/rss-example.xml b/spec/support/fixtures/rss-example.xml new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/spec/support/fixtures/sample_article.txt b/spec/support/fixtures/sample_article.txt new file mode 100644 index 0000000000000..c10cbec467cdc --- /dev/null +++ b/spec/support/fixtures/sample_article.txt @@ -0,0 +1,8 @@ +--- +title: Sample Article +published: false +description: this is a sample article +tags: test +--- + +Suspendisse ac lobortis velit, a feugiat sapien. Aenean condimentum, nulla at fermentum sagittis, tellus nisi suscipit velit, vel sollicitudin odio ligula a odio. Integer eget efficitur massa, in sodales velit. Nunc fermentum consequat scelerisque. Morbi elementum tristique faucibus. Nulla vel lectus non justo euismod varius. Vivamus id nisl sit amet odio tincidunt fringilla. Pellentesque odio odio, vulputate in risus eu, lacinia porttitor lorem. Nunc posuere tempus est, imperdiet suscipit odio maximus id. Nam eget feugiat magna. diff --git a/spec/support/fixtures/sample_article_template.txt b/spec/support/fixtures/sample_article_template.txt new file mode 100644 index 0000000000000..b5a659df9025b --- /dev/null +++ b/spec/support/fixtures/sample_article_template.txt @@ -0,0 +1,8 @@ +--- +title: Sample Article Template +published: false +description: this is a sample article +tags: test +--- + + diff --git a/spec/support/fixtures/sample_article_template_spec.txt b/spec/support/fixtures/sample_article_template_spec.txt new file mode 100644 index 0000000000000..b6758ab885400 --- /dev/null +++ b/spec/support/fixtures/sample_article_template_spec.txt @@ -0,0 +1,75 @@ +--- +title: This is a test +published: false +description: +tags: +--- + +# h1 +## h2 +### h3 +#### h4 +##### h5 +###### h6 + +*italic* _italic_ +**bold** __bold__ +_You **can** combine them_ +**asterisks and _underscores_** + +* Item 1 +* Item 2 + * Item 2a + +1. Item 1 +1. Item 2 + 1. Item 2a + +![GitHub Logo](link) +Format: ![Alt Text](url) + +1. **Line break in ul/ol spacing test** + * TEST1 + * TEST1.1 + * TEST1.1.1 + * TESET1.1.3 + +2. **Line break in ul/ol spacing test 2** + * ITEM 1 + * ITEM 2 + * ITEM 3 + +http://github.com +[GitHub](http://github.com) + +As Kanye West said: + +> We're living the future so +> the present is our past. + +I think you should use an `` element here instead. + + +```javascript +function fancyAlert(arg) { + if(arg) { + $.facebox({div:'#foo'}) + } +} +``` + + +- [x] @mentions, #refs, [links](), **formatting**, and tags supported +- [x] list syntax required (any unordered or ordered list supported) +- [x] this is a complete item +- [ ] this is an incomplete item + + + +First Header | Second Header +------------ | ------------- +Content from cell 1 | Content from cell 2 +Content in the first column | Content in the second column + + +~~this~~ diff --git a/spec/support/fixtures/sample_blockquotes_template.txt b/spec/support/fixtures/sample_blockquotes_template.txt new file mode 100644 index 0000000000000..3956592b6e425 --- /dev/null +++ b/spec/support/fixtures/sample_blockquotes_template.txt @@ -0,0 +1,6 @@ +> Blockquotes +> quote. + +Quote break. + +> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote. diff --git a/spec/support/fixtures/sample_table_template.txt b/spec/support/fixtures/sample_table_template.txt new file mode 100644 index 0000000000000..1a46ba293bbf9 --- /dev/null +++ b/spec/support/fixtures/sample_table_template.txt @@ -0,0 +1,8 @@ +Colons can be used to align columns. + +| Tables | Are | Cool | +| ------------- |:-------------:| -----:| +| col 3 is | right-aligned | $1600 | +| col 2 is | centered | $12 | +| zebra stripes | are neat | $1 | + diff --git a/spec/support/fixtures/stream_feed_1.json b/spec/support/fixtures/stream_feed_1.json new file mode 100644 index 0000000000000..e8c42382823a2 --- /dev/null +++ b/spec/support/fixtures/stream_feed_1.json @@ -0,0 +1 @@ +[{"activities":[{"actor":"User:82","foreign_id":"Comment:229","id":"e2430e00-6bfe-11e7-8080-80016822d772","object":"Comment:229","origin":null,"target":"comment_2017-07-18 17:20:12 -0400","time":"2017-07-18T21:20:12.000000","to":["notifications:83"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T21:20:12.000000","group":"u003cclass 'core.models.Comment'u003e__comment_2017-07-18 17:20:12 -0400_2017-07-18-Jul","id":"e2430e00-6bfe-11e7-8080-80016822d772","is_read":false,"is_seen":true,"updated_at":"2017-07-18T21:20:12.000000","verb":"Comment"},{"activities":[{"actor":"User:82","foreign_id":"Reaction:89","id":"ce97a780-6bfe-11e7-8080-800100bcac6e","object":"Reaction:89","origin":null,"target":"Article_164","time":"2017-07-18T21:19:39.000000","to":["notifications:83"],"verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T21:19:39.000000","group":"u003cclass 'core.models.Reaction'u003e__Article_164_2017-07-18-Jul","id":"ce97a780-6bfe-11e7-8080-800100bcac6e","is_read":false,"is_seen":true,"updated_at":"2017-07-18T21:19:39.000000","verb":"Reaction"},{"activities":[{"actor":"User:82","foreign_id":"Follow:88","id":"5df08b00-6bfe-11e7-8080-800004cfdc98","object":"User:83","origin":null,"target":"follow_2017-07-18 17:16:30 -0400","time":"2017-07-18T21:16:30.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T21:16:30.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 17:16:30 -0400_2017-07-18-Jul","id":"5df08b00-6bfe-11e7-8080-800004cfdc98","is_read":false,"is_seen":true,"updated_at":"2017-07-18T21:16:30.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:82","id":"67282a80-6bf3-11e7-8080-800054f945b1","object":"User:83","origin":null,"target":"follow_2017-07-18 15:58:01 -0400","time":"2017-07-18T19:58:01.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:58:01.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:58:01 -0400_2017-07-18-Jul","id":"67282a80-6bf3-11e7-8080-800054f945b1","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:58:01.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:81","id":"6394a380-6bf3-11e7-8080-800106416b49","object":"User:83","origin":null,"target":"follow_2017-07-18 15:57:55 -0400","time":"2017-07-18T19:57:55.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:57:55.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:57:55 -0400_2017-07-18-Jul","id":"6394a380-6bf3-11e7-8080-800106416b49","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:57:55.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:80","id":"41028a80-6bf3-11e7-8080-800135710fc3","object":"User:83","origin":null,"target":"follow_2017-07-18 15:56:57 -0400","time":"2017-07-18T19:56:57.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:56:57.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:56:57 -0400_2017-07-18-Jul","id":"41028a80-6bf3-11e7-8080-800135710fc3","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:56:57.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:79","id":"cb96ba00-6bf2-11e7-8080-800041249a70","object":"User:83","origin":null,"target":"follow_2017-07-18 15:53:40 -0400","time":"2017-07-18T19:53:40.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:53:40.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:53:40 -0400_2017-07-18-Jul","id":"cb96ba00-6bf2-11e7-8080-800041249a70","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:53:40.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:78","id":"aace6480-6bf2-11e7-8080-800111ba19fd","object":"User:83","origin":null,"target":"follow_2017-07-18 15:52:45 -0400","time":"2017-07-18T19:52:45.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:52:45.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:52:45 -0400_2017-07-18-Jul","id":"aace6480-6bf2-11e7-8080-800111ba19fd","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:52:45.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:77","id":"98542b00-6bf2-11e7-8080-800014e15a39","object":"User:83","origin":null,"target":"follow_2017-07-18 15:52:14 -0400","time":"2017-07-18T19:52:14.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:52:14.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:52:14 -0400_2017-07-18-Jul","id":"98542b00-6bf2-11e7-8080-800014e15a39","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:52:14.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:76","id":"97bb9480-6bf2-11e7-8080-800068e09c28","object":"User:83","origin":null,"target":"follow_2017-07-18 15:52:13 -0400","time":"2017-07-18T19:52:13.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:52:13.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:52:13 -0400_2017-07-18-Jul","id":"97bb9480-6bf2-11e7-8080-800068e09c28","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:52:13.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:75","id":"968a6780-6bf2-11e7-8080-800103119795","object":"User:83","origin":null,"target":"follow_2017-07-18 15:52:11 -0400","time":"2017-07-18T19:52:11.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:52:11.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:52:11 -0400_2017-07-18-Jul","id":"968a6780-6bf2-11e7-8080-800103119795","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:52:11.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:74","id":"3dbacf00-6bf2-11e7-8080-800006dcd347","object":"User:83","origin":null,"target":"follow_2017-07-18 15:49:42 -0400","time":"2017-07-18T19:49:42.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:49:42.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:49:42 -0400_2017-07-18-Jul","id":"3dbacf00-6bf2-11e7-8080-800006dcd347","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:49:42.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:73","id":"2976d200-6bf2-11e7-8080-80006238d02a","object":"User:83","origin":null,"target":"follow_2017-07-18 15:49:08 -0400","time":"2017-07-18T19:49:08.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:49:08.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:49:08 -0400_2017-07-18-Jul","id":"2976d200-6bf2-11e7-8080-80006238d02a","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:49:08.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:72","id":"7ad29180-6bf1-11e7-8080-80004a977501","object":"User:83","origin":null,"target":"follow_2017-07-18 15:44:15 -0400","time":"2017-07-18T19:44:15.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:44:15.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:44:15 -0400_2017-07-18-Jul","id":"7ad29180-6bf1-11e7-8080-80004a977501","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:44:15.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:71","id":"9e490c80-6bf0-11e7-8080-80017a2af31c","object":"User:83","origin":null,"target":"follow_2017-07-18 15:38:05 -0400","time":"2017-07-18T19:38:05.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:38:05.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:38:05 -0400_2017-07-18-Jul","id":"9e490c80-6bf0-11e7-8080-80017a2af31c","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:38:05.000000","verb":"Follow"},{"activities":[{"actor":"User:82","foreign_id":"Follow:70","id":"119e4e80-6bf0-11e7-8080-800137bd833b","object":"User:83","origin":null,"target":"follow_2017-07-18 15:34:09 -0400","time":"2017-07-18T19:34:09.000000","to":["notifications:83"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-07-18T19:34:09.000000","group":"u003cclass 'core.models.Follow'u003e__follow_2017-07-18 15:34:09 -0400_2017-07-18-Jul","id":"119e4e80-6bf0-11e7-8080-800137bd833b","is_read":false,"is_seen":true,"updated_at":"2017-07-18T19:34:09.000000","verb":"Follow"}] \ No newline at end of file diff --git a/spec/support/fixtures/tweet_1.json b/spec/support/fixtures/tweet_1.json new file mode 100644 index 0000000000000..df1006d66c22d --- /dev/null +++ b/spec/support/fixtures/tweet_1.json @@ -0,0 +1,99 @@ +{ + "created_at": "Wed Oct 05 01:02:26 +0000 2016", + "id": 783472379167113216, + "id_str": "783472379167113216", + "text": "Rules: \n- Stay on topic\n- Use hashtag #DevDiscuss\n- Be NICE/POSITIVE ❤️\n- Tweetstorms/extended rants are encouraged 😁", + "full_text": "Rules: \n- Stay on topic\n- Use hashtag #DevDiscuss\n- Be NICE/POSITIVE ❤️\n- Tweetstorms/extended rants are encouraged 😁", + "truncated": false, + "entities": { + "hashtags": [ + { + "text": "DevDiscuss", + "indices": [ + 38, + 49 + ] + } + ], + "symbols": [], + "user_mentions": [], + "urls": [] + }, + "source": "Twitter Web Client", + "in_reply_to_status_id": 783471771177615360, + "in_reply_to_status_id_str": "783471771177615360", + "in_reply_to_user_id": 2735246778, + "in_reply_to_user_id_str": "2735246778", + "in_reply_to_screen_name": "ThePracticalDev", + "user": { + "id": 2735246778, + "id_str": "2735246778", + "name": "The Practical Dev", + "screen_name": "ThePracticalDev", + "location": "", + "description": "Coding resources, commentary and community. Helping you become a better developer maybe. Created by @bendhalpern", + "url": "https://t.co/lhcCPP1ReQ", + "entities": { + "url": { + "urls": [ + { + "url": "https://t.co/lhcCPP1ReQ", + "expanded_url": "http://dev.to", + "display_url": "dev.to", + "indices": [ + 0, + 23 + ] + } + ] + }, + "description": { + "urls": [] + } + }, + "protected": false, + "followers_count": 114173, + "friends_count": 2219, + "listed_count": 2377, + "created_at": "Fri Aug 15 19:11:17 +0000 2014", + "favourites_count": 36181, + "utc_offset": -25200, + "time_zone": "Pacific Time (US & Canada)", + "geo_enabled": false, + "verified": false, + "statuses_count": 7274, + "lang": "en", + "contributors_enabled": false, + "is_translator": false, + "is_translation_enabled": false, + "profile_background_color": "131516", + "profile_background_image_url": "http://pbs.twimg.com/profile_background_images/601385812760993793/2pxLSwZZ.jpg", + "profile_background_image_url_https": "https://pbs.twimg.com/profile_background_images/601385812760993793/2pxLSwZZ.jpg", + "profile_background_tile": true, + "profile_image_url": "http://pbs.twimg.com/profile_images/839643754126417920/6trsFcTQ_normal.jpg", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/839643754126417920/6trsFcTQ_normal.jpg", + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2735246778/1458157262", + "profile_link_color": "14BD7B", + "profile_sidebar_border_color": "000000", + "profile_sidebar_fill_color": "000000", + "profile_text_color": "000000", + "profile_use_background_image": true, + "has_extended_profile": false, + "default_profile": false, + "default_profile_image": false, + "following": true, + "follow_request_sent": false, + "notifications": false, + "translator_type": "none" + }, + "geo": null, + "coordinates": null, + "place": null, + "contributors": null, + "is_quote_status": false, + "retweet_count": 8, + "favorite_count": 19, + "favorited": false, + "retweeted": false, + "lang": "en" +} diff --git a/spec/support/fixtures/vcr_cassettes/coupon_generator_1.yml b/spec/support/fixtures/vcr_cassettes/coupon_generator_1.yml new file mode 100644 index 0000000000000..5eb1b7469ca34 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/coupon_generator_1.yml @@ -0,0 +1,50 @@ +--- +http_interactions: +- request: + method: post + uri: https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/aws-nodejs-ecma-script-dev-couponCode/invocations + body: + encoding: UTF-8 + string: '{"inputNumber":1,"version":"sticker_pack"}' + headers: + Content-Type: + - '' + Accept-Encoding: + - '' + User-Agent: + - aws-sdk-ruby3/3.14.0 ruby/2.5.0 x86_64-darwin17 aws-sdk-lambda/1.4.0 + X-Amz-Date: + - 20180220T194923Z + X-Amz-Content-Sha256: + - e90a3c16abcd660d3078ddaa298ccea331a93956d6a1dfe2005d7ca9476e8eaa + Content-Length: + - '42' + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 20 Feb 2018 19:49:23 GMT + Content-Type: + - application/json + Content-Length: + - '104' + Connection: + - keep-alive + X-Amzn-Requestid: + - 265c42da-1677-11e8-80ce-0d13b70af207 + X-Amzn-Remapped-Content-Length: + - '0' + X-Amz-Executed-Version: + - "$LATEST" + X-Amzn-Trace-Id: + - root=1-5a8c7bc3-6d41ee52ccfb664e43c490ba;sampled=0 + body: + encoding: UTF-8 + string: '{"statusCode":200,"body":"{\"message\":818,\"input\":{\"inputNumber\":1,\"version\":\"sticker_pack\"}}"}' + http_version: + recorded_at: Tue, 20 Feb 2018 19:49:23 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/fixtures/vcr_cassettes/ga_event.yml b/spec/support/fixtures/vcr_cassettes/ga_event.yml new file mode 100644 index 0000000000000..7a293eabf4866 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/ga_event.yml @@ -0,0 +1,49 @@ +--- +http_interactions: +- request: + method: post + uri: http://www.google-analytics.com/collect + body: + encoding: US-ASCII + string: v=1&tid=UA-71991109-2&cid=127.0.0.1__&t=pageview&uip=127.0.0.1&ul=en&dp=%2Fben&z=2054290514&ds=web + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + Content-Type: + - application/x-www-form-urlencoded + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Origin: + - "*" + Date: + - Tue, 20 Feb 2018 17:12:00 GMT + Pragma: + - no-cache + Expires: + - Fri, 01 Jan 1990 00:00:00 GMT + Cache-Control: + - no-cache, no-store, must-revalidate + Last-Modified: + - Sun, 17 May 1998 03:00:00 GMT + X-Content-Type-Options: + - nosniff + Content-Type: + - image/gif + Server: + - Golfe2 + Content-Length: + - '35' + body: + encoding: ASCII-8BIT + string: !binary |- + R0lGODlhAQABAID/AP///wAAACwAAAAAAQABAAACAkQBADs= + http_version: + recorded_at: Tue, 20 Feb 2018 17:12:00 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/fixtures/vcr_cassettes/getstream-index.yml b/spec/support/fixtures/vcr_cassettes/getstream-index.yml new file mode 100644 index 0000000000000..a1cbc4ec543c0 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/getstream-index.yml @@ -0,0 +1,279 @@ +--- +http_interactions: +- request: + method: get + uri: https://us-east-api.getstream.io/api/v1.0/feed/notifications/1/?api_key=h59mvgpc5f4s&limit=60 + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6ImZlZWQiLCJhY3Rpb24iOiJyZWFkIiwiZmVlZF9pZCI6Im5vdGlmaWNhdGlvbnMxIn0.dh-WqKn6ZKl0n0rlFdBimZi8hxHUOsnAmXfYNSgBRBg + Stream-Auth-Type: + - jwt + Content-Type: + - application/json + X-Stream-Client: + - stream-ruby-client-2.4.5 + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Headers: + - x-requested-with, content-type, accept, origin, authorization, x-csrftoken, + x-stream-client, stream-auth-type + Access-Control-Allow-Methods: + - GET, POST, PUT, PATCH, DELETE, OPTIONS + Access-Control-Allow-Origin: + - "*" + Access-Control-Max-Age: + - '86400' + Cache-Control: + - no-cache + Content-Type: + - application/json;charset=utf-8 + Date: + - Tue, 19 Dec 2017 20:43:09 GMT + Server: + - nginx + X-Ratelimit-Limit: + - '2000' + X-Ratelimit-Remaining: + - '1999' + X-Ratelimit-Reset: + - '1513716240' + Content-Length: + - '37279' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: '{"results":[{"activities":[{"actor":"User:83","foreign_id":"Reaction:1343","id":"e7ccb900-e4fa-11e7-8080-80005837d80c","object":"Reaction:1343","origin":null,"target":"Article_49","time":"2017-12-19T20:26:34.000000","verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T20:26:34.874587","group":"Reaction_Reaction:1343_Article_49_2017-12-19-%h","id":"e8522c95-e4fa-11e7-8080-80015d84d5a4.Reaction_Reaction:1343_Article_49_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T20:26:34.874587","verb":"Reaction"},{"activities":[{"actor":"User:83","foreign_id":"Reaction:1342","id":"e7ccb900-e4fa-11e7-8080-800069d7e30c","object":"Reaction:1342","origin":null,"target":"Article_49","time":"2017-12-19T20:26:34.000000","verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T20:26:34.730352","group":"Reaction_Reaction:1342_Article_49_2017-12-19-%h","id":"e83c2a63-e4fa-11e7-8080-80016ca58c39.Reaction_Reaction:1342_Article_49_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T20:26:34.730352","verb":"Reaction"},{"activities":[{"actor":"User:11","foreign_id":"Comment:172","id":"2e1c1b00-e4ef-11e7-8080-8001151db06e","object":"Comment:172","origin":null,"target":"comment_2017-12-19 + 14:02:38 -0500","time":"2017-12-19T19:02:38.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:39.002715","group":"Comment_Comment:172_comment_2017-12-19 + 14:02:38 -0500_2017-12-19-%h","id":"2eb51b91-e4ef-11e7-8080-80007b6d8293.Comment_Comment:172_comment_2017-12-19 + 14:02:38 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:39.002715","verb":"Comment"},{"activities":[{"actor":"User:38","foreign_id":"Comment:119","id":"2197c280-e4ef-11e7-8080-80016dade8c0","object":"Comment:119","origin":null,"target":"comment_2017-12-19 + 14:02:17 -0500","time":"2017-12-19T19:02:17.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:18.059119","group":"Comment_Comment:119_comment_2017-12-19 + 14:02:17 -0500_2017-12-19-%h","id":"22395e59-e4ef-11e7-8080-800148f3ccf3.Comment_Comment:119_comment_2017-12-19 + 14:02:17 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:18.059119","verb":"Comment"},{"activities":[{"actor":"User:16","foreign_id":"Comment:98","id":"1d6ba500-e4ef-11e7-8080-80000fcdc73e","object":"Comment:98","origin":null,"target":"comment_2017-12-19 + 14:02:10 -0500","time":"2017-12-19T19:02:10.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:10.605285","group":"Comment_Comment:98_comment_2017-12-19 + 14:02:10 -0500_2017-12-19-%h","id":"1dc800f8-e4ef-11e7-8080-8000148866fc.Comment_Comment:98_comment_2017-12-19 + 14:02:10 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:10.605285","verb":"Comment"},{"activities":[{"actor":"User:29","foreign_id":"Comment:22","id":"0cbb2f00-e4ef-11e7-8080-800021d71004","object":"Comment:22","origin":null,"target":"comment_2017-12-19 + 14:01:42 -0500","time":"2017-12-19T19:01:42.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:01:42.842286","group":"Comment_Comment:22_comment_2017-12-19 + 14:01:42 -0500_2017-12-19-%h","id":"0d3bb4d4-e4ef-11e7-8080-80013b05b437.Comment_Comment:22_comment_2017-12-19 + 14:01:42 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:01:42.842286","verb":"Comment"},{"activities":[{"actor":"User:36","foreign_id":"Comment:10","id":"5bb49480-e4ee-11e7-8080-80001bf4e718","object":"Comment:10","origin":null,"target":"comment_2017-12-19 + 13:56:45 -0500","time":"2017-12-19T18:56:45.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T18:56:45.381682","group":"Comment_Comment:10_comment_2017-12-19 + 13:56:45 -0500_2017-12-19-%h","id":"5beed1f6-e4ee-11e7-8080-80010dc215a9.Comment_Comment:10_comment_2017-12-19 + 13:56:45 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T18:56:45.381682","verb":"Comment"},{"activities":[{"actor":"User:14","foreign_id":"Comment:173","id":"d48ebf00-d780-11e7-8080-800154adde21","object":"Comment:173","origin":null,"target":"comment_2017-12-02 + 11:49:58 -0500","time":"2017-12-02T16:49:58.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:58.000000","group":"Comment_Comment:173_comment_2017-12-02 + 11:49:58 -0500_2017-12-02-%h","id":"d48ebf00-d780-11e7-8080-80016ea9b06e.Comment_Comment:173_comment_2017-12-02 + 11:49:58 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:58.000000","verb":"Comment"},{"activities":[{"actor":"User:27","foreign_id":"Comment:166","id":"d2c4fb80-d780-11e7-8080-800066bb554f","object":"Comment:166","origin":null,"target":"comment_2017-12-02 + 11:49:55 -0500","time":"2017-12-02T16:49:55.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:55.000000","group":"Comment_Comment:166_comment_2017-12-02 + 11:49:55 -0500_2017-12-02-%h","id":"d2c4fb80-d780-11e7-8080-800048c60561.Comment_Comment:166_comment_2017-12-02 + 11:49:55 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:55.000000","verb":"Comment"},{"activities":[{"actor":"User:59","foreign_id":"Comment:83","id":"c17bef00-d780-11e7-8080-800139c2e7fe","object":"Comment:83","origin":null,"target":"comment_2017-12-02 + 11:49:26 -0500","time":"2017-12-02T16:49:26.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:26.000000","group":"Comment_Comment:83_comment_2017-12-02 + 11:49:26 -0500_2017-12-02-%h","id":"c17bef00-d780-11e7-8080-80000dd7609f.Comment_Comment:83_comment_2017-12-02 + 11:49:26 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:26.000000","verb":"Comment"},{"activities":[{"actor":"User:64","foreign_id":"Comment:22","id":"b4f79680-d780-11e7-8080-800021d71004","object":"Comment:22","origin":null,"target":"comment_2017-12-02 + 11:49:05 -0500","time":"2017-12-02T16:49:05.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:05.000000","group":"Comment_Comment:22_comment_2017-12-02 + 11:49:05 -0500_2017-12-02-%h","id":"b4f79680-d780-11e7-8080-8001166de126.Comment_Comment:22_comment_2017-12-02 + 11:49:05 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:05.000000","verb":"Comment"},{"activities":[{"actor":"User:310","foreign_id":"Comment:259","id":"d8b9dd00-d77e-11e7-8080-80006f7fcbaa","object":"Comment:259","origin":null,"target":"comment_2017-12-02 + 11:35:46 -0500","time":"2017-12-02T16:35:46.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:35:46.000000","group":"Comment_Comment:259_comment_2017-12-02 + 11:35:46 -0500_2017-12-02-%h","id":"d8b9dd00-d77e-11e7-8080-800054843b1c.Comment_Comment:259_comment_2017-12-02 + 11:35:46 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:35:46.000000","verb":"Comment"},{"activities":[{"actor":"User:36","foreign_id":"Comment:157","id":"fc099180-ce3a-11e7-8080-80015896e166","object":"Comment:157","origin":null,"target":"comment_2017-11-20 + 16:37:20 -0500","time":"2017-11-20T21:37:19.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-20T21:37:19.000000","group":"Comment_Comment:157_comment_2017-11-20 + 16:37:20 -0500_2017-11-20-%h","id":"fc099180-ce3a-11e7-8080-800048f07435.Comment_Comment:157_comment_2017-11-20 + 16:37:20 -0500_2017-11-20-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-20T21:37:19.000000","verb":"Comment"},{"activities":[{"actor":"User:6","foreign_id":"Comment:8","id":"b8af2300-ce3a-11e7-8080-8001000d018f","object":"Comment:8","origin":null,"target":"comment_2017-11-20 + 16:35:27 -0500","time":"2017-11-20T21:35:26.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-20T21:35:26.000000","group":"Comment_Comment:8_comment_2017-11-20 + 16:35:27 -0500_2017-11-20-%h","id":"b8af2300-ce3a-11e7-8080-80015112e8c3.Comment_Comment:8_comment_2017-11-20 + 16:35:27 -0500_2017-11-20-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-20T21:35:26.000000","verb":"Comment"},{"activities":[{"actor":"User:54","foreign_id":"Comment:178","id":"7a1c7e80-c4b2-11e7-8080-800006e4c5ce","object":"Comment:178","origin":null,"target":"comment_2017-11-08 + 13:27:30 -0500","time":"2017-11-08T18:27:29.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-08T18:27:29.000000","group":"Comment_Comment:178_comment_2017-11-08 + 13:27:30 -0500_2017-11-08-%h","id":"7a1c7e80-c4b2-11e7-8080-800176f873d0.Comment_Comment:178_comment_2017-11-08 + 13:27:30 -0500_2017-11-08-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-08T18:27:29.000000","verb":"Comment"},{"activities":[{"actor":"User:58","foreign_id":"Comment:47","id":"55c0a200-c4b2-11e7-8080-80014b85decb","object":"Comment:47","origin":null,"target":"comment_2017-11-08 + 13:26:29 -0500","time":"2017-11-08T18:26:28.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-08T18:26:28.000000","group":"Comment_Comment:47_comment_2017-11-08 + 13:26:29 -0500_2017-11-08-%h","id":"55c0a200-c4b2-11e7-8080-80011c4afe05.Comment_Comment:47_comment_2017-11-08 + 13:26:29 -0500_2017-11-08-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-08T18:26:28.000000","verb":"Comment"},{"activities":[{"actor":"User:54","foreign_id":"Comment:16","id":"4e00fd80-c4b2-11e7-8080-800105da5e5f","object":"Comment:16","origin":null,"target":"comment_2017-11-08 + 13:26:15 -0500","time":"2017-11-08T18:26:15.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-08T18:26:15.000000","group":"Comment_Comment:16_comment_2017-11-08 + 13:26:15 -0500_2017-11-08-%h","id":"4e00fd80-c4b2-11e7-8080-8000581fa843.Comment_Comment:16_comment_2017-11-08 + 13:26:15 -0500_2017-11-08-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-08T18:26:15.000000","verb":"Comment"},{"activities":[{"actor":"User:30","foreign_id":"Comment:178","id":"783ab880-c3e9-11e7-8080-800006e4c5ce","object":"Comment:178","origin":null,"target":"comment_2017-11-07 + 13:28:37 -0500","time":"2017-11-07T18:28:37.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-07T18:28:37.000000","group":"Comment_Comment:178_comment_2017-11-07 + 13:28:37 -0500_2017-11-07-%h","id":"783ab880-c3e9-11e7-8080-8001360e7b40.Comment_Comment:178_comment_2017-11-07 + 13:28:37 -0500_2017-11-07-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-07T18:28:37.000000","verb":"Comment"},{"activities":[{"actor":"User:33","foreign_id":"Comment:77","id":"56d9cc80-c3e9-11e7-8080-800123f917c7","object":"Comment:77","origin":null,"target":"comment_2017-11-07 + 13:27:42 -0500","time":"2017-11-07T18:27:41.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-07T18:27:41.000000","group":"Comment_Comment:77_comment_2017-11-07 + 13:27:42 -0500_2017-11-07-%h","id":"56d9cc80-c3e9-11e7-8080-80006348e734.Comment_Comment:77_comment_2017-11-07 + 13:27:42 -0500_2017-11-07-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-07T18:27:41.000000","verb":"Comment"},{"activities":[{"actor":"User:40","foreign_id":"Comment:120","id":"652a7c00-b500-11e7-8080-8001015be16c","object":"Comment:120","origin":null,"target":"comment_2017-10-19 + 15:04:56 -0400","time":"2017-10-19T19:04:56.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-19T19:04:56.000000","group":"Comment_Comment:120_comment_2017-10-19 + 15:04:56 -0400_2017-10-19-%h","id":"652a7c00-b500-11e7-8080-80017e520418.Comment_Comment:120_comment_2017-10-19 + 15:04:56 -0400_2017-10-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-19T19:04:56.000000","verb":"Comment"},{"activities":[{"actor":"User:78","foreign_id":"Comment:41","id":"50e67f00-b500-11e7-8080-800072428119","object":"Comment:41","origin":null,"target":"comment_2017-10-19 + 15:04:22 -0400","time":"2017-10-19T19:04:22.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-19T19:04:22.000000","group":"Comment_Comment:41_comment_2017-10-19 + 15:04:22 -0400_2017-10-19-%h","id":"50e67f00-b500-11e7-8080-80010110ffed.Comment_Comment:41_comment_2017-10-19 + 15:04:22 -0400_2017-10-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-19T19:04:22.000000","verb":"Comment"},{"activities":[{"actor":"User:3","foreign_id":"Reaction:1150","id":"ccf38380-b2c2-11e7-8080-80015b1ede7c","object":"Reaction:1150","origin":null,"target":"Article_49","time":"2017-10-16T22:38:59.000000","to":["notifications:1"],"verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T22:38:59.000000","group":"Reaction_Reaction:1150_Article_49_2017-10-16-%h","id":"ccf38380-b2c2-11e7-8080-80000488eeed.Reaction_Reaction:1150_Article_49_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T22:38:59.000000","verb":"Reaction"},{"activities":[{"actor":"User:3","foreign_id":"Reaction:561","id":"1f33a500-b2c1-11e7-8080-80007ad6b18a","object":"Reaction:561","origin":null,"target":"Article_49","time":"2017-10-16T22:26:58.000000","to":["notifications:1"],"verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T22:26:58.000000","group":"Reaction_Reaction:561_Article_49_2017-10-16-%h","id":"1f33a500-b2c1-11e7-8080-8000681ed1c7.Reaction_Reaction:561_Article_49_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T22:26:58.000000","verb":"Reaction"},{"activities":[{"actor":"User:18","foreign_id":"Comment:160","id":"aed04980-b216-11e7-8080-80014dc77f23","object":"Comment:160","origin":null,"target":"comment_2017-10-15 + 22:06:55 -0400","time":"2017-10-16T02:06:55.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:06:55.000000","group":"Comment_Comment:160_comment_2017-10-15 + 22:06:55 -0400_2017-10-16-%h","id":"aed04980-b216-11e7-8080-800060964b32.Comment_Comment:160_comment_2017-10-15 + 22:06:55 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:06:55.000000","verb":"Comment"},{"activities":[{"actor":"User:78","foreign_id":"Comment:149","id":"a972ff00-b216-11e7-8080-80001d193dd5","object":"Comment:149","origin":null,"target":"comment_2017-10-15 + 22:06:47 -0400","time":"2017-10-16T02:06:46.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:06:46.000000","group":"Comment_Comment:149_comment_2017-10-15 + 22:06:47 -0400_2017-10-16-%h","id":"a972ff00-b216-11e7-8080-8001188c9d26.Comment_Comment:149_comment_2017-10-15 + 22:06:47 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:06:46.000000","verb":"Comment"},{"activities":[{"actor":"User:50","foreign_id":"Comment:99","id":"93653e80-b216-11e7-8080-8000641fea35","object":"Comment:99","origin":null,"target":"comment_2017-10-15 + 22:06:09 -0400","time":"2017-10-16T02:06:09.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:06:09.000000","group":"Comment_Comment:99_comment_2017-10-15 + 22:06:09 -0400_2017-10-16-%h","id":"93653e80-b216-11e7-8080-800166a2271b.Comment_Comment:99_comment_2017-10-15 + 22:06:09 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:06:09.000000","verb":"Comment"},{"activities":[{"actor":"User:33","foreign_id":"Comment:97","id":"92cca800-b216-11e7-8080-800166343fbe","object":"Comment:97","origin":null,"target":"comment_2017-10-15 + 22:06:08 -0400","time":"2017-10-16T02:06:08.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:06:08.000000","group":"Comment_Comment:97_comment_2017-10-15 + 22:06:08 -0400_2017-10-16-%h","id":"92cca800-b216-11e7-8080-80010ef08c5e.Comment_Comment:97_comment_2017-10-15 + 22:06:08 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:06:08.000000","verb":"Comment"},{"activities":[{"actor":"User:12","foreign_id":"Comment:94","id":"9102e480-b216-11e7-8080-8001451680f3","object":"Comment:94","origin":null,"target":"comment_2017-10-15 + 22:06:06 -0400","time":"2017-10-16T02:06:05.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:06:05.000000","group":"Comment_Comment:94_comment_2017-10-15 + 22:06:06 -0400_2017-10-16-%h","id":"9102e480-b216-11e7-8080-800057293fa6.Comment_Comment:94_comment_2017-10-15 + 22:06:06 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:06:05.000000","verb":"Comment"},{"activities":[{"actor":"User:58","foreign_id":"Comment:68","id":"86484f80-b216-11e7-8080-80006fe02a67","object":"Comment:68","origin":null,"target":"comment_2017-10-15 + 22:05:47 -0400","time":"2017-10-16T02:05:47.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T02:05:47.000000","group":"Comment_Comment:68_comment_2017-10-15 + 22:05:47 -0400_2017-10-16-%h","id":"86484f80-b216-11e7-8080-8001292d2832.Comment_Comment:68_comment_2017-10-15 + 22:05:47 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T02:05:47.000000","verb":"Comment"},{"activities":[{"actor":"User:68","foreign_id":"Comment:6","id":"40d75280-b215-11e7-8080-800070a7e09f","object":"Comment:6","origin":null,"target":"comment_2017-10-15 + 21:56:41 -0400","time":"2017-10-16T01:56:41.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-16T01:56:41.000000","group":"Comment_Comment:6_comment_2017-10-15 + 21:56:41 -0400_2017-10-16-%h","id":"40d75280-b215-11e7-8080-8000049c1443.Comment_Comment:6_comment_2017-10-15 + 21:56:41 -0400_2017-10-16-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-16T01:56:41.000000","verb":"Comment"},{"activities":[{"actor":"User:36","foreign_id":"Comment:200","id":"c69dd280-b202-11e7-8080-800165c86f3b","object":"Comment:200","origin":null,"target":"comment_2017-10-15 + 19:44:25 -0400","time":"2017-10-15T23:44:25.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:44:25.000000","group":"Comment_Comment:200_comment_2017-10-15 + 19:44:25 -0400_2017-10-15-%h","id":"c69dd280-b202-11e7-8080-800173ecfbad.Comment_Comment:200_comment_2017-10-15 + 19:44:25 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:44:25.000000","verb":"Comment"},{"activities":[{"actor":"User:42","foreign_id":"Comment:134","id":"a3732300-b202-11e7-8080-80003cca32fa","object":"Comment:134","origin":null,"target":"comment_2017-10-15 + 19:43:26 -0400","time":"2017-10-15T23:43:26.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:43:26.000000","group":"Comment_Comment:134_comment_2017-10-15 + 19:43:26 -0400_2017-10-15-%h","id":"a3732300-b202-11e7-8080-800018e5879b.Comment_Comment:134_comment_2017-10-15 + 19:43:26 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:43:26.000000","verb":"Comment"},{"activities":[{"actor":"User:65","foreign_id":"Comment:129","id":"a0783280-b202-11e7-8080-8001772ebbfc","object":"Comment:129","origin":null,"target":"comment_2017-10-15 + 19:43:22 -0400","time":"2017-10-15T23:43:21.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:43:21.000000","group":"Comment_Comment:129_comment_2017-10-15 + 19:43:22 -0400_2017-10-15-%h","id":"a0783280-b202-11e7-8080-80011a3a0b01.Comment_Comment:129_comment_2017-10-15 + 19:43:22 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:43:21.000000","verb":"Comment"},{"activities":[{"actor":"User:66","foreign_id":"Comment:105","id":"93f3da00-b202-11e7-8080-80011dea7f0a","object":"Comment:105","origin":null,"target":"comment_2017-10-15 + 19:43:00 -0400","time":"2017-10-15T23:43:00.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:43:00.000000","group":"Comment_Comment:105_comment_2017-10-15 + 19:43:00 -0400_2017-10-15-%h","id":"93f3da00-b202-11e7-8080-80006bf62691.Comment_Comment:105_comment_2017-10-15 + 19:43:00 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:43:00.000000","verb":"Comment"},{"activities":[{"actor":"User:58","foreign_id":"Comment:58","id":"7a529280-b202-11e7-8080-80002f9bf97b","object":"Comment:58","origin":null,"target":"comment_2017-10-15 + 19:42:18 -0400","time":"2017-10-15T23:42:17.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:42:17.000000","group":"Comment_Comment:58_comment_2017-10-15 + 19:42:18 -0400_2017-10-15-%h","id":"7a529280-b202-11e7-8080-8001647af25c.Comment_Comment:58_comment_2017-10-15 + 19:42:18 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:42:17.000000","verb":"Comment"},{"activities":[{"actor":"User:41","foreign_id":"Comment:50","id":"76267500-b202-11e7-8080-80017aa75669","object":"Comment:50","origin":null,"target":"comment_2017-10-15 + 19:42:11 -0400","time":"2017-10-15T23:42:10.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:42:10.000000","group":"Comment_Comment:50_comment_2017-10-15 + 19:42:11 -0400_2017-10-15-%h","id":"76267500-b202-11e7-8080-80001261cb86.Comment_Comment:50_comment_2017-10-15 + 19:42:11 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:42:10.000000","verb":"Comment"},{"activities":[{"actor":"User:53","foreign_id":"Comment:13","id":"6313a500-b202-11e7-8080-80005b23563a","object":"Comment:13","origin":null,"target":"comment_2017-10-15 + 19:41:39 -0400","time":"2017-10-15T23:41:38.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-15T23:41:38.000000","group":"Comment_Comment:13_comment_2017-10-15 + 19:41:39 -0400_2017-10-15-%h","id":"6313a500-b202-11e7-8080-800128a7607b.Comment_Comment:13_comment_2017-10-15 + 19:41:39 -0400_2017-10-15-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-15T23:41:38.000000","verb":"Comment"},{"activities":[{"actor":"User:81","foreign_id":"Follow:1","id":"cb894780-b085-11e7-8080-80002a2ebc3f","object":"User:1","origin":null,"target":"follow_2017-10-13 + 22:17:15 -0400","time":"2017-10-14T02:17:15.000000","to":["notifications:1"],"verb":"Follow"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-14T02:17:15.000000","group":"Follow_User:1_follow_2017-10-13 + 22:17:15 -0400_2017-10-14-%h","id":"cb894780-b085-11e7-8080-80004a6ee593.Follow_User:1_follow_2017-10-13 + 22:17:15 -0400_2017-10-14-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-14T02:17:15.000000","verb":"Follow"},{"activities":[{"actor":"User:20","foreign_id":"Comment:153","id":"3db1ba80-a9fc-11e7-8080-8001158cf1bf","object":"Comment:153","origin":null,"target":"comment_2017-10-05 + 14:37:29 -0400","time":"2017-10-05T18:37:29.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T18:37:29.000000","group":"Comment_Comment:153_comment_2017-10-05 + 14:37:29 -0400_2017-10-05-%h","id":"3db1ba80-a9fc-11e7-8080-80006ac9a5f3.Comment_Comment:153_comment_2017-10-05 + 14:37:29 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T18:37:29.000000","verb":"Comment"},{"activities":[{"actor":"User:32","foreign_id":"Comment:154","id":"3db1ba80-a9fc-11e7-8080-8000605f266b","object":"Comment:154","origin":null,"target":"comment_2017-10-05 + 14:37:30 -0400","time":"2017-10-05T18:37:29.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T18:37:29.000000","group":"Comment_Comment:154_comment_2017-10-05 + 14:37:30 -0400_2017-10-05-%h","id":"3db1ba80-a9fc-11e7-8080-80004ee94120.Comment_Comment:154_comment_2017-10-05 + 14:37:30 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T18:37:29.000000","verb":"Comment"},{"activities":[{"actor":"User:46","foreign_id":"Comment:145","id":"3b4f6080-a9fc-11e7-8080-800172c96135","object":"Comment:145","origin":null,"target":"comment_2017-10-05 + 14:37:26 -0400","time":"2017-10-05T18:37:25.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T18:37:25.000000","group":"Comment_Comment:145_comment_2017-10-05 + 14:37:26 -0400_2017-10-05-%h","id":"3b4f6080-a9fc-11e7-8080-80013d5cb455.Comment_Comment:145_comment_2017-10-05 + 14:37:26 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T18:37:25.000000","verb":"Comment"},{"activities":[{"actor":"User:24","foreign_id":"Comment:43","id":"1fe45580-a9fc-11e7-8080-80015b16e7bc","object":"Comment:43","origin":null,"target":"comment_2017-10-05 + 14:36:39 -0400","time":"2017-10-05T18:36:39.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T18:36:39.000000","group":"Comment_Comment:43_comment_2017-10-05 + 14:36:39 -0400_2017-10-05-%h","id":"1fe45580-a9fc-11e7-8080-80014b2e7975.Comment_Comment:43_comment_2017-10-05 + 14:36:39 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T18:36:39.000000","verb":"Comment"},{"activities":[{"actor":"User:11","foreign_id":"Comment:33","id":"1d81fb80-a9fc-11e7-8080-8001586e0a11","object":"Comment:33","origin":null,"target":"comment_2017-10-05 + 14:36:35 -0400","time":"2017-10-05T18:36:35.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T18:36:35.000000","group":"Comment_Comment:33_comment_2017-10-05 + 14:36:35 -0400_2017-10-05-%h","id":"1d81fb80-a9fc-11e7-8080-800027585e1d.Comment_Comment:33_comment_2017-10-05 + 14:36:35 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T18:36:35.000000","verb":"Comment"},{"activities":[{"actor":"User:28","foreign_id":"Comment:169","id":"94b49100-a9f6-11e7-8080-80012877e856","object":"Comment:169","origin":null,"target":"comment_2017-10-05 + 13:56:58 -0400","time":"2017-10-05T17:56:58.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T17:56:58.000000","group":"Comment_Comment:169_comment_2017-10-05 + 13:56:58 -0400_2017-10-05-%h","id":"94b49100-a9f6-11e7-8080-80003663c3ed.Comment_Comment:169_comment_2017-10-05 + 13:56:58 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T17:56:58.000000","verb":"Comment"},{"activities":[{"actor":"User:72","foreign_id":"Comment:150","id":"8f574680-a9f6-11e7-8080-8000634dc68c","object":"Comment:150","origin":null,"target":"comment_2017-10-05 + 13:56:49 -0400","time":"2017-10-05T17:56:49.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T17:56:49.000000","group":"Comment_Comment:150_comment_2017-10-05 + 13:56:49 -0400_2017-10-05-%h","id":"8f574680-a9f6-11e7-8080-80002f38b8d1.Comment_Comment:150_comment_2017-10-05 + 13:56:49 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T17:56:49.000000","verb":"Comment"},{"activities":[{"actor":"User:45","foreign_id":"Comment:108","id":"836b8480-a9f6-11e7-8080-800116f01298","object":"Comment:108","origin":null,"target":"comment_2017-10-05 + 13:56:29 -0400","time":"2017-10-05T17:56:29.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T17:56:29.000000","group":"Comment_Comment:108_comment_2017-10-05 + 13:56:29 -0400_2017-10-05-%h","id":"836b8480-a9f6-11e7-8080-8000185e941a.Comment_Comment:108_comment_2017-10-05 + 13:56:29 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T17:56:29.000000","verb":"Comment"},{"activities":[{"actor":"User:34","foreign_id":"Comment:68","id":"78b0ef80-a9f6-11e7-8080-80006fe02a67","object":"Comment:68","origin":null,"target":"comment_2017-10-05 + 13:56:11 -0400","time":"2017-10-05T17:56:11.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T17:56:11.000000","group":"Comment_Comment:68_comment_2017-10-05 + 13:56:11 -0400_2017-10-05-%h","id":"78b0ef80-a9f6-11e7-8080-800152d64edc.Comment_Comment:68_comment_2017-10-05 + 13:56:11 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T17:56:11.000000","verb":"Comment"},{"activities":[{"actor":"User:64","foreign_id":"Comment:185","id":"3a620300-a9eb-11e7-8080-80003ab617c4","object":"Comment:185","origin":null,"target":"comment_2017-10-05 + 12:35:42 -0400","time":"2017-10-05T16:35:42.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:35:42.000000","group":"Comment_Comment:185_comment_2017-10-05 + 12:35:42 -0400_2017-10-05-%h","id":"3a620300-a9eb-11e7-8080-80013477341a.Comment_Comment:185_comment_2017-10-05 + 12:35:42 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:35:42.000000","verb":"Comment"},{"activities":[{"actor":"User:78","foreign_id":"Comment:164","id":"346c2200-a9eb-11e7-8080-800078086bf4","object":"Comment:164","origin":null,"target":"comment_2017-10-05 + 12:35:32 -0400","time":"2017-10-05T16:35:32.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:35:32.000000","group":"Comment_Comment:164_comment_2017-10-05 + 12:35:32 -0400_2017-10-05-%h","id":"346c2200-a9eb-11e7-8080-80016d2e2cfc.Comment_Comment:164_comment_2017-10-05 + 12:35:32 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:35:32.000000","verb":"Comment"},{"activities":[{"actor":"User:75","foreign_id":"Comment:156","id":"3209c800-a9eb-11e7-8080-80007ea88f03","object":"Comment:156","origin":null,"target":"comment_2017-10-05 + 12:35:29 -0400","time":"2017-10-05T16:35:28.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:35:28.000000","group":"Comment_Comment:156_comment_2017-10-05 + 12:35:29 -0400_2017-10-05-%h","id":"3209c800-a9eb-11e7-8080-80003dba86fc.Comment_Comment:156_comment_2017-10-05 + 12:35:29 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:35:28.000000","verb":"Comment"},{"activities":[{"actor":"User:60","foreign_id":"Comment:103","id":"23bbac00-a9eb-11e7-8080-80003b03c839","object":"Comment:103","origin":null,"target":"comment_2017-10-05 + 12:35:05 -0400","time":"2017-10-05T16:35:04.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:35:04.000000","group":"Comment_Comment:103_comment_2017-10-05 + 12:35:05 -0400_2017-10-05-%h","id":"23bbac00-a9eb-11e7-8080-8000592e7f89.Comment_Comment:103_comment_2017-10-05 + 12:35:05 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:35:04.000000","verb":"Comment"},{"activities":[{"actor":"User:5","foreign_id":"Comment:39","id":"12729f80-a9eb-11e7-8080-80012825c9f5","object":"Comment:39","origin":null,"target":"comment_2017-10-05 + 12:34:35 -0400","time":"2017-10-05T16:34:35.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:34:35.000000","group":"Comment_Comment:39_comment_2017-10-05 + 12:34:35 -0400_2017-10-05-%h","id":"12729f80-a9eb-11e7-8080-80012e2ca059.Comment_Comment:39_comment_2017-10-05 + 12:34:35 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:34:35.000000","verb":"Comment"},{"activities":[{"actor":"User:68","foreign_id":"Comment:35","id":"11417280-a9eb-11e7-8080-80006a110105","object":"Comment:35","origin":null,"target":"comment_2017-10-05 + 12:34:33 -0400","time":"2017-10-05T16:34:33.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:34:33.000000","group":"Comment_Comment:35_comment_2017-10-05 + 12:34:33 -0400_2017-10-05-%h","id":"11417280-a9eb-11e7-8080-800142a184ee.Comment_Comment:35_comment_2017-10-05 + 12:34:33 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:34:33.000000","verb":"Comment"},{"activities":[{"actor":"User:64","foreign_id":"Comment:142","id":"02f25700-a9e9-11e7-8080-80000085ca1c","object":"Comment:142","origin":null,"target":"comment_2017-10-05 + 12:19:50 -0400","time":"2017-10-05T16:19:50.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T16:19:50.000000","group":"Comment_Comment:142_comment_2017-10-05 + 12:19:50 -0400_2017-10-05-%h","id":"02f25700-a9e9-11e7-8080-80013c9ee43f.Comment_Comment:142_comment_2017-10-05 + 12:19:50 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T16:19:50.000000","verb":"Comment"},{"activities":[{"actor":"User:83","foreign_id":"Mention:40","id":"f7fbe000-a970-11e7-8080-800141111602","object":"Comment:344","origin":null,"target":"mention_2017-10-04 + 22:00:32 -0400","time":"2017-10-05T02:00:32.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T02:00:32.000000","group":"Mention_Comment:344_mention_2017-10-04 + 22:00:32 -0400_2017-10-05-%h","id":"f7fbe000-a970-11e7-8080-800051e9b325.Mention_Comment:344_mention_2017-10-04 + 22:00:32 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T02:00:32.000000","verb":"Mention"},{"activities":[{"actor":"User:83","foreign_id":"Mention:39","id":"558f2d00-a96f-11e7-8080-80002cd999f0","object":"Comment:343","origin":null,"target":"mention_2017-10-04 + 21:48:50 -0400","time":"2017-10-05T01:48:50.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T01:48:50.000000","group":"Mention_Comment:343_mention_2017-10-04 + 21:48:50 -0400_2017-10-05-%h","id":"558f2d00-a96f-11e7-8080-80004d1c9020.Mention_Comment:343_mention_2017-10-04 + 21:48:50 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T01:48:50.000000","verb":"Mention"},{"activities":[{"actor":"User:83","foreign_id":"Mention:38","id":"06e19300-a96f-11e7-8080-80017eb806a9","object":"Comment:342","origin":null,"target":"mention_2017-10-04 + 21:46:38 -0400","time":"2017-10-05T01:46:38.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T01:46:38.000000","group":"Mention_Comment:342_mention_2017-10-04 + 21:46:38 -0400_2017-10-05-%h","id":"06e19300-a96f-11e7-8080-80004fc77569.Mention_Comment:342_mention_2017-10-04 + 21:46:38 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T01:46:38.000000","verb":"Mention"},{"activities":[{"actor":"User:83","foreign_id":"Mention:37","id":"422f9200-a96e-11e7-8080-80013a7fe86f","object":"Comment:341","origin":null,"target":"mention_2017-10-04 + 21:41:08 -0400","time":"2017-10-05T01:41:08.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T01:41:08.000000","group":"Mention_Comment:341_mention_2017-10-04 + 21:41:08 -0400_2017-10-05-%h","id":"422f9200-a96e-11e7-8080-80011fc5c712.Mention_Comment:341_mention_2017-10-04 + 21:41:08 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T01:41:08.000000","verb":"Mention"},{"activities":[{"actor":"User:83","foreign_id":"Mention:36","id":"ac940280-a96d-11e7-8080-8001420af4c7","object":"Comment:340","origin":null,"target":"mention_2017-10-04 + 21:36:57 -0400","time":"2017-10-05T01:36:57.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T01:36:57.000000","group":"Mention_Comment:340_mention_2017-10-04 + 21:36:57 -0400_2017-10-05-%h","id":"ac940280-a96d-11e7-8080-800039d84008.Mention_Comment:340_mention_2017-10-04 + 21:36:57 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T01:36:57.000000","verb":"Mention"},{"activities":[{"actor":"User:83","foreign_id":"Mention:35","id":"b2d4af80-a96a-11e7-8080-800106a6024e","object":"Comment:339","origin":null,"target":"mention_2017-10-04 + 21:15:39 -0400","time":"2017-10-05T01:15:39.000000","to":["notifications:1"],"verb":"Mention"}],"activity_count":1,"actor_count":1,"created_at":"2017-10-05T01:15:39.000000","group":"Mention_Comment:339_mention_2017-10-04 + 21:15:39 -0400_2017-10-05-%h","id":"b2d4af80-a96a-11e7-8080-8000526d16b4.Mention_Comment:339_mention_2017-10-04 + 21:15:39 -0400_2017-10-05-%h","is_read":false,"is_seen":false,"updated_at":"2017-10-05T01:15:39.000000","verb":"Mention"}],"next":"/api/v1.0/feed/notifications/1/?api_key=h59mvgpc5f4s\u0026id_lt=b2d4af80-a96a-11e7-8080-8000526d16b4.Mention_Comment%3A339_mention_2017-10-04+21%3A15%3A39+-0400_2017-10-05-%25h\u0026limit=60","duration":"74.67ms","unseen":86,"unread":100} + +' + http_version: + recorded_at: Tue, 19 Dec 2017 20:43:09 GMT +- request: + method: get + uri: https://us-east-api.getstream.io/api/v1.0/feed/notifications/297/?api_key=h59mvgpc5f4s&limit=60 + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6ImZlZWQiLCJhY3Rpb24iOiJyZWFkIiwiZmVlZF9pZCI6Im5vdGlmaWNhdGlvbnMyOTcifQ.Zr2k56Gy3ByetRTaqFGIsr00cXdIOtWgPgOpE7r_p1w + Stream-Auth-Type: + - jwt + Content-Type: + - application/json + X-Stream-Client: + - stream-ruby-client-2.4.5 + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Headers: + - x-requested-with, content-type, accept, origin, authorization, x-csrftoken, + x-stream-client, stream-auth-type + Access-Control-Allow-Methods: + - GET, POST, PUT, PATCH, DELETE, OPTIONS + Access-Control-Allow-Origin: + - "*" + Access-Control-Max-Age: + - '86400' + Cache-Control: + - no-cache + Content-Type: + - application/json;charset=utf-8 + Date: + - Tue, 19 Dec 2017 21:41:13 GMT + Server: + - nginx + X-Ratelimit-Limit: + - '2000' + X-Ratelimit-Remaining: + - '1999' + X-Ratelimit-Reset: + - '1513719720' + Content-Length: + - '67' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: '{"results":[],"next":"","duration":"9.97ms","unseen":0,"unread":0} + +' + http_version: + recorded_at: Tue, 19 Dec 2017 21:41:13 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/support/fixtures/vcr_cassettes/github_api.yml b/spec/support/fixtures/vcr_cassettes/github_api.yml new file mode 100644 index 0000000000000..58e4637060653 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/github_api.yml @@ -0,0 +1,187 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.github.com/repos/facebook/react/issues/9218 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.github.v3+json + User-Agent: + - Octokit Ruby Gem 4.7.0 + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: OK + headers: + Server: + - GitHub.com + Date: + - Thu, 30 Nov 2017 16:20:18 GMT + Content-Type: + - application/json; charset=utf-8 + Transfer-Encoding: + - chunked + Status: + - 200 OK + X-Ratelimit-Limit: + - '5000' + X-Ratelimit-Remaining: + - '4992' + X-Ratelimit-Reset: + - '1512059540' + Cache-Control: + - private, max-age=60, s-maxage=60 + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + Etag: + - W/"4aab88b09690a2c1bfd81e59e0fc5d1a" + Last-Modified: + - Tue, 21 Nov 2017 13:28:29 GMT + X-Oauth-Scopes: + - '' + X-Accepted-Oauth-Scopes: + - repo + X-Github-Media-Type: + - github.v3; format=json + Access-Control-Expose-Headers: + - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, + X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval + Access-Control-Allow-Origin: + - "*" + Content-Security-Policy: + - default-src 'none' + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-Xss-Protection: + - 1; mode=block + X-Runtime-Rack: + - '0.078019' + X-Github-Request-Id: + - EEEA:63E0:1110BE8:234E58B:5A202FC2 + body: + encoding: ASCII-8BIT + string: '{"url":"https://api.github.com/repos/facebook/react/issues/9218","repository_url":"https://api.github.com/repos/facebook/react","labels_url":"https://api.github.com/repos/facebook/react/issues/9218/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react/issues/9218/comments","events_url":"https://api.github.com/repos/facebook/react/issues/9218/events","html_url":"https://github.com/facebook/react/issues/9218","id":215281877,"number":9218,"title":"[Feature] + granular forceUpdate ","user":{"login":"thysultan","id":810601,"avatar_url":"https://avatars2.githubusercontent.com/u/810601?v=4","gravatar_id":"","url":"https://api.github.com/users/thysultan","html_url":"https://github.com/thysultan","followers_url":"https://api.github.com/users/thysultan/followers","following_url":"https://api.github.com/users/thysultan/following{/other_user}","gists_url":"https://api.github.com/users/thysultan/gists{/gist_id}","starred_url":"https://api.github.com/users/thysultan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thysultan/subscriptions","organizations_url":"https://api.github.com/users/thysultan/orgs","repos_url":"https://api.github.com/users/thysultan/repos","events_url":"https://api.github.com/users/thysultan/events{/privacy}","received_events_url":"https://api.github.com/users/thysultan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2017-03-19T18:00:55Z","updated_at":"2017-10-04T19:11:09Z","closed_at":"2017-10-04T18:53:07Z","author_association":"NONE","body":"When + `forceUpdate` is called on a long list at the very least the whole list must + be traversed. For example with the following list `arr = [1, 2, 3, 4, 5, 6]` + and if we where to push 7 `arr.push(7)` the reconciler will go through elements + 1 - 6 and then add a 7 at the end of that list. The suggestion to add support + for the following forceUpdate signature.\r\n\r\n```js\r\nforceUpdate(a: {function|number}, + b: number?)\r\n```\r\nWhere when passed as an integer `a` is the start index + and `b` the number of items to traverse similar to how `str.substr()` works.\r\n\r\nWhen + the function encounters a number as the `a` argument it changes the start + index of where to start when reconciling the components children and when + the `b` argument is set it changes the end index of where to end the traversal + of the components children. So with the above mentioned example if i wanted + to optimize the reconciliation process for append updates i could do the following.\r\n\r\n```js\r\nthis.forceUpdate(arr.length);\r\n```\r\nand + to target an update in the middle of the list of up to 3 items.\r\n\r\n```js\r\nthis.forceUpdate(arr.length/2, + 3);\r\n```\r\n\r\nThis will allow for very precise O(1) updates when you know + ahead of time how the data will change. \r\n\r\nPossible `setState` counter-part.\r\n\r\n```js\r\nsetState(a: + {function|Object}, b: (function|number)?, c: {number})\r\n\r\n// usage\r\nsetState({arr: + [...]}, this.state.arr.length);\r\n```","closed_by":{"login":"gaearon","id":810438,"avatar_url":"https://avatars0.githubusercontent.com/u/810438?v=4","gravatar_id":"","url":"https://api.github.com/users/gaearon","html_url":"https://github.com/gaearon","followers_url":"https://api.github.com/users/gaearon/followers","following_url":"https://api.github.com/users/gaearon/following{/other_user}","gists_url":"https://api.github.com/users/gaearon/gists{/gist_id}","starred_url":"https://api.github.com/users/gaearon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaearon/subscriptions","organizations_url":"https://api.github.com/users/gaearon/orgs","repos_url":"https://api.github.com/users/gaearon/repos","events_url":"https://api.github.com/users/gaearon/events{/privacy}","received_events_url":"https://api.github.com/users/gaearon/received_events","type":"User","site_admin":false}}' + http_version: + recorded_at: Thu, 30 Nov 2017 16:20:18 GMT +- request: + method: post + uri: https://api.github.com/markdown + body: + encoding: UTF-8 + string: '{"text":"When `forceUpdate` is called on a long list at the very least + the whole list must be traversed. For example with the following list `arr + = [1, 2, 3, 4, 5, 6]` and if we where to push 7 `arr.push(7)` the reconciler + will go through elements 1 - 6 and then add a 7 at the end of that list. The + suggestion to add support for the following forceUpdate signature.\r\n\r\n```js\r\nforceUpdate(a: + {function|number}, b: number?)\r\n```\r\nWhere when passed as an integer `a` + is the start index and `b` the number of items to traverse similar to how + `str.substr()` works.\r\n\r\nWhen the function encounters a number as the + `a` argument it changes the start index of where to start when reconciling + the components children and when the `b` argument is set it changes the end + index of where to end the traversal of the components children. So with the + above mentioned example if i wanted to optimize the reconciliation process + for append updates i could do the following.\r\n\r\n```js\r\nthis.forceUpdate(arr.length);\r\n```\r\nand + to target an update in the middle of the list of up to 3 items.\r\n\r\n```js\r\nthis.forceUpdate(arr.length/2, + 3);\r\n```\r\n\r\nThis will allow for very precise O(1) updates when you know + ahead of time how the data will change. \r\n\r\nPossible `setState` counter-part.\r\n\r\n```js\r\nsetState(a: + {function|Object}, b: (function|number)?, c: {number})\r\n\r\n// usage\r\nsetState({arr: + [...]}, this.state.arr.length);\r\n```"}' + headers: + Accept: + - application/vnd.github.raw + User-Agent: + - Octokit Ruby Gem 4.7.0 + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: OK + headers: + Server: + - GitHub.com + Date: + - Thu, 30 Nov 2017 16:20:18 GMT + Content-Type: + - text/html;charset=utf-8 + Transfer-Encoding: + - chunked + Status: + - 200 OK + X-Ratelimit-Limit: + - '5000' + X-Ratelimit-Remaining: + - '4991' + X-Ratelimit-Reset: + - '1512059540' + X-Commonmarker-Version: + - 0.17.4 + Access-Control-Expose-Headers: + - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, + X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval + Access-Control-Allow-Origin: + - "*" + Content-Security-Policy: + - default-src 'none' + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-Xss-Protection: + - 1; mode=block + X-Runtime-Rack: + - '0.049768' + X-Github-Request-Id: + - EEEB:63E0:1110C04:234E5B8:5A202FC2 + body: + encoding: ASCII-8BIT + string: | +

When forceUpdate is called on a long list at the very least the whole list must be traversed. For example with the following list arr = [1, 2, 3, 4, 5, 6] and if we where to push 7 arr.push(7) the reconciler will go through elements 1 - 6 and then add a 7 at the end of that list. The suggestion to add support for the following forceUpdate signature.

+
forceUpdate(a: {function|number}, b: number?)
+

Where when passed as an integer a is the start index and b the number of items to traverse similar to how str.substr() works.

+

When the function encounters a number as the a argument it changes the start index of where to start when reconciling the components children and when the b argument is set it changes the end index of where to end the traversal of the components children. So with the above mentioned example if i wanted to optimize the reconciliation process for append updates i could do the following.

+
this.forceUpdate(arr.length);
+

and to target an update in the middle of the list of up to 3 items.

+
this.forceUpdate(arr.length/2, 3);
+

This will allow for very precise O(1) updates when you know ahead of time how the data will change.

+

Possible setState counter-part.

+
setState(a: {function|Object}, b: (function|number)?, c: {number})
+
+        // usage
+        setState({arr: [...]}, this.state.arr.length);
+ http_version: + recorded_at: Thu, 30 Nov 2017 16:20:18 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/support/fixtures/vcr_cassettes/github_issue_api.yml b/spec/support/fixtures/vcr_cassettes/github_issue_api.yml new file mode 100644 index 0000000000000..7cb81454c7660 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/github_issue_api.yml @@ -0,0 +1,84 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.github.com/repos/thepracticaldev/dev.to/issues/9%23issue-195721413 + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/vnd.github.v3+json + User-Agent: + - Octokit Ruby Gem 4.7.0 + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: OK + headers: + Server: + - GitHub.com + Date: + - Thu, 30 Nov 2017 17:23:02 GMT + Content-Type: + - application/json; charset=utf-8 + Transfer-Encoding: + - chunked + Status: + - 200 OK + X-Ratelimit-Limit: + - '5000' + X-Ratelimit-Remaining: + - '4986' + X-Ratelimit-Reset: + - '1512063233' + Cache-Control: + - private, max-age=60, s-maxage=60 + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + Etag: + - W/"4044c19e54d5fdd9ed06c7af4b9c1e0c" + Last-Modified: + - Tue, 21 Nov 2017 18:47:01 GMT + X-Oauth-Scopes: + - '' + X-Accepted-Oauth-Scopes: + - repo + X-Github-Media-Type: + - github.v3; format=json + Access-Control-Expose-Headers: + - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, + X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval + Access-Control-Allow-Origin: + - "*" + Content-Security-Policy: + - default-src 'none' + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-Xss-Protection: + - 1; mode=block + X-Runtime-Rack: + - '0.087276' + X-Github-Request-Id: + - F43B:63E2:10B6B39:28A9DD1:5A203E76 + body: + encoding: ASCII-8BIT + string: '{"url":"https://api.github.com/repos/thepracticaldev/dev.to/issues/9","repository_url":"https://api.github.com/repos/thepracticaldev/dev.to","labels_url":"https://api.github.com/repos/thepracticaldev/dev.to/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/thepracticaldev/dev.to/issues/9/comments","events_url":"https://api.github.com/repos/thepracticaldev/dev.to/issues/9/events","html_url":"https://github.com/thepracticaldev/dev.to/issues/9","id":195721413,"number":9,"title":"Interactive + code snippets","user":{"login":"viebel","id":955710,"avatar_url":"https://avatars1.githubusercontent.com/u/955710?v=4","gravatar_id":"","url":"https://api.github.com/users/viebel","html_url":"https://github.com/viebel","followers_url":"https://api.github.com/users/viebel/followers","following_url":"https://api.github.com/users/viebel/following{/other_user}","gists_url":"https://api.github.com/users/viebel/gists{/gist_id}","starred_url":"https://api.github.com/users/viebel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/viebel/subscriptions","organizations_url":"https://api.github.com/users/viebel/orgs","repos_url":"https://api.github.com/users/viebel/repos","events_url":"https://api.github.com/users/viebel/events{/privacy}","received_events_url":"https://api.github.com/users/viebel/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"benhalpern","id":3102842,"avatar_url":"https://avatars0.githubusercontent.com/u/3102842?v=4","gravatar_id":"","url":"https://api.github.com/users/benhalpern","html_url":"https://github.com/benhalpern","followers_url":"https://api.github.com/users/benhalpern/followers","following_url":"https://api.github.com/users/benhalpern/following{/other_user}","gists_url":"https://api.github.com/users/benhalpern/gists{/gist_id}","starred_url":"https://api.github.com/users/benhalpern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benhalpern/subscriptions","organizations_url":"https://api.github.com/users/benhalpern/orgs","repos_url":"https://api.github.com/users/benhalpern/repos","events_url":"https://api.github.com/users/benhalpern/events{/privacy}","received_events_url":"https://api.github.com/users/benhalpern/received_events","type":"User","site_admin":false},"assignees":[{"login":"benhalpern","id":3102842,"avatar_url":"https://avatars0.githubusercontent.com/u/3102842?v=4","gravatar_id":"","url":"https://api.github.com/users/benhalpern","html_url":"https://github.com/benhalpern","followers_url":"https://api.github.com/users/benhalpern/followers","following_url":"https://api.github.com/users/benhalpern/following{/other_user}","gists_url":"https://api.github.com/users/benhalpern/gists{/gist_id}","starred_url":"https://api.github.com/users/benhalpern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benhalpern/subscriptions","organizations_url":"https://api.github.com/users/benhalpern/orgs","repos_url":"https://api.github.com/users/benhalpern/repos","events_url":"https://api.github.com/users/benhalpern/events{/privacy}","received_events_url":"https://api.github.com/users/benhalpern/received_events","type":"User","site_admin":false}],"milestone":null,"comments":24,"created_at":"2016-12-15T05:40:09Z","updated_at":"2017-10-18T18:44:45Z","closed_at":"2017-10-18T18:44:45Z","author_association":"NONE","body":"`Dev.to` + looks awesome.\r\nCongrats!\r\n\r\nI was thinking of an integration of the + [klipse plugin](https://github.com/viebel/klipse) into dev.to to allow blog + writers to have interactive code snippets in javascript, ruby, python, scheme + or ocaml.\r\n\r\nAnd write cool blog posts like:\r\n\r\n- http://blog.jrheard.com/procedural-dungeon-generation-drunkards-walk-in-clojurescript\r\n- + http://exupero.org/hazard/post/islands/\r\n- http://untangled.io/immutable-js-an-introduction-with-examples-written-for-humans/\r\n\r\nWhat + do you say?\r\n","closed_by":{"login":"benhalpern","id":3102842,"avatar_url":"https://avatars0.githubusercontent.com/u/3102842?v=4","gravatar_id":"","url":"https://api.github.com/users/benhalpern","html_url":"https://github.com/benhalpern","followers_url":"https://api.github.com/users/benhalpern/followers","following_url":"https://api.github.com/users/benhalpern/following{/other_user}","gists_url":"https://api.github.com/users/benhalpern/gists{/gist_id}","starred_url":"https://api.github.com/users/benhalpern/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benhalpern/subscriptions","organizations_url":"https://api.github.com/users/benhalpern/orgs","repos_url":"https://api.github.com/users/benhalpern/repos","events_url":"https://api.github.com/users/benhalpern/events{/privacy}","received_events_url":"https://api.github.com/users/benhalpern/received_events","type":"User","site_admin":false}}' + http_version: + recorded_at: Thu, 30 Nov 2017 17:23:02 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/support/fixtures/vcr_cassettes/google_api_request_spec.yml b/spec/support/fixtures/vcr_cassettes/google_api_request_spec.yml new file mode 100644 index 0000000000000..6412f558a91c4 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/google_api_request_spec.yml @@ -0,0 +1,159 @@ +--- +http_interactions: +- request: + method: post + uri: https://www.googleapis.com/oauth2/v4/token + body: + encoding: ASCII-8BIT + string: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJkZXYtdG8tYW5hbHl0aWMtYXBpLW1hYy10ZXN0QGRldnRvLTE3NTQxOS5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL29hdXRoMi92NC90b2tlbiIsImV4cCI6MTUxOTIyOTAxOSwiaWF0IjoxNTE5MjI4ODk5LCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvYW5hbHl0aWNzLnJlYWRvbmx5In0.V8CSfSS7sKfoE5857jE9WDrGFHF1CyRr3cZpdUv9MjaaTcPRSLuNxB8yrxRP_7hNmlRgx_KdUzBgDJp3M_9tU4rZgFaIC7-bctvz_0rqbnMqSTniHYNGo7w__zO0bRaTpR3ILOfoxCQLcVC-tA4eCIMzRCznkY0VAaoLM7K-hnwQz6fCqSF31fmOwzAdVBPi5qnMETogh_7SiHn4WNUYI0FQf5SFLhcCbBZtORcbANe9hXp9po2P-VTBqs6u9dAZw5kZ2c1l5zbzrjYp5VcYl1XQFQTxP2zgMxhpX3k1UH9ObggOMUxvASyLbPZ7viOPKRlFxkAAHPTN2N1FYbpVeA + headers: + User-Agent: + - Faraday v0.12.2 + Content-Type: + - application/x-www-form-urlencoded + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Pragma: + - no-cache + Expires: + - Mon, 01 Jan 1990 00:00:00 GMT + Date: + - Wed, 21 Feb 2018 16:02:39 GMT + Vary: + - Origin + - X-Origin + Content-Type: + - application/json; charset=UTF-8 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-Xss-Protection: + - 1; mode=block + Server: + - GSE + Alt-Svc: + - hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; + quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35" + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: | + { + "access_token": "ya29.c.EllpBUMfpWKijz8MnzGf0wHPJJvnizl_qAJUJWZopcxDJpQaIz2oVBCsXWG9jjQMytHWwZNT4T_-abbA0FiADWb0df3kBRc8L6AY31S8cqs8XX2EGr4jPZROmA", + "token_type": "Bearer", + "expires_in": 3600 + } + http_version: + recorded_at: Wed, 21 Feb 2018 16:02:39 GMT +- request: + method: post + uri: https://analyticsreporting.googleapis.com/v4/reports:batchGet + body: + encoding: UTF-8 + string: '{"reportRequests":[{"dateRanges":[{"endDate":"today","startDate":"2012-01-01"}],"filtersExpression":"ga:pagePath==/username1/death-be-not-proud-1l62","metrics":[{"expression":"ga:pageviews"}],"viewId":"114994105"},{"dateRanges":[{"endDate":"today","startDate":"2012-01-01"}],"filtersExpression":"ga:pagePath==/username1/death-be-not-proud-3k0b","metrics":[{"expression":"ga:pageviews"}],"viewId":"114994105"}]}' + headers: + User-Agent: + - |- + unknown/0.0.0 google-api-ruby-client/0.19.8 Mac OS X/10.13.3 + (gzip) + Accept: + - "*/*" + Accept-Encoding: + - gzip,deflate + Date: + - Wed, 21 Feb 2018 16:02:39 GMT + Content-Type: + - application/json + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Vary: + - Origin + - Referer + - X-Origin + Content-Encoding: + - gzip + Date: + - Wed, 21 Feb 2018 16:02:42 GMT + Server: + - ESF + Cache-Control: + - private + X-Xss-Protection: + - 1; mode=block + X-Frame-Options: + - SAMEORIGIN + X-Content-Type-Options: + - nosniff + Alt-Svc: + - hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; + quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35" + Transfer-Encoding: + - chunked + body: + encoding: UTF-8 + string: | + { + "reports": [ + { + "columnHeader": { + "metricHeader": { + "metricHeaderEntries": [ + { + "name": "ga:pageviews", + "type": "INTEGER" + } + ] + } + }, + "data": { + "totals": [ + { + "values": [ + "0" + ] + } + ] + } + }, + { + "columnHeader": { + "metricHeader": { + "metricHeaderEntries": [ + { + "name": "ga:pageviews", + "type": "INTEGER" + } + ] + } + }, + "data": { + "totals": [ + { + "values": [ + "0" + ] + } + ] + } + } + ] + } + http_version: + recorded_at: Wed, 21 Feb 2018 16:02:42 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/fixtures/vcr_cassettes/rss_feeds.yml b/spec/support/fixtures/vcr_cassettes/rss_feeds.yml new file mode 100644 index 0000000000000..f3ad5f56a9b69 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/rss_feeds.yml @@ -0,0 +1,17094 @@ +--- +http_interactions: +- request: + method: get + uri: https://medium.com/feed/@vaidehijoshi + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 08 Jan 2018 19:17:17 GMT + Content-Type: + - text/xml; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439036986:3fc1877e2db3 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - private, must-revalidate, max-age=900 + Expires: + - Mon, 08 Jan 2018 19:32:17 GMT + Pragma: + - private + Tk: + - T + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17efd0da44722-EWR + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cnNzIHht + bG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1s + bnM6Y29udGVudD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9j + b250ZW50LyIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9B + dG9tIiB2ZXJzaW9uPSIyLjAiIHhtbG5zOmNjPSJodHRwOi8vY3liZXIubGF3 + LmhhcnZhcmQuZWR1L3Jzcy9jcmVhdGl2ZUNvbW1vbnNSc3NNb2R1bGUuaHRt + bCI+CiAgICA8Y2hhbm5lbD4KICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbU3Rv + cmllcyBieSBWYWlkZWhpIEpvc2hpIG9uIE1lZGl1bV1dPjwvdGl0bGU+CiAg + ICAgICAgPGRlc2NyaXB0aW9uPjwhW0NEQVRBW1N0b3JpZXMgYnkgVmFpZGVo + aSBKb3NoaSBvbiBNZWRpdW1dXT48L2Rlc2NyaXB0aW9uPgogICAgICAgIDxs + aW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9AdmFpZGVoaWpvc2hpP3NvdXJjZT1y + c3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAgICAgICA8aW1hZ2U+ + CiAgICAgICAgICAgIDx1cmw+aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9maXQvYy8xNTAvMTUwLzEqUU9RdVdBcVFkNTY2b0lUajlydENLdy5q + cGVnPC91cmw+CiAgICAgICAgICAgIDx0aXRsZT5TdG9yaWVzIGJ5IFZhaWRl + aGkgSm9zaGkgb24gTWVkaXVtPC90aXRsZT4KICAgICAgICAgICAgPGxpbms+ + aHR0cHM6Ly9tZWRpdW0uY29tL0B2YWlkZWhpam9zaGk/c291cmNlPXJzcy04 + ZjU1OTkzYzk3M2UtLS0tLS0yPC9saW5rPgogICAgICAgIDwvaW1hZ2U+CiAg + ICAgICAgPGdlbmVyYXRvcj5NZWRpdW08L2dlbmVyYXRvcj4KICAgICAgICA8 + bGFzdEJ1aWxkRGF0ZT5Nb24sIDA4IEphbiAyMDE4IDE5OjEwOjI2IEdNVDwv + bGFzdEJ1aWxkRGF0ZT4KICAgICAgICA8YXRvbTpsaW5rIGhyZWY9Imh0dHBz + Oi8vbWVkaXVtLmNvbS9mZWVkL0B2YWlkZWhpam9zaGkiIHJlbD0ic2VsZiIg + dHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIvPgogICAgICAgIDx3ZWJNYXN0 + ZXI+PCFbQ0RBVEFbeW91cmZyaWVuZHNAbWVkaXVtLmNvbV1dPjwvd2ViTWFz + dGVyPgogICAgICAgIDxhdG9tOmxpbmsgaHJlZj0iaHR0cDovL21lZGl1bS5z + dXBlcmZlZWRyLmNvbSIgcmVsPSJodWIiLz4KICAgICAgICA8aXRlbT4KICAg + ICAgICAgICAgPHRpdGxlPjwhW0NEQVRBW0kgd291bGQgbG92ZSB0bywgYnV0 + IEkgcHJvYmFibHkgd291bGRu4oCZdCBoYXZlIGVub3VnaCB0aW1lIHRvIHdy + aXRlIGNvZGUgaWYgSSBkaWQgdGhhdCEg4pi677iPXV0+PC90aXRsZT4KICAg + ICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0uY29tL0B2YWlkZWhpam9z + aGkvaS13b3VsZC1sb3ZlLXRvLWJ1dC1pLXByb2JhYmx5LXdvdWxkbnQtaGF2 + ZS1lbm91Z2gtdGltZS10by13cml0ZS1jb2RlLWlmLWktZGlkLXRoYXQtJUVG + JUI4JThGLTk4NTkwZGI1NTlhMT9zb3VyY2U9cnNzLThmNTU5OTNjOTczZS0t + LS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvOTg1OTBkYjU1OWExPC9ndWlk + PgogICAgICAgICAgICA8ZGM6Y3JlYXRvcj48IVtDREFUQVtWYWlkZWhpIEpv + c2hpXV0+PC9kYzpjcmVhdG9yPgogICAgICAgICAgICA8cHViRGF0ZT5XZWQs + IDAzIEphbiAyMDE4IDE3OjEyOjM5IEdNVDwvcHViRGF0ZT4KICAgICAgICAg + ICAgPGF0b206dXBkYXRlZD4yMDE4LTAxLTAzVDE3OjEyOjM5LjUxMlo8L2F0 + b206dXBkYXRlZD4KICAgICAgICAgICAgPGNvbnRlbnQ6ZW5jb2RlZD48IVtD + REFUQVs8cD5JIHdvdWxkIGxvdmUgdG8sIGJ1dCBJIHByb2JhYmx5IHdvdWxk + buKAmXQgaGF2ZSBlbm91Z2ggdGltZSB0byB3cml0ZSBjb2RlIGlmIEkgZGlk + IHRoYXQhwqDimLrvuI88L3A+PGltZyBzcmM9Imh0dHBzOi8vbWVkaXVtLmNv + bS9fL3N0YXQ/ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJyZXJTb3Vy + Y2U9ZnVsbF9yc3MmcG9zdElkPTk4NTkwZGI1NTlhMSIgd2lkdGg9IjEiIGhl + aWdodD0iMSI+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9pdGVt + PgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFb + QSBNb3N0IFBlcmZlY3QgVW5pb246IEp1c3QtSW4tVGltZSBDb21waWxlcnNd + XT48L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRwczovL21lZGl1bS5j + b20vYmFzZWNzL2EtbW9zdC1wZXJmZWN0LXVuaW9uLWp1c3QtaW4tdGltZS1j + b21waWxlcnMtMjkzODcxMmE5ZjZhP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNl + LS0tLS0tMjwvbGluaz4KICAgICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwczovL21lZGl1bS5jb20vcC8yOTM4NzEyYTlmNmE8L2d1 + aWQ+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtqaXRdXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0 + ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29y + eT48IVtDREFUQVtjb21waWxlcnNdXT48L2NhdGVnb3J5PgogICAgICAgICAg + ICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbaW50ZXJwcmV0ZXJzXV0+PC9jYXRlZ29y + eT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW3Byb2dyYW1taW5n + XV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+PCFbQ0RB + VEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAgICAgICAg + PHB1YkRhdGU+U2F0LCAzMCBEZWMgMjAxNyAxOToxNzo1MCBHTVQ8L3B1YkRh + dGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMi0zMFQyMTo1 + Njo1MS4wNzRaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpfM2hr + QXdCOVF6VUhfLUstOFF4WVBnLmpwZWciIC8+PGZpZ2NhcHRpb24+QSBtb3N0 + IHBlcmZlY3QgdW5pb246IGp1c3QtaW4tdGltZSBjb21waWxlcnMuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPlRoZSB3b3JsZCBvZiBjb21wdXRlciBzY2ll + bmNlIGFsd2F5cyBzZWVtcyB0byBjb21lIGRvd24gdG8gdHJhZGVvZmZzLiBT + b21ldGltZXMsIHdl4oCZcmUgZm9yY2VkIHRvIGNob29zZSBiZXR3ZWVuIHR3 + byBkYXRhIHN0cnVjdHVyZXMsIGFsZ29yaXRobXMsIG9yIGZ1bmN0aW9ucyB0 + aGF0IGNvdWxkIGJvdGggZ2V0IHRoZSBqb2IgZG9uZSwgYnV0IGFyZSB2ZXJ5 + IGRpZmZlcmVudCBpbiBuYXR1cmUuIEF0IHRoZSBlbmQgb2YgdGhlIGRheSwg + dGhlIHRoaW5nIHRoYXQgd2XigJlyZSByZWFsbHkgY2hvb3NpbmcgYmV0d2Vl + biB3aGljaCB0aGluZ3Mgd2UgY2FyZSBhYm91dCBhbmQgdmFsdWUgdGhlIG1v + c3TigIrigJTigIphbmQgd2hpY2ggdGhpbmdzIHdl4oCZcmUgd2lsbGluZyB0 + byBzYWNyaWZpY2UuPC9wPjxwPkJ1dCBpdOKAmXMgbm90IGp1c3QgY29tcHV0 + ZXIgc2NpZW5jZSB0aGF0IHRoaXMgdHJ1dGggYXBwbGllcyB0bzsgaXTigJlz + IGFsbCBvZiBjb21wdXRpbmcuIEV2ZW4gaWYgd2XigJlyZSBub3QgZGlyZWN0 + bHkgd29ya2luZyB3aXRoIGNvbXB1dGVyIHNjaWVuY2UgY29uY2VwdHMsIHdl + IHN0aWxsIGhhdmUgdG8gbWFrZSBjaG9pY2VzIGFuZCB3ZWlnaCB0cmFkZW9m + ZnMgd2hlbiBpdCBjb21lcyB0byBvdXIgY29kZSBhbmQgaG93IHdlIHdyaXRl + IGl0LiBPbiBhbiBicm9hZGVyIGxldmVsLCB3ZSBoYXZlIHRvIGNvbnNpZGVy + IHRoZSBwcm9zIGFuZCBjb25zIG9mIGRpZmZlcmVudCB0ZWNobm9sb2dpZXMs + IGRlc2lnbiBkZWNpc2lvbnMsIGFuZCBpbXBsZW1lbnRhdGlvbiBzdHJhdGVn + aWVzLCB0b28uIEFnYWluOiBtb3JlIHRyYWRlb2ZmcyE8L3A+PHA+QnV0IHRy + YWRlb2ZmcyBpbiB0ZWNobm9sb2d5IGFyZW7igJl0IGFsbCBiYWQuIFNvbWV0 + aW1lcywgdGhleeKAmXJlIGV4YWN0bHkgd2hhdCBkcml2ZXMgdXMgZm9yd2Fy + ZC4gTmV3IGZyYW1ld29ya3MgYW5kIGxhbmd1YWdlcyBhcmUgb2Z0ZW4gY3Jl + YXRlZCBqdXN0IHNvIHRoYXQgZGV2ZWxvcGVycyBkb27igJl0IG5lZWQgdG8g + Y2hvb3NlIGJldHdlZW4gdGhpbmdz4oCK4oCU4oCKaW4gb3RoZXIgd29yZHMs + IHNvIHRoYXQgdGhlIHRyYWRlb2ZmcyB3ZSBtdXN0IGNob29zZSBiZXR3ZWVu + IGRvbuKAmXQgaGF2ZSB0byBiZSBzbyBzdGVlcCBpbiBuYXR1cmUuIE1hbnkg + dGVjaG5vbG9naWVzIGFpbSB0byBtYWtlIHRoZXNlIGNob2ljZXMgZWFzaWVy + IGFuZCBmYXIgbGVzcyBwYWluZnVsIHNvIHRoYXQgb3RoZXIgcHJvZ3JhbW1l + cnMgZG9u4oCZdCBuZWVkIHRvIHBpY2sgYmV0d2VlbiB0d28gdmVyeSBkaWZm + ZXJlbnQgd2F5cyBvZiBzb2x2aW5nIGEgcHJvYmxlbS4gSW5zdGVhZCwgdGhl + c2UgbmV3IGFwcHJvYWNoZXMgdHJ5IHRvIHRha2UgdGhlIGJlc3Qgb2YgYm90 + aCB3b3JsZHMgYW5kIGZpbmQgYSBoYXBweSBtZWRpdW0sIGFsbCB0aGUgd2hp + bGUgbGVhcm5pbmcgZnJvbSBhbmQgZnVzaW5nIHRvZ2V0aGVyIGNvbmNlcHRz + IHRoYXQgYWxyZWFkeSBleGlzdCBpbiB0aGUgd29ybGQuIEluIHRoZSB3b3Js + ZCBvZiBjb21wdXRpbmcsIHRoaXMgaGFzIGhhcHBlbmVkIHRpbWUgYW5kIHRp + bWXCoGFnYWluLjwvcD48cD5QZXJoYXBzIHRoZSBtb3N0IGludGVyZXN0aW5n + IGV4YW1wbGUgb2YgdGhpcyBpcyB0aGUgdW5pb24gb2YgdGhlIGNvbXBpbGVy + IGFuZCB0aGUgaW50ZXJwcmV0ZXI7IGl0IGNvbWJpbmVzIHR3byBwb3dlcmZ1 + bCB0ZWNobm9sb2dpZXMsIGFuZCBjcmVhdGVkIHNvbWV0aGluZyBuZXcsIHdo + aWNoIHdlIG5vdyBrbm93IHRvZGF5IGFzIHRoZSA8ZW0+anVzdC1pbi10aW1l + IGNvbXBpbGVyPC9lbT4uPC9wPjxoMz5BIHJhcmUgYnJlZWQ6IHRoZSBjb21w + aWxlci1pbnRlcnByZXRlciBtaXg8L2gzPjxwPkxhc3Qgd2Vlaywgd2UgdG9v + ayA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2EtZGVlcGVy + LWluc3BlY3Rpb24taW50by1jb21waWxhdGlvbi1hbmQtaW50ZXJwcmV0YXRp + b24tZDk4OTUyZWJjODQyIj5hIGRlZXBlciBsb29rPC9hPiBhdCB0aGUgY29t + cGlsZXIgYW5kIHRoZSBpbnRlcnByZXRlciwgaG93IGJvdGggb2YgdGhlbSB3 + b3JrLCBhbmQgdGhlIHdheXMgdGhhdCBhbGxvd2VkIG9uZeKAiuKAlOKAinRo + ZSBjb21waWxlcuKAiuKAlOKAinRvIGxlYWQgdG8gdGhlIGNyZWF0aW9uIG9m + IHRoZSBvdGhlcuKAiuKAlOKAinRoZSBpbnRlcnByZXRlci4gQXMgaXQgdHVy + bnMgb3V0LCB0aGUgaGlzdG9yeSBvZiB0aGUgaW50ZXJwcmV0ZXIgaXMgaW50 + cmluc2ljYWxseSBjb25uZWN0ZWQgdG8gd2hhdCBjYW1lIHNvb24gYWZ0ZXJ3 + YXJkczogdGhlPHN0cm9uZz4gPC9zdHJvbmc+anVzdC1pbi10aW1lIGNvbXBp + bGVyLjwvcD48cD5XZeKAmWxsIHJlY2FsbCB0aGF0IHRoZSBpbnRlcnByZXRl + ciB3YXMgaW52ZW50ZWQgaW4gMTk1OCwgYnkgU3RldmUgUnVzc2VsbCwgd2hv + IHdhcyB3b3JraW5nIHdpdGggYSBNSVQgcHJvZmVzc29yIGF0IHRoZSB0aW1l + LCBuYW1lZCBKb2huIE1jQ2FydGh5LiBNY0NhcnRoeSBoYWQgd3JpdHRlbiBh + IHBhcGVyIG9uIHRoZSBMaXNwIHByb2dyYW1taW5nIGxhbmd1YWdlLCBhbmQg + UnVzc2VsbCBoYWQgYmVlbiBkcmF3biB0byB3b3JraW5nIHdpdGggaGlzIHBy + b2Zlc3NvciBhZnRlciByZWFkaW5nIGhpcyBwYXBlciBvbiB0aGXCoHN1Ympl + Y3QuPC9wPjxwPkhvd2V2ZXIsIEpvaG4gTWNDYXJ0aHkgYWxzbyB3cm90ZSBh + bm90aGVyIHBhcGVyIGNhbGxlZCA8YSBocmVmPSJodHRwOi8vd3d3LWZvcm1h + bC5zdGFuZm9yZC5lZHUvam1jL3JlY3Vyc2l2ZS9yZWN1cnNpdmUuaHRtbCI+ + 4oCcUmVjdXJzaXZlIEZ1bmN0aW9ucyBvZiBTeW1ib2xpYyBFeHByZXNzaW9u + cyBhbmQgVGhlaXIgQ29tcHV0YXRpb24gYnkgTWFjaGluZeKAnTwvYT4sIHdo + aWNoIHdhcyBwdWJsaXNoZWQgaW4gMTk2MC4gQWx0aG91Z2ggd2UgY2Fu4oCZ + dCBiZSBlbnRpcmVseSBzdXJlLCB0aGlzIHBhcGVyIGFwcGVhcnMgdG8gY29u + dGFpbiBzb21lIG9mIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudHVmdHMuZWR1 + L2NvbXAvMTUwSVBML3BhcGVycy9heWNvY2swM2ppdC5wZGYiPnRoZSBlYXJs + aWVzdCByZWZlcmVuY2VzPC9hPiB0byBqdXN0LWluLXRpbWUgY29tcGlsYXRp + b24uPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1p + bWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqdTc1ODcweldEZUtibTQy + WFF0bzBPZy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBJQk0gNzA5NCBvcGVy + YXRvcuKAmXMgY29uc29sZSwgwqkgPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtp + cGVkaWEub3JnL3dpa2kvSUJNXzcwOTAjL21lZGlhL0ZpbGU6SUJNXzcwOTRf + Y29uc29sZTIuYWdyLkpQRyI+V2lraW1lZGlhIEZvdW5kYXRpb248L2E+PC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPkFub3RoZXIgZWFybHkgcmVmZXJlbmNl + IHRvIGp1c3QtaW4tdGltZSBjb21waWxlcnMgYXBwZWFycyBpbiAxOTY2LCBp + biB0aGUgbWFudWFsIGZvciB0aGUgVW5pdmVyc2l0eSBvZiBNaWNoaWdhbuKA + mXMgRXhlY3V0aXZlIFN5c3RlbSBmb3IgdGhlIElCTSA3MDkwLiBUaGUgbWFu + dWFsIGZvciB0aGlzIHBhcnRpY3VsYXIgbWFjaGluZeKAmXMgc3lzdGVtIGV4 + cGxhaW5zIGhvdyBpdCBpcyBwb3NzaWJsZSB0byBib3RoIHRyYW5zbGF0ZSBh + bmQgbG9hZCBjb2RlIHdoaWxlIGV4ZWN1dGluZyBpdCwgYSBjbHVlIHRoYXQg + anVzdC1pbi10aW1lIGNvbXBpbGVycyB3ZXJlIGFscmVhZHkgc3RhcnRpbmcg + dG8gYmUgaW1wbGVtZW50ZWQgb24gYSBtb3JlIHByYWN0aWNhbCBsZXZlbCBi + eSB0aGUgbWlkwqA2MOKAmXMhPC9wPjxwPk9rYXksIGJ1dCBoYW5nIG9uIGEg + c2Vjb25k4oCK4oCU4oCKd2hhdCBleGFjdGx5IGRpZCB0aGF0IG1hbnVhbCBt + ZWFuPyBXZeKAmXZlIGxvb2tlZCBhdCB3aGVuIGFuZCB3aGVyZSB0aGUganVz + dC1pbi10aW1lIGNvbXBpbGVyIGZpcnN0IHNob3dlZCB1cOKApmJ1dCB3aGF0 + IGV2ZW4gPGVtPmlzPC9lbT4gYSBqdXN0LWluLXRpbWUgY29tcGlsZXIgdG8g + YmVnaW7CoHdpdGg/PC9wPjxwPldlbGwsIGEgc2ltcGxlIHdheSB0byB0aGlu + ayBhYm91dCBpdCBpcyB0aGlzOiB0aGUgPHN0cm9uZz48ZW0+anVzdC1pbi10 + aW1lIGNvbXBpbGVyPC9lbT48L3N0cm9uZz4gKG9yIDxzdHJvbmc+PGVtPkpJ + VDwvZW0+PC9zdHJvbmc+IGZvciBzaG9ydCkgaXMgdGhlIGNoaWxkIG9mIGl0 + 4oCZcyBwYXJlbnRzLCB0aGUgY29tcGlsZXIgYW5kIHRoZSBpbnRlcnByZXRl + ci48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpzclhfc3BkMnF6WjJhSDFF + b182VDdnLmpwZWciIC8+PGZpZ2NhcHRpb24+SnVzdC1pbi10aW1lIGNvbXBp + bGVyczogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5U + aGUgSklUIGlzIGEgZnVzaW9uIG9yIGNvbWJpbmF0aW9uIG9mIHRoZSBpbnRl + cnByZXRlciBhbmQgdGhlIGNvbXBpbGVyLCB3aGljaCBhcmUgZWFjaCB0d28g + dHlwZXMgb2YgdHJhbnNsYXRvcnMgaW4gdGhlaXIgb3duIHJpZ2h0LiBBIGp1 + c3QtaW4tdGltZSBjb21waWxlciBoYXMgbWFueSBvZiB0aGUgYmVuZWZpdHMg + b2YgYm90aCBvZiB0aGVzZSB0d28gdHJhbnNsYXRpb24gdGVjaG5pcXVlcywg + YWxsIHJvbGxlZCB1cCBpbnRvwqBvbmUuPC9wPjxwPldl4oCZbGwgcmVjYWxs + IHRoYXQgYm90aCB0aGUgY29tcGlsZXIgYW5kIHRoZSBpbnRlcnByZXRlciBk + byB0aGUgd29yayBvZiB0cmFuc2xhdGluZyBhIHByb2dyYW1tZXLigJlzIHNv + dXJjZSBjb2RlIGludG8gZXhlY3V0YWJsZSBtYWNoaW5lIGNvZGUsIGVpdGhl + ciBieSB0cmFuc2xhdGluZyBpdCBpbiBvbmUgc2hvdCAoY29tcGlsZXIpLCBv + ciBieSBpbnRlcnByZXRpbmcgYW5kIHJ1bm5pbmcgdGhlIGNvZGUgbGluZS1i + eS1saW5lIChpbnRlcnByZXRlcikuPC9wPjxwPkEgY29tcGlsZXIgY2FuIGFj + dCBhcyBhIGdyZWF0IHRyYW5zbGF0b3IgYmVjYXVzZSBpdCBtYWtlcyBjb2Rl + IGZhc3QgdG8gZXhlY3V0ZTsgaG93ZXZlciwgaXQgaGFzIHRvIHRyYW5zbGF0 + ZSBhbGwgb2YgdGhlIHNvdXJjZSBjb2RlIGludG8gYSBiaW5hcnkgZmlsZSBm + aXJzdCwgYmVmb3JlIGl0IGNhbiBleGVjdXRlIGFueSBvZiBpdCwgd2hpY2gg + Y2FuIG1ha2UgaXQgcGFpbmZ1bCB0byBkZWJ1ZyBzb21ldGhpbmcgZnJvbSB0 + aGUgc291cmNlIHdoZW4gd2Ugb25seSBoYXZlIG1hY2hpbmUgY29kZSB0byB3 + b3JrwqB3aXRoLjwvcD48cD5PbiB0aGUgb3RoZXIgaGFuZCwgdGhlIGludGVy + cHJldGVyIGNhbiBkaXJlY3RseSBleGVjdXRlIHBpZWNlcyBvZiBjb2RlIGR1 + cmluZyBydW50aW1lLCB3aGljaCBtZWFucyB0aGF0IGlmIHNvbWV0aGluZyBn + b2VzIHdyb25nLCBpdCBjYW4gbWFpbnRhaW4gdGhlIGNvbnRleHQgb2Ygd2hl + cmUgdGhlIGV4ZWN1dGVkIGNvZGUgd2FzIGNhbGxlZCB3aGVuIGl0IGlzIHJ1 + bi4gSG93ZXZlciwgdGhlIGludGVycHJldGVyIGhhcyB0byByZXRyYW5zbGF0 + ZSBjb2RlIG11bHRpcGxlIHRpbWVzLCB3aGljaCBjYW4gbWFrZSBpdCBzbG93 + IGFuZCBsZXNzIGVmZmljaWVudC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpiUmZCOWF2R0dCaEIwWFlXeW81djlRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + QSBKSVQgY29tcGFyZWQgdG8gaXRzIHBhcmVudHM6IHRoZSBjb21waWxlciBh + bmQgdGhlIGludGVycHJldGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5T + byB3aGVyZSBkb2VzIHRoZSBKSVQgZml0IGludG8gdGhpcz8gV2VsbCwgdG8g + c3RhcnQgb2ZmLCB0aGUgSklUIGFjdHMgbGlrZSBvbmUgb2YgaXRzIHBhcmVu + dHPigIrigJTigIpuYW1lbHksIGl0IGFjdHMgbGlrZSBhbiA8ZW0+aW50ZXJw + cmV0ZXI8L2VtPiBhdCBmaXJzdCwgZXhlY3V0aW5nIGFuZCByZS1ydW5uaW5n + IGNvZGUgYXMgaXQgaXMgY2FsbGVkLiBIb3dldmVyLCBpZiB0aGUgSklUIGZp + bmRzIGNvZGUgdGhhdCBpcyBjYWxsZWQgbWFueSB0aW1lcyBhbmQgaW52b2tl + ZCByZXBlYXRlZGx5LCBpdCBiZWhhdmVzIGxpa2UgaXRzIG90aGVyIHBhcmVu + dDogdGhlIGNvbXBpbGVyLjwvcD48cD5UaGUgSklUIGFjdHMgbGlrZSBhbiBp + bnRlcnByZXRlciB1bnRpbCBpdCBub3RpY2VzIHRoYXQgaXQgaXMgZG9pbmcg + YSBidW5jaCBvZiByZXBlYXRlZCB3b3JrLiBBdCB0aGF0IHBvaW50LCBpdCBi + ZWhhdmVzIG1vcmUgbGlrZSBhIGNvbXBpbGVyLCBhbmQgd2lsbCBvcHRpbWl6 + ZSB0aGUgcmVwZWF0ZWRseS1jYWxsZWQgY29kZSBieSBjb21waWxpbmcgaXQg + ZGlyZWN0bHkuIFRoaXMgYWxsb3dzIGEgSklUIHRvIHB1bGwgaW4gdGhlIGJl + c3Qgb2YgYm90aCBvZiBpdHMg4oCccGFyZW504oCdIHRyYW5zbGF0b3Jz4oCK + 4oCU4oCKdGhlIGNvbXBpbGVyIGFuZCB0aGUgaW50ZXJwcmV0ZXIuIFdoaWxl + IGl0IGRvZXMgYmVnaW4gYnkgaW50ZXJwcmV0aW5nIHRoZSBzb3VyY2UgdGV4 + dCwgaXQgZG9lcyBzbyBpbiBhIHNwZWNpYWwgd2F5LiBUaGUgSklUIGhhcyB0 + byBrZWVwIGEgY2FyZWZ1bCB3YXRjaCBvbiB0aGUgY29kZSB0aGF0IGl0IGlz + IHJ1bm5pbmcgaW5saW5lIGR1cmluZyBpbnRlcnByZXRhdGlvbi48L3A+PHA+ + QSBKSVQgbmVlZHMgdG8gYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHF1ZXN0aW9u + OjwvcD48YmxvY2txdW90ZT5DYW4gSSBrZWVwIGludGVycHJldGluZyB0aGlz + IGNvZGUgZGlyZWN0bHksIG9yIHNob3VsZCBJIGp1c3QgZ28gYWhlYWQgYW5k + IGNvbXBpbGUgdGhpcyBzbyBJIGRvbuKAmXQgbmVlZCB0byBrZWVwIHJlcGVh + dGluZyB0aGUgd29yayBvZiB0cmFuc2xhdGluZz88L2Jsb2NrcXVvdGU+PHA+ + U28gaG93IGRvZXMgaXQgYW5zd2VyIHRoaXMgc29tZXRpbWVzIGRpZmZpY3Vs + dCBxdWVzdGlvbj8gV2VsbCwgdGhlIEpJVCBrZWVwcyBhIGNsb3NlIGV5ZSBv + biB3aGF04oCZcyBoYXBwZW5pbmcsIGFuZCA8c3Ryb25nPjxlbT5tb25pdG9y + czwvZW0+PC9zdHJvbmc+IG9yIDxzdHJvbmc+PGVtPnByb2ZpbGVzPC9lbT48 + L3N0cm9uZz4gdGhlIGNvZGUgdGhhdCBpdCBpcyBleGVjdXRpbmcuPC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqQkVaLVBXZ2wyVXZkTVVQMEtBREZ5Zy5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhvdyB0aGUgSklUIGluaXRpYWxseSBpbnRl + cnByZXRzIHRoZSBjb2RlIGluIGEgc291cmNlwqB0ZXh0LjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5XaGlsZSB0aGUgSklUIGlzIGludGVycHJldGluZyB0 + aGUgY29kZSwgaXQgc2ltdWx0YW5lb3VzbHkgbW9uaXRvcnMgaXQuIFdoZW4g + aXQgbm90aWNlcyByZXBlYXRlZCB3b3JrLCBpdCB0aGlua3MgdG8gaXRzZWxm + OiA8ZW0+4oCcSGV5ISBUaGlzIGlzIHNpbGx5LiBJIGRvbuKAmXQgbmVlZCB0 + byBkbyB0aGlzIHVubmVjY2VzYXJ5IHdvcmsuIExldCBtZSBiZSBzbWFydCBh + Ym91dCBob3cgSSBkZWFsIHdpdGggdGhpc8KgY29kZS7igJ08L2VtPjwvcD48 + cD5Ob3csIHRoaXMgc2VlbXMgZ3JlYXQgaW4gdGhlb3J5LiBCdXQgaG93IGRv + ZXMgdGhlIEpJVCBrbm93IGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiBp + biBwcmFjdGljZSwgZXhhY3RseT8gVGltZSB0byBmaW5kwqBvdXQhPC9wPjxo + Mz5TbW9rZSBsZWFkcyB0byBmaXJlLCBmaXJlIGxlYWRzIHRvIGNvbXBpbGF0 + aW9uPC9oMz48cD5XZSBrbm93IHRoYXQgYSBKSVQgaGFzIHRvIGtlZXAgYSBj + bG9zZSBleWUgb24gdGhlIGNvZGUgdGhhdCBpdCBydW5zLiBCdXQgaG93IGV4 + YWN0bHkgZG9lcyBpdCBtb25pdG9yIHdoYXTigJlzIGdvaW5nIG9uPyBXZWxs + LCB3ZSBtaWdodCBpbWFnaW5lIHdoYXQgd2Ugd291bGQgZG8gaWYgd2Ugd2Vy + ZSBtb25pdG9yaW5nIHNvbWV0aGluZyBmcm9tIHRoZSBvdXRzaWRlOiB3ZeKA + mWQgcHJvYmFibHkgaGF2ZSBhIHBpZWNlIG9mIHBhcGVyIG9yIGEgbm90ZXBh + ZCBhbmQgbWFyayB0aGluZ3MgYXMgdGhleSBoYXBwZW5lZCBpbiBvcmRlciB0 + byBrZWVwIHRyYWNrIG9mIGV2ZW50cyBhcyB0aGV5wqBoYXBwZW4uPC9wPjxw + PlRoZSBKSVQgZG9lcyBleGFjdGx5IHRoYXQuIEl0IHVzdWFsbHkgaGFzIGFu + IGludGVybmFsIG1vbml0b3IgdGhhdCDigJxtYXJrc+KAnSBjb2RlIHRoYXQg + c2VlbXMgc3VzcGVjdC4gRm9yIGV4YW1wbGUsIGlmIGEgc2VjdGlvbiBvZiBv + dXIgc291cmNlIGNvZGUgaXMgY2FsbGVkIGEgZmV3IHRpbWVzLCB0aGUgSklU + IHdpbGwgbWFrZSBhIG5vdGUgb2YgdGhlIGZhY3QgdGhhdCB0aGlzIGNvZGUg + aXMgY2FsbGVkIG9mdGVuOyB0aGlzIGlzIG9mdGVuIHJlZmVycmVkIHRvIGFz + IDxzdHJvbmc+PGVtPuKAnHdhcm3igJ3CoGNvZGU8L2VtPjwvc3Ryb25nPi48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSowbG12UVg5RDFXU280Q1VKNTdv + ZEp3LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIEpJVCB1c2VzIHdhcm10aCBh + bmQgaGVhdCB0byBkZXRlcm1pbmUgaG93IHRvIG9wdGltaXplIG91csKgY29k + ZSE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QnkgdGhlIHNhbWUgdG9rZW4s + IGlmIHNvbWUgbGluZXMgaW4gb3VyIHNvdXJjZSBjb2RlIGFyZSBydW4gbWFu + eSwgbWFueSB0aW1lcywgdGhlIEpJVCB3aWxsIG1ha2UgYSBub3RlIG9mIGl0 + IGJ5IG1hcmtpbmcgdGhhdCBzZWN0aW9uIGFzIDxzdHJvbmc+PGVtPuKAnGhv + dOKAnSBjb2RlPC9lbT48L3N0cm9uZz4uIEJ5IHVzaW5nIHRoZXNlIGRlbGlt + aXRlcnMsIHRoZSBKSVQgY2FuIGVhc2lseSBmaWd1cmUgb3V0IHdoaWNoIGxp + bmVzIGFuZCBzZWN0aW9ucyBvZiBjb2RlIGNvdWxkIGJlIG9wdGltaXplZOKA + iuKAlOKAimluIG90aGVyIHdvcmRzLCBjb3VsZCBiZSA8ZW0+Y29tcGlsZWQ8 + L2VtPiByYXRoZXIgdGhhbiA8ZW0+aW50ZXJwcmV0ZWQ8L2VtPuKAlCBsYXRl + csKgb24uPC9wPjxwPlVuZGVyc3RhbmRpbmcgdGhlIHZhbHVlIGFuZCB1c2Vm + dWxuZXNzIG9mIOKAnHdhcm3igJ0gYW5kIOKAnGhvdOKAnSBjb2RlIG1ha2Vz + IGEgbG90IG1vcmUgc2Vuc2Ugd2l0aCBhbiBleGFtcGxlLiBTbywgbGV04oCZ + cyB0YWtlIGEgbG9vayBhdCBhbiBhYnN0cmFjdGVkIHZlcnNpb24gb2Ygc29t + ZSBzb3VyY2UgdGV4dCwgd2hpY2ggY291bGQgYmUgaW4gYW55IGxhbmd1YWdl + LCBhbmQgb2YgYW55IHNpemUuIEZvciBvdXIgcHVycG9zZXMsIHdlIGNhbiBp + bWFnaW5lIHRoYXQgdGhpcyBpcyBhIHZlcnkgc2hvcnQgcHJvZ3JhbSB0aGF0 + IGlzIG9ubHkgNiBsaW5lcyBvZiBjb2RlwqBsb25nLjwvcD48ZmlndXJlPjxp + bWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNv + bS9tYXgvMTAyNC8xKjdVNWxYbUdDNlY5TjJKMmVkU21nUFEuanBlZyIgLz48 + ZmlnY2FwdGlvbj5Ib3cgZG9lcyB0aGUgSklUIGtub3cgd2hhdCB0byBkbyB3 + aXRoIGEgaG90IGxpbmUgb2YgY29kZSwgYSB3YXJtIGxpbmUsIGFuZCBhIGxp + bmUgdGhhdCBpcyBuZXZlciBldmVuwqBjYWxsZWQ/PC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPkxvb2tpbmcgYXQgdGhlIGlsbHVzdHJhdGlvbiBzaG93biBo + ZXJlLCB3ZSBjYW4gc2VlIHRoYXQgbGluZSAxIGlzIGNhbGxlZCB2ZXJ5LCB2 + ZXJ5IG9mdGVuLiBUaGUgSklUIHdpbGwgcmVjb2duaXplIHByZXR0eSBxdWlj + a2x5IHRoYXQgbGluZSAxIGlzIOKAnGhvdOKAncKgY29kZS48L3A+PHA+TGlu + ZSA0LCBvbiB0aGUgb3RoZXIgaGFuZCwgaXMgbmV2ZXIgYWN0dWFsbHkgY2Fs + bGVkOyBwZXJoYXBzIGl0IGlzIHNldHRpbmcgYSB2YXJpYWJsZSB0aGF0IGlz + IG5ldmVyIHVzZWQsIG9yIGlzIGEgbGluZSBvZiBjb2RlIHRoYXQgbmV2ZXIg + ZW5kcyB1cCBiZWluZyBpbnZva2VkLiBUaGlzIGlzIHdoYXQgaXMgc29tZXRp + bWVzIGNhbGxlZCA8c3Ryb25nPjxlbT7igJxkZWFk4oCdwqBjb2RlPC9lbT48 + L3N0cm9uZz4uPC9wPjxwPkZpbmFsbHksIGxpbmUgNSBpcyBzb21ldGltZXMg + Y2FsbGVkIG9mdGVuLCBidXQgbm90IG5lYXJseSBhcyBtdWNoIGFzIGxpbmUg + MS4gVGhlIEpJVCB3aWxsIHJlY29nbml6ZSB0aGF0IHRoaXMgaXMg4oCcd2Fy + beKAnSBjb2RlLCBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgb3B0aW1pemVk + IGluIHNvbWXCoHdheS48L3A+PHA+VGhlIEpJVCBuZWVkcyB0byBjb25zaWRl + ciB3aGF0IGl0IHNob3VsZCBkbyB3aXRoIGFsbCBvZiB0aGVzZSBsaW5lcyBv + ZiBjb2RlIHNvIHRoYXQgaXQgY2FuIGZpZ3VyZSBvdXQgd2hhdCBpcyB0aGUg + YmVzdCB3YXkgdG8gb3B0aW1pemUuIFRoZSByZWFzb24gdGhhdCB0aGlzIGNv + bnNpZGVyYXRpb24gbmVlZHMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IGlz + IHRoYXQgPGVtPm5vdCBhbGwgb3B0aW1pemF0aW9uIGlzIGFjdHVhbGx5IGdv + b2Q8L2VtPi4gRGVwZW5kaW5nIG9uIHRoZSBlZmZpY2llbmN5IHdpdGggd2hp + Y2ggdGhlIEpJVCBkZWNpZGVzIHRvIG9wdGltaXplLCB0aGUgb3B0aW1pemF0 + aW9uIG1pZ2h0IG5vdCBhY3R1YWxseSBiZSBhbGwgdGhhdMKgaGVscGZ1bCE8 + L3A+PHA+TGV04oCZcyBsb29rIGF0IHNvbWUgb2YgdGhlc2UgbGluZXMgdG8g + c2VlIGhvdyBleGFjdGx5IHRoZSBKSVQgY291bGQgZW5kIHVwIG1ha2luZyBh + IHBvb3Igb3B0aW1pemF0aW9uIGNob2ljZSBpZiBpdCBpc27igJl0IGNsZXZl + csKgZW5vdWdoLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkR0dHY3M1p3 + UXdJZWhxWFF1NzhpSWcuanBlZyIgLz48ZmlnY2FwdGlvbj5CYXNlbGluZSBj + b21waWxhdGlvbjogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3Vy + ZT48cD5XZeKAmWxsIHN0YXJ0IHdpdGggbGluZSAxLiBJbiB0aGlzIHNpdHVh + dGlvbiwgdGhlIGNvZGUgb24gbGluZSAxIGlzIGV4ZWN1dGVkIHZlcnksIHZl + cnkgb2Z0ZW4uIExldOKAmXMgc2F5IHRoYXQgdGhlIEpJVCBub3RpY2VzICht + b25pdG9ycykgdGhhdCB0aGlzIGxpbmUgaXMgYmVpbmcgcmVwZWF0ZWQgb2Z0 + ZW4uIEl0IHdpbGwgaW5ldml0YWJseSB0YWtlIHRoYXQg4oCcaG904oCdIGxp + bmUgb2YgY29kZSBhbmQgZGVjaWRlIHRvIGNvbXBpbGXCoGl0LjwvcD48cD5C + dXQgdGhlIHdheSB0aGF0IHRoZSBKSVQgZGVjaWRlcyB0byBjb21waWxlIHRo + aXMgY29kZSBpcyBqdXN0IGFzIGltcG9ydGFudCBhcyB0aGUgZmFjdCB0aGF0 + IGl0IGlzIGNvbXBpbGluZyBpdCB0byBiZWdpbsKgd2l0aC48L3A+PHA+QSBK + SVQgY2FuIHBlcmZvcm0gZGlmZmVyZW50IGtpbmRzIG9mIGNvbXBpbGF0aW9u + cywgc29tZSBvZiB0aGVtIHF1aWNrLCBhbmQgc29tZSBvZiB0aGVtIG1vcmUg + Y29tcGxleC4gQSBxdWljayBjb21waWxhdGlvbiBvZiBjb2RlIGlzIG9mdGVu + IGEgbG93ZXItcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBhbmQgaW52b2x2 + ZXMgY29tcGlsaW5nIHRoZSBjb2RlIGFuZCB0aGVuIHN0b3JpbmcgdGhlIGNv + bXBpbGVkIHJlc3VsdCB3aXRob3V0IHRha2luZyB0b28gbXVjaCB0aW1lLiBU + aGlzIGZvcm0gb2YgcXVpY2sgb3B0aW1pemF0aW9uIGlzIGtub3duIGFzIDxz + dHJvbmc+PGVtPmJhc2VsaW5lIG9wdGltaXphdGlvbjwvZW0+PC9zdHJvbmc+ + LjwvcD48cD5Ib3dldmVyLCBpZiB0aGUgSklUIGNob3NlIHRvIGRvIGEgYmFz + ZWxpbmUgb3B0aW1pemF0aW9uIG9mIGxpbmUgMSwgaG93IHdvdWxkIHRoYXQg + YWZmZWN0IHRoZSBydW50aW1lIG9mIG91ciBjb2RlIG92ZXJhbGw/IFdlbGws + IHRoZSByZXN1bHQgb2YgYSBwb29yIG9wdGltaXphdGlvbiBjaG9pY2Ugb24g + bGluZSAxIHdvdWxkIHJlc3VsdCBpbiBvdXIgcnVudGltZSBpbmNyZWFzaW5n + IGFuZCByaXNpbmcgbGluZWFybHkgKDxlbT5PKG4pPC9lbT4pIGFzIHRoZSBu + dW1iZXIgb2YgY2FsbHMgdG8gdGhlIG1ldGhvZCBvbiBsaW5lIDEgaW5jcmVh + c2VkLjwvcD48cD5BbHRlcm5hdGl2ZWx5LCB0aGUgSklUIGNvdWxkIGFsc28g + cGVyZm9ybSBhIGxvbmdlciwgbW9yZSBpbi1kZXB0aCBraW5kIG9mIHBlcmZv + cm1hbmNlIG9wdGltaXphdGlvbiBjYWxsZWQgPHN0cm9uZz48ZW0+b3B0aW1p + emluZyBjb21waWxhdGlvbjwvZW0+PC9zdHJvbmc+LCBvciA8c3Ryb25nPjxl + bT5vcHQtY29tcGlsaW5nPC9lbT48L3N0cm9uZz4uIE9wdC1jb21waWxpbmcg + aW52b2x2ZXMgc3BlbmRpbmcgdGltZSB1cCBmcm9udCBhbmQgaW52ZXN0aW5n + IGluIG9wdGltaXppbmcgYSBwaWVjZSBvZiBjb2RlIGJ5IGNvbXBpbGluZyBh + cyBlZmZpY2llbnQgYXMgcG9zc2libGUsIGFuZCB0aGVuIHVzaW5nIHRoZSBz + dG9yZWQgdmFsdWUgb2YgdGhhdCBvcHRpbWl6YXRpb24uPC9wPjxibG9ja3F1 + b3RlPldlIGNhbiB0aGluayBvZiBiYXNlbGluZSBjb21waWxhdGlvbiB2ZXJz + dXMgb3B0LWNvbXBpbGluZyBhcyB0d28gZGlmZmVyZW50IGFwcHJvYWNoZXMg + dG8gZWRpdGluZyBhbsKgZXNzYXkuPC9ibG9ja3F1b3RlPjxwPkJhc2VsaW5l + IGNvbXBpbGF0aW9uIGlzIGEgbGl0dGxlIGJpdCBsaWtlIGVkaXRpbmcgYW4g + ZXNzYXkgZm9yIHNwZWxsaW5nLCBwdW5jdHVhdGlvbiwgYW5kIGdyYW1tYXI7 + IHdl4oCZcmUgbm90IGRvaW5nIGFuIGluLWRlcHRoIGltcHJvdmVtZW50IG9m + IHRoZSBlc3NheSwgYnV0IHdlIGFyZSBtYWtpbmcgYSBmZXcgaW1wcm92ZW1l + bnRzLiBPbiB0aGUgb3RoZXIgaGFuZCwgb3B0LWNvbXBpbGluZyBpcyBha2lu + IHRvIGVkaXRpbmcgYW4gZXNzYXkgZm9yIGNvbnRlbnQsIGNsYXJpdHksIGFu + ZCByZWFkYWJpbGl0eeKAiuKAlOKAimluIGFkZGl0aW9uIHRvIHNwZWxsaW5n + IGFuZCBncmFtbWFyLiBPcHQtY29tcGlsaW5nIHRha2VzIG1vcmUgdXAtZnJv + bnQgd29yaywgYnV0IGxlYWRzIHRvIGEgYmV0dGVyIGVuZMKgcmVzdWx0Ljwv + cD48cD5UaGUgbmljZSB0aGluZyBhYm91dCBvcHQtY29tcGlsaW5nIGlzIHRo + YXQsIG9uY2Ugd2XigJl2ZSBjb21waWxlZCBhIHNlY3Rpb24gb2YgY29kZSBp + biB0aGUgbW9zdCBvcHRpbWl6ZWQgd2F5IHBvc3NpYmxlLCB3ZSBjYW4gc3Rv + cmUgdGhlIHJlc3VsdCBvZiB0aGF0IG9wdGltaXplZCBjb2RlIGFuZCBwZXJw + ZXR1YWxseSBydW4gdGhhdCBjb21waWxlZCBjb2RlIGFnYWluIGFuZCBhZ2Fp + bi4gVGhpcyBtZWFucyB0aGF0IG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB3 + ZSBjYWxsIGEgbWV0aG9kIGluIHRoZSBzZWN0aW9uIG9mIGNvZGUgdGhhdCB3 + ZeKAmXZlIG9wdGltaXplZCwgaXQgd2lsbCB0YWtlIGNvbnN0YW50IHRpbWUg + dG8gcnVuIHRoYXQgY29kZSBzaW5jZSB3ZeKAmXJlIHJlYWxseSBqdXN0IHJ1 + bm5pbmcgdGhlIHNhbWUgY29tcGlsZWQgZmlsZSBlYWNoIHRpbWUuIEV2ZW4g + YXMgdGhlIG51bWJlciBvZiBtZXRob2QgY2FsbHMgZ29lcyB1cCwgdGhlIHJ1 + bnRpbWUgZm9yIGNvZGUgZXhlY3V0aW9uIHN0YXlzIHRoZSBzYW1lOyB0aGlz + IHJlc3VsdHMgaW4gY29uc3RhbnQgdGltZSAoPGVtPk8oMSk8L2VtPikgZm9y + IGNvZGUgdGhhdCBoYXMgYmVlbiBvcHQtY29tcGlsZWQuPC9wPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqUS1GR1NNSjVfX2pRME1uVzZlTm1tUS5qcGVnIiAv + PjxmaWdjYXB0aW9uPk9wdGltaXppbmcgY29tcGlsYXRpb246IGEgZGVmaW5p + dGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QmFzZWQgb24gdGhlIEJp + ZyBPIE5vdGF0aW9uIG9mIG9wdC1jb21waWxpbmcgYWxvbmUsIGl0IG1pZ2h0 + IHNvdW5kIGxpa2Ugb3B0LWNvbXBpbGluZyBzaG91bGQgYWx3YXlzIGJlIHRo + ZSB3YXkgdG8gZ28hIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIGluc3RhbmNl + cyB3aGVuIG9wdC1jb21waWxpbmcgY2FuIGJlIHdhc3RlZMKgZWZmb3J0Ljwv + cD48cD5Gb3IgZXhhbXBsZSwgd2hhdCB3b3VsZCBoYXBwZW4gaWYgb3VyIEpJ + VCB3ZW50IGFoZWFkIGFuZCBzdGFydGVkIG9wdC1jb21waWxpbmcgZXZlcnl0 + aGluZz8gV2XigJlsbCByZWNhbGwgdGhhdCBsaW5lIDQgaXMgbmV2ZXIgYWN0 + dWFsbHkgY2FsbGVkIGFuZCBpcyDigJxkZWFk4oCdIGNvZGUuIElmIG91ciBK + SVQgdG9vayB0aGUgdGltZSB1cCBmcm9udCB0byBvcHQtY29tcGlsZSBsaW5l + IDQsIHdoaWNoIGlzIG5ldmVyIGV2ZW4gcnVuLCB0aGVuIGl0IHdpbGwgc3Bl + bmQgYW4gdW5uZWNlc3NhcnkgYW1vdW50IG9mIHRpbWUgaW4gb3JkZXIgdG8g + cHJlbWF0dXJlbHkgb3B0aW1pemUgYSBsaW5lIG9mIGNvZGUgdGhhdCBpcyBu + ZXZlciBpbnZva2VkLiBJbiB0aGlzIHNjZW5hcmlvLCBvcHQtY29tcGlsaW5n + IGJsaW5kbHksIHdpdGhvdXQgdGFraW5nIGEgZGVlcGVyIGxvb2sgYXQgd2hh + dOKAmXMgYWN0dWFsbHkgZ29pbmcgb24gaW4gdGhlIGNvZGUgYW5kIHdpdGhv + dXQgcmVseWluZyBvbiB0aGUgaG90bmVzcyBvZiB0aGUgY29kZSBpdHNlbGYg + ZW5kcyB1cCBiZWluZyByYXRoZXIgd2FzdGVmdWwhPC9wPjxwPlNvLCB3aGF0 + 4oCZcyBhIEpJVCBjb21waWxlciB0byBkbz8gV2VsbCwgdWx0aW1hdGVseSwg + aXQgbmVlZHMgdG8gZmluZCBhIGhhcHB5IG1lZGl1bSBiZXR3ZWVuIGJhc2Vs + aW5lIGNvbXBpbGF0aW9uIGFuZCBvcHQtY29tcGlsaW5nLiBUaGlzIGlzIGV4 + YWN0bHkgd2hlcmUgdGhlIOKAnGhvdG5lc3PigJ0gb2YgY29kZSBjb21lcyBp + bnRvwqBwbGF5LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKl9ObllTMDRs + N2s5aXFNVzVkdW1rbUEuanBlZyIgLz48ZmlnY2FwdGlvbj5GaW5kaW5nIGEg + aGFwcHkgbWVkaXVtIGJldHdlZW4gYmFzZWxpbmUgYW5kIG9wdC1jb21waWxp + bmcuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoZSBKSVQgdXNlcyB0aGUg + 4oCcaG90bmVzc+KAnSBvZiBhIGxpbmUgb2YgY29kZSBpbiBvcmRlciB0byBk + ZWNpZGUgbm90IGp1c3QgaG93IGltcG9ydGFudCBpdCBpcyBmb3IgdGhhdCBj + b2RlIHRvIGJlIGNvbXBpbGVkLCBidXQgYWxzbyB3aGljaCBzdHJhdGVneeKA + iuKAlOKAimVpdGhlciA8ZW0+YmFzZWxpbmU8L2VtPiBvciA8ZW0+b3B0LWNv + bXBpbGluZzwvZW0+4oCUdG8gdXNlIHdoZW4gaXQgY29tcGlsZXMuPC9wPjxo + Mz5BIGhhcHB5LCBob3QgcGF0aCBsZWFkcyB0byBvcHRpbWFsIEpJVCBjb21w + aWxpbmc8L2gzPjxwPldlIGFscmVhZHkga25vdyB0aGF0IHRoZSBKSVQgdXNl + cyB0aGUg4oCcaG90bmVzc+KAnSBvZiBjb2RlIGluIG9yZGVyIHRvIGRlY2lk + ZSB3aGljaCBraW5kIG9mIGNvbXBpbGF0aW9uIHN0cmF0ZWd5IHRvIHVzZS4g + QnV0IGhvdyBkb2VzIGl0IG1ha2UgaXRzIGRlY2lzaW9uLCBleGFjdGx5Pzwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh1WjNuZHVSU3hGazhoRlRkV1lR + Y2cuanBlZyIgLz48ZmlnY2FwdGlvbj5Db21iaW5pbmcgaG90bmVzcyBhbmQg + b3B0aW1hbCBjb21waWxhdGlvbiBzdHJhdGVnaWVzITwvZmlnY2FwdGlvbj48 + L2ZpZ3VyZT48cD5Gb3IgY29kZSB0aGF0IGlzIG5laXRoZXIg4oCcaG904oCd + IG5vciDigJx3YXJt4oCd4oCK4oCU4oCKaW5jbHVkaW5nIGNvZGUgdGhhdCBp + cyDigJxkZWFk4oCd4oCK4oCU4oCKdGhlIEpJVCB3aWxsIGJlaGF2ZSBqdXN0 + IGxpa2UgYW4gaW50ZXJwcmV0ZXIsIGFuZCB3b27igJl0IGV2ZW4gYm90aGVy + IG1ha2luZyBhbnkgY29tcGlsZXIgb3B0aW1pemF0aW9ucyB3aGF0c29ldmVy + LjwvcD48cD5CdXQsIGZvciBjb2RlIHRoYXQgaXMg4oCcd2FybeKAnSBidXQg + bm90IOKAnGhvdOKAnSwgdGhlIEpJVCB3aWxsIHVzZSB0aGUgcXVpY2tlciwg + YmFzZWxpbmUgZm9ybSBvZiBjb21waWxhdGlvbiBkdXJpbmcgcHJvZ3JhbSBl + eGVjdXRpb24uIEluIG90aGVyIHdvcmRzLCBhcyBpdCBpbnRlcnByZXRzIHRo + aXMgY29kZSBhbmQgbm90aWNlcyB0aGF0IGlzIGlzIOKAnHdhcm3igJ0sIGl0 + IHNlbmRzIGl0IG9mZiB0byBiZSBjb21waWxlZCB3aGlsZSB0aGUgY29kZSBp + cyBzdGlsbCBiZWluZyBleGVjdXRlZC4gSXQgd2lsbCBjb21waWxlIHRoYXQg + 4oCcd2FybeKAnSBjb2RlIGluIGEgc2ltcGxlIHdheeKAiuKAlOKAinRoZSBx + dWlja2VzdCwgbG93LXBlcmZvcm1hbmNlIHdheSBwb3NzaWJsZS4gVGhpcyBt + ZWFucyB0aGF0IGl0IG1ha2VzIGEgc2xpZ2h0IGltcHJvdmVtZW50IGJlY2F1 + c2UgZXZlbiBiYXNlbGluZSBjb21waWxhdGlvbiBpcyBiZXR0ZXIgdGhhbiBu + b3RoaW5nIGZvciDigJx3YXJt4oCdwqBjb2RlLjwvcD48cD5Ib3dldmVyLCBm + b3IgY29kZSB0aGF0IGlzIOKAnGhvdOKAnSBhbmQgY2FsbGVkIHVwb24gZnJl + cXVlbnRseSwgdGhlIEpJVCB3aWxsIG1ha2UgYSBub3RlIG9mIHRoaXMsIGFu + ZCB3aGVuIGl0IGlzIGNhbGxlZCBlbm91Z2ggdGltZXMsIGl0IHdpbGwgaW50 + ZXJydXB0IHByb2dyYW0gZXhlY3V0aW9uIChpbnRlcnByZXRhdGlvbiksIGFu + ZCBzZW5kIHRoYXQgY29kZSB0byBiZSBvcHQtY29tcGlsZWTigIrigJTigIpv + cHRpbWl6ZWQgaW4gdGhlIGJlc3QgcG9zc2libGUgd2F5LCB3aGljaCBhbHNv + IG1lYW5zIG1vcmUgdGltZSBpbnZlc3RlZCBpbiBjb21waWxhdGlvbiB1cCBm + cm9udC4gVGhlIGJlbmVmaXQgdG8gdGhpcyBpcyB0aGF0IHRoZSDigJxob3Ti + gJ0gY29kZSBvbmx5IG5lZWRzIHRvIGJlIG9wdGltaXplZCB0aGUgb25lIHRp + bWUsIGV2ZW4gdGhvdWdoIGl0IGlzIHNsaWdodGx5IG1vcmUgd29yayB0byBk + byBzby4gT25jZSB0aGUg4oCcaG904oCdIGNvZGUgaGFzIGJlZW4gb3B0aW1p + emVkLCB0aGUgSklUIHdpbGwganVzdCBrZWVwIHJldXNpbmcgYW5kIHJlcnVu + bmluZyB0aGUgbWFjaGluZSBjb2RlIGZvciB0aGUgb3B0aW1pemVkIHZlcnNp + b24gYWdhaW4gYW5kIGFnYWluIGR1cmluZyBydW50aW1lLCB3aXRob3V0IGV2 + ZXIgaGF2aW5nIHRvIG5lZWQgdG8gc2VuZCBpdCBvZmYgdG8gYmUgcmVjb21w + aWxlZCBhZ2FpbiBhbmTCoGFnYWluLjwvcD48cD5UaGUgYmFzaWMgcnVsZSBv + ZiB0aHVtYiB0byByZW1lbWJlciBpc8KgdGhpczo8L3A+PGJsb2NrcXVvdGU+ + Rm9yIGNvZGUgdGhhdCBpcyBub3QgY2FsbGVkIG9mdGVuLCB0aGUgSklUIHdp + bGwgdXNlIGJhc2VsaW5lIGNvbXBpbGF0aW9uLCB3aGljaCBpcyBmYXN0ZXIu + IEhvd2V2ZXIsIGZvciBjb2RlIHRoYXQgaXMgY2FsbGVkIGZyZXF1ZW50bHks + IHRoZSBKSVQgd2lsbCB1c2UgdGhlIGxvbmdlciBvcHQtY29tcGlsZSBtZXRo + b2QsIGJlY2F1c2UgaXQga25vd3MgdGhhdCBpdCBpcyB3b3J0aCB0aGXCoGVm + Zm9ydC48L2Jsb2NrcXVvdGU+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpMRVRr + T1p0RkxYcWdrR0ZReG1zVzdnLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIHJp + c2sgb2YgZHluYW1pYyB0cmFuc2xhdGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1 + cmU+PHA+RXZlciBzbyByYXJlbHksIHRoZSBKSVQgd2lsbCBtYWtlIGEgY2Fs + bCB0aGF0IGlzIGluY29ycmVjdC4gVGhhdCBpcyB0byBzYXksIGl0IHdpbGwg + ZGV0ZXJtaW5lIHRoYXQgc29tZSBwaWVjZSBvZiBjb2RlIGlzIGNhbGxlZCBl + bm91Z2ggdG8gYmUgb3B0LWNvbXBpbGVkLCBidXQgYXMgaXQgdHVybnMgb3V0 + LCBtYXliZSBpdCBpc27igJl0ISBGb3IgZXhhbXBsZSwgaWYgb3VyIEpJVCBs + b29rcyBmb3IgbGluZXMgb2YgY29kZSBjYWxsZWQgNSB0aW1lcyBiZWZvcmUg + aXQgaXMgb3B0LWNvbXBpbGVkLCBhbmQgaXQgc2VlcyBhIGxpbmUgb2YgY29k + ZSB0aGF0IGlzIGNhbGxlZCA0IHRpbWVzLCBvbiB0aGUgNXRoIHRpbWUsIGl0 + IHdpbGwgbGlrZWx5IHNlbmQgaXQgb2ZmIHRvIGJlIG9wdC1jb21waWxlZC4g + SW4gdmVyeSByYXJlIG9jY3VycmVuY2VzLCBpdCBtaWdodCBzbyBoYXBwZW4g + dGhhdCB0aGUgbGluZSBvZiBjb2RlIHRoYXQgaXQgb3B0LWNvbXBpbGVkIGlz + IG5ldmVyIGV2ZXIgY2FsbGVkIGFnYWluISBJbiB3aGljaCBjYXNlLCBhbGwg + dGhlIHdvcmsgaXQgcHV0IGludG8gY29tcGlsaW5nIHRoYXQgbGluZSB3ZW50 + IHRvwqB3YXN0ZS48L3A+PHA+VGhpcyBpcyBqdXN0IGEgcGFydCBvZiB0aGUg + c3Rvcnkgd2hlbiBpdCBjb21lcyB0byA8c3Ryb25nPjxlbT5keW5hbWljIHRy + YW5zbGF0aW9uPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIHdoYXQganVzdC1p + bi10aW1lLWNvbXBpbGlhdGlvbiBoYXBwZW5zIHRvIGJlLiBFdmVyeSBzbyBv + ZnRlbiwgdGhlIEpJVCBjb3VsZCBkZWNpZGUgdG8gcHJlLW9wdGltaXplIGEg + cGllY2Ugb2YgY29kZSB0aGF0IHdvbuKAmXQgYWN0dWFsbHkgZXZlciBiZSBj + YWxsZWQgYWdhaW4uIFRoaXMgaXMgcHJldHR5IHJhcmUgdGhvdWdoLCBiZWNh + dXNlIG1vc3QgbGluZXMgb2YgY29kZSBhcmUgZWl0aGVyIGNhbGxlZCB2ZXJ5 + IGZyZXF1ZW50bHksIG9yIG9ubHkgYSBoYW5kZnVsIG9mIHRpbWVzLiBJdOKA + mXMgbGlrZWx5IHRoYXQgbW9zdCBtb2Rlcm4tZGF5IEpJVHMgY2FuIGFjY291 + bnQgZm9yIHRoaXMgdmVyeSB3ZWxsLCBidXQgaXQgaXMgcG9zc2libGUgZm9y + IGEgSklUIHRvIGJlIHdyb25nIGV2ZXJ5IG9uY2UgaW7CoGF3aGlsZS48L3A+ + PHA+TW9zdCBvZiB0aGUgdGltZSwgYSBKSVQgaXMgcHJldHR5IGdvb2QgYWJv + dXQga25vd2luZyB3aGVuIGl0IHNob3VsZCBiZWhhdmUgbGlrZSBhbiBpbnRl + cnByZXRlciBhbmQgd2hlbiBpdCBzaG91bGQgdGFrZSBhIHBpZWNlIG9mIGNv + ZGUgYW5kIGNvbXBpbGUgaXQuIFRoZSBuaWNlIHRoaW5nIGFib3V0IHRoaXMg + aXMgdGhhdCBvdXIgSklUIGFsbG93cyB1cyBzcGVlZCB1cCBvbmx5IHRoZSB0 + aGluZ3MgdGhhdCA8ZW0+bmVlZDwvZW0+IHRvIGJlIHNwZWQgdXAuIEp1c3Qt + aW4tdGltZSBjb21wbGlhdGlvbiBhbGxvd3MgdXMgdG8gb3B0aW1pemUgYW5k + IGNvbXBpbGUgdGhlIGNvZGUgdGhhdCB3ZSBydW4gdGhlIG1vc3TCoG9mdGVu + LjwvcD48cD5GdXJ0aGVybW9yZSwgaXQgYWxsb3dzIHVzIHRvIGNvbnRpbnVl + IHRvIGhvbGQgb250byB0aGUgcGxhY2UgaW4gb3VyIHNvdXJjZSBjb2RlIHdo + ZXJlIHRoYXQgY29tcGlsZWQgY29kZSB3YXMgcnVuIGluIHRoZSBmaXJzdCBw + bGFjZSEgSW4gb3RoZXIgd29yZHMsIHdlIGNhbiBzdGlsbCByZWZlcmVuY2Ug + d2hlcmUgc29tZSBjb21waWxlZCBjb2RlIHdhc8KgcnVuLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKmRkd2w2cUt0c0w5UjFSc0VQZDJFTUEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5UaGUgYmVuZWZpdHMgb2YgdGhlIGp1c3QtaW4tdGlt + ZSBjb21waWxlciE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIGV4YW1w + bGUsIGluIHRoZSBpbWFnZSBhYm92ZSwgb3VyIEpJVCBkZXRlcm1pbmVkIHRo + YXQgZnVuY3Rpb24gb25lKCkgaXMgYSBoaWdoIOKAnGhvdG5lc3PigJ0sIGFu + ZCBjYW4gYmUgb3B0LWNvbXBpbGVkIHRvIGJlIG1vcmUgZWZmaWNpZW50LiBF + dmVuIHRob3VnaCBmdW5jdGlvbiBvbmUoKSB3YXMgY29tcGlsZWQsIHdlIGNh + biBzdGlsbCByZWZlcmVuY2Ugd2hlcmUgdGhhdCBjb21waWxlZCBjYW1lIGZy + b20gaW4gb3VyIHNvdXJjZSB0ZXh0LiBFZmZlY3RpdmVseSwgaWYgdGhlcmUg + YXJlIGFueSBlcnJvcnMgaW4gdGhpcyBjb21waWxlZCBjb2RlLCB3ZSBub3cg + a25vdyB3aGVyZSBleGFjdGx5IGl0IGNhbWUgZnJvbSBpbiB0aGUgc291cmNl + IHRleHQuIFNpbmNlIHRoZSBjb21waWxhdGlvbiBoYXBwZW5zIGR1cmluZyBy + dW50aW1lLCB3ZSBjYW4gZWFzaWx5IGRlYnVnIGFueSBlcnJvcnMgb3IgcHJv + YmxlbXMsIGJlY2F1c2Ugd2Uga25vdyB0byBsb29rIGF0IGZ1bmN0aW9uIG9u + ZSgpIGZvciBjbHVlcywgc2luY2UgdGhlIGVycm9yIGlzIGNvbWluZyBmcm9t + IHRoZSBjb21waWxlZCBjb2RlIGdlbmVyYXRlZCBieSB0aGlzIHBhcnRpY3Vs + YXIgbGluZS48L3A+PHA+VGhlIGp1c3QtaW4tdGltZSBjb21waWxlciBnaXZl + cyB1cyB0aGUgYmVuZWZpdHMgb2YgYm90aCB3b3JsZHM6IGl0IGFsbG93cyB1 + cyB0byBydW4gZmFzdCBjb2RlIHRoYXQgY2FuIGJlIG9wdGltaXplZCBhbmQg + ZXhlY3V0ZWQgdmlhIGNvbXBpbGF0aW9uLCB3aGlsZSBzdGlsbCByZXRhaW5p + bmcgdGhlIG1haW50YWluZWQgY29udGV4dCBmcm9tIHRoZSBpbnRlcHJldGVy + LCB3aGljaCBwcm9ncmFtbWVycyBsb3ZlIHRvIGhhdmUgd2hpbGUgZGVidWdn + aW5nLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKjdCVW0tRnZHOGpYd2Zs + b0tnRUVCTHcuanBlZyIgLz48ZmlnY2FwdGlvbj5BIEpJVCBnaXZlcyB1cyB0 + aGUgYmVzdCBvZiB0aGUgaW50ZXJwcmV0ZXIgYW5kIHRoZSBjb21waWxlci48 + L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhlIEpJVCBpcyBhIHBlcmZlY3Qg + ZXhhbXBsZSBvZiBldmVyeSBvbmNlIGluIGF3aGlsZSB3ZSBnZXQgbHVja3kg + aW4gY29tbnB1dGVyIHNjaWVuY2UsIGFuZCBkb27igJl0IGhhdmUgdG8gY2hv + b3NlIGJldHdlZW4gdHJhZGVvZmZzLiBFdmVyeSBzbyBvZnRlbiwgaXQgdHVy + bnMgb3V0IHdlIGNhbiBoYXZlIG91ciBjb21waWxlciBhbmQgaW50ZXJwcmV0 + ZXIgb3VyIGNvZGUswqB0b28hPC9wPjxoMz5SZXNvdXJjZXM8L2gzPjxwPkV2 + ZW4gdGhvdWdoIHRoZSBKSVQgY29tcGlsZXIgaXMgaW1wbGVtZW50ZWQgd2l0 + aGluIGxhbmd1YWdlcyB0aGF0IGFyZSBjb21tb25seS11c2VkIGluIGNvbXB1 + dGluZyB0b2RheSwgaXQgY2FuIGJlIGhhcmQgdG8gZmluZCBnb29kIHJlc291 + cmNlcyB0aGF0IHJlYWxseSBleHBsYWluIHdoYXQgdGhleSBhcmUsIGhvdyB0 + aGV5IHdvcmssIGFuZCB3aHkgdGhleSBhcmUgaW1wb3J0YW50LiBUaGVyZSBh + cmUsIG9mIGNvdXJzZSwgc29tZSB2aWRlb3MgYW5kIGFydGljbGVzIHRoYXQg + ZG8gYSBnb29kIGpvYiBvZiBhbnN3ZXJpbmcgdGhlc2UgcXVlc3Rpb25zLCBi + dXQgeW91IGhhdmUgdG8gZGlnIGEgbGl0dGxlIGJpdCB0byBmaW5kIHRoZW0u + IEx1Y2tpbHksIEkgZGlkIHRoZSBkaWdnaW5nIGZvciB5b3UhIEhlcmUgYXJl + IHNvbWUgZ29vZCBwbGFjZXMgdG8gc3RhcnQgaWYgeW914oCZcmUgbG9va2lu + ZyBmb3IgZnVydGhlciBKSVQtcmVsYXRlZCByZWFkaW5nLjwvcD48b2w+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vaGFja3MubW96aWxsYS5vcmcvMjAxNy8wMi9h + LWNyYXNoLWNvdXJzZS1pbi1qdXN0LWluLXRpbWUtaml0LWNvbXBpbGVycy8i + PkEgY3Jhc2ggY291cnNlIGluIGp1c3QtaW4tdGltZSAoSklUKSBjb21waWxl + cnM8L2E+LCBMaW7CoENsYXJrPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93 + d3cueW91dHViZS5jb20vd2F0Y2g/dj1zdkplcml4YXdWMCI+V2hhdCBhcmUg + SW50ZXJwcmV0ZXJzLCBDb21waWxlcnMgJmFtcDsgSklUIGNvbXBpbGVycz88 + L2E+LCBBdmVseDwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1 + YmUuY29tL3dhdGNoP3Y9eVEyN0RqS254d28iPkp1c3QgaW4gVGltZSBDb21w + aWxhdGlvbjwvYT4sIFNFUEwgR29ldGhlIFVuaXZlcnNpdHkgRnJhbmtmdXJ0 + PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9hYm91bGxhaXRlLm1lL3VuZGVy + c3RhbmRpbmctaml0LWNvbXBpbGVyLWp1c3QtaW4tdGltZS1jb21waWxlci8i + PlVuZGVyc3RhbmRpbmcgSklUIGNvbXBpbGVyIChqdXN0LWluLXRpbWUgY29t + cGlsZXIpPC9hPiwgQWJvdWxsYWl0ZSBNb2hhbW1lZDwvbGk+PGxpPjxhIGhy + ZWY9Imh0dHA6Ly93d3cuY3MuY29sdW1iaWEuZWR1L35haG8vY3M2OTk4L0xl + Y3R1cmVzLzE0LTA5LTIyX0Nyb2NlX0pJVC5wZGYiPkp1c3QgaW4gVGltZSBD + b21waWxhdGlvbjwvYT4sIFByb2Zlc3NvciBMb3Vpc8KgQ3JvY2U8L2xpPjxs + aT48YSBocmVmPSJodHRwOi8vd3d3LmNzLnR1ZnRzLmVkdS9jb21wLzE1MElQ + TC9wYXBlcnMvYXljb2NrMDNqaXQucGRmIj5BIEJyaWVmIEhpc3Rvcnkgb2Yg + SnVzdC1Jbi1UaW1lPC9hPiwgUHJvZmVzc29yIEpvaG7CoEF5Y29jazwvbGk+ + PC9vbD48aW1nIHNyYz0iaHR0cHM6Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVu + dD1wb3N0LmNsaWVudFZpZXdlZCZyZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZw + b3N0SWQ9MjkzODcxMmE5ZjZhIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48aHI+ + PHA+PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9hLW1vc3Qt + cGVyZmVjdC11bmlvbi1qdXN0LWluLXRpbWUtY29tcGlsZXJzLTI5Mzg3MTJh + OWY2YSI+QSBNb3N0IFBlcmZlY3QgVW5pb246IEp1c3QtSW4tVGltZSBDb21w + aWxlcnM8L2E+IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBpbiA8YSBocmVm + PSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8L2E+IG9uIE1l + ZGl1bSwgd2hlcmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRoZSBjb252ZXJz + YXRpb24gYnkgaGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5nIHRvIHRoaXMg + c3RvcnkuPC9wPl1dPjwvY29udGVudDplbmNvZGVkPgogICAgICAgIDwvaXRl + bT4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxlPjwhW0NEQVRB + W0EgRGVlcGVyIEluc3BlY3Rpb24gSW50byBDb21waWxhdGlvbiBBbmQgSW50 + ZXJwcmV0YXRpb25dXT48L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2EtZGVlcGVyLWluc3BlY3Rpb24taW50 + by1jb21waWxhdGlvbi1hbmQtaW50ZXJwcmV0YXRpb24tZDk4OTUyZWJjODQy + P3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAgICAg + ICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwczovL21lZGl1 + bS5jb20vcC9kOTg5NTJlYmM4NDI8L2d1aWQ+CiAgICAgICAgICAgIDxjYXRl + Z29yeT48IVtDREFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtpbnRlcnByZXRlcnNdXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29kZV1d + PjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtj + b21waWxlcnNdXT48L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbY29tcHV0ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxkYzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48 + L2RjOmNyZWF0b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPldlZCwgMTMgRGVj + IDIwMTcgMTc6MDU6MjAgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRv + bTp1cGRhdGVkPjIwMTctMTItMTRUMDI6NTA6MDAuMzY0WjwvYXRvbTp1cGRh + dGVkPgogICAgICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqYm9DMDZFQzJQR21NWU5qcEh0ckw0QS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkEgZGVlcGVyIGluc3BlY3Rpb24gaW50byBj + b21waWxhdGlvbiB2cy4gaW50ZXJwcmV0YXRpb248L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+VGhlcmUgaXMgcGVyaGFwcyBub3RoaW5nIG1vcmUgc2F0aXNm + eWluZyB0aGFuIHNlZWluZyB0aGUgcGllY2VzIG9mIGEgcHV6emxlIGNvbWUg + dG9nZXRoZXIuIFRoaXMgaXMgdGhlIGNhc2UgZm9yIGFjdHVhbCBwdXp6bGVz + LCB3aGljaCBJIGFtIHByZXR0eSBiYWQgYXQgYmVjYXVzZSBJIGFsd2F5cyBz + ZWVtIHRvIGxvc2UgcGllY2VzIHVuZGVyIHRoZSBjb3VjaCwgYW5kIG1vcmUg + bWV0YXBob3JpY2FsIHB1enpsZXMsIHdoaWNoIEkgYW0gZ2VuZXJhbGx5IGJl + dHRlciBhdCB3aGF0IHdpdGggbm8gcGllY2VzIHRvIGxvc2UgaW4gc3RyYW5n + ZcKgcGxhY2VzLjwvcD48cD5UaGUgcHV6emxlIG9mIGxlYXJuaW5nIGlzIGNl + cnRhaW5seSBvbmUgb2YgdGhlIG1vcmUgY29tcGxpY2F0ZWQgZW5pZ21hcyBv + dXQgdGhlcmUuIExlYXJuaW5nIGEgbmV3IHRoaW5nIGlzIGhhcmQgYmVjYXVz + ZSB5b3XigJlyZSB0cnlpbmcgdG8gY29uc3RhbnRseSBwaWVjZSB0b2dldGhl + ciBpZGVhcyBhbmQgY29uc3RydWN0IGNvbmNlcHRzIHdpdGhvdXQgYWx3YXlz + IG5lY2Vzc2FyaWx5IGtub3dpbmcgaG93IHRob3NlIHBhcnRzIGZpdCBpbnRv + IHRoZSBsYXJnZXIgd2hvbGUuIEl0IGNhbiBiZSBkaWZmaWN1bHQgdG8gdHJ5 + IHRvIHdyYXAgeW91ciBoZWFkIGFyb3VuZCBzb21ldGhpbmcgbmV3IHdoZW4g + eW91IGNvbnN0YW50bHkgZmluZCB5b3Vyc2VsZiB3b25kZXJpbmcgd2hhdCB0 + aGlzIG5ldyB0aGluZyBoYXMgdG8gZG8gd2l0aCB0aGUgYnJvYWRlciBwaWN0 + dXJlIHRoYXQgeW914oCZcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoLiBJdOKA + mXMgYSBsaXR0bGUgYml0IGxpa2UgZmluZGluZyBhIHJhbmRvbSBwdXp6bGUg + cGllY2UgYW5kIHRoZW4gdHJ5aW5nIHRvIGZpbmQgdGhlIHBpZWNlcyB0aGF0 + IGZpdCBhcm91bmQgaXQsIGJ1dCBub3QgbmVjZXNzYXJpbHkga25vd2luZyBo + b3cgdGhvc2UgcGllY2VzIGZpdCBpbnRvIHRoZSBiaWfCoHBpY3R1cmUuPC9w + PjxwPlRoZSBzYW1lIGlzIHRydWUgZm9yIGxlYXJuaW5nIGEgc3BlY2lmaWMg + dG9waWMsIGxpa2UgY29tcHV0ZXIgc2NpZW5jZS4gT2Z0ZW50aW1lcywgaXQg + Y2FuIGZlZWwgbGlrZSB5b3XigJlyZSBwaWNraW5nIHVwIGxpdHRsZSBiaXQg + b2YgaW5mb3JtYXRpb27igIrigJTigIphIGRhdGEgc3RydWN0dXJlIGhlcmUs + IGFuIGFsZ29yaXRobSB0aGVyZeKAiuKAlOKAindpdGhvdXQgYWx3YXlzIGtu + b3dpbmcgaG93IG9uZSBwaWVjZSBjb25uZWN0cyB0byBhbm90aGVyLiBJIHRl + bmQgdG8gdGhpbmsgdGhhdCB0aGlzIGlzIHRoZSByZWFzb24gdGhhdCBsZWFy + bmluZyBjb21wdXRlciBzY2llbmNlIGlzIHNvIGhhcmQ6IHRoZXJlIGp1c3Qg + YXJlbuKAmXQgdmVyeSBtYW55IHJlc291cmNlcyB0aGF0IGNhbiBjb25zdHJ1 + Y3QgdGhlIHBpY3R1cmUgb2YgdGhlIGZpZWxkIHdpdGggYWxsIG9mIHRoZXNl + IHBlcmZlY3RseSBwaWVjZXMgZml0IGludG8gb25lwqBhbm90aGVyLjwvcD48 + cD5Ib3dldmVyLCBldmVyeSBzbyBvZnRlbiwgaWYgeW91IHJlYWxseSBzdGlj + ayB3aXRoIGEgdG9waWMgZm9yIGxvbmcgZW5vdWdoLCB5b3XigJlsbCBmaW5k + IHRoYXQgc29tZSBwaWVjZXMgd2lsbCBzdGFydCB0byBjb21lIHRvZ2V0aGVy + LiBBbmQgYXMgd2Ugcm91bmQgb3V0IHRoaXMgc2VyaWVzIHRvZ2V0aGVyLCBp + dOKAmXMgdGltZSBmb3IgdGhhdCB0byBmaW5hbGx5wqBoYXBwZW4hPC9wPjxo + Mz5BIHRyYW5zbGF0b3Igd2Uga25vdyBhbmTCoGxvdmU8L2gzPjxwPldoZW4g + d2UgZmlyc3Qgc3RhcnRlZCB0aGlzIHNlcmllcyBuZWFybHkgYSB5ZWFyIGFn + bywgdGhlIHZlcnkgZmlyc3QgdG9waWMgdGhhdCB3ZSBleHBsb3JlZCB3YXMg + c29tZXRoaW5nIHRoYXQgaXMgb2Z0ZW4gdGhvdWdodCBvZiBhcyB0aGUg4oCc + Y29ybmVyc3RvbmXigJ0gb2YgY29tcHV0ZXIgc2NpZW5jZTogPGEgaHJlZj0i + aHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9iaXRzLWJ5dGVzLWJ1aWxkaW5n + LXdpdGgtYmluYXJ5LTEzY2I0Mjg5YWFmYSI+YmluYXJ5PC9hPi4gV2UgbGVh + cm5lZCB0aGF0LCBhdCB0aGVpciB2ZXJ5IGNvcmUsIGJpbmFyeSBpcyB0aGUg + bGFuZ3VhZ2UgdGhhdCBldmVyeSBjb21wdXRlciBzcGVha3MgYW5kIHVuZGVy + c3RhbmRzLiBPdXIgbWFjaGluZXMsIGF0IHRoZSBlbmQgb2YgdGhlIGRheSwg + ZWFjaCBydW4gb24gb25lcyBhbmTCoHplcm9zLjwvcD48cD5TaW5jZSB0aGVu + LCB3ZeKAmXZlIGV4cGxvcmVkIGRpZmZlcmVudCBkYXRhIHN0cnVjdHVyZXMs + IGxpa2UgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ob3ct + dG8tbm90LWJlLXN0dW1wZWQtYnktdHJlZXMtNWYzNjIwOGY2OGE3Ij50cmVl + czwvYT4sIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvYS1n + ZW50bGUtaW50cm9kdWN0aW9uLXRvLWdyYXBoLXRoZW9yeS03Nzk2OTgyOWVh + ZDgiPmdyYXBoczwvYT4sIGFuZCA8YSBocmVmPSJodHRwczovL21lZGl1bS5j + b20vYmFzZWNzL3doYXRzLWEtbGlua2VkLWxpc3QtYW55d2F5LXBhcnQtMS1k + OGI3ZTY1MDhiOWQiPmxpbmtlZCBsaXN0czwvYT4sIGFzIHdlbGwgYXMgPGEg + aHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9zb3J0aW5nLW91dC10 + aGUtYmFzaWNzLWJlaGluZC1zb3J0aW5nLWFsZ29yaXRobXMtYjBhMDMyODcz + YWRkIj5zb3J0aW5nIGFsZ29yaXRobXM8L2E+IGFuZCA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2ZpbmRpbmctdGhlLXNob3J0ZXN0LXBh + dGgtd2l0aC1hLWxpdHRsZS1oZWxwLWZyb20tZGlqa3N0cmEtNjEzMTQ5ZmJk + YzhlIj50cmF2ZXJzYWwgb3Igc2VhcmNoaW5nPC9hPiBhbGdvcml0aG1zLiBO + b3cgaXTigJlzIHRpbWUgdG8gZmluYWxseSBicmluZyBpdCBhbGwgdG9nZXRo + ZXLigIrigJTigIpvciByYXRoZXIsIGJyaW5nIGl0IGFsbCA8ZW0+YmFjazwv + ZW0+IHRvwqBiaW5hcnkuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJo + dHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqSnJ2 + c0EzcG1KQ1dxbFBNR25Jb1NZQS5qcGVnIiAvPjxmaWdjYXB0aW9uPldlIHN0 + YXJ0ZWQgd2l0aCBzb21lIHNvdXJjZSBjb2RlIGFuZCBub3cgd2XigJlyZcKg + aGVyZS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+V2XigJl2ZSBnb25lIGFy + b3VuZCB0aGUgd29ybGQgd2hlbiBpdCBjb21lcyB0byBjb3JlIGNvbmNlcHRz + IGluIGNvbXB1dGluZyBhcyB3ZWxsIGFzIGNvbXB1dGVyIHNjaWVuY2UuIEJ1 + dCB0aGVyZeKAmXMgb25lIHF1ZXN0aW9uIHRoYXQgd2UgaGF2ZW7igJl0IHJl + YWxseSBhbnN3ZXJlZCB5ZXQsIGV2ZW4gdGhvdWdoIGl04oCZcyBwb3NzaWJs + ZSB0aGF0IHdl4oCZdmUgYmVlbiB0aGlua2luZyBhYm91dCBpdCB0aGlzIHdo + b2xlIHllYXI6IEhvdyBvbiBlYXJ0aCBkbyB3ZSBnbyBmcm9tIG91ciBjb2Rl + IGludG8gdGhlIG9uZeKAmXMgYW5kIHplcm/igJlzIG9mIG91ciBjb21wdXRl + cj88L3A+PHA+V2VsbCwgYmVmb3JlIHdlIGdldCB0b28gZmFyIGludG8gPGVt + PmhvdzwvZW0+IHRoZSBjb2RlIHdlIHdyaXRlIGdldHMgdHVybmVkIGludG8g + YmluYXJ5LCBsZXTigJlzIGNsYXJpZnkgd2hhdCB3ZSByZWFsbHkgbWVhbiB3 + aGVuIHdlIHVzZSB0aGUgdGVybSBiaW5hcnkgaW4gdGhpcyBjb250ZXh0LiBU + aGUg4oCcYmluYXJ54oCdIGNvZGUgdGhhdCBhIGNvbXB1dGVyIHJlYWRzIGFu + ZCB1bmRlcnN0YW5kcyBpcyBnZW5lcmFsbHkgcmVmZXJyZWQgdG8gYXMgPHN0 + cm9uZz48ZW0+bWFjaGluZSBsYW5ndWFnZTwvZW0+PC9zdHJvbmc+IG9yIDxz + dHJvbmc+PGVtPm1hY2hpbmUgY29kZTwvZW0+PC9zdHJvbmc+LCB3aGljaCBp + cyBhIHNldCBvZiBpbnN0cnVjdGlvbnMgZ2l2ZW4gdG8gYSBtYWNoaW5lIGFu + ZCBydW4gYnkgYSBpdHMgPHN0cm9uZz48ZW0+Y2VudHJhbCBwcm9jZXNzaW5n + IHVuaXQ8L2VtPjwvc3Ryb25nPiAob3LCoDxzdHJvbmc+PGVtPkNQVTwvZW0+ + PC9zdHJvbmc+KS48L3A+PHA+QW4gaW1wb3J0YW50IHRoaW5nIHRvIG5vdGUg + aXMgdGhhdCB0aGVyZSBhcmUgZGlmZmVyZW50IGtpbmRzIG9mIG1hY2hpbmUg + Y29kZSwgc29tZSBvZiB3aGljaCBhcmUgbGl0ZXJhbGx5IDDigJlzIGFuZCAx + 4oCZcywgYW5kIG90aGVycyBvZiB3aGljaCBhcmUgZGVjaW1hbHMgb3IgPGEg + aHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9oZXhzLWFuZC1vdGhl + ci1tYWdpY2FsLW51bWJlcnMtOTc4NWJjMjZiN2VlIj5oZXhhZGVjaW1hbHM8 + L2E+ICh3aGljaCB3ZSBhbHJlYWR5IGtub3cgYSBsb3QgYWJvdXQhKS4gUmVn + YXJkbGVzcyBvZiB3aGljaCBleGFjdCBmb3JtYXQgYSBtYWNoaW5lIGxhbmd1 + YWdlIGlzIHdyaXR0ZW4gaW4sIGl0IGhhcyB0byBiZSBmYWlybHkgcnVkaW1l + bnRhcnkgYmVjYXVzZSBpdCBuZWVkcyB0byBiZSB1bmRlcnN0b29kIGJ5IG9y + IGNvbXB1dGVyLiBUaGlzIGlzIHdoeSBtYWNoaW5lIGxhbmd1YWdlcyBhcmUg + cmVmZXJyZWQgdG8gYXMgbG93IGxldmVsIGxhbmd1YWdlcywgYmVjYXVzZSB0 + aGV5IG5lZWQgdG8gYmUgc2ltcGxpZmllZCBlbm91Z2ggdG8gYmUgcHJvY2Vz + c2VkIGJ5IG91ciBtYWNoaW5l4oCZcyBDUFUsIHdoaWNoIHdlIGFscmVhZHkg + a25vdyBpcyBqdXN0IGEgYnVuY2ggb2Ygc3dpdGNoZXMsIGludGVybmFsbHku + PC9wPjxibG9ja3F1b3RlPldlIGNhbiB0aGluayBvZiBsb3cgbGV2ZWwgbGFu + Z3VhZ2VzIGFzIHRoZSDigJxtb3RoZXItdG9uZ3Vlc+KAnSBvZiBvdXIgY29t + cHV0ZXI7IG1hY2hpbmUgY29kZSBzaG91bGQgYmUgZGlyZWN0bHkgcmVhZGFi + bGUgYnkgb3VyIG1hY2hpbmUsIGFuZCBzaG91bGRu4oCZdCBldmVyIG5lZWQg + dG8gYmUgdHJhbnNsYXRlZCBiecKgdGhlbS48L2Jsb2NrcXVvdGU+PHA+QnV0 + IGhvdyBkbyB3ZSBnbyBmcm9tIDxlbT5vdXIgPC9lbT5jb2RlIHRvIGEgbWFj + aGluZS1mcmllbmRseSAoPGVtPm1hY2hpbmUgY29kZTwvZW0+KSB2ZXJzaW9u + IG9mIHRoZSBleGFjdCBzYW1lIHRoaW5nPyBXZWxsLCB0aGUgY29kZSB0aGF0 + IHdlIHdyaXRlIGFzIHByb2dyYW1tZXJzIGFuZCB0aGUgbWFjaGluZSBjb2Rl + IHRoYXQgYSBjb21wdXRlcuKAmXMgcHJvY2Vzc29yIHJlYWRzIGFyZSBub3Ro + aW5nIG1vcmUgdGhhbiB0d28gZGlmZmVyZW50IHR5cGVzIG9mIDxlbT5sYW5n + dWFnZXM8L2VtPi4gSWYgd2UgdGhpbmsgYWJvdXQgaXQsIGFsbCB3ZSByZWFs + bHkgbmVlZCB0byBkbyBpcyB0cmFuc2xhdGUgYmV0d2VlbiB0aGVzZSB0d28g + bGFuZ3VhZ2VzLjwvcD48cD5Ob3cgY29tZXMgYW5vdGhlciBwcm9ibGVtOiB3 + ZSBoYXZlIG5vIGlkZWEgaG93IHRvIHRyYW5zbGF0ZSBiZXR3ZWVuIG91ciBj + b2RlIGFuZCBtYWNoaW5lIGNvZGUhIE9rYXksIGp1c3Qga2lkZGluZ+KAiuKA + lOKAinRoaXMgaXNu4oCZdCA8ZW0+cmVhbGx5PC9lbT4gYSBwcm9ibGVtLiBC + ZWNhdXNlIHdlIGhhdmUgdHdvIGhlbHBmdWwgZnJpZW5kcyB3aG8gY2FuIGhl + bHAgdXMgb3V0wqBoZXJlLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0i + aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmk2 + SWtYdXRxS1lXcG0wSndsdnpQVUEuanBlZyIgLz48ZmlnY2FwdGlvbj5UcmFu + c2xhdG9ycyBtYWtlIG91ciBzb3VyY2UgdGV4dCB1bmRlcnN0YW5kYWJsZSB0 + byBvdXIgbWFjaGluZXMhPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkluIG9y + ZGVyIGZvciB1cyB0byB0cmFuc2Zvcm0gb3VyIHNvdXJjZSBjb2RlIGludG8g + c29tZSBjb21wdXRlci1yZWFkYWJsZSBtYWNoaW5lIGNvZGUgaW4gYSBiaW5h + cnkgZm9ybWF0LCB3ZeKAmWxsIG5lZWQgdG8gcmVseSBvbiB0cmFuc2xhdG9y + cyB0byBoZWxwIHVzIG1ha2Ugb3VyIHNvdXJjZSB0ZXh0IHVuZGVyc3RhbmRh + YmxlIHRvIG91ciBtYWNoaW5lcy48L3A+PHA+QSA8c3Ryb25nPjxlbT50cmFu + c2xhdG9yPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIGFsc28gc29tZXRpbWVz + IGNhbGxlZCBhIHByb2dyYW1taW5nIGxhbmd1YWdlIHByb2Nlc3NvciwgaXMg + bm90aGluZyBtb3JlIHRoYW4gYSBwcm9ncmFtIHRoYXQgdHJhbnNsYXRlcyBh + IDxzdHJvbmc+PGVtPnNvdXJjZTwvZW0+PC9zdHJvbmc+IGxhbmd1YWdlIGlu + dG8gYSA8c3Ryb25nPjxlbT50YXJnZXQ8L2VtPjwvc3Ryb25nPiBsYW5ndWFn + ZSwgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIGxvZ2ljYWwgc3RydWN0dXJlIG9m + IHRoZSBjb2RlIHRoYXQgaXQgaXMgdHJhbnNsYXRpbmcuPC9wPjxwPldl4oCZ + cmUgYWxyZWFkeSBhIGxpdHRsZSBiaXQgZmFtaWxpYXIgd2l0aCBvbmUga2lu + ZCBvZiB0cmFuc2xhdG9yIGFscmVhZHksIGV2ZW4gdGhvdWdoIHdlIG1pZ2h0 + IG5vdCBrbm93IGl0IGp1c3QgeWV0LiBQcmV2aW91c2x5IGluIHRoaXMgc2Vy + aWVzLCB3ZeKAmXZlIGxvb2tlZCBhdCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9sZXZlbGluZy11cC1vbmVzLXBhcnNpbmctZ2Ft + ZS13aXRoLWFzdHMtZDdhNmZjMjQwMGZmIj5sZXhpY2FsIGFuZCBzeW50YXgg + YW5hbHlzaXM8L2E+IHBoYXNlcyAodGhlIGZyb250IGVuZCkgb2YgdGhlIGNv + bXBpbGVyLCBhbmQgdGhlIGRpZmZlcmVudCBkYXRhIHN0cnVjdHVyZXMgaW52 + b2x2ZWQgaW4gdGhlwqBwcm9jZXNzLjwvcD48cD5BcyBpdCB0dXJucyBvdXQs + IHRoZSBjb21waWxlciBpcyBhIDxlbT5raW5kPC9lbT4gb2YgdHJhbnNsYXRv + ciEgVGhlcmUgaXMgYW5vdGhlciB0cmFuc2xhdG9yLCB0b28sIHdob3NlIG5h + bWUgb2Z0ZW4gZ2V0cyB0aHJvd24gYXJvdW5kIGluIGNvbmp1bmN0aW9uIHdp + dGggdGhlIGNvbXBpbGVy4oCZcywgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5p + bnRlcnByZXRlcjwvZW0+PC9zdHJvbmc+LiBCb3RoIHRoZSBjb21waWxlciBh + bmQgdGhlIGludGVycHJldGVyIG1ha2Ugb3IgY29kZSByZWFkYWJsZSB0byBv + dXIgY29tcHV0ZXJzLCBidXQgaW4gdmVyeSBkaWZmZXJlbnQgd2F5cy48L3A+ + PHA+QnV0IGxldOKAmXMgZmlyc3Qgc3RhcnQgd2l0aCB3aGF0IHdlIGFscmVh + ZHkga25vdywgZmlyc3Q6IHRoZSBjb21waWxlci48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpobU9jWE1oRGdaM0ZpWlRVUmJTZ2lBLmpwZWciIC8+PGZp + Z2NhcHRpb24+VGhlIGNvbXBpbGVyOiBhIGRlZmluaXRpb24uPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlRoZSA8c3Ryb25nPjxlbT5jb21waWxlcjwvZW0+ + PC9zdHJvbmc+IGlzIG5vdGhpbmcgbW9yZSB0aGFuIGEgcHJvZ3JhbSB0aGF0 + IHRha2VzIGEgaGlnaCBsZXZlbCBsYW5ndWFnZeKAiuKAlOKAinRoZSBsYW5n + dWFnZSB0aGF0IHdlIHdyaXRlIG91ciBjb2RlIGlu4oCK4oCU4oCKYW5kIGNv + bnZlcnRzIGl0IGludG8gbWFjaGluZSBjb2RlLiBUaGUgY29tcGlsZXIgaGFz + IG1hbnkgbW92aW5nIHBhcnRzIHRvIGl0IChvciByYXRoZXIsIHdpdGhpbiBp + dCksIGluY2x1ZGluZywgcG90ZW50aWFsbHksIGEgc2Nhbm5lciwgYSBsZXhl + ci90b2tlbml6ZXIsIGFuZCBhIHBhcnNlci4gQnV0IGF0IHRoZSBlbmQgb2Yg + dGhlIGRheSwgZXZlbiB3aXRoIGl0cyBjb21wbGV4aXR5LCBpdOKAmXMganVz + dCBhIHByb2dyYW0gdGhhdCB0dXJucyBvdXIgY29kZSBpbnRvIG1hY2hpbmUt + cmVhZGFibGUgY29kZS48L3A+PHA+SG93ZXZlciwgZXZlbiB0aG91Z2ggaXRz + IGpvYiBtaWdodCBzZWVtIHNpbXBsZSB3aGVuIHdlIHB1dCBpdCBsaWtlIHRo + aXMsIHRoZSB3YXkgdGhhdCBhIGNvbXBpbGVyIGRvZXMgdGhpcyBpbXBvcnRh + bnQgdGFzayBpcyB3b3J0aCBoaWdobGlnaHRpbmcuPC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqVVMyNjdWYndLd1NWYUxhLTJNSUdPdy5qcGVnIiAvPjxm + aWdjYXB0aW9uPkhvdyB0aGUgY29tcGlsZXIgZG9lcyBpdHPCoGpvYi48L2Zp + Z2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIG1vc3QgY2FzZXMsIHRoZSBjb21w + aWxlciBkb2VzIHRoZSBqb2Igb2YgdHJhbnNsYXRpbmcgb3VyIGNvZGUgaW50 + byBtYWNoaW5lIGNvZGUgaW4gb25lIGZlbGwgc3dvb3AuIEluIG90aGVyIHdv + cmRzLCB0aGUgY29tcGlsZXIgdHJhbnNsYXRlcyBhbGwgb2YgYSBwcm9ncmFt + bWVy4oCZcyBzb3VyY2UgY29kZSBiZWZvcmUgdGhlIHNvdXJjZSBjb2RlIGNh + biBldmVyIGJlIGV4ZWN1dGVkIG9yIHJ1bi4gSXQgdGFrZXMgb3VyIHNvdXJj + ZSBjb2RlIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGEgc2luZ2xlIGZpbGUgdGhh + dCBpcyB3cml0dGVuIGluIG1hY2hpbmUgY29kZS4gSXQgaXMgdGhhdCB2ZXJ5 + IG1hY2hpbmUgY29kZSBmaWxl4oCK4oCU4oCKY2FsbGVkIGFuIDxzdHJvbmc+ + PGVtPmV4ZWN1dGFibGU8L2VtPjwvc3Ryb25nPiBmaWxlIGFuZCBvZnRlbiBl + bmRpbmcgd2l0aCBhbsKgLmV4ZSBleHRlbnNpb27igIrigJTigIp3aGljaCBh + Y3R1YWxseSBhbGxvd3MgdXMgdG8gcnVuIHRoZSBvcmlnaW5hbCBjb2RlIHRo + YXQgd2XCoHdyb3RlLjwvcD48cD5UaGUgbW9zdCBpbXBvcnRhbnQgaWRpb3N5 + bmNyYXN5IG9mIGEgY29tcGlsZXIgaXMgdGhlIGZhY3QgdGhhdCBpdCB0YWtl + cyBhIHNvdXJjZSB0ZXh0LCBhbmQgdHJhbnNsYXRlcyBpdCBpbnRvIG1hY2hp + bmUgY29kZSBiaW5hcnkgaW4g4oCcb25lIHNob3TigJ0uIEl0IHJldHVybnMg + dGhlIHRyYW5zbGF0ZWQsIGNvbXBpbGVkIGZpbGUgdG8gdGhlIHByb2dyYW1t + ZXIsIHdobyB3aWxsIGJlIGFibGUgdG8gcnVuIHRoZWlyIGNvZGUgdmlhIHRo + ZSBvdXRwdXR0ZWQgZXhlY3V0YWJsZS48L3A+PGJsb2NrcXVvdGU+VGhlIGV4 + ZWN1dGFibGUgZmlsZSByZXR1cm5lZCBieSB0aGUgY29tcGlsZXIgY2FuIGJl + IHJ1biBhZ2FpbiBhbmQgYWdhaW4gb25jZSBpdCBoYXMgYmVlbiB0cmFuc2xh + dGVkOyB0aGUgY29tcGlsZXIgZG9lc27igJl0IG5lZWQgdG8gYmUgYXJvdW5k + IGZvciBhbnkgc3Vic2VxdWVudCByZXJ1bnMhPC9ibG9ja3F1b3RlPjxwPk9u + Y2UgdGhlIGNvbXBpbGVyIHRyYW5zbGF0ZXMgYWxsIHRoZSBzb3VyY2UgY29k + ZSBpbnRvIG1hY2hpbmUgY29kZSwgdGhlIGNvbXBpbGVy4oCZcyBqb2IgaXMg + ZG9uZS4gVGhlIHByb2dyYW1tZXIgY2FuIHJ1biB0aGUgY29tcGlsZWQgY29k + ZSBhcyBtYW55IHRpbWVzIGFzIHRoZXkgd2FudCwgd2l0aCB3aGljaGV2ZXIg + aW5wdXRzIHRoYXQgdGhleeKAmWQgbGlrZSB0byB1c2UuIFRoZXkgY2FuIGFs + c28gc2hhcmUgdGhpcyBjb21waWxlZCBjb2RlIHdpdGggb3RoZXJzLCB3aXRo + b3V0IGV2ZXIgaGF2aW5nIHRvIHNoYXJlIHRoZWlyIG9yaWdpbmFsIHNvdXJj + ZcKgY29kZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjVjBCWVdCRFRG + WmJVcjZpRmpGTnJnLmpwZWciIC8+PGZpZ2NhcHRpb24+R3JhY2UgSG9wcGVy + LCDCqSA8YSBocmVmPSJodHRwczovL3RlY2hjcnVuY2guY29tLzIwMTYvMTEv + MTcvZ3JhY2UtaG9wcGVyLWFuZC1tYXJnYXJldC1oYW1pbHRvbi1hd2FyZGVk + LXByZXNpZGVudGlhbC1tZWRhbC1vZi1mcmVlZG9tLWZvci1jb21wdXRpbmct + YWR2YW5jZXMvIj5UZWNoQ3J1bmNoPC9hPjwvZmlnY2FwdGlvbj48L2ZpZ3Vy + ZT48cD5UaGUgY29uY2VwdCBiZWhpbmQgdGhpcyBzcGVjaWZpYyB0cmFuc2xh + dG9y4oCUIGFzIHdlbGwgYXMgdGhlIHRlcm0g4oCcY29tcGlsZXLigJ0gaXRz + ZWxm4oCK4oCU4oCKd2FzIGNvaW5lZCBieSB0aGUgaWxsdXN0cmlvdXMgPHN0 + cm9uZz48ZW0+R3JhY2UgSG9wcGVyPC9lbT48L3N0cm9uZz4sIGJhY2sgaW4g + MTk1MiwgaW4gdGhlIG1vc3QgaW50ZXJlc3Rpbmcgb2YgY2lyY3Vtc3RhbmNl + cy48L3A+PHA+QXQgdGhlIHRpbWUsIEhvcHBlciBoYWQgYmVlbiB3b3JraW5n + IGF0IHRoZSBFY2tlcnQtTWF1Y2hseSBDb21wdXRlciBDb3Jwb3JhdGlvbiwg + aGVscGluZyBkZXZlbG9wIHRoZSBVTklWQUMgSSBjb21wdXRlciBhcyBhIG1h + dGhlbWF0aWNpYW4gb24gdGhlIHRlYW0uIEVmZmVjdGl2ZWx5LCBzaGUgd2Fz + IHdvcmtpbmcgb24gdHVybmluZyBtYXRoZW1hdGljYWwgY29kZSBpbnRvIGl0 + cyBvd24gbGFuZ3VhZ2UgKEEtMCBTeXN0ZW0gbGFuZ3VhZ2UpLjwvcD48cD5I + b3dldmVyLCBzaGUgaGFkIGJpZ2dlciBpZGVhcy4gU2hlIHdhbnRlZCB0byB3 + cml0ZSBhbiBlbnRpcmVseSBuZXcgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgdGhh + dCB3b3VsZCB3b3JkcyBpbiBFbmdsaXNoLCByYXRoZXIgdGhhbiB0aGUgbGlt + aXRlZCBudW1iZXIgb2YgbWF0aGVtYXRpY2FsIHN5bWJvbHMuIEhvd2V2ZXIs + IHdoZW4gc2hlIHNoYXJlZCB0aGlzIGlkZWEgd2l0aCBoZXIgY29sbGVhZ2Vz + LiBUaGV5IHNob3QgaGVyIGRvd24sIGFuZCB0b2xkIGhlciB0aGF0IGhlciBp + ZGVhIHdhc27igJl0IHBvc3NpYmxlIGJlY2F1c2Ug4oCcY29tcHV0ZXJzIGRp + ZG7igJl0IHVuZGVyc3RhbmQgRW5nbGlzaOKAnS4gQnV0IHNoZSB3YXMgbm90 + IGRldGVycmVkLjwvcD48cD5BZnRlciB0aHJlZSB5ZWFycyBvZiB3b3JraW5n + IG9uIHRoaXMgdGVhbSwgSG9wcGVyIGhhZCBoZXIgdmVyeSBmaXJzdCB3b3Jr + aW5nIGNvbXBpbGVyLiBCdXQgbm8gb25lIGJlbGlldmVkIHRoYXQgc2hlIGhh + ZCBhY3R1YWxseSBkb25lIGl0ISBJbiBoZXIgYmlvZ3JhcGh5LCA8ZW0+R3Jh + Y2UgSG9wcGVywqA6IE5hdnkgQWRtaXJhbCBhbmQgQ29tcHV0ZXIgUGlvbmVl + cjwvZW0+LCBzaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5wdWJsaWMubmF2eS5t + aWwvc3VyZm9yL2RkZzcwL1BhZ2VzL25hbWVzYWtlLmFzcHgjLldqQTc2MHpH + eEU0Ij5leHBsYWluczwvYT46PC9wPjxibG9ja3F1b3RlPkkgaGFkIGEgcnVu + bmluZyBjb21waWxlciBhbmQgbm9ib2R5IHdvdWxkIHRvdWNoIGl0LsKg4oCm + IHRoZXkgY2FyZWZ1bGx5IHRvbGQgbWUsIGNvbXB1dGVycyBjb3VsZCBvbmx5 + IGRvIGFyaXRobWV0aWM7IHRoZXkgY291bGQgbm90IGRvIHByb2dyYW1zLjwv + YmxvY2txdW90ZT48cD5JdOKAmXMgYSBnb29kIHRoaW5nIHRoYXQgR3JhY2Ug + SG9wcGVyIGRpZG7igJl0IGxpc3RlbiB0byBhbnkgb2YgdGhvc2Ugbm9uYmVs + aWV2ZXJzLCBiZWNhdXNlIHNoZSBlbmRlZCB1cCBjb250aW51aW5nIGhlciB3 + b3JrIGFuZCBkZXZlbG9waW5nIG9uZSBvZiB0aGUgZWFybGllc3QgaGlnaCBs + ZXZlbCBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIGNhbGxlZCBDT0JPTC4gU2hl + IGFsc28gd29uIHRoZSA8YSBocmVmPSJodHRwczovL3RlY2hjcnVuY2guY29t + LzIwMTYvMTEvMTcvZ3JhY2UtaG9wcGVyLWFuZC1tYXJnYXJldC1oYW1pbHRv + bi1hd2FyZGVkLXByZXNpZGVudGlhbC1tZWRhbC1vZi1mcmVlZG9tLWZvci1j + b21wdXRpbmctYWR2YW5jZXMvIj5QcmVzaWRlbnRpYWwgTWVkYWwgb2YgRnJl + ZWRvbTwvYT4sIGFtb25nIG1hbnksIG1hbnksIG1hbnkgb3RoZXIgYWNjb21w + bGlzaG1lbnRzLjwvcD48cD5JbmRlZWQsIGlmIHNoZSA8ZW0+aGFkPC9lbT4g + bGlzdGVuZWQgdG8gYWxsIG9mIHRob3NlIHBlcG9sZSwgc2hlIHdvdWxkIGhh + dmUgbGlrZWx5IG5ldmVyIHRha2VuIGNvbXB1dGluZyB0byBhbiBlbnRpcmVs + eSBuZXcgbGV2ZWwgd2l0aCBoZXIgZWFybHkgd29yayBpbiBjb25zdHJ1Y3Rp + bmcgYW5kIGRlc2lnbmluZyB0aGUgdmVyeSBmaXJzdCBjb21waWxlci4gR3Jh + Y2UgSG9wcGVy4oCZcyB3b3JrIG9uIHRoZSBmaXJzdCBjb21waWxlciBsYWlk + IHRoZSBncm91bmR3b3JrIGZvciB0aGUgYW5vdGhlciB0cmFuc2xhdG9yIHRo + YXQgY2FtZSBpbnRvIGV4aXN0ZW5jZSBhIGZldyB5ZWFycyBsYXRlcjogdGhl + IGludGVycHJldGVyLjwvcD48aDM+U3RlcC1ieS1zdGVwIHRyYW5zbGF0aW9u + PC9oMz48cD5JbiAxOTU4LCBhIGZldyB5ZWFycyBhZnRlciBHcmFjZSBIb3Bw + ZXLigJlzIHdvcmsgb24gdGhlIGNvbXBpbGVyLCBzb21lIHN0dWRlbnRzIGF0 + IE1JVCB3ZXJlIGluIGEgbGFiLCB3b3JraW5nIHdpdGggYW4gPGEgaHJlZj0i + aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSUJNXzcwNCI+SUJNIDcw + NDwvYT4gY29tcHV0ZXIsIGEgZmFpcmx5IG5ldyB0ZWNobm9sb2d5IHRoYXQg + aGFkIGJlZW4gaW50cm9kdWNlZCBqdXN0IGZvdXIgeWVhcnMgZWFybGllci4g + T25lIG9mIHRoZXNlIHN0dWRlbnRzLCBuYW1lZCBTdGV2ZSBSdXNzZWxsLCB3 + YXMgd29ya2luZyBvbiBhIHByb2plY3QgY2FsbGVkIHRoZSBNSVQgQXJ0aWZp + Y2lhbCBJbnRlbGxpZ2VuY2UgUHJvamVjdCwgd2l0aCBoaXMgcHJvZmVzc29y + LCBKb2huIE1jQ2FydGh5LjwvcD48cD5SdXNzZWxsIHdhcyB3b3JraW5nIHdp + dGggdGhlIExpc3AgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgYXQgdGhlIHRpbWUs + IGFuZCBoZSBoYWQgcmVhZCBhIHBhcGVyIHdyaXR0ZW4gYnkgaGlzIHByb2Zl + c3NvciBvbiB0aGUgc3ViamVjdC4gSGUgY2FtZSB1cCB3aXRoIHRoZSBpZGVh + IHRvIHRyYW5zZm9ybSB0aGUgZXZhbCBmdW5jdGlvbiBpbiBMaXNwIGludG8g + bWFjaGluZSBjb2RlLCB3aGljaCBzZXQgaGltIG9uIHRoZSBwYXRoIHRvIGNy + ZWF0aW5nIHRoZSBmaXJzdCBMaXNwIGludGVycHJldGVyLCB3aGljaCB3YXMg + dXNlZCB0byBldmFsdWF0ZSBleHByZXNzaW9ucyBpbiB0aGUgbGFuZ3VhZ2Xi + gIrigJTigIp0aGUgZXF1aXZhbGVudCBvZiBydW5uaW5nIGEgcHJvZ3JhbSBp + biBMaXNwIGF0IHRoZcKgdGltZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzYwMC8x + KmhxbDZIbW5JYjVKbHc2eEJWaE1ITVEuanBlZyIgLz48ZmlnY2FwdGlvbj5T + dGV2ZSBSdXNzZWxsLCDCqSA8YSBocmVmPSJodHRwOi8vd3d3Lm1hc3N3ZXJr + LmF0L3NwYWNld2FyL1NwYWNld2FyT3JpZ2luLmh0bWwiPm1hc3M6d2Vyazwv + YT48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+SW5kZWVkLCBIb3BwZXLigJlz + IHdvcmsgZGlyZWN0bHkgaW1wYWN0ZWQgUnVzc2VsbOKAmXMgaW52ZW50aW9u + LiBUaGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgTGlzcCBpbnRlcnByZXRlciB3 + YXMgY29tcGlsZWQgYnkgaGFuZC4gSW4gYW4gaW50ZXJ2aWV3IHdpdGggdGhl + IENvbXB1dGVyIEhpc3RvcnkgTXVzZXVtIGluIDIwMDgsIFJ1c3NlbGwgPGEg + aHJlZj0iaHR0cDovL2FyY2hpdmUuY29tcHV0ZXJoaXN0b3J5Lm9yZy9yZXNv + dXJjZXMvYWNjZXNzL3RleHQvMjAxMi8wOC8xMDI3NDY0NTMtMDUtMDEtYWNj + LnBkZiI+ZXhwbGFpbnM8L2E+IGhvdyBjb21waWxlcnMgcGxheWVkIGludG8g + aGlzIHdvcmsgYXTCoE1JVDo8L3A+PGJsb2NrcXVvdGU+QW5kIG15IHJlbWVt + YnJhbmNlIGlzIHRoYXQgSm9obiBbTWNDYXJ0aHldIHNvcnQgb2YgY2FtZSBp + biBvbmUgZGF5LCBpbiBsYXRlIFNlcHRlbWJlciBvciBPY3RvYmVyIG9yIHNv + bWV0aGluZyBsaWtlLCB0aGF0IHdpdGggdGhlIHVuaXZlcnNhbCBNLWV4cHJl + c3Npb24sIHRoYXQgaXMgdGhlIExpc3AgaW50ZXJwcmV0ZXIgd3JpdHRlbiBv + dXQgYXMgYW4gTS1leHByZXNzaW9uLCBhbmQgd2Ugc29ydCBvZiBsb29rZWQg + YXQgaXQgYW5kIHNhaWQsIOKAnE9oIHllYWgsIHRoYXTigJlsbCB3b3JrLOKA + nSBhbmQgSSBsb29rZWQgYXQgaXQgYW5kIHNhaWQsIOKAnE9oLCB0aGF04oCZ + cyBqdXN0IGEgbWF0dGVyIG9mIGRvaW5nIG1vcmUgaGFuZCBjb21waWxpbmcs + IGxpa2UgSeKAmXZlIGJlZW4gZG9pbmcuIEkgY2FuIGRvwqB0aGF0LuKAnTwv + YmxvY2txdW90ZT48YmxvY2txdW90ZT7igKZJIGdvdCBzb21ldGhpbmcgd29y + a2luZyBiZWZvcmUgQ2hyaXN0bWFzLCB3aGljaCB3YXMgYSB1c2VhYmxlIGlu + dGVycHJldGVyOyBubyBnYXJiYWdlIGNvbGxlY3RvciwgYnV0IHRoZXJlIHdl + cmVu4oCZdCBhbnkgYmlnIHByb2dyYW1zwqB5ZXQuPC9ibG9ja3F1b3RlPjxw + PlJ1c3NlbGwgYW5kIGhpcyBjb2xsZWFndWVzIHdvdWxkIGdvIG9uIHRvIDxh + IGhyZWY9Imh0dHA6Ly93d3cuY29tcHV0ZXJoaXN0b3J5Lm9yZy9wZHAtMS9z + dGV2ZS1zbHVnLXJ1c3NlbGwvIj5oYW5kLWNvbXBpbGU8L2E+IHRoZSBmaXJz + dCB0d28gdmVyc2lvbiBvZiB0aGUgTGlzcCBpbnRlcnByZXRlci4gVG9kYXks + IG1vc3QgcHJvZ3JhbW1lcnMgd291bGRu4oCZdCBldmVuIGRyZWFtIG9mIGhh + bmQtY29tcGlsaW5nIGFueSBvZiB0aGVpciBjb2RlISBJbmRlZWQsIG1hbnkg + b2YgdXMgaW50ZXJhY3Qgd2l0aCBhbiBpbnRlcnByZXRlciBhbmQgdXNlIGl0 + IG11bHRpcGxlIHRpbWVzIGluIGFwcGxpY2F0aW9uIGRldmVsb3BtZW504oCK + 4oCU4oCKd2UganVzdCBtaWdodCBub3QgYWx3YXlzIGJlIGF3YXJlIG9mwqBp + dC48L3A+PHA+U28sIHdoYXQgZXhhY3RseSA8ZW0+aXM8L2VtPiBhbiBpbnRl + cnByZXRlcj8gSXTigJlzIGFib3V0IHRpbWUgZm9yIGFuIG9mZmljaWFsIGRl + ZmluaXRpb24hPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczov + L2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqVzNiM3pFRGxz + bTNFQ3JsNlpjc3VLZy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBpbnRlcnBy + ZXRlcjogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5B + biA8c3Ryb25nPjxlbT5pbnRlcnByZXRlcjwvZW0+PC9zdHJvbmc+IGlzIGFs + c28gYSB0cmFuc2xhdG9yLCBqdXN0IGxpa2UgYSBjb21waWxlciwgaW4gdGhh + dCBpdCB0YWtlcyBhIGhpZ2ggbGV2ZWwgbGFuZ3VhZ2UgKG91ciBzb3VyY2Ug + dGV4dCkgYW5kIGNvbnZlcnRzIGl0IGludG8gbWFjaGluZSBjb2RlLiBIb3dl + dmVyLCBpdCBkb2VzIHNvbWV0aGluZyBzbGlnaHRseSBkaWZmZXJlbnQ6IGl0 + IGFjdHVhbGx5IHJ1bnMgYW5kIDxlbT5leGVjdXRlczwvZW0+IHRoZSBjb2Rl + IHRoYXQgaXQgdHJhbnNsYXRlcyBpbW1lZGlhdGVseSAoaW5saW5lKSBhcyBp + dCB0cmFuc2xhdGVzLjwvcD48YmxvY2txdW90ZT5XZSBjYW4gdGhpbmsgb2Yg + YW4gaW50ZXJwcmV0ZXIgYXMgdGhlIG1vcmUg4oCcbWV0aG9kaWNhbOKAnSB0 + cmFuc2xhdG9yIGluIHRoZSBmYW1pbHkuIFJhdGhlciB0aGFuIGRvaW5nIHRo + ZSB3b3JrIG9mIHRyYW5zbGF0aW5nIG91ciBjb2RlIGludG8gbWFjaGluZSBs + YW5ndWFnZSBpbiBvbmUgc2luZ2xlIHNob3QsIGl04oCZcyBmYXIgbW9yZSBz + eXN0ZW1hdGljIGFib3V0IGhvdyBpdMKgd29ya3MuPC9ibG9ja3F1b3RlPjxw + PkFuIGludGVycHJldGVyIGRvZXMgaXRzIGpvYiBwaWVjZSBieSBwaWVjZS4g + SXQgd2lsbCB0cmFuc2xhdGUgYSBzZWN0aW9uIG9mIG91ciBzb3VyY2UgdGV4 + dCBhdCBhIHRpbWUsIHJhdGhlciB0aGFuIHRyYW5zbGF0aW5nIGl0IGFsbCBh + dMKgb25jZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjQjJaeGNYejFa + S3U3Q3hmZGpJY053LmpwZWciIC8+PGZpZ2NhcHRpb24+SG93IHRoZSBpbnRl + cnByZXRlciBkb2VzIGl0c8Kgam9iLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5Vbmxpa2UgYSBjb21waWxlciwgaXQgZG9lc27igJl0IHRyYW5zbGF0ZSBl + dmVyeXRoaW5nIGFuZCBoYW5kIG92ZXIgYSBmaWxlIHRvIHVzLCB0aGUgcHJv + Z3JhbW1lcnMsIHRvIGV4ZWN1dGUuIEluc3RlYWQsIGFuIGludGVycHJldGVy + IHdpbGwgdHJhbnNsYXRlIGEgc2luZ2xlIGxpbmUvc2VjdGlvbiBvZiBjb2Rl + IGF0IGEgdGltZS4gT25jZSBpdCBoYXMgZmluaXNoZWQgdHJhbnNsYXRpbmcg + b25lIGxpbmUsIGl0IHdpbGwgdGFrZSB0aGUgbWFjaGluZSBjb2RlIHZlcnNp + b24gb2YgaXQsIGFuZCBydW4gaXQgaW1tZWRpYXRlbHkuPC9wPjxwPkFub3Ro + ZXIgd2F5IG9mIHRoaW5raW5nIGFib3V0IGl0IGlzIHRoYXQgb25jZSBhIHBp + ZWNlIG9mIGNvZGUgaGFzIGJlZW4gdHJhbnNsYXRlZCBieSB0aGUgaW50ZXJw + cmV0ZXIsIG9ubHkgdGhlbiBjYW4gaXQgYmUgcnVuLiBUaGlzIHNlZW1zIGZh + aXJseSBpbnR1aXRpdmUgYXQgZmlyc3QgdGhvdWdodCwgYmVjYXVzZSBvZiBj + b3Vyc2UgaG93IGNhbiBhbiBpbnRlcnByZXRlciBydW4gYSBsaW5lIG9mIGNv + ZGUgd2l0aG91dCBrbm93aW5nIHdoYXQgaXQgbWVhbnMgaW4gYmluYXJ5L21h + Y2hpbmUgY29kZT8gQnV0LCBpZiB3ZSB0aGluayBhYm91dCBpdCBtb3JlIGRl + ZXBseSwgdGhlcmUgYXJlIG90aGVyIGltcGxpY2F0aW9ucy4gT25seSBvbmNl + IHRoZSBpbnRlcnByZXRlciBmaW5pc2hlcyBydW5uaW5nIG9uZSBsaW5lIG9m + IGNvZGUgc3VjY2Vzc2Z1bGx5IHdpbGwgaXQgYWN0dWFsbHkgbW92ZSBvbnRv + IHRoZSBuZXh0IGxpbmUuIFdlIGNhbiBpbWFnaW5lIGhvdyB0aGlzIG1heSBv + ciBtYXkgbm90IGJlIGEgZ29vZCB0aGluZywgZGVwZW5kaW5nIG9uIHdoYXQg + d2XigJlyZSB0cnlpbmcgdG/CoGRvLjwvcD48cD5Gb3IgZXhhbXBsZSwgaW1h + Z2luZSB3ZSB3YW50IHRvIHJ1biBvdXIgcHJvZ3JhbSB3aXRoIDEwIGRpZmZl + cmVudCBpbnB1dHMuIE91ciBpbnRlcnByZXRlciB3b3VsZCBoYXZlIHRvIHJ1 + biBvdXIgcHJvZ3JhbSAxMCB0aW1lcywgaW50ZXJwcmV0aW5nIGl0IGxpbmUg + YnkgbGluZSwgZm9yIGVhY2ggb2Ygb3VyIGlucHV0cy4gSG93ZXZlciwgaWYg + d2UgbWFkZSBhIGZhdGFsIGZsYXcgaW4gb3VyIGNvZGUsIG91ciBpbnRlcnBy + ZXRlciBjb3VsZCBjYXRjaCBpdCBmb3IgdXMgdGhlIG1vbWVudCB0aGF0IGl0 + IGhhcHBlbnMgYmVjYXVzZSBpdCBoYXMgbGl0ZXJhbGx5IGp1c3QgdHJpZWQg + dG8gcnVuIG91ciAoYnJva2VuKSBsaW5lIG9mIGNvZGUgYWZ0ZXIgaXQgdHJh + bnNsYXRlZCBpdCE8L3A+PHA+Qnkgbm93LCB3ZSBtaWdodCBzdGFydCB0byBi + ZSBhYmxlIHRvIHNlZSBob3cgYm90aCB0aGUgaW50ZXJwcmV0ZXIgYW5kIHRo + ZSBjb21waWxlciBoYXZlIHRyYWRlb2Zmcy4gV2XigJl2ZSBzZWVuIGhvdyBk + aWZmZXJlbnQgdG9vbHMgaGF2ZSBwcm9zIGFuZCBjb25zIHRvIHRoZW0gdGlt + ZSBhbmQgYWdhaW4gaW4gdGhpcyBzZXJpZXMsIGFuZCBpdOKAmXMgcHJvYmFi + bHkgYSBoYWxsbWFyayB0cmFpdCB3aXRoaW4gdGhlIHdvcmxkIG9mIGNvbXB1 + dGVyIHNjaWVuY2UuIEtlZXBpbmcgd2l0aCB0aGlzIHRoZW1lLCBsZXTigJlz + IHdlaWdoIHRoZSBmdW5kYW1lbnRhbCBkaWZmZXJlbmNlcyBiZXR3ZWVuIGlu + dGVycHJldGF0aW9uIGFuZCBjb21waWxhdGlvbiBhcyB0cmFuc2xhdGlvbiB0 + ZWNobmlxdWVzLjwvcD48aDM+VHdvIHRyYW5zbGF0b3JzLCBib3RoIGFsaWtl + IGluwqBkaWduaXR5PC9oMz48cD5UaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBp + bnRlcnByZXRhdGlvbiBhbmQgY29tcGlsYXRpb24gYW5kIHRoZWlyIHJlc3Bl + Y3RpdmUgdHJhbnNsYXRvcnMgdGVsbHMgdXMgYSBsb3QgYWJvdXQgaG93IHRo + ZXNlIHR3byBwcm9ncmFtcyBhcmUgaW1wbGVtZW50ZWQuIElmIHdlIGNvbXBh + cmUgdGhlc2UgdHdvIG1ldGhvZG9sb2dpZXMsIHdl4oCZbGwgc3RhcnQgdG8g + c2VlIGhvdyB0aGV5IGJvdGggYWNjb21wbGlzaCB0aGUgc2FtZSB0YXNrLCBi + dXQgaW4gZnVuZGFtZW50YWxseSB2ZXJ5IGRpZmZlcmVudCB3YXlzLjwvcD48 + cD5UaGUgaWxsdXN0cmF0aW9uIGJlbG93IGlsbHVzdHJhdGVzIHRoaXMgaW4g + YSBtb3JlIG9idmlvdXPCoHdheS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpaeFhHZTNmdjFwelRRaThRTHVjWWNRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + Q29tcGlsYXRpb24gdnMuIGludGVycHJldGF0aW9uOiB0aGUgdHJhZGVvZmZz + LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48b2w+PGxpPjxzdHJvbmc+PGVtPlJl + dHVybmVkIHJlc3VsdC48L2VtPjwvc3Ryb25nPiBXaGlsZSBhIGNvbXBpbGVy + IHdpbGwgdGFrZSBzb21lIHNvdXJjZSBjb2RlIGFuZCByZXR1cm4gYSBjb21w + aWxlZCwgZXhlY3V0YWJsZSBmaWxlLCBhbiBpbnRlcnByZXRlciB3aWxsIGFj + dHVhbGx5IHRyYW5zbGF0ZSBhbmQgdGhlbiBleGVjdXRlIHRoZSBzb3VyY2Ug + Y29kZSBpdHNlbGYsIHJldHVybmluZyB0aGUgcmVzdWx0IG9mIHRoZSB0cmFu + c2xhdGlvbiBkaXJlY3RseS48L2xpPjxsaT48c3Ryb25nPjxlbT5SdW4gZnJl + cXVlbmN5LiA8L2VtPjwvc3Ryb25nPkEgY29tcGlsZXIgd2lsbCBydW4gb25s + eSBvbmNlLCBhbmQgd2lsbCBuZWVkIHRvIGJlIGNhbGxlZCBhZ2FpbiB0byBy + ZS10cmFuc2xhdGUgc291cmNlIGNvZGUgaWYgaXQgY2hhbmdlcy4gT24gdGhl + IG90aGVyIGhhbmQsIGFuIGludGVycHJldGVyIHdpbGwgcnVuIGFnYWluIGFu + ZCByZWludGVycHJldCBzb3VyY2UgY29kZSB3aGVuIGl0IGNoYW5nZXM7IHRo + ZSBpbnRlcnByZXRlciDigJxzdGlja3MgYXJvdW5k4oCdIHRvIGNvbnRpbnVh + bGx5IHRyYW5zbGF0ZS48L2xpPjxsaT48c3Ryb25nPjxlbT5GbGV4aWJpbGl0 + eS4gPC9lbT48L3N0cm9uZz5UaGUgY29tcGlsZXIgdHJhbnNsYXRlcyB0aGUg + c291cmNlIGNvZGUgaW4gb25lIHNob3QsIHdoaWNoIG1lYW5zIHRoYXQgdGhl + IHNvdXJjZSBjb2RlIGlzbuKAmXQgcmVxdWlyZWQgYWdhaW4gYWZ0ZXIgY29t + cGlsYXRpb24uIEhvd2V2ZXIsIHRoZSBpbnRlcnByZXRlciBkb2VzIHJlcXVp + cmUgdGhlIHNvdXJjZSBjb2RlIGluIG9yZGVyIHRvIHRyYW5zbGF0ZSBhbmQg + ZXhlY3V0ZSB0aGUgcHJvZ3JhbSwgZXZlcnkgc2luZ2xlIHRpbWUgdGhhdCBp + dCBpcyBldmVywqBydW4uPC9saT48bGk+PHN0cm9uZz48ZW0+RGVidWdnaW5n + LjwvZW0+PC9zdHJvbmc+IFRoZSBjb21waWxlciBnZW5lcmFsbHkgbWFrZXMg + aXQgbW9yZSBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIHdoZXJlIG1pc3Rha2Vz + IG9jY3VyIGluIHRoZSBzb3VyY2UgY29kZSwgYmVjYXVzZSB0aGUgZW50aXJl + IHByb2dyYW0gaGFzIGFscmVhZHkgYmVlbiB0cmFuc2xhdGVkLCBhbmQgdGhl + IGVycm9y4oCZcyBsb2NhdGlvbiBtaWdodCBub3QgYmUgZWFzaWx5IGlkZW50 + aWZ5YWJsZSBpbiB0aGUgbWFjaGluZSBjb2RlLiBIb3dldmVyLCBpZGVudGlm + eWluZyBlcnJvcnMgaXMgZWFzaWVyIHdpdGggYW4gaW50ZXJwcmV0ZXIgYmVj + YXVzZSBpdCBjYW4gbWFpbnRhaW4gdGhlIGxvY2F0aW9uIG9mIGFuIGVycm9y + IG9yIGJ1ZywgYW5kIHN1cmZhY2UgdGhhdCBpc3N1ZSB0byB0aGUgcHJvZ3Jh + bW1lciB3aG8gd3JvdGUgdGhlwqBjb2RlLjwvbGk+PC9vbD48cD5CZWNhdXNl + IG9mIHRoZXNlIG1ham9yIGRpZmZlcmVuY2VzLCBjb21waWxlZCBjb2Rl4oCK + 4oCU4oCKY29kZSB0aGF0IGlzIHRyYW5zbGF0ZWQgYW5kIHJ1biB1c2luZyB0 + aGUgY29tcGlsYXRpb24gcHJvY2Vzc+KAiuKAlOKAinRlbmRzIHRvIHJ1biBh + IGJpdCA8c3Ryb25nPjxlbT5mYXN0ZXI8L2VtPjwvc3Ryb25nPiB0aGFuIGlu + dGVycHJldGVkIGNvZGUuIFRoaXMgaXMgYmVjYXVzZSB0aGUgd29yayBvZiB0 + cmFuc2xhdGluZyB0aGUgc291cmNlIHRleHQgaW50byBtYWNoaW5lIGNvZGUg + aGFzIGFscmVhZHkgYmVlbiBkb25lLCBiZWZvcmUgdGhlIGNvZGUgaXMgZXZl + ciBleGVjdXRlZC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp0RWFITlRj + Z0gza3NSVG5fUFB2VUlBLmpwZWciIC8+PGZpZ2NhcHRpb24+Q29tcGlsZWQg + Y29kZSBhcyBjb21wYXJlZCB0byBpbnRlcnByZXRlZCBjb2RlLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5PbiB0aGUgZmxpcCBzaWRlLCBpbnRlcnByZXRl + ZCBjb2RlIGlzIGZhciBtb3JlIDxzdHJvbmc+PGVtPmZsZXhpYmxlPC9lbT48 + L3N0cm9uZz4sIHNpbmNlIHRoZSBpbnRlcnByZXRlciBzdGF5cyBhcm91bmQg + Zm9yIHRoZSBjb3Vyc2Ugb2YgdGhlIHRyYW5zbGF0aW9uIOKAnHByb2Nlc3Pi + gJ0gdG8gcmVhZCBhbmQgcHJvY2VzcyBvdXLCoGNvZGUuPC9wPjxwPkZsZXhp + YmlsaXR5IGluIHRoaXMgY29udGV4dCBtZWFucyBiZWluZyBhYmxlIHRvIGNo + YW5nZSBvdXIgY29kZSBhbmQgYmVpbmcgYWJsZSB0byBpbW1lZGlhdGVseSBy + dW4gaXQgYWZ0ZXJ3YXJkcy4gVGhlcmUgaXMgbm8gbmVlZCB0byByZWNvbXBp + bGUgb3VyIGNvZGUgaWYgd2UgbWFrZSBhIGNoYW5nZTsgdGhlIGludGVycHJl + dGVyIHdpbGwganVzdCBwaWNrIHVwIG9uIHRoYXQgY2hhbmNlLCBhbmQgcmVp + bnRlcnByZXQgdGhlIGNvZGUsIG1ha2luZyBpdCBhIG11Y2ggbW9yZSA8ZW0+ + aW50ZXJhY3RpdmU8L2VtPiBmb3JtIG9mIHRyYW5zbGF0aW9uLiBVc2luZyBh + biBpbnRlcnByZXRlciBtYWtlcyBpdCBtdWNoIGVhc2llciB0byB0ZXN0IG91 + dCBzbWFsbCAob3IgYmlnISkgY2hhbmdlcyBpbiBhIHNvdXJjZcKgZmlsZS48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpiRWpJT1NSbFZvcW1lMWgydWRk + U1VRLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGJlbmVmaXRzIG9mIGNvbXBp + bGF0aW9uIGFzIGNvbXBhcmVkIHRvIGludGVycHJldGF0aW9uLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5Ib3dldmVyLCB3aGVuIGl0IGNvbWVzIHRvIGlu + dGVycHJldGF0aW9uLCB3ZSBhY3R1YWxseSBuZWVkIHRoZSBzb3VyY2UgY29k + ZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGRvIGFueXRoaW5nLiBJdCBkZWZp + bml0ZWx5IGlzIGVhc2llciB0byB0ZXN0IG91dCBjaGFuZ2VzIGFuZCBkZWJ1 + ZyBpc3N1ZXMsIGJ1dCB0aGUgc291cmNlIHRleHQgaGFzIHRvIGJlIGFjY2Vz + c2libGUsIGZpcnN0IGFuZCBmb3JlbW9zdC4gV2l0aCBjb21waWxhdGlvbiwg + dGhpcyBpc27igJl0IHRoZSBjYXNlLiBPbmNlIHdlIGhhdmUgY29tcGlsZWQg + b3VyIGNvZGUgaW50byBhbiBleGVjdXRhYmxlIGZpbGUsIHdlIGRvbuKAmXQg + ZXZlciBoYXZlIHRvIHdvcnJ5IGFib3V0IHRoZSBzb3VyY2UgY29kZSBhZ2Fp + buKAiuKAlOKAinVubGVzcywgb2YgY291cnNlLCB3ZSBuZWVkIHRvIHJlY29t + cGlsZS48L3A+PHA+VGhpcyBjYW4gb2Z0ZW4gbWFrZSBhIGNvbXBpbGVyIHRo + ZSDigJxzYWZlcuKAnSBjaG9pY2UsIGJlY2F1c2Ugb3VyIHNvdXJjZSBjb2Rl + IGlzIG5vdCBleHBvc2VkOyByYXRoZXIsIHRoZSBvbmx5IG91dHB1dCBpcyB0 + aGUgZXhlY3V0YWJsZSBmaWxlIGl0c2VsZiwgd2hpY2ggaXMganVzdCAx4oCZ + cyBhbmQgMOKAmXMsIGFuZCBkb2VzbuKAmXQgZXZlciBzaG93IGFueW9uZSA8 + ZW0+aG93PC9lbT4gd2Ugd3JvdGUgb3VyIGNvZGUgb3Igd2hhdCBpdCBhY3R1 + YWxseSBldmVyIDxlbT5zYWlkPC9lbT4sIHNpbmNlIGl04oCZcyBhbGwgbWFj + aGluZSBsYW5ndWFnZSBhdCB0aGF0wqBwb2ludC48L3A+PGJsb2NrcXVvdGU+ + Q29tcGlsYXRpb24gYW5kIGludGVycHJldGF0aW9uIHBsYXkgaW50byBvdXIg + cm9sZXMgbm90IGp1c3QgYXMgZGV2ZWxvcGVycyBvZiBzb2Z0d2FyZSwgYnV0 + IGFsc28gYXMgY29uc3VtZXJzIG9mwqBpdC48L2Jsb2NrcXVvdGU+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSpHX01LVG5SZXZOUGtOVmVoN1h1OGh3LmpwZWci + IC8+PGZpZ2NhcHRpb24+VGhlIGVhc3kgYW5kIHNwZWVkIG9mIGNvbXBpbGF0 + aW9uLCBpbsKgYWN0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Gb3Ig + ZXhhbXBsZSwgd2hlbmV2ZXIgd2UgZG93bmxvYWQgYSBmaWxlLCBvciBydW4g + YSBwcm9ncmFtIGZyb20gYW7CoC5leGUgZmlsZSwgd2XigJlyZSByZWx5aW5n + IG9uIHRoZSBjcmVhdG9ycyBvZiBzb21lIHNvZnR3YXJlIHRvIGhhdmUgY29t + cGlsZWQgYW4gZXhlY3V0YWJsZSBmb3LCoHVzLjwvcD48cD5Vc2luZyBjb21w + aWxhdGlvbiwgd2UgY2FuIGVhc2lseSBkaXN0cmlidXRlIGEgcHJvZ3JhbSBh + cyBhbiBleGVjdXRhYmxlIGZpbGUuIFRoaXMgd2lsbCBhbGxvdyBzb21lb25l + IGVsc2UgdG8gcnVuIHRoZSBleGFjdCBzYW1lIGNvZGUgYXMgdXMsIGJ1dCB3 + aXRob3V0IGV2ZXIgYWN0dWFsbHkgc2hvd2luZyB0aGVtIG9yIGdpdmluZyB0 + aGVtIG91ciBsaXRlcmFsIGNvZGUgaXRzZWxmLiBBIGNvbnN1bWVyIG9mIGEg + Y29tcGlsZWQgZmlsZSBuZXZlciBuZWVkcyB0byBzZWUgYSBzb3VyY2UgdGV4 + dCwgYmVjYXVzZSB0aGV5IGNhbiBzaW1wbHkgYmUgZ2l2ZW4gYW4gZXhlY3V0 + YWJsZSBmaWxlIHRvIHJ1biBvbiB0aGVpciBvd24sIGxvY2FswqBtYWNoaW5l + LjwvcD48cD5Ib3dldmVyLCB0aGUgaXNzdWUgd2l0aCBkaXN0cmlidXRpbmcg + YSBjb21waWxlZCBmaWxlIGlzIGNyZWF0aW5nIGZpbGVzIHRoYXQgYXJlIGNv + bXBhdGlibGUgb24gZGlmZmVyZW50IHBsYXRmb3JtcyAobGlrZSBhIFdpbmRv + d3Mgb3BlcmF0aW5nIHN5c3RlbSB2ZXJzdXMgT1MgWCkuIEFzIHByb2dyYW1t + ZXJzLCBpdOKAmXMgb3VyIGpvYiB0byBtYWtlIHN1cmUgb3VyIGNvbXBpbGVk + IGV4ZWN1dGFibGVzIHJ1biBzdWNjZXNzZnVsbHkgb24gdmFyaW91cyBwbGF0 + Zm9ybXMsIGFuZCBzb21ldGltZXMsIHRoaXMgbWVhbnMgcmVjb21waWxpbmcg + b3VywqBjb2RlITwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnJxcnFzZDJf + U1pBcHViQ3VsRjBqd2cuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgZWZmaWNp + ZW5jeSBhbmQgYmVuZWZpdHMgb2YgaW50ZXJwcmV0YXRpb24sIGluwqBhY3Rp + b24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk9uIHRoZSBvdGhlciBoYW5k + LCB3aGVuIHdlIHVzZSBpbnRlcnByZXRhdGlvbiwgd2UgY2FuIGRpc3RyaWJ1 + dGUgb3VyIHNvdXJjZSBjb2RlIGRpcmVjdGx5LCByYXRoZXIgdGhhbiB3b3Jy + eWluZyBhYm91dCBwbGF0Zm9ybS1zcGVjaWZpYyBleGVjdXRhYmxlcywgb3Ig + dGhpbmtpbmcgYWJvdXQgaG93IHdl4oCZbGwgZ28gYWJvdXQgY29tcGlsaW5n + IGJpbmFyaWVzIGZvciBldmVyeW9uZSB0b8KgdXNlLjwvcD48cD5Ib3dldmVy + LCBpbiB0aGlzIGNhc2UsIHdl4oCZbGwgbmVlZCB0aGUgY29uc3VtZXIgb2Yg + b3VyIHByb2dyYW0gdG8gZG93bmxvYWQgYW4gaW50ZXJwcmV0ZXLigIrigJTi + gIp3aGljaCBvZnRlbiBhY3R1YWxseSBqdXN0IGNvbWVzIGFsb25nIHdpdGgg + YSBsYW5ndWFnZeKAiuKAlOKAimFuZCBiZSBzdXJlIHRoYXQgdGhlIGludGVy + cHJldGVyIGV4aXN0cyBvbiB0aGVpciBtYWNoaW5lKHMpLiBPbmNlIHRoZXkg + aGF2ZSB0aGUgaW50ZXJwcmV0ZXIsIHRoZXkgY2FuIHNlZSBvdXIgb3JpZ2lu + YWwgc291cmNlIGNvZGUsIHRha2UgdGhhdCBjb2RlLCBhbmQgdGhlbiByZWx5 + IG9uIHRoZWlyIG93biB2ZXJzaW9uIG9mIHRoZSBpbnRlcnByZXRlciB0byBy + dW4gaXTCoGxvY2FsbHkuPC9wPjxwPkluIHRoaXMgc2NlbmFyaW8sIHdlIHJl + bHkgb24gdGhlIGludGVycHJldGVyIHRvIG1ha2UgdGhlIGNvbXBhdGlibGUg + b24gYWxsIHBsYXRmb3JtcywgYW5kIHdlLCBhcyBwcm9ncmFtbWVycyBhbmQg + Y29uc3VtZXJzLCBkb27igJl0IG5lZWQgdG8gdGhpbmsgYWJvdXQgaXQuIEFs + c28sIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIChlaXRoZXIgc29tZXRoaW5n + IGluIHRoZSBzb3VyY2UgdGhhdCB3ZSB3cm90ZSwgb3Igc29tZXRoaW5nIHJl + bGF0aW5nIHRvIHRoZWlyIG93biBwbGF0Zm9ybSksIHRoZSBjb25zdW1lciBv + ZiBvdXIgY29kZSBjYW4gZmlndXJlIG91dCB3aGF0IHRoZSBpc3N1ZSBpcyBt + dWNoIG1vcmUgZWFzaWx5IHRoYW4gd2l0aCBhIGNvbXBpbGVkIGZpbGUuIFRo + ZSBpbnRlcnByZXRlciB3aWxsIG1ha2UgaXQgZWFzeSB0byBkZWJ1ZyBhbnkg + cHJvYmxlbXMsIHJlZ2FyZGxlc3Mgb2Ygd2hvIGlzIHJ1bm5pbmcgb3VywqBj + b2RlLjwvcD48cD5CdXQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB3ZSBjaG9v + c2UgY29tcGlsYXRpb24gb3IgaW50ZXJwcmV0YXRpb24sIHRoZSBlbmQgZ29h + bCBpcyB0aGUgc2FtZTogdG8gc3BlYWsgYSBsYW5ndWFnZSB0aGF0IG91ciBj + b21wdXRlcnMgY2FuIHVuZGVyc3RhbmQhIEFzIGl0IHR1cm5zIG91dCwgYXQg + dGhlIGVuZCBvZiB0aGUgZGF5LCBpdCByZWFsbHkganVzdCBhbGwgPGVtPmlz + PC9lbT7CoGJpbmFyeS48L3A+PGgzPlJlc291cmNlczwvaDM+PHA+QmVjYXVz + ZSBib3RoIGludGVycHJldGVycyBhbmQgY29tcGlsZXJzIGhhdmUgYmVlbiBh + cm91bmQgZm9yIG1hbnkgeWVhcnMgbm93LCB0aGVyZSBhcmUgYSBnb29kIGFt + b3VudCBvZiByZXNvdXJjZXMgb3V0IHRoZXJlIG9uIGJvdGggb2YgdGhlc2Ug + dHlwZXMgb2YgdHJhbnNsYXRvcnMuIEZyb20gYW4gaW1wbGVtZW50YXRpb24g + cGVyc3BlY3RpdmUsIHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBhcHByb2Fj + aGVzIHRvIHdyaXRpbmcgYSBjb21waWxlciB2ZXJzdXMgYW4gaW50ZXJwcmV0 + ZXIuIEJ1dCwgaWYgeW914oCZcmUgbG9va2luZyB0byBzaW1wbHkgbGVhcm4g + bW9yZSBvciBkaWcgYSBsaXR0bGUgZGVlcGVyLCB0aGVzZSByZXNvdXJjZXMg + YXJlIGEgZ29vZCBwbGFjZSB0b8Kgc3RhcnQuPC9wPjxvbD48bGk+PGEgaHJl + Zj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1fQzVBSGFTMW1P + QSI+SW50ZXJwcmV0ZXJzIGFuZCBDb21waWxlcnMgKEJpdHMgYW5kIEJ5dGVz + LCBFcGlzb2RlIDYpPC9hPiwgQml0cyBhbmQgQnl0ZXPCoFRWTzwvbGk+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vdG9tYXNzZXR0aS5tZS9kaWZmZXJlbmNlLWJl + dHdlZW4tY29tcGlsZXItaW50ZXJwcmV0ZXIvIj5UaGUgZGlmZmVyZW5jZSBi + ZXR3ZWVuIGEgY29tcGlsZXIgYW5kIGFuIGludGVycHJldGVyPC9hPiwgR2Fi + cmllbGUgVG9tYXNzZXR0aTwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3 + LnlvdXR1YmUuY29tL3dhdGNoP3Y9Sk5NeTk2OVNqeVUiPkNvbXBpbGF0aW9u + IHZzIEludGVycHJldGF0aW9uPC9hPiwgQm9nZXlzRGV2VGlwczwvbGk+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MU91 + a3BEZnN1WEUiPk1hY2hpbmUgQ29kZSBhbmQgSGlnaCBsZXZlbCBMYW5ndWFn + ZXMgVXNpbmcgSW50ZXJwcmV0ZXJzIGFuZCBDb21waWxlcnM8L2E+LCBCYW5j + aG9yeSBBY2FkZW15IENvbXB1dGluZyBTY2llbmNlPC9saT48bGk+PGEgaHJl + Zj0iaHR0cDovL3d3dzIuaGF3YWlpLmVkdS9+dGFrZWJheWEvaWNzMTExL3By + b2Nlc3Nfb2ZfcHJvZ3JhbW1pbmcvcHJvY2Vzc19vZl9wcm9ncmFtbWluZy5o + dG1sIj5UaGUgUHJvZ3JhbW1pbmcgUHJvY2VzczwvYT4sIFByb2Zlc3NvciBW + ZXJuIFRha2ViYXlhc2hpPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy8y + NTE0MzEvd2h5LXdhcy10aGUtZmlyc3QtY29tcGlsZXItd3JpdHRlbi1iZWZv + cmUtdGhlLWZpcnN0LWludGVycHJldGVyIj5XaHkgd2FzIHRoZSBmaXJzdCBj + b21waWxlciB3cml0dGVuIGJlZm9yZSB0aGUgZmlyc3QgaW50ZXJwcmV0ZXI/ + PC9hPiwgU3RhY2tPdmVyZmxvdzwvbGk+PC9vbD48aW1nIHNyYz0iaHR0cHM6 + Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVudD1wb3N0LmNsaWVudFZpZXdlZCZy + ZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZwb3N0SWQ9ZDk4OTUyZWJjODQyIiB3 + aWR0aD0iMSIgaGVpZ2h0PSIxIj48aHI+PHA+PGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9hLWRlZXBlci1pbnNwZWN0aW9uLWludG8tY29t + cGlsYXRpb24tYW5kLWludGVycHJldGF0aW9uLWQ5ODk1MmViYzg0MiI+QSBE + ZWVwZXIgSW5zcGVjdGlvbiBJbnRvIENvbXBpbGF0aW9uIEFuZCBJbnRlcnBy + ZXRhdGlvbjwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVkIGluIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2VjczwvYT4gb24g + TWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZl + cnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhp + cyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9p + dGVtPgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RB + VEFbTGV2ZWxpbmcgVXAgT25l4oCZcyBQYXJzaW5nIEdhbWUgV2l0aCBBU1Rz + XV0+PC90aXRsZT4KICAgICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9sZXZlbGluZy11cC1vbmVzLXBhcnNpbmctZ2FtZS13aXRo + LWFzdHMtZDdhNmZjMjQwMGZmP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0t + LS0tMjwvbGluaz4KICAgICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZh + bHNlIj5odHRwczovL21lZGl1bS5jb20vcC9kN2E2ZmMyNDAwZmY8L2d1aWQ+ + CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtjb21waWxlcnNdXT48 + L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29t + cHV0ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRl + Z29yeT48IVtDREFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVthc3RdXT48L2NhdGVnb3J5Pgog + ICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbZGF0YS1zdHJ1Y3R1cmVz + XV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+PCFbQ0RB + VEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAgICAgICAg + PHB1YkRhdGU+VHVlLCAwNSBEZWMgMjAxNyAwMzo1OTozMSBHTVQ8L3B1YkRh + dGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMi0wNVQwMzo1 + OTozMS4wODhaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpreHFO + dEtOYV9Zek1wejFhYWh2SlVRLmpwZWciIC8+PGZpZ2NhcHRpb24+TGV2ZWxp + bmcgdXAgb25l4oCZcyBwYXJzaW5nIGdhbWUgd2l0aMKgQVNUcyE8L2ZpZ2Nh + cHRpb24+PC9maWd1cmU+PHA+QmVmb3JlIEkgc3RhcnRlZCBvbiB0aGlzIGpv + dXJuZXkgb2YgdHJ5aW5nIHRvIGxlYXJuIGNvbXB1dGVyIHNjaWVuY2UsIHRo + ZXJlIHdlcmUgY2VydGFpbiB0ZXJtcyBhbmQgcGhyYXNlcyB0aGF0IG1hZGUg + bWUgd2FudCB0byBydW4gdGhlIG90aGVyIGRpcmVjdGlvbi48L3A+PHA+QnV0 + IGluc3RlYWQgb2YgcnVubmluZywgSSBmZWlnbmVkIGtub3dsZWRnZSBvZiBp + dCwgbm9kZGluZyBhbG9uZyBpbiBjb252ZXJzYXRpb25zLCBwcmV0ZW5kaW5n + IGxpa2UgSSBrbmV3IHdoYXQgc29tZW9uZSB3YXMgcmVmZXJlbmNpbmcgZXZl + biB0aG91Z2ggdGhlIHRydXRoIHdhcyB0aGF0IEkgaGFkIG5vIGlkZWEgYW5k + IGhhZCBhY3R1YWxseSBzdG9wcGVkIGxpc3RlbmluZyBlbnRpcmVseSB3aGVu + IEkgaGVhcmQgVGhhdCBTdXBlciBTY2FyeSBDb21wdXRlciBTY2llbmNlIFRl + cm3ihKIuIFRocm91Z2hvdXQgdGhlIGNvdXJzZSBvZiB0aGlzIHNlcmllcywg + SeKAmXZlIG1hbmFnZWQgdG8gY292ZXIgYSBsb3Qgb2YgZ3JvdW5kIGFuZCBt + YW55IG9mIHRob3NlIHRlcm1zIGhhdmUgYWN0dWFsbHkgYmVjb21lIGEgd2hv + bGUgbG90IGxlc3PCoHNjYXJ5ITwvcD48cD5UaGVyZSBpcyBvbmUgYmlnIG9u + ZSwgdGhvdWdoLCB0aGF0IEnigJl2ZSBiZWVuIGF2b2lkaW5nIGZvciBhd2hp + bGUuIFVwIHVudGlsIG5vdywgd2hlbmV2ZXIgSSBoYWQgaGVhcmQgdGhpcyB0 + ZXJtLCBJIGZlbHQgcGFyYWx5emVkLiBJdCBoYXMgY29tZSB1cCBpbiBjYXN1 + YWwgY29udmVyc2F0aW9uIGF0IG1lZXQgdXBzIGFuZCBzb21ldGltZXMgaW4g + Y29uZmVyZW5jZSB0YWxrcy4gRXZlcnkgc2luZ2xlIHRpbWUsIEkgdGhpbmsg + b2YgbWFjaGluZXMgc3Bpbm5pbmcgYW5kIGNvbXB1dGVycyBzcGl0dGluZyBv + dXQgc3RyaW5ncyBvZiBjb2RlIHRoYXQgYXJlIGluZGVjaXBoZXJhYmxlIGV4 + Y2VwdCB0aGF0IGV2ZXJ5b25lIGVsc2UgYXJvdW5kIG1lIDxlbT5jYW48L2Vt + PiA8ZW0+YWN0dWFsbHk8L2VtPiA8ZW0+ZGVjaXBoZXI8L2VtPiA8ZW0+dGhl + bTwvZW0+IHNvIGl04oCZcyBhY3R1YWxseSBqdXN0IG1lIHdobyBkb2VzbuKA + mXQga25vdyB3aGF04oCZcyBnb2luZyBvbiAod2hvb3BzIGhvdyBkaWQgdGhp + cyBoYXBwZW4/ISkuPC9wPjxwPlBlcmhhcHMgSeKAmW0gbm90IHRoZSBvbmx5 + IG9uZSB3aG8gaGFzIGZlbHQgdGhhdCB3YXkuIEJ1dCwgSSBzdXBwb3NlIEkg + c2hvdWxkIHRlbGwgeW91IHdoYXQgdGhpcyB0ZXJtIGFjdHVhbGx5IGlzLCBy + aWdodD8gV2VsbCwgZ2V0IHJlYWR5LCBiZWNhdXNlIEnigJltIHJlZmVycmlu + ZyB0byBldmVyLWVsdXNpdmUgYW5kIHNlZW1pbmdseSBjb25mdXNpbmcgPGVt + PmFic3RyYWN0IHN5bnRheCB0cmVlPC9lbT4sIG9yIDxlbT5BU1Q8L2VtPiBm + b3Igc2hvcnQuIEFmdGVyIG1hbnkgeWVhcnMgb2YgYmVpbmcgaW50aW1pZGF0 + ZWQsIEnigJltIGV4Y2l0ZWQgdG8gZmluYWxseSBzdG9wIGJlaW5nIGFmcmFp + ZCBvZiB0aGlzIHRlcm0gYW5kIHRydWx5IHVuZGVyc3RhbmQgd2hhdCBvbiBl + YXJ0aCBpdMKgaXMuPC9wPjxwPkl04oCZcyB0aW1lIHRvIGZhY2UgdGhlIHJv + b3Qgb2YgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGhlYWQgb27igIrigJTi + gIphbmQgbGV2ZWwgdXAgb3VyIHBhcnNpbmfCoGdhbWUhPC9wPjxoMz5Gcm9t + IGNvbmNyZXRlIHRvwqBhYnN0cmFjdDwvaDM+PHA+RXZlcnkgZ29vZCBxdWVz + dCBzdGFydHMgd2l0aCBhIHNvbGlkIGZvdW5kYXRpb24sIGFuZCBvdXIgbWlz + c2lvbiB0byBkZW15c3RpZnkgdGhpcyBzdHJ1Y3R1cmUgc2hvdWxkIGJlZ2lu + IGluIHRoZSBleGFjdCBzYW1lIHdheTogd2l0aCBhIGRlZmluaXRpb24sIG9m + wqBjb3Vyc2UhPC9wPjxwPkFuPHN0cm9uZz48ZW0+IGFic3RyYWN0IHN5bnRh + eCB0cmVlPC9lbT48L3N0cm9uZz4gKHVzdWFsbHkganVzdCByZWZlcnJlZCB0 + byBhcyBhbiA8c3Ryb25nPjxlbT5BU1Q8L2VtPjwvc3Ryb25nPikgaXMgcmVh + bGx5IG5vdGhpbmcgbW9yZSB0aGFuIGEgc2ltcGxpZmllZCwgY29uZGVuc2Vk + IHZlcnNpb24gb2YgYSBwYXJzZSB0cmVlLiBJbiB0aGUgY29udGV4dCBvZiBj + b21waWxlciBkZXNpZ24sIHRoZSB0ZXJtIOKAnDxlbT5BU1TigJ08L2VtPiBp + cyB1c2VkIGludGVyY2hhbmdlYWJseSB3aXRoIDxzdHJvbmc+PGVtPnN5bnRh + eMKgdHJlZTwvZW0+PC9zdHJvbmc+LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKm1oSWJ4eGxyMWh5dlVlbUFNTWVOQ3cuanBlZyIgLz48ZmlnY2FwdGlv + bj5BYnN0cmFjdCBzeW50YXggdHJlZTogYSBkZWZpbml0aW9uPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPldlIG9mdGVuIHRoaW5rIGFib3V0IHN5bnRheCB0 + cmVlcyAoYW5kIGhvdyB0aGV5IGFyZSBjb25zdHJ1Y3RlZCkgaW4gY29tcGFy + aXNvbiB0byB0aGVpciBwYXJzZSB0cmVlIGNvdW50ZXJwYXJ0cywgd2hpY2gg + PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ncmFtbWF0aWNh + bGx5LXJvb3Rpbmctb25lc2VsZi13aXRoLXBhcnNlLXRyZWVzLWVjOWRhZWRh + N2RhZCI+d2XigJlyZSBhbHJlYWR5IHByZXR0eSBmYW1pbGlhciB3aXRoPC9h + Pi4gV2Uga25vdyB0aGF0IDxlbT5wYXJzZSB0cmVlcyA8L2VtPmFyZSB0cmVl + IGRhdGEgc3RydWN0dXJlcyB0aGF0IGNvbnRhaW4gdGhlIGdyYW1tYXRpY2Fs + IHN0cnVjdHVyZSBvZiBvdXIgY29kZTsgaW4gb3RoZXIgd29yZHMsIHRoZXkg + Y29udGFpbiBhbGwgdGhlIHN5bnRhY3RpYyBpbmZvcm1hdGlvbiB0aGF0IGFw + cGVhcnMgaW4gYSBjb2RlIOKAnHNlbnRlbmNl4oCdLCBhbmQgaXMgZGVyaXZl + ZCBkaXJlY3RseSBmcm9tIHRoZSBncmFtbWFyIG9mIHRoZSBwcm9ncmFtbWlu + ZyBsYW5ndWFnZcKgaXRzZWxmLjwvcD48cD5BIDxlbT5hYnN0cmFjdCBzeW50 + YXggdHJlZTwvZW0+LCBvbiB0aGUgb3RoZXIgaGFuZCwgaWdub3JlcyBhIHNp + Z25pZmljYW50IGFtb3VudCBvZiB0aGUgc3ludGF0aWMgaW5mb3JtYXRpb24g + dGhhdCBhIHBhcnNlIHRyZWUgd291bGQgb3RoZXJ3aXNlIGNvbnRhaW4uPC9w + PjxibG9ja3F1b3RlPkJ5IGNvbnRyYXN0LCBhbiBBU1Qgb25seSBjb250YWlu + cyB0aGUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBhbmFseXppbmcgdGhlIHNv + dXJjZSB0ZXh0LCBhbmQgc2tpcHMgYW55IG90aGVyIGV4dHJhIGNvbnRlbnQg + dGhhdCBpcyB1c2VkIHdoaWxlIHBhcnNpbmcgdGhlwqB0ZXh0LjwvYmxvY2tx + dW90ZT48cD5UaGlzIGRpc3RpbmN0aW9uIHN0YXJ0cyB0byBtYWtlIGEgd2hv + bGUgbG90IG1vcmUgc2Vuc2UgaWYgd2UgZm9jdXMgaW4gb24gdGhlIOKAnGFi + c3RyYWN0bmVzc+KAnSBvZiBhbsKgQVNULjwvcD48cD5XZeKAmWxsIHJlY2Fs + bCB0aGF0IGEgPHN0cm9uZz48ZW0+cGFyc2UgdHJlZTwvZW0+PC9zdHJvbmc+ + IGlzIGFuIGlsbHVzdHJhdGVkLCBwaWN0b3JpYWwgdmVyc2lvbiBvZiB0aGUg + Z3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIGEgc2VudGVuY2UuIEluIG90aGVy + IHdvcmRzLCB3ZSBjYW4gc2F5IHRoYXQgYSBwYXJzZSB0cmVlIHJlcHJlc2Vu + dHMgZXhhY3RseSB3aGF0IGFuIGV4cHJlc3Npb24sIHNlbnRlbmNlLCBvciB0 + ZXh0IGxvb2tzIGxpa2UuIEl04oCZcyBiYXNpY2FsbHkgYSBkaXJlY3QgdHJh + bnNsYXRpb24gb2YgdGhlIHRleHQgaXRzZWxmOyB3ZSB0YWtlIHRoZSBzZW50 + ZW5jZSBhbmQgdHVybiBldmVyeSBsaXR0bGUgcGllY2Ugb2YgaXTigIrigJTi + gIpmcm9tIHRoZSBwdW5jdHVhdGlvbiB0byB0aGUgZXhwcmVzc2lvbnMgdG8g + dGhlIHRva2Vuc+KAiuKAlOKAimludG8gYSB0cmVlIGRhdGEgc3RydWN0dXJl + LiBJdCByZXZlYWxzIHRoZSBjb25jcmV0ZSBzeW50YXggb2YgYSB0ZXh0LCB3 + aGljaCBpcyB3aHkgaXQgaXMgYWxzbyByZWZlcnJlZCB0byBhcyBhIDxzdHJv + bmc+PGVtPmNvbmNyZXRlIHN5bnRheCB0cmVlPC9lbT48L3N0cm9uZz4sIG9y + IDxzdHJvbmc+PGVtPkNTVDwvZW0+PC9zdHJvbmc+LiBXZSB1c2UgdGhlIHRl + cm0gY29uY3JldGUgdG8gZGVzY3JpYmUgdGhpcyBzdHJ1Y3R1cmUgYmVjYXVz + ZSBpdOKAmXMgYSBncmFtbWF0aWNhbCBjb3B5IG9mIG91ciBjb2RlLCB0b2tl + biBieSB0b2tlbiwgaW4gdHJlZcKgZm9ybWF0LjwvcD48cD5CdXQgd2hhdCBt + YWtlcyBzb21ldGhpbmcgY29uY3JldGUgdmVyc3VzIGFic3RyYWN0PyBXZWxs + LCBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSBkb2VzbuKAmXQgc2hvdyB1cyA8 + ZW0+ZXhhY3RseTwvZW0+IHdoYXQgYW4gZXhwcmVzc2lvbiBsb29rcyBsaWtl + LCB0aGUgd2F5IHRoYXQgYSBwYXJzZSB0cmVlwqBkb2VzLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKk9PSHUzNWs2aXZrOGYzczNDTV9ZUmcuanBlZyIg + Lz48ZmlnY2FwdGlvbj5Db25jcmV0ZSB2ZXJzdXMgYWJzdHJhY3Qgc3ludGF4 + wqB0cmVlczwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5SYXRoZXIsIGFuIGFi + c3RyYWN0IHN5bnRheCB0cmVlIHNob3dzIHVzIHRoZSDigJxpbXBvcnRhbnTi + gJ0gYml0c+KAiuKAlOKAinRoZSB0aGluZ3MgdGhhdCB3ZSByZWFsbHkgY2Fy + ZSBhYm91dCwgd2hpY2ggZ2l2ZSBtZWFuaW5nIHRvIG91ciBjb2RlIOKAnHNl + bnRlbmNl4oCdIGl0c2VsZi4gU3ludGF4IHRyZWVzIHNob3cgdXMgdGhlIHNp + Z25pZmljYW50IHBpZWNlcyBvZiBhbiBleHByZXNzaW9uLCBvciB0aGUgPGVt + PmFic3RyYWN0ZWQ8L2VtPiBzeW50YXggb2Ygb3VyIHNvdXJjZSB0ZXh0LiBI + ZW5jZSwgaW4gY29tcGFyaXNvbiB0byBjb25jcmV0ZSBzeW50YXggdHJlc3Ms + IHRoZXNlIHN0cnVjdHVyZXMgYXJlIGFyZSBhYnN0cmFjdCByZXByZXNlbnRh + dGlvbnMgb2Ygb3VyIGNvZGUgKGFuZCBpbiBzb21lIHdheXMsIGxlc3MgZXhh + Y3QpLCB3aGljaCBpcyBleGFjdGx5IGhvdyB0aGV5IGdvdCB0aGVpcsKgbmFt + ZS48L3A+PHA+Tm93IHRoYXQgd2UgdW5kZXJzdGFuZCB0aGUgZGlzdGluY3Rp + b24gYmV0d2VlbiB0aGVzZSB0d28gZGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUg + ZGlmZmVyZW50IHdheXMgdGhhdCB0aGV5IGNhbiByZXByZXNlbnQgb3VyIGNv + ZGUsIGl04oCZcyB3b3J0aCBhc2tpbmcgdGhlIHF1ZXN0aW9uOiB3aGVyZSBk + b2VzIGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGZpdCBpbnRvIHRoZSBjb21w + aWxlcj8gRmlyc3QsIGxldOKAmXMgcmVtaW5kIG91cnNlbHZlcyBvZiBldmVy + eXRoaW5nIHRoYXQgd2Uga25vdyBhYm91dCB0aGUgY29tcGlsYXRpb24gcHJv + Y2VzcyBhcyB3ZSBrbm93IGl0IHNvwqBmYXIuPC9wPjxmaWd1cmU+PGltZyBh + bHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21h + eC8xMDI0LzEqMldZejZ3NDcwYU15bVd6bVFLWUxIUS5qcGVnIiAvPjxmaWdj + YXB0aW9uPlJldmlzaXRpbmcgdGhlIGV2ZW50cyBsZWFkaW5nIHVwIHRvwqBw + YXJzaW5nITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5MZXTigJlzIHNheSB3 + ZSBoYXZlIGEgc3VwZXIgc2hvcnQgYW5kIHN3ZWV0IHNvdXJjZSB0ZXh0LCB3 + aGljaCBsb29rcyBsaWtlIHRoaXM6IDUgKyAoMSB4wqAxMikuPC9wPjxwPldl + 4oCZbGwgcmVjYWxsIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHRoYXQgaGFwcGVu + cyBpbiB0aGUgY29tcGlsYXRpb24gcHJvY2VzcyBpcyB0aGUgPGVtPnNjYW5u + aW5nPC9lbT4gb2YgdGhlIHRleHQsIGEgam9iIHBlcmZvcm1lZCBieSB0aGUg + PGVtPnNjYW5uZXI8L2VtPiwgd2hpY2ggcmVzdWx0cyBpbiB0aGUgdGV4dCBi + ZWluZyBicm9rZW4gdXAgaW50byBpdHMgc21hbGxlc3QgcG9zc2libGUgcGFy + dHMsIHdoaWNoIGFyZSBjYWxsZWQgPGVtPmxleGVtZXM8L2VtPi4gVGhpcyBw + YXJ0IHdpbGwgYmUgbGFuZ3VhZ2UgYWdub3N0aWMsIGFuZCB3ZeKAmWxsIGVu + ZCB1cCB3aXRoIHRoZSBzdHJpcHBlZC1vdXQgdmVyc2lvbiBvZiBvdXIgc291 + cmNlwqB0ZXh0LjwvcD48cD5OZXh0LCB0aGVzZSB2ZXJ5IGxleGVtZXMgYXJl + IHBhc3NlZCBvbiB0byB0aGUgbGV4ZXIvdG9rZW5pemVyLCB3aGljaCB0dXJu + cyB0aG9zZSBzbWFsbCByZXByZXNlbnRhdGlvbnMgb2Ygb3VyIHNvdXJjZSB0 + ZXh0IGludG8gPGVtPnRva2VuczwvZW0+LCB3aGljaCB3aWxsIGJlIHNwZWNp + ZmljIHRvIG91ciBsYW5ndWFnZS4gT3VyIHRva2VucyB3aWxsIGxvb2sgc29t + ZXRoaW5nIGxpa2UgdGhpczogWzUsICssICgsIDEsIHgsIDEyLCApXS4gVGhl + IGpvaW50IGVmZm9ydCBvZiB0aGUgc2Nhbm5lciBhbmQgdGhlIHRva2VuaXpl + ciBtYWtlIHVwIHRoZSA8ZW0+bGV4aWNhbCBhbmFseXNpczwvZW0+IG9mIGNv + bXBpbGF0aW9uLjwvcD48cD5UaGVuLCBvbmNlIG91ciBpbnB1dCBoYXMgYmVl + biB0b2tlbml6ZWQsIGl0cyByZXN1bHRpbmcgdG9rZW5zIGFyZSBpcyBwYXNz + ZWQgYWxvbmcgdG8gb3VyIHBhcnNlciwgd2hpY2ggdGhlbiB0YWtlcyB0aGUg + c291cmNlIHRleHQgYW5kIGJ1aWxkcyBhIHBhcnNlIHRyZWUgb3V0IG9mIGl0 + LiBUaGUgaWxsdXN0cmF0aW9uIGJlbG93IGV4ZW1wbGlmaWVzIHdoYXQgb3Vy + IHRva2VuaXplZCBjb2RlIGxvb2tzIGxpa2UsIGluIHBhcnNlIHRyZWXCoGZv + cm1hdC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2Ru + LWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpoeTBOalE0cGU0NHlz + YlVfZUtGYVhnLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIHN5bnRheCBhbmFs + eXNpcyBwaGFzZSBnZW5lcmF0ZXMgdGhlIHBhcnNlwqB0cmVlPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlRoZSB3b3JrIG9mIHR1cm5pbmcgdG9rZW5zIGlu + dG8gYSBwYXJzZSB0cmVlIGlzIGFsc28gY2FsbGVkIHBhcnNpbmcsIGFuZCBp + cyBrbm93biBhcyB0aGUgPGVtPnN5bnRheCBhbmFseXNpczwvZW0+IHBoYXNl + LiBUaGUgc3ludGF4IGFuYWx5c2lzIHBoYXNlIGRlcGVuZHMgZGlyZWN0bHkg + b24gdGhlIGxleGljYWwgYW5hbHlzaXMgcGhhc2U7IHRodXMsIGxleGljYWwg + YW5hbHlzaXMgbXVzdCBhbHdheXMgY29tZSBmaXJzdCBpbiB0aGUgY29tcGls + YXRpb24gcHJvY2VzcywgYmVjYXVzZSBvdXIgY29tcGlsZXLigJlzIHBhcnNl + ciBjYW4gb25seSBkbyBpdHMgam9iIG9uY2UgdGhlIHRva2VuaXplciBkb2Vz + IGl04oCZc8Kgam9iITwvcD48YmxvY2txdW90ZT5XZSBjYW4gdGhpbmsgb2Yg + dGhlIHBhcnRzIG9mIHRoZSBjb21waWxlciBhcyBnb29kIGZyaWVuZHMsIHdo + byBhbGwgZGVwZW5kIG9uIGVhY2ggb3RoZXIgdG8gbWFrZSBzdXJlIHRoYXQg + b3VyIGNvZGUgaXMgY29ycmVjdGx5IHRyYW5zZm9ybWVkIGZyb20gYSB0ZXh0 + IG9yIGZpbGUgaW50byBhIHBhcnNlwqB0cmVlLjwvYmxvY2txdW90ZT48cD5C + dXQgYmFjayB0byBvdXIgb3JpZ2luYWwgcXVlc3Rpb246IHdoZXJlIGRvZXMg + dGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGZpdCBpbnRvIHRoaXMgZnJpZW5k + IGdyb3VwPyBXZWxsLCBpbiBvcmRlciB0byBhbnN3ZXIgdGhhdCBxdWVzdGlv + biwgaXQgaGVscHMgdG8gdW5kZXJzdGFuZCB0aGUgPGVtPm5lZWQ8L2VtPiBm + b3IgYW4gQVNUIGluIHRoZSBmaXJzdMKgcGxhY2UuPC9wPjxoMz5Db25kZW5z + aW5nIG9uZSB0cmVlIGludG/CoGFub3RoZXI8L2gzPjxwPk9rYXksIHNvIG5v + dyB3ZSBoYXZlIHR3byB0cmVlcyB0byBrZWVwIHN0cmFpZ2h0IGluIG91ciBo + ZWFkcy4gV2UgYWxyZWFkeSBoYWQgYSBwYXJzZSB0cmVlLCBhbmQgaG93IHRo + ZXJl4oCZcyB5ZXQgYW5vdGhlciBkYXRhIHN0cnVjdHVyZSB0byBsZWFybiEg + QW5kIGFwcGFyZW50bHksIHRoaXMgQVNUIGRhdGEgc3RydWN0dXJlIGlzIGp1 + c3QgYSBzaW1wbGlmaWVkIHBhcnNlIHRyZWUuIFNvLCB3aHkgZG8gd2UgbmVl + ZCBpdD8gV2hhdCBldmVuIGlzIHRoZSBwb2ludCBvZsKgaXQ/PC9wPjxwPldl + bGwsIGxldOKAmXMgdGFrZSBhIGxvb2sgYXQgb3VyIHBhcnNlIHRyZWUsIHNo + YWxswqB3ZT88L3A+PHA+V2UgYWxyZWFkeSBrbm93IHRoYXQgcGFyc2UgdHJl + ZXMgcmVwcmVzZW50IG91ciBwcm9ncmFtIGF0IGl0cyBtb3N0IGRpc3RpbmN0 + IHBhcnRzOyBpbmRlZWQsIHRoaXMgd2FzIHdoeSB0aGUgc2Nhbm5lciBhbmQg + dGhlIHRva2VuaXplciBoYXZlIHN1Y2ggaW1wb3J0YW50IGpvYnMgb2YgYnJl + YWtpbmcgZG93biBvdXIgZXhwcmVzc2lvbiBpbnRvIGl0cyBzbWFsbGVzdMKg + cGFydHMhPC9wPjxibG9ja3F1b3RlPldoYXQgZG9lcyBpdCBtZWFuIHRvIGFj + dHVhbGx5IHJlcHJlc2VudCBhIHByb2dyYW0gYnkgaXRzIG1vc3QgZGlzdGlu + Y3TCoHBhcnRzPzwvYmxvY2txdW90ZT48cD5BcyBpdCB0dXJucyBvdXQsIHNv + bWV0aW1lcyBhbGwgb2YgdGhlIGRpc3RpbmN0IHBhcnRzIG9mIGEgcHJvZ3Jh + bSBhY3R1YWxseSBhcmVu4oCZdCBhbGwgdGhhdCB1c2VmdWwgdG8gdXMgYWxs + IHRoZcKgdGltZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpOTkxLUWRv + a3pYYWIxbnJPT3MtRl93LmpwZWciIC8+PGZpZ2NhcHRpb24+UGFyc2UgdHJl + ZSBjYW4gb2Z0ZW4gYmUgc3VwZXLCoHZlcmJvc2UuPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPkxldOKAmXMgdGFrZSBhIGxvb2sgYXQgdGhlIGlsbHVzdHJh + dGlvbiBzaG93biBoZXJlLCB3aGljaCByZXByZXNlbnRzIG91ciBvcmlnaW5h + bCBleHByZXNzaW9uLCA1ICsgKDEgeCAxMiksIGluIHBhcnNlIHRyZWUgdHJl + ZSBmb3JtYXQuIElmIHdlIHRha2UgYSBjbG9zZSBsb29rIGF0IHRoaXMgdHJl + ZSB3aXRoIGEgY3JpdGljYWwgZXllLCB3ZeKAmWxsIHNlZSB0aGF0IHRoZXJl + IGFyZSBhIGZldyBpbnN0YW5jZXMgd2hlcmUgb25lIG5vZGUgaGFzIGV4YWN0 + bHkgb25lIGNoaWxkLCB3aGljaCBhcmUgYWxzbyByZWZlcnJlZCB0byBhcyA8 + c3Ryb25nPjxlbT5zaW5nbGUtc3VjY2Vzc29yIG5vZGVzPC9lbT48L3N0cm9u + Zz4sIGFzIHRoZXkgb25seSBoYXZlIG9uZSBjaGlsZCBub2RlIHN0ZW1taW5n + IGZyb20gdGhlbSAob3Igb25lIOKAnHN1Y2Nlc3NvcuKAnSkuPC9wPjxwPklu + IHRoZSBjYXNlIG9mIG91ciBwYXJzZSB0cmVlIGV4YW1wbGUsIHRoZSBzaW5n + bGUtc3VjY2Vzc29yIG5vZGVzIGhhdmUgYSBwYXJlbnQgbm9kZSBvZiBhbiBF + eHByZXNzaW9uLCBvciBFeHAsIHdoaWNoIGhhdmUgYSBzaW5nbGUgc3VjY2Vz + c29yIG9mIHNvbWUgdmFsdWUsIHN1Y2ggYXMgNSwgMSwgb3IgMTIuIEhvd2V2 + ZXIsIHRoZSBFeHAgcGFyZW50IG5vZGVzIGhlcmUgYXJlbuKAmXQgYWN0dWFs + bHkgYWRkaW5nIGFueXRoaW5nIG9mIHZhbHVlIHRvIHVzLCBhcmUgdGhleT8g + V2UgY2FuIHNlZSB0aGF0IHRoZXkgY29udGFpbiB0b2tlbi90ZXJtaW5hbCBj + aGlsZCBub2RlcywgYnV0IHdlIGRvbuKAmXQgcmVhbGx5IGNhcmUgYWJvdXQg + dGhlIOKAnGV4cHJlc3Npb27igJ0gcGFyZW50IG5vZGU7IGFsbCB3ZSByZWFs + bHkgd2FudCB0byBrbm93IGlzIHdoYXQ8ZW0+IGlzPC9lbT4gdGhlIGV4cHJl + c3Npb24/PC9wPjxwPlRoZSBwYXJlbnQgbm9kZSBkb2VzbuKAmXQgZ2l2ZSB1 + cyBhbnkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhdCBhbGwgb25jZSB3ZeKA + mXZlIHBhcnNlZCBvdXIgdHJlZS4gSW5zdGVhZCwgd2hhdCB3ZeKAmXJlIHJl + YWxseSBjb25jZXJuZWQgd2l0aCBpcyB0aGUgc2luZ2xlIDxlbT5jaGlsZDwv + ZW0+LCBzaW5nbGUtc3VjY2Vzc29yIG5vZGUuIEluZGVlZCwgdGhhdCBpcyB0 + aGUgbm9kZSB0aGF0IGdpdmVzIHVzIHRoZSBpbXBvcnRhbnQgaW5mb3JtYXRp + b24sIHRoZSBwYXJ0IHRoYXQgaXMgc2lnbmlmaWNhbnQgdG8gdXM6IHRoZSBu + dW1iZXIgYW5kIHZhbHVlIGl0c2VsZiEgQ29uc2lkZXJpbmcgdGhlIGZhY3Qg + dGhhdCB0aGVzZSBwYXJlbnQgbm9kZXMgYXJlIGtpbmQgb2YgdW5uZWNlc3Nh + cnkgdG8gdXMsIGl0IGJlY29tZXMgb2J2aW91cyB0aGF0IHRoaXMgcGFyc2Ug + dHJlZSBpcyBhIGtpbmQgb2bCoHZlcmJvc2UuPC9wPjxwPkFsbCBvZiB0aGVz + ZSBzaW5nbGUtc3VjY2Vzc29yIG5vZGVzIGFyZSBwcmV0dHkgc3VwZXJmbHVv + dXMgdG8gdXMsIGFuZCBkb27igJl0IGhlbHAgdXMgYXQgYWxsLiBTbywgbGV0 + 4oCZcyBnZXQgcmlkIG9mwqB0aGVtITwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKk1lVXdacW5FeG1jc0NCbVN5cjZuUmcuanBlZyIgLz48ZmlnY2FwdGlv + bj5Db21wcmVzc2luZyBhIHBhcnNlIHRyZWUgYWxsb3dzIHVzIHRvIGF2b2lk + IHJlZHVuZGFuY3kuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPklmIHdlIGNv + bXByZXNzIHRoZSBzaW5nbGUtc3VjY2Vzc29yIG5vZGVzIGluIG91ciBwYXJz + ZSB0cmVlLCB3ZeKAmWxsIGVuZCB1cCB3aXRoIGEgbW9yZSBjb21wcmVzc2Vk + IHZlcnNpb24gb2YgdGhlIHNhbWUgZXhhY3Qgc3RydWN0dXJlLiBMb29raW5n + IGF0IHRoZSBpbGx1c3RyYXRpb24gYWJvdmUsIHdl4oCZbGwgc2VlIHRoYXQg + d2XigJlyZSBzdGlsbCBtYWludGFpbmluZyB0aGUgZXhhY3Qgc2FtZSBuZXN0 + aW5nIGFzIGJlZm9yZSwgYW5kIG91ciBub2Rlcy90b2tlbnMvdGVybWluYWxz + IGFyZSBzdGlsbCBhcHBlYXJpbmcgaW4gdGhlIGNvcnJlY3QgcGxhY2Ugd2l0 + aGluIHRoZSB0cmVlLiBCdXQsIHdl4oCZdmUgbWFuYWdlZCB0byBzbGltIGl0 + IGRvd24gYcKgYml0LjwvcD48cD5BbmQgd2UgY2FuIHRyaW0gc29tZSBtb3Jl + IG9mIG91ciB0cmVlLCB0b28uIEZvciBleGFtcGxlLCBpZiB3ZSBsb29rIGF0 + IG91ciBwYXJzZSB0cmVlIGFzIGl0IHN0YW5kcyBhdCB0aGUgbW9tZW50LCB3 + ZeKAmWxsIHNlZSB0aGF0IHRoZXJl4oCZcyBhIG1pcnJvciBzdHJ1Y3R1cmUg + d2l0aGluIGl0LiBUaGUgc3ViLWV4cHJlc3Npb24gb2YgKDEgeCAxMikgaXMg + bmVzdGVkIHdpdGhpbiBwYXJlbnRoZXNlcyAoKSwgd2hpY2ggYXJlIHRva2Vu + cyBieSB0aGVpciBvd27CoHJpZ2h0LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKnpLeHhnWFRHS1RjT0ZvZ3VnaVNmRncuanBlZyIgLz48ZmlnY2FwdGlv + bj5TdXBlcmZsdW91cyBpbmZvcm1hdGlvbiB0aGF0IGlzIG9mIG5vIHVzZSB0 + byB1cyBjYW4gYmUgcmVtb3ZlZCBmcm9tIGEgcGFyc2XCoHRyZWUuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPkhvd2V2ZXIsIHRoZXNlIHBhcmVudGhlc2Vz + IGRvbuKAmXQgcmVhbGx5IGhlbHAgdXMgb25jZSB3ZeKAmXZlIGdvdCBvdXIg + dHJlZSBpbiBwbGFjZS4gV2UgYWxyZWFkeSBrbm93IHRoYXQgMSBhbmQgMTIg + YXJlIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBtdWx0 + aXBsaWNhdGlvbiB4IG9wZXJhdGlvbiwgc28gdGhlIHBhcmVudGhlc2VzIGRv + buKAmXQgdGVsbCB1cyBhbGwgdGhhdCBtdWNoIGF0IHRoaXMgcG9pbnQuIElu + IGZhY3QsIHdlIGNvdWxkIGNvbXByZXNzIG91ciBwYXJzZSB0cmVlIGV2ZW4g + ZnVydGhlciBhbmQgZ2V0IHJpZCBvZiB0aGVzZSBzdXBlcmZsdW91cyBsZWFm + wqBub2Rlcy48L3A+PHA+T25jZSB3ZSBjb21wcmVzcyBhbmQgc2ltcGxpZnkg + b3VyIHBhcnNlIHRyZWUgYW5kIGdldCByaWQgb2YgdGhlIGV4dHJhbmVvdXMg + c3ludGFjdGljIOKAnGR1c3TigJ0sIHdlIGVuZCB1cCB3aXRoIGEgc3RydWN0 + dXJlIHRoYXQgbG9va3MgdmlzaWJseSBkaWZmZXJlbnQgYXQgdGhpcyBwb2lu + dC4gVGhhdCBzdHJ1Y3R1cmUgaXMsIGluIGZhY3QsIG91ciBuZXcgYW5kIG11 + Y2gtYW50aWNpcGF0ZWQgZnJpZW5kOiB0aGUgYWJzdHJhY3Qgc3ludGF4wqB0 + cmVlLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlQwWm84WkxERG0wbTBm + U21ta2o3d0EuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgYWJzdHJhY3Rz + IGF3YXkgZnJvbSB0aGUgY29uY3JldGXCoHN5bnRheC48L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+VGhlIGltYWdlIGFib3ZlIGlsbHVzdHJhdGVzIHRoZSBl + eGFjdCBzYW1lIGV4cHJlc3Npb24gYXMgb3VyIHBhcnNlIHRyZWU6IDUgKyAo + MSB4IDEyKS4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBpdCBoYXMgYWJzdHJh + Y3RlZCBhd2F5IHRoZSBleHByZXNzaW9uIGZyb20gdGhlIGNvbmNyZXRlIHN5 + bnRheC4gV2UgZG9u4oCZdCBzZWUgYW55IG1vcmUgb2YgdGhlIHBhcmVudGhl + c2VzICgpIGluIHRoaXMgdHJlZSwgYmVjYXVzZSB0aGV54oCZcmUgbm90IG5l + Y2Vzc2FyeS4gU2ltaWxhcmx5LCB3ZSBkb27igJl0IHNlZSBub24tdGVybWlu + YWxzIGxpa2UgRXhwLCBzaW5jZSB3ZeKAmXZlIGFscmVhZHkgZmlndXJlZCBv + dXQgd2hhdCB0aGUg4oCcZXhwcmVzc2lvbuKAnSBpcywgYW5kIHdlIGFyZSBh + YmxlIHRvIHB1bGwgb3V0IHRoZSA8ZW0+dmFsdWU8L2VtPiB0aGF0IHJlYWxs + eSBtYXR0ZXJzIHRvIHVz4oCK4oCU4oCKZm9yIGV4YW1wbGUsIHRoZSBudW1i + ZXLCoDUuPC9wPjxwPlRoaXMgaXMgZXhhY3RseSB0aGUgZGlzdGluZ3Vpc2hp + bmcgZmFjdG9yIGJldHdlZW4gYW4gQVNUIGFuZCBhIENTVC4gV2Uga25vdyB0 + aGF0IGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlnbm9yZXMgYSBzaWduaWZp + Y2FudCBhbW91bnQgb2YgdGhlIHN5bnRhY3RpYyBpbmZvcm1hdGlvbiB0aGF0 + IGEgcGFyc2UgdHJlZSBjb250YWlucywgYW5kIHNraXBzIOKAnGV4dHJhIGNv + bnRlbnTigJ0gdGhhdCBpcyB1c2VkIGluIHBhcnNpbmcuIEJ1dCBub3cgd2Ug + Y2FuIHNlZSBleGFjdGx5IDxlbT5ob3c8L2VtPiB0aGF0wqBoYXBwZW5zITwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmwtZ0ZEdUhPd244S0htX0JIcjgx + blEuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgaXMgYW4gYWJzdHJhY3Qg + cmVwcmVzZW50YXRpb24gb2YgYSBzb3VyY2XCoHRleHQuPC9maWdjYXB0aW9u + PjwvZmlndXJlPjxwPk5vdyB0aGF0IHdl4oCZdmUgY29uZGVuc2VkIGEgcGFy + c2UgdHJlZSBvZiBvdXIgb3duLCB3ZeKAmWxsIGJlIG11Y2ggYmV0dGVyIGF0 + IHBpY2tpbmcgdXAgb24gc29tZSBvZiB0aGUgcGF0dGVybnMgdGhhdCBkaXN0 + aW5ndWlzaCBhbiBBU1QgZnJvbSBhwqBDU1QuPC9wPjxwPlRoZXJlIGEgZmV3 + IHdheXMgdGhhdCBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSB3aWxsIHZpc3Vh + bGx5LWRpZmZlciBmcm9tIGEgcGFyc2XCoHRyZWU6PC9wPjxvbD48bGk+QW4g + QVNUIHdpbGwgbmV2ZXIgY29udGFpbiBzeW50YWN0aWMgZGV0YWlscywgc3Vj + aCBhcyBjb21tYXMsIHBhcmVudGhlc2VzLCBhbmQgc2VtaWNvbG9ucyAoZGVw + ZW5kaW5nLCBvZiBjb3Vyc2UsIHVwb24gdGhlIGxhbmd1YWdlKS48L2xpPjxs + aT5BbiBBU1Qgd2lsbCBoYXZlIGNvbGxhcHNlZCB2ZXJzaW9uIG9mIHdoYXQg + d291bGQgb3RoZXJ3aXNlIGFwcGVhciBhcyBzaW5nbGUtc3VjY2Vzc29yIG5v + ZGVzOyBpdCB3aWxsIG5ldmVyIGNvbnRhaW4g4oCcY2hhaW5z4oCdIG9mIG5v + ZGVzIHdpdGggYSBzaW5nbGXCoGNoaWxkLjwvbGk+PGxpPkZpbmFsbHksIGFu + eSBvcGVyYXRvciB0b2tlbnMgKHN1Y2ggYXMgKywgLSwgeCwgYW5kIC8pIHdp + bGwgYmVjb21lIGludGVybmFsIChwYXJlbnQpIG5vZGVzIGluIHRoZSB0cmVl + LCByYXRoZXIgdGhhbiB0aGUgbGVhdmVzIHdoaWNoIHRlcm1pbmF0ZSBpbiBh + IHBhcnNlwqB0cmVlLjwvbGk+PC9vbD48cD5WaXN1YWxseSwgYW4gQVNUIHdp + bGwgYWx3YXlzIGFwcGVhciBtb3JlIGNvbXBhY3QgdGhhbiBhIHBhcnNlIHRy + ZWUsIHNpbmNlIGl0IGlzLCBieSBkZWZpbml0aW9uLCBhIGNvbXByZXNzZWQg + dmVyc2lvbiBvZiBhIHBhcnNlIHRyZWUsIHdpdGggbGVzcyBzeW50YWN0aWMg + ZGV0YWlsLjwvcD48YmxvY2txdW90ZT5JdCB3b3VsZCBzdGFuZCB0byByZWFz + b24sIHRoZW4sIHRoYXQgaWYgYW4gQVNUIGlzIGEgY29tcGFjdGVkIHZlcnNp + b24gb2YgYSBwYXJzZSB0cmVlLCB3ZSBjYW4gb25seSByZWFsbHkgY3JlYXRl + IGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlmIHdlIGhhdmUgdGhlIHRoaW5n + cyB0byBidWlsZCBhIHBhcnNlIHRyZWUgdG8gYmVnaW7CoHdpdGghPC9ibG9j + a3F1b3RlPjxwPlRoaXMgaXMsIGluZGVlZCwgaG93IHRoZSBhYnN0cmFjdCBz + eW50YXggdHJlZSBmaXRzIGludG8gdGhlIDxlbT5sYXJnZXI8L2VtPiBjb21w + aWxhdGlvbiBwcm9jZXNzLiBBbiBBU1QgaGFzIGEgZGlyZWN0IGNvbm5lY3Rp + b24gdG8gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ncmFt + bWF0aWNhbGx5LXJvb3Rpbmctb25lc2VsZi13aXRoLXBhcnNlLXRyZWVzLWVj + OWRhZWRhN2RhZCI+dGhlIHBhcnNlIHRyZWVzPC9hPiB0aGF0IHdlIGhhdmUg + YWxyZWFkeSBsZWFybmVkIGFib3V0LCB3aGlsZSBzaW11bHRhbmVvdXNseSBy + ZWx5aW5nIHVwb24gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy9yZWFkaW5nLWNvZGUtcmlnaHQtd2l0aC1zb21lLWhlbHAtZnJvbS10aGUt + bGV4ZXItNjNkMGJlM2QyMWQiPnRoZSBsZXhlcjwvYT4gdG8gZG8gPGVtPml0 + czwvZW0+IGpvYiBiZWZvcmUgYW4gQVNUIGNhbiBldmVyIGJlwqBjcmVhdGVk + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKm5Tc29sLXpkS2NKbms0WDQ1 + RmtDRXcuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgaXMgYWx3YXlzIHRo + ZSBvdXRwdXQgb2YgdGhlwqBwYXJzZXIuPC9maWdjYXB0aW9uPjwvZmlndXJl + PjxwPlRoZSBhYnN0cmFjdCBzeW50YXggdHJlZSBpcyBjcmVhdGVkIGFzIHRo + ZSBmaW5hbCByZXN1bHQgb2YgdGhlIHN5bnRheCBhbmFseXNpcyBwaGFzZS4g + VGhlIHBhcnNlciwgd2hpY2ggaXMgZnJvbnQgYW5kIGNlbnRlciBhcyB0aGUg + bWFpbiDigJxjaGFyYWN0ZXLigJ0gZHVyaW5nIHN5bnRheCBhbmFseXNpcywg + bWF5IG9yIG1heSBub3QgYWx3YXlzIGdlbmVyYXRlIGEgcGFyc2UgdHJlZSwg + b3IgQ1NULiBEZXBlbmRpbmcgb24gdGhlIGNvbXBpbGVyIGl0c2VsZiwgYW5k + IGhvdyBpdCB3YXMgZGVzaWduZWQsIHRoZSBwYXJzZXIgbWF5IGRpcmVjdGx5 + IGdvIHN0cmFpZ2h0IG9udG8gY29uc3RydWN0aW5nIGEgc3ludGF4IHRyZWUs + IG9yIEFTVC4gQnV0IHRoZSBwYXJzZXIgd2lsbCBhbHdheXMgZ2VuZXJhdGUg + YW4gQVNUIGFzIGl0cyBvdXRwdXQsIG5vIG1hdHRlciB3aGV0aGVyIGl0IGNy + ZWF0ZXMgYSBwYXJzZSB0cmVlIGluIGJldHdlZW4sIG9yIGhvdyBtYW55IHBh + c3NlcyBpdCBtaWdodCBuZWVkIHRvIHRha2UgaW4gb3JkZXIgdG8gZG/CoHNv + LjwvcD48aDM+QW5hdG9teSBvZiBhbsKgQVNUPC9oMz48cD5Ob3cgdGhhdCB3 + ZSBrbm93IHRoYXQgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGlzIGltcG9y + dGFudCAoYnV0IG5vdCBuZWNlc3NhcmlseSBpbnRpbWlkYXRpbmchKSwgd2Ug + Y2FuIHN0YXJ0IHRvIGRpc3NlY3QgaXQgYSB0aW55IGJpdCBtb3JlLiBBbiBp + bnRlcmVzdGluZyBhc3BlY3QgYWJvdXQgaG93IHRoZSBBU1QgaXMgY29uc3Ry + dWN0ZWQgaGFzIHRvIGRvIHdpdGggdGhlIG5vZGVzIG9mIHRoaXPCoHRyZWUu + PC9wPjxwPlRoZSBpbWFnZSBiZWxvdyBleGVtcGxpZmllcyB0aGUgYW5hdG9t + eSBvZiBhIHNpbmdsZSBub2RlIHdpdGhpbiBhbiBhYnN0cmFjdCBzeW50YXjC + oHRyZWUuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqTk9fcDk3MzlzWDZU + Zi1FU1JrU0thdy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBhbmF0b215IG9m + IGFuIEFTVMKgbm9kZS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+V2XigJls + bCBub3RpY2UgdGhhdCB0aGlzIG5vZGUgaXMgc2ltaWxhciB0byBvdGhlcnMg + dGhhdCB3ZeKAmXZlIHNlZW4gYmVmb3JlIGluIHRoYXQgaXQgY29udGFpbnMg + c29tZSBkYXRhIChhIHRva2VuIGFuZCBpdHMgdmFsdWUpLiBIb3dldmVyLCBp + dCBhbHNvIGNvbnRhaW5zIHNvbWUgdmVyeSBzcGVjaWZpYyBwb2ludGVycy4g + RXZlcnkgbm9kZSBpbiBhbiBBU1QgY29udGFpbnMgcmVmZXJlbmNlcyB0byBp + dHMgPGVtPm5leHQ8L2VtPiBzaWJsaW5nIG5vZGUsIGFzIHdlbGwgYXMgaXRz + IDxlbT5maXJzdDwvZW0+IGNoaWxkwqBub2RlLjwvcD48cD5Gb3IgZXhhbXBs + ZSwgb3VyIHNpbXBsZSBleHByZXNzaW9uIG9mIDUgKyAoMSB4IDEyKSBjb3Vs + ZCBiZSBjb25zdHJ1Y3RlZCBpbnRvIGEgdmlzdWFsaXplZCBpbGx1c3RyYXRp + b24gb2YgYW4gQVNULCBsaWtlIHRoZSBvbmXCoGJlbG93LjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKjBuNzNWM0xkMGUtblRtWktHdzNPcFEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5BIHNpbXBsaWZpZWQgdmlzdWFsaXphdGlvbiBvZiBv + dXIgQVNUIGV4cHJlc3Npb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPldl + IGNhbiBpbWFnaW5lIHRoYXQgcmVhZGluZywgdHJhdmVyc2luZywgb3Ig4oCc + aW50ZXJwcmV0aW5n4oCdIHRoaXMgQVNUIG1pZ2h0IHN0YXJ0IGZyb20gdGhl + IGJvdHRvbSBsZXZlbHMgb2YgdGhlIHRyZWUsIHdvcmtpbmcgaXRzIHdheSBi + YWNrIHVwIHRvIGJ1aWxkIHVwIGEgdmFsdWUgb3IgYSByZXR1cm4gcmVzdWx0 + IGJ5IHRoZcKgZW5kLjwvcD48cD5JdCBjYW4gYWxzbyBoZWxwIHRvIHNlZSBh + IGNvZGVkIHZlcnNpb24gb2YgdGhlIG91dHB1dCBvZiBhIHBhcnNlciB0byBo + ZWxwIHN1cHBsZW1lbnQgb3VyIHZpc3VhbGl6YXRpb25zLiBXZSBjYW4gbGVh + biBvbiB2YXJpb3VzIHRvb2xzIGFuZCB1c2UgcHJlZXhpc3RpbmcgcGFyc2Vy + cyB0byBzZWUgYSBxdWljayBleGFtcGxlIG9mIHdoYXQgb3VyIGV4cHJlc3Np + b24gbWlnaHQgbG9vayBsaWtlIHdoZW4gcnVuIHRocm91Z2ggYSBwYXJzZXIu + IEJlbG93IGlzIGFuIGV4YW1wbGUgb2Ygb3VyIHNvdXJjZSB0ZXh0LCA1ICsg + KDEgKiAxMiksIHJ1biB0aHJvdWdoIDxhIGhyZWY9Imh0dHA6Ly9lc3ByaW1h + Lm9yZy8iPkVzcHJpbWE8L2E+LCBhbiBFQ01BU2NyaXB0IHBhcnNlciwgYW5k + IGl0cyByZXN1bHRpbmcgYWJzdHJhY3Qgc3ludGF4IHRyZWUsIGZvbGxvd2Vk + IGJ5IGEgbGlzdCBvZiBpdHMgZGlzdGluY3TCoHRva2Vucy48L3A+PGlmcmFt + ZSBzcmM9IiIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZnJhbWVib3JkZXI9IjAi + IHNjcm9sbGluZz0ibm8iPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9t + ZWRpYS9hMmY5MDYwMDMxYzQzMTg2NWVmZDhlMzk1YTRkYjYyNC9ocmVmIj5o + dHRwczovL21lZGl1bS5jb20vbWVkaWEvYTJmOTA2MDAzMWM0MzE4NjVlZmQ4 + ZTM5NWE0ZGI2MjQvaHJlZjwvYT48L2lmcmFtZT48cD5JbiB0aGlzIGZvcm1h + dCwgd2UgY2FuIHNlZSB0aGUgbmVzdGluZyBvZiB0aGUgdHJlZSBpZiB3ZSBs + b29rIGF0IHRoZSBuZXN0ZWQgb2JqZWN0cy4gV2XigJlsbCBub3RpY2UgdGhh + dCB0aGUgdmFsdWVzIGNvbnRhaW5pbmcgMSBhbmQgMTIgYXJlIHRoZSBsZWZ0 + IGFuZCByaWdodCBjaGlsZHJlbiwgcmVzcGVjdGl2ZWx5LCBvZiBhIHBhcmVu + dCBvcGVyYXRpb24sICouIFdl4oCZbGwgYWxzbyBzZWUgdGhhdCB0aGUgbXVs + dGlwbGljYXRpb24gb3BlcmF0aW9uICgqKSBtYWtlcyB1cCB0aGUgPGVtPnJp + Z2h0IHN1YnRyZWU8L2VtPiBvZiB0aGUgZW50aXJlIGV4cHJlc3Npb24gaXRz + ZWxmLCB3aGljaCBpcyB3aHkgaXQgaXMgbmVzdGVkIHdpdGhpbiB0aGUgbGFy + Z2VyIEJpbmFyeUV4cHJlc3Npb24gb2JqZWN0LCB1bmRlciB0aGUga2V5ICZx + dW90O3JpZ2h0JnF1b3Q7LiBTaW1pbGFybHksIHRoZSB2YWx1ZSBvZiA1IGlz + IHRoZSBzaW5nbGUgJnF1b3Q7bGVmdCZxdW90OyBjaGlsZCBvZiB0aGUgbGFy + Z2VyIEJpbmFyeUV4cHJlc3Npb24gb2JqZWN0LjwvcD48ZmlndXJlPjxpbWcg + YWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9t + YXgvMTAyNC8xKnVHajlSLVREQzVsNjdvUkRHV3lORkEuanBlZyIgLz48Zmln + Y2FwdGlvbj5CdWlsZGluZyBhbiBBU1QgY2FuIGJlIGNvbXBsZXggc29tZXRp + bWVzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5UaGUgbW9zdCA8ZW0+aW50 + cmlndWluZzwvZW0+IGFzcGVjdCBvZiB0aGUgYWJzdHJhY3Qgc3ludGF4IHRy + ZWUgaXMsIGhvd2V2ZXIsIHRoZSBmYWN0IHRoYXQgZXZlbiB0aG91Z2ggdGhl + eSBhcmUgc28gY29tcGFjdCBhbmQgY2xlYW4sIHRoZXkgYXJlbuKAmXQgYWx3 + YXlzIGFuIGVhc3kgZGF0YSBzdHJ1Y3R1cmUgdG8gdHJ5IGFuZCBjb25zdHJ1 + Y3QuIEluIGZhY3QsIGJ1aWxkaW5nIGFuIEFTVCBjYW4gYmUgcHJldHR5IGNv + bXBsZXgsIGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UgdGhhdCB0aGUgcGFy + c2VyIGlzIGRlYWxpbmfCoHdpdGghPC9wPjxwPk1vc3QgcGFyc2VycyB3aWxs + IHVzdWFsbHkgZWl0aGVyIGNvbnN0cnVjdCBhIHBhcnNlIHRyZWUgKENTVCkg + YW5kIHRoZW4gY29udmVydCBpdCB0byBhbiBBU1QgZm9ybWF0LCBiZWNhdXNl + IHRoYXQgY2FuIHNvbWV0aW1lcyBiZSBlYXNpZXLigIrigJTigIpldmVuIHRo + b3VnaCBpdCBtZWFucyBtb3JlIHN0ZXBzLCBhbmQgZ2VuZXJhbGx5IHNwZWFr + aW5nLCBtb3JlIHBhc3NlcyB0aHJvdWdoIHRoZSBzb3VyY2UgdGV4dC4gQnVp + bGRpbmcgYSBDU1QgaXMgYWN0dWFsbHkgcHJldHR5IGVhc3kgb25jZSB0aGUg + cGFyc2VyIGtub3dzIHRoZSBncmFtbWFyIG9mIHRoZSBsYW5ndWFnZSBpdOKA + mXMgdHJ5aW5nIHRvIHBhcnNlLiBJdCBkb2VzbuKAmXQgbmVlZCB0byBkbyBh + bnkgY29tcGxpY2F0ZWQgd29yayBvZiBmaWd1cmluZyBvdXQgaWYgYSB0b2tl + biBpcyDigJxzaWduaWZpY2FudOKAnSBvciBub3Q7IGluc3RlYWQsIGl0IGp1 + c3QgdGFrZXMgZXhhY3RseSB3aGF0IGl0cyBzZWVzLCBpbiB0aGUgc3BlY2lm + aWMgb3JkZXIgdGhhdCBpdCBzZWVzIGl0LCBhbmQgc3BpdHMgaXQgYWxsIG91 + dCBpbnRvIGHCoHRyZWUuPC9wPjxwPk9uIHRoZSBvdGhlciBoYW5kLCB0aGVy + ZSBhcmUgc29tZSBwYXJzZXJzIHRoYXQgd2lsbCB0cnkgdG8gZG8gYWxsIG9m + IHRoaXMgYXMgYSBzaW5nbGUtc3RlcCBwcm9jZXNzLCBqdW1waW5nIHN0cmFp + Z2h0IHRvIGNvbnN0cnVjdGluZyBhbiBhYnN0cmFjdCBzeW50YXjCoHRyZWUu + PC9wPjxibG9ja3F1b3RlPkJ1aWxkaW5nIGFuIEFTVCBkaXJlY3RseSBjYW4g + YmUgdHJpY2t5LCBzaW5jZSB0aGUgcGFyc2VyIGhhcyB0byBub3Qgb25seSBm + aW5kIHRoZSB0b2tlbnMgYW5kIHJlcHJlc2VudCB0aGVtIGNvcnJlY3RseSwg + YnV0IGFsc28gZGVjaWRlIHdoaWNoIHRva2VucyBtYXR0ZXIgdG8gdXMsIGFu + ZCB3aGljaCBvbmVzwqBkb27igJl0LjwvYmxvY2txdW90ZT48cD5JbiBjb21w + aWxlciBkZXNpZ24sIHRoZSBBU1QgZW5kcyB1cCBiZWluZyBzdXBlciBpbXBv + cnRhbnQgZm9yIG1vcmUgdGhhbiBvbmUgcmVhc29uLiBZZXMsIGl0IGNhbiBi + ZSB0cmlja3kgdG8gY29uc3RydWN0IChhbmQgcHJvYmFibHkgZWFzeSB0byBt + ZXNzIHVwKSwgYnV0IGFsc28sIGl04oCZcyB0aGUgbGFzdCBhbmQgZmluYWwg + cmVzdWx0IG9mIHRoZSBsZXhpY2FsIGFuZCBzeW50YXggYW5hbHlzaXMgcGhh + c2VzIGNvbWJpbmVkISBUaGUgbGV4aWNhbCBhbmQgc3ludGF4IGFuYWx5c2lz + IHBoYXNlcyBhcmUgb2Z0ZW4gam9pbnRseSBjYWxsZWQgdGhlIDxzdHJvbmc+ + PGVtPmFuYWx5c2lzIHBoYXNlPC9lbT48L3N0cm9uZz4sIG9yIDxzdHJvbmc+ + PGVtPnRoZTwvZW0+PC9zdHJvbmc+IDxzdHJvbmc+PGVtPmZyb250LWVuZDwv + ZW0+PC9zdHJvbmc+IG9mIHRoZSBjb21waWxlci48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpGSGRWSWhDUXlZN1dEZVRTREg1S1pnLmpwZWciIC8+PGZp + Z2NhcHRpb24+VGhlIGlubmVyIHdvcmtpbmdzIG9mIHRoZSBmcm9udC1lbmQg + b2Ygb3VyIGNvbXBpbGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZSBj + YW4gdGhpbmsgYWJvdXQgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGFzIHRo + ZSDigJxmaW5hbCBwcm9qZWN04oCdIG9mIHRoZSBmcm9udC1lbmQgb2YgdGhl + IGNvbXBpbGVyLiBJdOKAmXMgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQsIGJl + Y2F1c2UgaXRzIHRoZSBsYXN0IHRoaW5nIHRoYXQgdGhlIGZyb250LWVuZCBo + YXMgdG8gc2hvdyBmb3IgaXRzZWxmLiBUaGUgdGVjaG5pY2FsIHRlcm0gZm9y + IHRoaXMgaXMgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5pbnRlcm1lZGlhdGUg + Y29kZSByZXByZXNlbnRhdGlvbiA8L2VtPjwvc3Ryb25nPm9yIHRoZSA8c3Ry + b25nPjxlbT5JUjwvZW0+PC9zdHJvbmc+LCBiZWNhdXNlIGl0IGJlY29tZXMg + dGhlIGRhdGEgc3RydWN0dXJlIHRoYXQgaXMgdWx0aW1hdGVseSB1c2VkIGJ5 + IHRoZSBjb21waWxlciB0byByZXByZXNlbnQgYSBzb3VyY2XCoHRleHQuPC9w + PjxwPkFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlzIHRoZSBtb3N0IGNvbW1v + biBmb3JtIG9mIElSLCBidXQgYWxzbywgc29tZXRpbWVzIHRoZSBtb3N0IG1p + c3VuZGVyc3Rvb2QuIEJ1dCBub3cgdGhhdCB3ZSB1bmRlcnN0YW5kIGl0IGEg + bGl0dGxlIGJpdCBiZXR0ZXIsIHdlIGNhbiBzdGFydCB0byBjaGFuZ2Ugb3Vy + IHBlcmNlcHRpb24gb2YgdGhpcyBzY2FyeSBzdHJ1Y3R1cmUhIEhvcGVmdWxs + eSwgaXTigJlzIGEgbGl0dGxlIGJpdCBsZXNzIGludGltaWRhdGluZyB0byB1 + c8Kgbm93LjwvcD48aDM+UmVzb3VyY2VzPC9oMz48cD5UaGVyZSBhcmUgYSB3 + aG9sZSBsb3Qgb2YgcmVzb3VyY2VzIG91dCB0aGVyZSBvbiBBU1RzLCBpbiBh + IHZhcmlldHkgb2YgbGFuZ3VhZ2VzLiBLbm93aW5nIHdoZXJlIHRvIHN0YXJ0 + IGNhbiBiZSB0cmlja3ksIGVzcGVjaWFsbHkgaWYgeW914oCZcmUgbG9va2lu + ZyB0byBsZWFybiBtb3JlLiBCZWxvdyBhcmUgYSBmZXcgYmVnaW5uZXItZnJp + ZW5kbHkgcmVzb3VyY2VzIHRoYXQgZGl2ZSBpbnRvIGEgd2hvbGUgbG90IG1v + cmUgZGV0YWlsIHdpdGhvdXQgYmVpbmcgPGVtPnRvbzwvZW0+IG92ZXJod2Vs + bWluZy4gSGFwcHkgYXNidHJhY3RpbmchPC9wPjxvbD48bGk+PGEgaHJlZj0i + aHR0cDovL3BhZ2VzLmNzLndpc2MuZWR1L35maXNjaGVyL2NzNTM2LnMwNi9j + b3Vyc2UuaG9sZC9odG1sL05PVEVTLzQuU1lOVEFYLURJUkVDVEVELVRSQU5T + TEFUSU9OLmh0bWwjYXN0VnNQYXJzZSI+VGhlIEFTVCB2cyB0aGUgUGFyc2Ug + VHJlZTwvYT4sIFByb2Zlc3NvciBDaGFybGVzIE4uwqBGaXNjaGVyPC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv + bnMvNTk2Nzg4OC93aGF0cy10aGUtZGlmZmVyZW5jZS1iZXR3ZWVuLXBhcnNl + LXRyZWVzLWFuZC1hYnN0cmFjdC1zeW50YXgtdHJlZXMiPldoYXTigJlzIHRo + ZSBkaWZmZXJlbmNlIGJldHdlZW4gcGFyc2UgdHJlZXMgYW5kIGFic3RyYWN0 + IHN5bnRheCB0cmVlcz88L2E+LCBTdGFja092ZXJmbG93PC9saT48bGk+PGEg + aHJlZj0iaHR0cHM6Ly9lbGkudGhlZ3JlZW5wbGFjZS5uZXQvMjAwOS8wMi8x + Ni9hYnN0cmFjdC12cy1jb25jcmV0ZS1zeW50YXgtdHJlZXMvIj5BYnN0cmFj + dCB2cy4gQ29uY3JldGUgU3ludGF4IFRyZWVzPC9hPiwgRWxpIEJlbmRlcnNr + eTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cxLmNzLmNvbHVtYmlhLmVk + dS9+c2Vkd2FyZHMvY2xhc3Nlcy8yMDAzL3c0MTE1Zi9hc3QuOXVwLnBkZiI+ + QWJzdHJhY3QgU3ludGF4IFRyZWVzPC9hPiwgUHJvZmVzc29yIFN0ZXBoZW4g + QS7CoEVkd2FyZHM8L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdXNlci5pdC51 + dS5zZS9+a29zdGlzL1RlYWNoaW5nL0tUMS0xMS9TbGlkZXMvbGVjdHVyZTA1 + LnBkZiI+QWJzdHJhY3QgU3ludGF4IFRyZWVzICZhbXA7IFRvcC1Eb3duIFBh + cnNpbmc8L2E+LCBQcm9mZXNzb3IgS29uc3RhbnRpbm9zIChLb3N0aXMpwqBT + YWdvbmFzPC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5wbGluZy5vcmcu + dWsvY3MvbHNhLmh0bWwiPkxleGljYWwgYW5kIFN5bnRheCBBbmFseXNpcyBv + ZiBQcm9ncmFtbWluZyBMYW5ndWFnZXM8L2E+LCBDaHJpcyBOb3J0aHdvb2Q8 + L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FzdGV4cGxvcmVyLm5ldCI+QVNU + IEV4cGxvcmVyLDwvYT4gRmVsaXjCoEtsaW5nPC9saT48L29sPjxpbWcgc3Jj + PSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50 + Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD1kN2E2ZmMy + NDAwZmYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xldmVsaW5nLXVwLW9uZXMtcGFy + c2luZy1nYW1lLXdpdGgtYXN0cy1kN2E2ZmMyNDAwZmYiPkxldmVsaW5nIFVw + IE9uZeKAmXMgUGFyc2luZyBHYW1lIFdpdGggQVNUczwvYT4gd2FzIG9yaWdp + bmFsbHkgcHVibGlzaGVkIGluIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNv + bS9iYXNlY3MiPmJhc2VjczwvYT4gb24gTWVkaXVtLCB3aGVyZSBwZW9wbGUg + YXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZlcnNhdGlvbiBieSBoaWdobGlnaHRp + bmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhpcyBzdG9yeS48L3A+XV0+PC9jb250 + ZW50OmVuY29kZWQ+CiAgICAgICAgPC9pdGVtPgogICAgICAgIDxpdGVtPgog + ICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbSGFzIGJhc2VjcyBoZWxwZWQg + eW91PyBJ4oCZZCBsb3ZlIHRvIGtub3cgaG93IF1dPjwvdGl0bGU+CiAgICAg + ICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvaGFzLWJh + c2Vjcy1oZWxwZWQteW91LWlkLWxvdmUtdG8ta25vdy1ob3ctZTk4ZDEyZThj + MWIyP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAg + ICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwczovL21l + ZGl1bS5jb20vcC9lOThkMTJlOGMxYjI8L2d1aWQ+CiAgICAgICAgICAgIDxk + YzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2RjOmNyZWF0 + b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPkZyaSwgMDEgRGVjIDIwMTcgMDM6 + NTk6NTUgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1cGRhdGVk + PjIwMTctMTItMDFUMDM6NTk6NTUuNzkxWjwvYXRvbTp1cGRhdGVkPgogICAg + ICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPkRlYXIgPGVt + PmJhc2VjczwvZW0+wqByZWFkZXIsPC9wPjxwPkl04oCZcyBmaW5hbGx5IGhl + cmXigIrigJTigIp0aGUgbGFzdCBtb250aCBvZiB0aGUgeWVhciwgYW5kIHdp + dGggdGhhdCwgKG5lYXJseSkgdGhlIGVuZCBvZiB0aGlzIHNlcmllcy4gQWx0 + aG91Z2ggSSBoYXZlIGJlZW4gd2F0Y2hpbmcgYXMgdGhpcyBwcm9qZWN0IGhh + cyBncm93biBhbmQgZmxvdXJpc2hlZCB3aXRoIG9sZCByZWFkZXJzIGFuZCBu + ZXcgb25lcyBhbGlrZSwgSSBoYXZlIG5vIGlkZWEgd2hvIGl0IGhhcyBpbXBh + Y3RlZC48L3A+PHA+VGhhdOKAmXMgd2h5IEnigJltIHdyaXRpbmcgdG8geW91 + LiBJZiA8ZW0+YmFzZWNzPC9lbT4gaGFzIGhlbHBlZCB5b3UgaW4gYW55IHdh + eSwgaWYgeW91IGhhdmUgZm91bmQgdGhlIHNlcmllcyBpbmZvcm1hdGl2ZSwg + b3IgaWYgeW91IGhhdmUgZXZlciBzaGFyZWQgaXQgd2l0aCBzb21lb25lLCBJ + 4oCZZCBsb3ZlIHRvIGtub3cgYWJvdXTCoGl0ITwvcD48YmxvY2txdW90ZT5J + ZiB5b3UgaGF2ZSBhIGZldyBtaW51dGVzLCBJIGhvcGUgeW914oCZbGwgdGFr + ZSB0aGUgdGltZSB0byBhbnN3ZXIgdGhpcyA8YSBocmVmPSJodHRwczovL3Zh + aWRlaGkudHlwZWZvcm0uY29tL3RvL0ZocGY1SiI+c2hvcnTCoHN1cnZleTwv + YT4uPC9ibG9ja3F1b3RlPjxwPjxzdHJvbmc+WW91ciBmZWVkYmFjayB3aWxs + IGhlbHAgbWUgYmV0dGVyIHVuZGVyc3RhbmQgdGhpcyBwcm9qZWN0LCBhcyB3 + ZWxsIGFzIGhvdyB0byBpbXByb3ZlIGFuZCBpdGVyYXRlIG9uIGl0IGluIHRo + ZcKgZnV0dXJlLjwvc3Ryb25nPjwvcD48cD5UaGFuayB5b3UgYWdhaW4gZm9y + IHlvdXIgY29udGludWVkIHJlYWRlcnNoaXAgYW5kIHN1cHBvcnQuwqDwn5Kb + PC9wPjxwPldpdGggZ3JhdGl0dWRlLDxicj5WYWlkZWhpPC9wPjxpbWcgc3Jj + PSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50 + Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD1lOThkMTJl + OGMxYjIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2hhcy1iYXNlY3MtaGVscGVkLXlv + dS1pZC1sb3ZlLXRvLWtub3ctaG93LWU5OGQxMmU4YzFiMiI+SGFzIGJhc2Vj + cyBoZWxwZWQgeW91PyBJ4oCZZCBsb3ZlIHRvIGtub3cgaG93IPCfkps8L2E+ + IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBpbiA8YSBocmVmPSJodHRwczov + L21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8L2E+IG9uIE1lZGl1bSwgd2hl + cmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRoZSBjb252ZXJzYXRpb24gYnkg + aGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5nIHRvIHRoaXMgc3RvcnkuPC9w + Pl1dPjwvY29udGVudDplbmNvZGVkPgogICAgICAgIDwvaXRlbT4KICAgICAg + ICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxlPjwhW0NEQVRBW1JlYWRpbmcg + Q29kZSBSaWdodCwgV2l0aCBTb21lIEhlbHAgRnJvbSBUaGUgTGV4ZXJdXT48 + L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRwczovL21lZGl1bS5jb20v + YmFzZWNzL3JlYWRpbmctY29kZS1yaWdodC13aXRoLXNvbWUtaGVscC1mcm9t + LXRoZS1sZXhlci02M2QwYmUzZDIxZD9zb3VyY2U9cnNzLThmNTU5OTNjOTcz + ZS0tLS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvNjNkMGJlM2QyMWQ8L2d1 + aWQ+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtjb2RlXV0+PC9j + YXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW2NvbXBp + bGVyc11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtD + REFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxj + YXRlZ29yeT48IVtDREFUQVt0aGVvcnktaW4tcHJhY3RpY2VdXT48L2NhdGVn + b3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0ZXIt + c2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxkYzpjcmVhdG9y + PjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2RjOmNyZWF0b3I+CiAgICAg + ICAgICAgIDxwdWJEYXRlPk1vbiwgMjcgTm92IDIwMTcgMTM6MDE6MDEgR01U + PC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1cGRhdGVkPjIwMTctMTEt + MjdUMTM6MDE6MDEuMzE2WjwvYXRvbTp1cGRhdGVkPgogICAgICAgICAgICA8 + Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqNjBqTTYxMk1uQkpFYzBDSnJubmd2QS5qcGVnIiAvPjxmaWdjYXB0aW9u + PlJlYWRpbmcgY29kZSByaWdodCwgd2l0aCBzb21lIGhlbHAgZnJvbSB0aGXC + oGxleGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Tb2Z0d2FyZSBpcyBh + bGwgYWJvdXQgbG9naWMuIFByb2dyYW1taW5nIGhhcyBnYXJuZXJlZCBhIHJl + cHV0YXRpb24gb2YgYmVpbmcgYSBmaWVsZCB0aGF0IGlzIGhlYXZ5IG9uIHRo + ZSBtYXRoIGFuZCBjcmF6eSBlcXVhdGlvbnMuIEFuZCBjb21wdXRlciBzY2ll + bmNlIHNlZW1zIHRvIGJlIGF0IHRoZSBjcnV4IG9mIHRoaXMgbWlzY29uY2Vw + dGlvbi48L3A+PHA+U3VyZSwgdGhlcmUgaXMgc29tZSBtYXRoIGFuZCB0aGVy + ZSBhcmUgc29tZSBmb3JtdWxhc+KAiuKAlOKAimJ1dCBub25lIG9mIHVzIGFj + dHVhbGx5IG5lZWQgdG8gaGF2ZSBQaERzIGluIGNhbGN1bHVzIGluIG9yZGVy + IGZvciB1cyB0byB1bmRlcnN0YW5kIGhvdyBvdXIgbWFjaGluZXMgd29yayEg + SW4gZmFjdCwgYSBsb3Qgb2YgdGhlIHJ1bGVzIGFuZCBwYXJhZGlnbXMgdGhh + dCB3ZSBsZWFybiBpbiB0aGUgcHJvY2VzcyBvZiB3cml0aW5nIGNvZGUgYXJl + IHRoZSBzYW1lIHJ1bGVzIGFuZCBwYXJhZGlnbXMgdGhhdCBhcHBseSB0byBj + b21wbGV4IGNvbXB1dGVyIHNjaWVuY2UgY29uY2VwdHMuIEFuZCBzb21ldGlt + ZXMsIHRob3NlIGlkZWFzIGFjdHVhbGx5IDxlbT5zdGVtPC9lbT4gPGVtPmZy + b208L2VtPiBjb21wdXRlciBzY2llbmNlLCBhbmQgd2UganVzdCBkaWRu4oCZ + dCBldmVyIGtub3fCoGl0LjwvcD48cD5SZWdhcmRsZXNzIG9mIHdoYXQgcHJv + Z3JhbW1pbmcgbGFuZ3VhZ2Ugd2UgdXNlLCB3aGVuIG1vc3Qgb2YgdXMgd3Jp + dGUgb3VyIGNvZGUsIHdlIGFpbSB0byBlbmNhcHN1bGF0ZSBkaXN0aW5jdCB0 + aGluZ3MgaW50byBjbGFzc2VzLCBvYmplY3RzLCBvciBtZXRob2RzLCBpbnRl + bnRpb25hbGx5IHNlcGFyYXRpbmcgb3V0IHdoYXQgZGlmZmVyZW50IHBhcnRz + IG9mIG91ciBjb2RlIGFyZSBjb25jZXJuZWQgd2l0aC4gSW4gb3RoZXIgd29y + ZHMsIHdlIGtub3cgdGhhdCBpdOKAmXMgZ2VuZXJhbGx5IGdvb2QgdGhpbmdz + IHRvIGRpdmlkZSB1cCBvdXIgY29kZSBzbyB0aGF0IG9uZSBjbGFzcywgb2Jq + ZWN0LCBvciBtZXRob2QgaXMgb25seSBjb25jZXJuZWQgd2l0aCBhbmQgcmVz + cG9uc2libGUgZm9yIG9uZSBzaW5nbGUgdGhpbmcuIElmIHdlIGRpZG7igJl0 + IGRvIHRoaXMsIHRoaW5ncyBjb3VsZCBnZXQgc3VwZXIgbWVzc3kgYW5kIGlu + dGVydHdpbmVkIGludG8gYSBtZXNzIG9mIGEgd2ViLiBTb21ldGltZXMgdGhp + cyBzdGlsbCBoYXBwZW5zLCBldmVuIHdpdGggc2VwYXJhdGlvbiBvZiBjb25j + ZXJucy48L3A+PHA+QXMgaXQgdHVybnMgb3V0LCBldmVuIHRoZSBpbm5lciB3 + b3JraW5ncyBvZiBvdXIgY29tcHV0ZXJzIGZvbGxvdyB2ZXJ5IHNpbWlsYXIg + ZGVzaWduIHBhcmFkaWdtcy4gT3VyIGNvbXBpbGVyLCBmb3IgZXhhbXBsZSwg + aGFzIGRpZmZlcmVudCBwYXJ0cyB0byBpdCwgYW5kIGVhY2ggcGFydCBpcyBy + ZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgb25lIHNwZWNpZmljIHBhcnQgb2Yg + dGhlIGNvbXBpbGF0aW9uIHByb2Nlc3MuIFdlIGVuY291bnRlcmVkIGEgbGl0 + dGxlIGJpdCBvZiB0aGlzIGxhc3Qgd2Vlaywgd2hlbiA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2dyYW1tYXRpY2FsbHktcm9vdGluZy1v + bmVzZWxmLXdpdGgtcGFyc2UtdHJlZXMtZWM5ZGFlZGE3ZGFkIj53ZSBsZWFy + bmVkIGFib3V0IHRoZSBwYXJzZXI8L2E+LCB3aGljaCBpcyByZXNwb25zaWJs + ZSBmb3IgY3JlYXRpbmcgcGFyc2UgdHJlZXMuIEJ1dCB0aGUgcGFyc2VyIGNh + buKAmXQgcG9zc2libHkgYmUgdGFza2VkIHdpdGggZXZlcnl0aGluZy48L3A+ + PHA+VGhlIHBhcnNlciBuZWVkcyBzb21lIGhlbHAgZnJvbSBpdHMgYnVkZGll + cywgYW5kIGl04oCZcyBmaW5hbGx5IHRpbWUgZm9yIHVzIHRvIGxlYXJuIHdo + byB0aGV5wqBhcmUhPC9wPjxoMz5QaGFzaW5nIGludG8gY29tcGlsZXJzPC9o + Mz48cD5XaGVuIHdlIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNl + Y3MvZ3JhbW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10 + cmVlcy1lYzlkYWVkYTdkYWQiPmxlYXJuZWQgYWJvdXQgcGFyc2luZzwvYT4g + cmVjZW50bHksIHdlIGRpcHBlZCBvdXIgdG9lcyBpbnRvIGdyYW1tYXIsIHN5 + bnRheCwgYW5kIGhvdyB0aGUgY29tcGlsZXIgcmVhY3RzIGFuZCByZXNwb25k + cyB0byB0aG9zZSB0aGluZ3Mgd2l0aGluIGEgcHJvZ3JhbW1pbmcgbGFuZ3Vh + Z2UuIEJ1dCB3ZSBuZXZlciByZWFsbHkgaGlnaGxpZ2h0ZWQgd2hhdCBleGFj + dGx5IGEgY29tcGlsZXIgaXMhIEFzIHdlIGdldCBpbnRvIHRoZSBpbm5lciB3 + b3JraW5ncyBvZiB0aGUgY29tcGlsYXRpb24gcHJvY2Vzcywgd2XigJlyZSBn + b2luZyB0byBiZSBsZWFybmluZyBhIGxvdCBhYm91dCBjb21waWxlciBkZXNp + Z24sIHNvIGl04oCZcyB2aXRhbCBmb3IgdXMgdG8gdW5kZXJzdGFuZCB3aGF0 + IGV4YWN0bHkgd2XigJlyZSB0YWxraW5nIGFib3V0wqBoZXJlLjwvcD48cD5D + b21waWxlcnMgY2FuIHNvdW5kIGtpbmQgb2Ygc2NhcnksIGJ1dCB0aGVpciBq + b2JzIGFyZSBhY3R1YWxseSBub3QgdG9vIGNvbXBsZXggdG8gdW5kZXJzdGFu + ZOKAiuKAlOKAinBhcnRpY3VsYXJseSB3aGVuIHdlIGJyZWFrIHRoZSBkaWZm + ZXJlbnQgcGFydHMgb2YgYSBjb21wbGllciBkb3duIGludG8gYml0ZS1zaXpl + ZCBwYXJ0cy48L3A+PHA+QnV0IGZpcnN0LCBsZXTigJlzIHN0YXJ0IHdpdGgg + dGhlIHNpbXBsZXN0IGRlZmluaXRpb24gcG9zc2libGUuIEEgPHN0cm9uZz48 + ZW0+Y29tcGlsZXI8L2VtPjwvc3Ryb25nPiBpcyBhIHByb2dyYW0gdGhhdCBy + ZWFkcyBvdXIgY29kZSAob3IgYW55IGNvZGUsIGluIGFueSBwcm9ncmFtbWlu + ZyBsYW5ndWFnZSksIGFuZCB0cmFuc2xhdGVzIGl0IGludG8gYW5vdGhlciBs + YW5ndWFnZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpxMHZUOUo2eWxt + SWUydC1Jdm5XZHR3LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGNvbXBpbGVy + OiBhIGRlZmluaXRpb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkdlbmVy + YWxseSBzcGVha2luZywgYSBjb21waWxlciBpcyByZWFsbHkgb25seSBldmVy + IGdvaW5nIHRvIHRyYW5zbGF0ZSBjb2RlIGZyb20gYSBoaWdoLWxldmVsIGxh + bmd1YWdlIGludG8gYSBsb3dlciBsZXZlbCBsYW5ndWFnZS4gVGhlIGxvd2Vy + IGxldmVsIGxhbmd1YWdlcyB0aGF0IGEgY29tcGlsZXIgdHJhbnNsYXRlcyBj + b2RlIGludG8gaXMgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYXNzZW1ibHkgY29k + ZSwgbWFjaGluZSBjb2RlLCBvciBvYmplY3QgY29kZS4gSXTigJlzIHdvcnRo + IG1lbnRpb25pbmcgdGhhdCBtb3N0IHByb2dyYW1tZXJzIGFyZW7igJl0IHJl + YWxseSBkZWFsaW5nIHdpdGggb3Igd3JpdGluZyBhbnkgbWFjaGluZSBjb2Rl + OyByYXRoZXIsIHdlIGRlcGVuZCBvbiB0aGUgY29tcGlsZXIgdG8gdGFrZSBv + dXIgcHJvZ3JhbXMgYW5kIHRyYW5zbGF0ZSB0aGVtIGludG8gbWFjaGluZSBj + b2RlLCB3aGljaCBpcyB3aGF0IG91ciBjb21wdXRlciB3aWxsIHJ1biBhcyBh + biBleGVjdXRhYmxlIHByb2dyYW0uPC9wPjxwPldlIGNhbiB0aGluayBvZiBj + b21waWxlcnMgYXMgdGhlIG1pZGRsZW1hbiBiZXR3ZWVuIHVzLCB0aGUgcHJv + Z3JhbW1lcnMsIGFuZCBvdXIgY29tcHV0ZXJzLCB3aGljaCBjYW4gb25seSBy + dW4gZXhlY3V0YWJsZSBwcm9ncmFtcyBpbiBsb3dlciBsZXZlbCBsYW5ndWFn + ZXMuPC9wPjxibG9ja3F1b3RlPlRoZSBjb21waWxlciBkb2VzIHRoZSB3b3Jr + IG9mIHRyYW5zbGF0aW5nIHdoYXQgd2Ugd2FudCB0byBoYXBwZW4gaW4gYSB3 + YXkgdGhhdCBpcyB1bmRlcnN0YW5kYWJsZSBhbmQgZXhlY3V0YWJsZSBieSBv + dXIgbWFjaGluZXMuPC9ibG9ja3F1b3RlPjxwPldpdGhvdXQgdGhlIGNvbXBp + bGVyLCB3ZeKAmWQgYmUgZm9yY2VkIHRvIGNvbW11bmljYXRlIHdpdGggb3Vy + IGNvbXB1dGVycyBieSB3cml0aW5nIG1hY2hpbmUgY29kZSwgd2hpY2ggaXMg + aW5jcmVkaWJseSB1bnJlYWRhYmxlIGFuZCBoYXJkIHRvIGRlY2lwaGVyLiBN + YWNoaW5lIGNvZGUgY2FuIG9mdGVuIGp1c3QgbG9vayBsaWtlIGEgYnVuY2gg + b2YgMOKAmXMgYW5kIDHigJlzIHRvIHRoZSBodW1hbiBleWXigIrigJTigIpp + dOKAmXMgYWxsIGJpbmFyeSwgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2Vjcy9iaXRzLWJ5dGVzLWJ1aWxkaW5nLXdpdGgtYmluYXJ5LTEzY2I0 + Mjg5YWFmYSI+cmVtZW1iZXI8L2E+P+KAiuKAlOKAindoaWNoIG1ha2VzIGl0 + IHN1cGVyIGhhcmQgdG8gcmVhZCwgd3JpdGUsIGFuZCBkZWJ1Zy4gVGhlIGNv + bXBpbGVyIGFic3RyYWN0ZWQgYXdheSBtYWNoaW5lIGNvZGUgZm9yIHVzIGFz + IHByb2dyYW1tZXJzLCBiZWNhdXNlIGl0IG1hZGUgaXQgdmVyeSBlYXN5IGZv + ciB1cyB0byBub3QgdGhpbmsgYWJvdXQgbWFjaGluZSBjb2RlIGFuZCB3cml0 + ZSBwcm9ncmFtcyB1c2luZyBmYXIgbW9yZSBlbGVnYW50LCBjbGVhciwgYW5k + IGVhc3ktdG8tcmVhZCBsYW5ndWFnZXMuPC9wPjxwPldl4oCZbGwgY29udGlu + dWUgdG8gdW5wYWNrIG1vcmUgYW5kIG1vcmUgYWJvdXQgdGhlIG15c3Rlcmlv + dXMgY29tcGlsZXIgb3ZlciB0aGUgbmV4dCBmZXcgd2Vla3MsIHdoaWNoIHdp + bGwgaG9wZWZ1bGx5IG1ha2UgaXQgbGVzcyBvZiBhbiBlbmlnbWEgaW4gdGhl + IHByb2Nlc3MuIEJ1dCBmb3Igbm93LCBsZXTigJlzIGdldCBiYWNrIHRvIHRo + ZSBxdWVzdGlvbiBhdCBoYW5kOiB3aGF0IGFyZSB0aGUgc2ltcGxlc3QgcG9z + c2libGUgcGFydHMgb2YgYSBjb21waWxlcj88L3A+PHA+RWFjaCBjb21waWxl + ciwgbm8gbWF0dGVyIGhvdyBpdCBtaWdodCBiZSBkZXNpZ25lZCwgaGFzIGRp + c3RpbmN0IHBoYXNlcy4gVGhlc2UgcGhhc2VzIGFyZSBob3cgd2UgY2FuIGRp + c3Rpbmd1aXNoIHRoZSB1bmlxdWUgcGFydHMgb2YgdGhlIGNvbXBpbGVyLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkFJdlZSeHBxMk9JdkUtbF94UC02 + NFEuanBlZyIgLz48ZmlnY2FwdGlvbj5TeW50YXggYW5hbHlzaXM6IHBoYXNl + IG9uZSBvZiBhwqBjb21waWxlcjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5X + ZeKAmXZlIGFscmVhZHkgZW5jb3VudGVyZWQgb25lIG9mIHRoZSBwaGFzZXMg + aW4gb3VyIGNvbXBpbGF0aW9uIGFkdmVudHVyZXMgd2hlbiB3ZSByZWNlbnRs + eSBsZWFybmVkIGFib3V0IDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9i + YXNlY3MvZ3JhbW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJz + ZS10cmVlcy1lYzlkYWVkYTdkYWQiPnRoZSBwYXJzZXIgYW5kIHBhcnNlIHRy + ZWVzPC9hPi4gV2Uga25vdyB0aGF0IDxlbT5wYXJzaW5nPC9lbT4gaXMgdGhl + IHByb2Nlc3Mgb2YgdGFraW5nIHNvbWUgaW5wdXQgYW5kIGJ1aWxkaW5nIGEg + PGVtPnBhcnNlIHRyZWU8L2VtPiBvdXQgb2YgaXQsIHdoaWNoIGlzIHNvbWV0 + aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgYWN0IG9mIDxzdHJvbmc+PGVtPnBh + cnNpbmc8L2VtPjwvc3Ryb25nPi4gQXMgaXQgdHVybnMgb3V0LCB0aGUgd29y + ayBvZiBwYXJzaW5nIGlzIHNwZWNpZmljIHRvIGEgcGhhc2UgaW4gdGhlIGNv + bXBpbGF0aW9uIHByb2Nlc3MgY2FsbGVkIDxzdHJvbmc+PGVtPnN5bnRheCBh + bmFseXNpczwvZW0+PC9zdHJvbmc+LjwvcD48cD5Ib3dldmVyLCB0aGUgcGFy + c2VyIGRvZXNu4oCZdCBqdXN0IGJ1aWxkIGEgcGFyc2UgdHJlZSBvdXQgb2Yg + dGhpbiBhaXIuIEl0IGhhcyBzb21lIGhlbHAhIFdl4oCZbGwgcmVjYWxsIHRo + YXQgdGhlIHBhcnNlciBpcyBnaXZlbiBzb21lIDxlbT50b2tlbnM8L2VtPiAo + YWxzbyBjYWxsZWQgPGVtPnRlcm1pbmFsczwvZW0+KSwgYW5kIGl0IGJ1aWxk + cyBhIHBhcnNlIHRyZWUgZnJvbSB0aG9zZSB0b2tlbnMuIEJ1dCB3aGVyZSBk + b2VzIGl0IGdldCB0aG9zZSB0b2tlbnMgZnJvbT8gTHVja3kgZm9yIHRoZSBw + YXJzZXIsIGl0IGRvZXNu4oCZdCBoYXZlIHRvIG9wZXJhdGUgaW4gYSB2YWN1 + dW07IGluc3RlYWQsIGl0IGhhcyBzb21lwqBoZWxwLjwvcD48cD5UaGlzIGJy + aW5ncyB1cyB0byBhbm90aGVyIHBoYXNlIG9mIHRoZSBjb21waWxhdGlvbiBw + cm9jZXNzLCBvbmUgdGhhdCBjb21lcyBiZWZvcmUgdGhlIHN5bnRheCBhbmFs + eXNpcyBwaGFzZTogPHN0cm9uZz48ZW0+dGhlIGxleGljYWwgYW5hbHlzaXPC + oHBoYXNlPC9lbT48L3N0cm9uZz4uPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqTTRBYWpvdDFyaEVaMmF5UWVpbnF3dy5qcGVnIiAvPjxmaWdjYXB0aW9u + PlRoZSBpbml0aWFsIHBoYXNlcyBvZiBhwqBjb21waWxlcjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgdGVybSA8ZW0+4oCcbGV4aWNhbOKAnTwvZW0+ + IHJlZmVycyB0byB0aGUgbWVhbmluZyBvZiBhIHdvcmQgaW4gaXNvbGF0aW9u + IGZyb20gdGhlIHNlbnRlbmNlIGNvbnRhaW5pbmcgaXQsIGFuZCByZWdhcmRs + ZXNzIG9mIGl0cyBncmFtbWF0aWNhbCBjb250ZXh0LiBJZiB3ZSB0cnkgdG8g + Z3Vlc3Mgb3VyIG93biBtZWFuaW5nIGJhc2VkIHNvbGVseSB1cG9uIHRoaXMg + ZGVmaW5pdGlvbiwgd2UgY291bGQgcG9zaXQgdGhhdCB0aGUgbGV4aWNhbCBh + bmFseXNpcyBwaGFzZSBoYXMgdG8gZG8gd2l0aCB0aGUgaW5kaXZpZHVhbCB3 + b3Jkcy90ZXJtcyBpbiB0aGUgcHJvZ3JhbSB0aGVtc2VsdmVzLCBhbmQgbm90 + aGluZyB0byBkbyB3aXRoIHRoZSBncmFtbWFyIG9yIHRoZSBtZWFuaW5nIG9m + IHRoZSBzZW50ZW5jZSB0aGF0IGNvbnRhaW5zIHRoZcKgd29yZHMuPC9wPjxi + bG9ja3F1b3RlPlRoZSBsZXhpY2FsIGFuYWx5c2lzIHBoYXNlIGlzIHRoZSBm + aXJzdCBzdGVwIGluIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzLiBJdCBkb2Vz + buKAmXQga25vdyBvciBjYXJlIGFib3V0IHRoZSBncmFtbWFyIG9mIGEgc2Vu + dGVuY2Ugb3IgdGhlIG1lYW5pbmcgb2YgYSB0ZXh0IG9yIHByb2dyYW07IGFs + bCBpdCBrbm93cyBhYm91dCBhcmUgdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmRz + IHRoZW1zZWx2ZXMuPC9ibG9ja3F1b3RlPjxwPkxleGljYWwgYW5hbHlzaXMg + bXVzdCBvY2N1ciBiZWZvcmUgYW55IGNvZGUgZnJvbSBhIHNvdXJjZSBwcm9n + cmFtIGNhbiBiZSBwYXJzZWQuIEJlZm9yZSBpdCBjYW4gYmUgcmVhZCBieSB0 + aGUgcGFyc2VyLCBhIHByb2dyYW0gbXVzdCBmaXJzdCBiZSBzY2FubmVkLCBz + cGxpdCB1cCwgYW5kIGdyb3VwZWQgdG9nZXRoZXIgaW4gY2VydGFpbsKgd2F5 + cy48L3A+PHA+V2hlbiB3ZSBzdGFydGVkIGxvb2tpbmcgYXQgdGhlIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZ3JhbW1hdGljYWxseS1y + b290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10cmVlcy1lYzlkYWVkYTdkYWQi + PnN5bnRheCBhbmFseXNpcyBwaGFzZTwvYT4gbGFzdCB3ZWVrLCB3ZSBsZWFy + bmVkIHRoYXQgdGhlIHBhcnNlIHRyZWUgaXMgYnVpbHQgYnkgbG9va2luZyBh + dCBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZSBzZW50ZW5jZSBhbmQgYnJlYWtp + bmcgZG93biBleHByZXNzaW9ucyBpbnRvIHNpbXBsZXIgcGFydHMuIEJ1dCBk + dXJpbmcgdGhlIGxleGljYWwgYW5hbHlzaXMgcGhhc2UsIHRoZSBjb21waWxl + ciBkb2VzbuKAmXQga25vdyBvciBoYXZlIGFjY2VzcyB0byB0aGVzZSDigJxp + bmRpdmlkdWFsIHBhcnRz4oCdLiBSYXRoZXIsIGl0IGhhcyB0byBmaXJzdCBp + ZGVudGlmeSBhbmQgZmluZCB0aGVtLCBhbmQgdGhlbiBkbyB0aGUgd29yayBv + ZiBzcGxpdHRpbmcgYXBhcnQgdGhlIHRleHQgaW50byBpbmRpdmlkdWFsIHBp + ZWNlcy48L3A+PHA+Rm9yIGV4YW1wbGUsIHdoZW4gd2UgcmVhZCBhIHNlbnRl + bmNlIGZyb20gU2hha2VzcGVhcmUgbGlrZSBUbyBzbGVlcCwgcGVyY2hhbmNl + IHRvIGRyZWFtLiwgd2Uga25vdyB0aGF0IHRoZSBzcGFjZXMgYW5kIHRoZSBw + dW5jdHVhdGlvbiBhcmUgZGl2aWRpbmcgdXAgdGhlIOKAnHdvcmRz4oCdIG9m + IGEgc2VudGVuY2UuIFRoaXMgaXMsIG9mIGNvdXJzZSwgYmVjYXVzZSB3ZeKA + mXZlIGJlZW4gdHJhaW5lZCB0byByZWFkIGEgc2VudGVuY2UsIOKAnGxleOKA + nSBpdCwgYW5kIHBhcnNlIGl0IGZvcsKgZ3JhbW1hci48L3A+PHA+QnV0LCB0 + byBhIGNvbXBpbGVyLCB0aGF0IHNhbWUgc2VudGVuY2UgbWlnaHQgbG9vayBs + aWtlIHRoaXMgdGhlIGZpcnN0IHRpbWUgdGhhdCBpdCByZWFkcyBpdDogVG9z + bGVlcHBlcmhhY2hhbmNldG9kcmVhbS4gV2hlbiB3ZSByZWFkIDxlbT50aGlz + PC9lbT4gc2VudGVuY2UsIGl04oCZcyBhIGxpdHRsZSBoYXJkZXIgZm9yIHVz + IHRvIGRldGVybWluZSB3aGF0IHRoZSBhY3R1YWwg4oCcd29yZHPigJ0gYXJl + ISBJ4oCZbSBzdXJlIG91ciBjb21waWxlciBmZWVscyB0aGUgc2FtZcKgd2F5 + LjwvcD48cD5TbywgaG93IGRvZXMgb3VyIG1hY2hpbmUgZGVhbCB3aXRoIHRo + aXMgcHJvYmxlbT8gV2VsbCwgZHVyaW5nIHRoZSBsZXhpY2FsIGFuYWx5c2lz + IHBoYXNlIG9mIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzLCBpdCBhbHdheXMg + ZG9lcyB0d28gaW1wb3J0YW50IHRoaW5nczogaXQgPHN0cm9uZz48ZW0+c2Nh + bnM8L2VtPjwvc3Ryb25nPiB0aGUgY29kZSwgYW5kIHRoZW4gaXQgPHN0cm9u + Zz48ZW0+ZXZhbHVhdGVzPC9lbT48L3N0cm9uZz4gaXQuPC9wPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqM3VMc3A2b2ZXMHliNXFXOXhLR2xZUS5qcGVnIiAv + PjxmaWdjYXB0aW9uPlRoZSB0d28gc3RlcHMgb2YgdGhlIGxleGljYWwgYW5h + bHlzaXPCoHByb2Nlc3MhPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoZSB3 + b3JrIG9mIHNjYW5uaW5nIGFuZCBldmFsdWF0aW5nIGNhbiBzb21ldGltZXMg + YmUgbHVtcGVkIHRvZ2V0aGVyIGludG8gb25lIHNpbmdsZSBwcm9ncmFtLCBv + ciBpdCBjb3VsZCBiZSB0d28gc2VwYXJhdGUgcHJvZ3JhbXMgdGhhdCBkZXBl + bmQgb24gb25lIGFub3RoZXI7IGl04oCZcyByZWFsbHkganVzdCBhIHF1ZXN0 + aW9uIG9mIGhvdyBhbnkgb25lIGNvbXBsaWVyIGhhcHBlbmVkIHRvIGJlIGRl + c2lnbmVkLiBUaGUgcHJvZ3JhbSB3aXRoaW4gdGhlIGNvbXBpbGVyIHdoaWNo + IGlzIHJlc3BvbnNpYmxlIGZvciBkb2luZyB0aGUgd29yayBvZiBzY2Fubmlu + ZyBhbmQgZXZhbHVhdGluZyBpcyBvZnRlbiByZWZlcnJlZCB0byBhcyB0aGUg + PHN0cm9uZz48ZW0+bGV4ZXI8L2VtPjwvc3Ryb25nPiBvciB0aGUgPHN0cm9u + Zz48ZW0+dG9rZW5pemVyPC9lbT48L3N0cm9uZz4sIGFuZCB0aGUgZW50aXJl + IGxleGljYWwgYW5hbHlzaXMgcGhhc2UgaXMgc29tZXRpbWVzIGNhbGxlZCB0 + aGUgcHJvY2VzcyBvZiA8c3Ryb25nPjxlbT5sZXhpbmc8L2VtPjwvc3Ryb25n + PiBvciA8c3Ryb25nPjxlbT50b2tlbml6aW5nPC9lbT48L3N0cm9uZz4uPC9w + PjxoMz5UbyBzY2FuLCBwZXJjaGFuY2UgdG/CoHJlYWQ8L2gzPjxwPlRoZSBm + aXJzdCBvZiB0aGUgdHdvIGNvcmUgc3RlcHMgaW4gbGV4aWNhbCBhbmFseXNp + cyBpcyA8c3Ryb25nPjxlbT5zY2FubmluZzwvZW0+PC9zdHJvbmc+LiBXZSBj + YW4gdGhpbmsgb2Ygc2Nhbm5pbmcgYXMgdGhlIHdvcmsgb2YgYWN0dWFsbHkg + 4oCccmVhZGluZ+KAnSBzb21lIGlucHV0IHRleHQuIFJlbWVtYmVyIHRoYXQg + dGhpcyBpbnB1dCB0ZXh0IGNvdWxkIGJlIGEgc3RyaW5nLCBzZW50ZW5jZSwg + ZXhwcmVzc2lvbiwgb3IgZXZlbiBhbiBlbnRpcmUgcHJvZ3JhbSEgSXQgZG9l + c27igJl0IHJlYWxseSBtYXR0ZXIsIGJlY2F1c2UsIGluIHRoaXMgcGhhc2Ug + b2YgdGhlIHByb2Nlc3MsIGl04oCZcyBqdXN0IGEgZ2lhbnQgYmxvYiBvZiBj + aGFyYWN0ZXJzIHRoYXQgZG9lc27igJl0IG1lYW4gYW55dGhpbmcganVzdCB5 + ZXQsIGFuZCBpcyBvbmUgY29udGlndW91cyBjaHVuay48L3A+PHA+TGV04oCZ + cyBsb29rIGF0IGFuIGV4YW1wbGUgdG8gc2VlIGhvdyBleGFjdGx5IHRoaXMg + aGFwcGVucy4gV2XigJlsbCB1c2Ugb3VyIG9yaWdpbmFsIHNlbnRlbmNlLCBU + byBzbGVlcCwgcGVyY2hhbmNlIHRvIGRyZWFtLiwgd2hpY2ggaXMgb3VyIDxz + dHJvbmc+PGVtPnNvdXJjZSB0ZXh0PC9lbT48L3N0cm9uZz4gb3IgPHN0cm9u + Zz48ZW0+c291cmNlIGNvZGU8L2VtPjwvc3Ryb25nPi4gVG8gb3VyIGNvbXBp + bGVyLCB0aGlzIHNvdXJjZSB0ZXh0IHdpbGwgYmUgcmVhZCBhcyBpbnB1dCB0 + ZXh0IHRoYXQgbG9va3MgbGlrZSBUb3NsZWVwLHBlcmNoYW5jZXRvZHJlYW0u + LCB3aGljaCBpcyBqdXN0IGEgc3RyaW5nIG9mIGNoYXJhY3RlcnMgdGhhdCBo + YXMgeWV0IHRvIGJlIGRlY2lwaGVyZWQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9 + IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8x + MDI0LzEqNUZxemFzbTktNlBMRTl0eTU0NWs3US5qcGVnIiAvPjxmaWdjYXB0 + aW9uPlRoZSBzY2FubmluZyBwcm9jZXNzLCBzdGVwwqAxLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgZmlyc3QgdGhpbmcgb3VyIGNvbXBpbGVyIGhh + cyB0byBkbyBpcyBhY3R1YWxseSBkaXZpZGUgdXAgdGhhdCBibG9iIG9mIHRl + eHQgaW50byBpdHMgc21hbGxlc3QgcG9zc2libGUgcGllY2VzLCB3aGljaCB3 + aWxsIG1ha2UgaXQgbXVjaCBlYXNpZXIgdG8gaWRlbnRpZnkgd2hlcmUgdGhl + IHdvcmRzIGluIHRoZSBibG9iIG9mIHRleHQgYWN0dWFsbHnCoGFyZS48L3A+ + PGJsb2NrcXVvdGU+VGhlIHNpbXBsZXN0IHdheSBvZiBkaXZpbmcgdXAgYSBn + aWFudCBjaHVuayBvZiB0ZXh0IGlzIGJ5IHJlYWRpbmcgaXQgc2xvd2x5IGFu + ZCBzeXN0ZW1hdGljYWxseSwgb25lIGNoYXJhY3RlciBhdCBhIHRpbWUuIEFu + ZCB0aGlzIGlzIGV4YWN0bHkgd2hhdCB0aGUgY29tcGlsZXLCoGRvZXMuPC9i + bG9ja3F1b3RlPjxwPk9mdGVudGltZXMsIHRoZSBzY2FubmluZyBwcm9jZXNz + IGlzIGhhbmRsZWQgYnkgYSBzZXBhcmF0ZSBwcm9ncmFtIGNhbGxlZCB0aGUg + PHN0cm9uZz48ZW0+c2Nhbm5lcjwvZW0+PC9zdHJvbmc+LCB3aG9zZSBzb2xl + IGpvYiBpdCBpcyB0byBkbyB0aGUgd29yayBvZiByZWFkaW5nIGEgc291cmNl + IGZpbGUvdGV4dCwgb25lIGNoYXJhY3RlciBhdCBhIHRpbWUuIFRvIG91ciBz + Y2FubmVyLCBpdCBkb2VzbuKAmXQgcmVhbGx5IG1hdHRlciBob3cgYmlnIG91 + ciB0ZXh0IGlzOyBhbGwgaXQgd2lsbCBzZWUgd2hlbiBpdCDigJxyZWFkc+KA + nSBvdXIgZmlsZSBpcyBvbmUgY2hhcmFjdGVyIGF0IGHCoHRpbWUuPC9wPjxw + PkhlcmXigJlzIHdoYXQgb3VyIFNoYWtlc3BlYXJlYW4gc2VudGVuY2Ugd291 + bGQgYmUgcmVhZCBhcyBieSBvdXLCoHNjYW5uZXI6PC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqM1pTTkJSWUFmdDVteXcxS1Jud3I2US5qcGVnIiAvPjxm + aWdjYXB0aW9uPlRoZSBzY2FubmluZyBwcm9jZXNzLCBzdGVwwqAyLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5XZeKAmWxsIG5vdGljZSB0aGF0IFRvIHNs + ZWVwLCBwZXJjaGFuY2UgdG8gZHJlYW0uIGhhcyBiZWVuIHNwbGl0IGludG8g + aW5kaXZpZHVhbCBjaGFyYWN0ZXJzIGJ5IG91ciBzY2FubmVyLiBGdXJ0aGVy + bW9yZSwgZXZlbiB0aGUgc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzIGFyZSBi + ZWluZyB0cmVhdGVkIGFzIGNoYXJhY3RlcnMsIGFzIGlzIHRoZSBwdW5jdHVh + dGlvbiBpbiBvdXIgc2VudGVuY2UuIFRoZXJl4oCZcyBhbHNvIGEgY2hhcmFj + dGVyIGF0IHRoZSBlbmQgb2YgdGhpcyBzZXF1ZW5jZSB0aGF0IGlzIHBhcnRp + Y3VsYXJseSBpbnRlcmVzdGluZzogZW9mLiBUaGlzIGlzIHRoZSBjaGFyYWN0 + ZXIg4oCcZW5kIG9mIGZpbGXigJ0sIGFuZCBpdOKAmXMgc2ltaWxhciB0byB0 + YWIsIHNwYWNlLCBhbmQgbmV3bGluZS4gU2luY2Ugb3VyIHNvdXJjZSB0ZXh0 + IGlzIGp1c3Qgb25lIHNpbmdsZSBzZW50ZW5jZSwgd2hlbiBvdXIgc2Nhbm5l + ciBnZXRzIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgKGluIHRoaXMgY2FzZSwg + dGhlIGVuZCBvZiB0aGUgc2VudGVuY2UpLCBpdCByZWFkcyB0aGUgZW5kIG9m + IGZpbGUgYW5kIHRyZWF0cyBpdCBhcyBhIGNoYXJhY3Rlci48L3A+PHA+U28s + IGluIGFjdHVhbGl0eSwgd2hlbiBvdXIgc2Nhbm5lciByZWFkIG91ciBpbnB1 + dCB0ZXh0LCBpdCBpbnRlcnByZXRlZCBpdCBhcyBpbmRpdmlkdWFsIGNoYXJh + Y3RlcnMgd2hpY2ggcmVzdWx0ZWQgaW4gdGhpczogWyZxdW90O1QmcXVvdDss + ICZxdW90O28mcXVvdDssIHNwYWNlLCAmcXVvdDtzJnF1b3Q7LCAmcXVvdDts + JnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDtw + JnF1b3Q7LCAmcXVvdDssJnF1b3Q7LCBzcGFjZSwgJnF1b3Q7cCZxdW90Oywg + JnF1b3Q7ZSZxdW90OywgJnF1b3Q7ciZxdW90OywgJnF1b3Q7YyZxdW90Oywg + JnF1b3Q7aCZxdW90OywgJnF1b3Q7YSZxdW90OywgJnF1b3Q7biZxdW90Oywg + JnF1b3Q7YyZxdW90OywgJnF1b3Q7ZSZxdW90Oywgc3BhY2UsICZxdW90O3Qm + cXVvdDssICZxdW90O28mcXVvdDssIHNwYWNlLCAmcXVvdDtkJnF1b3Q7LCAm + cXVvdDtyJnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDthJnF1b3Q7LCAm + cXVvdDttJnF1b3Q7LCAmcXVvdDsuJnF1b3Q7LMKgZW9mXS48L3A+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSo1UExFazRQdHZ6SElybWJweHNRaUFnLmpwZWci + IC8+PGZpZ2NhcHRpb24+VGhlIHNjYW5uaW5nIHByb2Nlc3MsIHN0ZXDCoDMu + PC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5vdyB0aGF0IG91ciBzY2FubmVy + IGhhcyByZWFkIGFuZCBzcGxpdCB1cCBvdXIgc291cmNlIHRleHQgaW50byBp + dHMgc21hbGxlc3QgcG9zc2libGUgcGFydHMsIGl0IHdpbGwgaGF2ZSBhIG11 + Y2ggZWFzaWVyIHRpbWUgb2YgZmlndXJpbmcgb3V0IHRoZSDigJx3b3Jkc+KA + nSBpbiBvdXIgc2VudGVuY2UuPC9wPjxwPk5leHQsIHRoZSBzY2FubmVyIG5l + ZWRzIHRvIGxvb2sgYXQgaXRzIHNwbGl0IHVwIGNoYXJhY3RlcnMgaW4gb3Jk + ZXIsIGFuZCBkZXRlcm1pbmUgd2hpY2ggY2hhcmFjdGVycyBhcmUgcGFydHMg + b2YgYSB3b3JkLCBhbmQgd2hpY2ggb25lcyBhcmUgbm90LiBGb3IgZWFjaCBj + aGFyYWN0ZXIgdGhhdCB0aGUgc2Nhbm5lciByZWFkcywgaXQgbWFya3MgdGhl + IGxpbmUgYW5kIHRoZSBwb3NpdGlvbiBvZiB3aGVyZSB0aGF0IGNoYXJhY3Rl + ciB3YXMgZm91bmQgaW4gdGhlIHNvdXJjZcKgdGV4dC48L3A+PHA+VGhlIGlt + YWdlIHNob3duIGhlcmUgaWxsdXN0cmF0ZXMgdGhpcyBwcm9jZXNzIGZvciBv + dXIgU2hha2VzcGVhcmVhbiBzZW50ZW5jZS4gV2UgY2FuIHNlZSB0aGF0IG91 + ciBzY2FubmVyIGlzIG1hcmtpbmcgdGhlIGxpbmUgYW5kIHRoZSBjb2x1bW4g + Zm9yIGVhY2ggY2hhcmFjdGVyIGluIG91ciBzZW50ZW5jZS4gV2UgY2FuIHRo + aW5rIG9mIHRoZSBsaW5lIGFuZCBjb2x1bW4gcmVwcmVzZW50YXRpb24gYXMg + YSBtYXRyaXggb3IgYXJyYXkgb2YgY2hhcmFjdGVycy48L3A+PHA+UmVjYWxs + IHRoYXQsIHNpbmNlIG91ciBmaWxlIGhhcyBvbmx5IG9uZSBzaW5nbGUgbGlu + ZSBpbiBpdCwgZXZlcnl0aGluZyBsaXZlcyBhdCBsaW5lIDAuIEhvd2V2ZXIs + IGFzIHdlIHdvcmsgb3VyIHdheSB0aHJvdWdoIHRoZSBzZW50ZW5jZSwgdGhl + IGNvbHVtbiBvZiBlYWNoIGNoYXJhY3RlciBpbmNyZW1lbnRzLiBJdOKAmXMg + YWxzbyB3b3J0aCBtZW50aW9uaW5nIHRoYXQsIHNpbmNlIG91ciBzY2FubmVy + IHJlYWRzIHNwYWNlcywgbmV3bGluZXMsIGVvZiwgYW5kIGFsbCBwdW5jdHVh + dGlvbiBhcyBjaGFyYWN0ZXJzLCB0aG9zZSBhcHBlYXIgaW4gb3VyIGNoYXJh + Y3RlciB0YWJsZSzCoHRvbyE8L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9 + Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpG + Y1hiTDM3SkNtTVFVMjJIalp1RmlRLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhl + IHNjYW5uaW5nIHByb2Nlc3MsIHN0ZXDCoDQuPC9maWdjYXB0aW9uPjwvZmln + dXJlPjxwPk9uY2UgdGhlIHNvdXJjZSB0ZXh0IGhhcyBiZWVuIHNjYW5uZWQg + YW5kIG1hcmtlZCwgb3VyIGNvbXBpbGVyIGlzIHJlYWR5IHRvIHR1cm4gdGhl + c2UgY2hhcmFjdGVycyBpbnRvIHdvcmRzLiBTaW5jZSB0aGUgc2Nhbm5lciBr + bm93cyBub3QganVzdCB3aGVyZSB0aGUgc3BhY2VzLCBuZXdsaW5lcywgYW5k + IGVvZiBpbiB0aGUgZmlsZSBhcmUsIGJ1dCBhbHNvIHdoZXJlIHRoZXkgbGl2 + ZSBpbiByZWxhdGlvbiB0byB0aGUgb3RoZXIgY2hhcmFjdGVycyBzdXJyb3Vu + ZGluZyB0aGVtLCBpdCBjYW4gc2NhbiB0aHJvdWdoIHRoZSBjaGFyYWN0ZXJz + LCBhbmQgZGl2aWRlIHRoZSB0aGVtIGludG8gaW5kaXZpZHVhbCBzdHJpbmdz + IGFzIG5lY2Vzc2FyeS48L3A+PHA+SW4gb3VyIGV4YW1wbGUsIHRoZSBzY2Fu + bmVyIHdpbGwgbG9vayBhdCB0aGUgY2hhcmFjdGVycyBULCB0aGVuIG8sIGFu + ZCB0aGVuIGEgc3BhY2UuIFdoZW4gaXQgZmluZHMgYSBzcGFjZSwgaXQgd2ls + bCBkaXZpZGUgVG8gaW50byBpdHMgb3duIHdvcmTigIrigJTigIp0aGUgc2lt + cGxlc3QgY29tYmluYXRpb24gb2YgY2hhcmFjdGVycyBwb3NzaWJsZSBiZWZv + cmUgdGhlIHNjYW5uZXIgZW5jb3VudGVycyBhwqBzcGFjZS48L3A+PHA+SXTi + gJlzIGEgc2ltaWxhciBzdG9yeSBmb3IgdGhlIG5leHQgd29yZCB0aGF0IGl0 + IGZpbmRzLCB3aGljaCBpcyBzbGVlcC4gSG93ZXZlciwgaW4gdGhpcyBzY2Vu + YXJpbywgaXQgcmVhZHMgcy1sLWUtZS1wLCBhbmQgdGhlbiByZWFkcyBhwqAs + LCBhIHB1bmN0dWF0aW9uIG1hcmsuIFNpbmNlIHRoaXMgY29tbWEgaXMgZmxh + bmtlZCBieSBhIGNoYXJhY3RlciAocCkgYW5kIGEgc3BhY2Ugb24gZWl0aGVy + IHNpZGUsIHRoZSBjb21tYSBpcywgaXRzZWxmLCBjb25zaWRlcmVkIHRvIGJl + IGHCoOKAnHdvcmTigJ0uPC9wPjxwPkJvdGggdGhlIHdvcmQgc2xlZXAgYW5k + IHRoZSBwdW5jdHVhdGlvbiBzeW1ib2zCoCwgYXJlIGNhbGxlZCA8c3Ryb25n + PjxlbT5sZXhlbWVzPC9lbT48L3N0cm9uZz4sIHdoaWNoIGFyZSBzdWJzdHJp + bmdzIHRoZSBzb3VyY2UgdGV4dC4gQSBsZXhlbWUgaXMgYSBncm91cGluZyBv + ZiB0aGUgc21hbGxlc3QgcG9zc2libGUgc2VxdWVuY2VzIG9mIGNoYXJhY3Rl + cnMgaW4gb3VyIHNvdXJjZSBjb2RlLiBUaGUgbGV4ZW1lcyBvZiBhIHNvdXJj + ZSBmaWxlIGFyZSBjb25zaWRlcmVkIHRoZSBpbmRpdmlkdWFsIOKAnHdvcmRz + 4oCdIG9mIHRoZSBmaWxlIGl0c2VsZi4gT25jZSBvdXIgc2Nhbm5lciBmaW5p + c2hlcyByZWFkaW5nIHRoZSBzaW5nbGUgY2hhcmFjdGVycyBvZiBvdXIgZmls + ZSwgaXQgd2lsbCByZXR1cm4gYSBzZXQgb2YgbGV4ZW1lcyB0aGF0IGxvb2sg + bGlrZSB0aGlzOiBbJnF1b3Q7VG8mcXVvdDssICZxdW90O3NsZWVwJnF1b3Q7 + LCAmcXVvdDssJnF1b3Q7LCAmcXVvdDtwZXJjaGFuY2UmcXVvdDssICZxdW90 + O3RvJnF1b3Q7LCAmcXVvdDtkcmVhbSZxdW90OyzCoCZxdW90Oy4mcXVvdDtd + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh5SzktRWdtSXJyYmRHR05N + YmdMdXcuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgc2Nhbm5pbmcgcHJvY2Vz + cywgc3RlcMKgNS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Tm90aWNlIGhv + dyBvdXIgc2Nhbm5lciB0b29rIGEgYmxvYiBvZiB0ZXh0IGFzIGl0cyBpbnB1 + dCwgd2hpY2ggaXQgY291bGRu4oCZdCBpbml0aWFsbHkgcmVhZCwgYW5kIHBy + b2NlZWRlZCB0byBzY2FuIGl0IG9uY2UgY2hhcmFjdGVyIGF0IGEgdGltZSwg + c2ltdWx0YW5lb3VzbHkgcmVhZGluZyBhbmQgbWFya2luZyBpdCB0aGUgY29u + dGVudC4gSXQgdGhlbiBwcm9jZWVkZWQgdG8gZGl2aWRlIHRoZSBzdHJpbmcg + aW50byB0aGVpciBzbWFsbGVzdCBwb3NzaWJsZSBsZXhlbWVzIGJ5IHVzaW5n + IHRoZSBzcGFjZXMgYW5kIHB1bmN0dWF0aW9uIGJldHdlZW4gY2hhcmFjdGVy + cyBhcyBkZWxpbWl0ZXJzLjwvcD48cD5Ib3dldmVyLCBkZXNwaXRlIGFsbCBv + ZiB0aGlzIHdvcmssIGF0IHRoaXMgcG9pbnQgaW4gdGhlIGxleGljYWwgYW5h + bHlzaXMgcGhhc2UsIG91ciBzY2FubmVyIGRvZXNu4oCZdCBrbm93IGFueXRo + aW5nIGFib3V0IHRoZXNlIHdvcmRzLiBTdXJlLCBpdCBzcGxpdCB1cCB0aGUg + dGV4dCBpbnRvIHdvcmRzIG9mIGRpZmZlcmVudCBzaGFwZXMgYW5kIHNpemVz + LCBidXQgYXMgZmFyIGFzIHdoYXQgdGhvc2Ugd29yZHMgYXJlIHRoZSBzY2Fu + bmVyIGhhcyBubyBpZGVhISBUaGUgd29yZHMgY291bGQgYmUgYSBsaXRlcmFs + IHN0cmluZywgb3IgdGhleSBjb3VsZCBiZSBhIHB1bmN0dWF0aW9uIG1hcmss + IG9yIHRoZXkgY291bGQgYmUgc29tZXRoaW5nIGVsc2UgZW50aXJlbHkhPC9w + PjxibG9ja3F1b3RlPlRoZSBzY2FubmVyIGRvZXNu4oCZdCBrbm93IGFueXRo + aW5nIGFib3V0IHRoZSB3b3JkcyB0aGVtc2VsdmVzLCBvciB3aGF0IOKAnHR5 + cGXigJ0gb2Ygd29yZCB0aGV5IGFyZS4gSXQganVzdCBrbm93cyB3aGVyZSB0 + aGUgd29yZHMgZW5kIGFuZCBiZWdpbiB3aXRoaW4gdGhlIHRleHTCoGl0c2Vs + Zi48L2Jsb2NrcXVvdGU+PHA+VGhpcyBzZXRzIHVzIHVwIGZvciB0aGUgc2Vj + b25kIHBoYXNlIG9mIGxleGljYWwgYW5hbHlzaXM6IGV2YWx1YXRpb24uIE9u + Y2Ugd2XigJl2ZSBzY2FubmVkIG91ciB0ZXh0IGFuZCBicm9rZW4gdXAgdGhl + IHNvdXJjZSBjb2RlIGludG8gaW5kaXZpZHVhbCBsZXhlbWUgdW5pdHMsIHdl + IG11c3QgZXZhbHVhdGUgdGhlIHdvcmRzIHRoYXQgdGhlIHNjYW5uZXIgcmV0 + dXJuZWQgdG8gdXMgYW5kIGZpZ3VyZSBvdXQgd2hhdCB0eXBlcyBvZiB3b3Jk + cyB3ZeKAmXJlIGRlYWxpbmcgd2l0aOKAiuKAlOKAimluIHBhcnRpY3VsYXIs + IHdlIG11c3QgbG9vayBmb3IgaW1wb3J0YW50IHdvcmRzIHRoYXQgbWVhbiBz + b21ldGhpbmcgc3BlY2lhbCBpbiB0aGUgbGFuZ3VhZ2Ugd2XigJlyZSB0cnlp + bmcgdG/CoGNvbXBpbGUuPC9wPjxoMz5FdmFsdWF0aW5nIHRoZSBpbXBvcnRh + bnQgcGFydHM8L2gzPjxwPk9uY2Ugd2XigJl2ZSBmaW5pc2hlZCBzY2Fubmlu + ZyBvdXIgc291cmNlIHRleHQgYW5kIGlkZW50aWZpZWQgb3VyIGxleGVtZXMs + IHdl4oCZbGwgbmVlZCB0byBkbyBzb21ldGhpbmcgPGVtPndpdGggPC9lbT5v + dXIgbGV4ZW1lIOKAnHdvcmRz4oCdLiBUaGlzIGlzIHRoZSA8c3Ryb25nPjxl + bT5ldmFsdWF0aW9uPC9lbT48L3N0cm9uZz4gc3RlcCBvZiBsZXhpY2FsIGFu + YWx5c2lzLCB3aGljaCBpcyBvZnRlbiByZWZlcnJlZCB0byBpbiBjb21wbGll + ciBkZXNpZ24gYXMgdGhlIHByb2Nlc3Mgb2YgPHN0cm9uZz48ZW0+bGV4aW5n + PC9lbT48L3N0cm9uZz4gb3IgPHN0cm9uZz48ZW0+dG9rZW5pemluZzwvZW0+ + PC9zdHJvbmc+IG91csKgaW5wdXQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqR0JlS1BGbHZXaEFZOGxtdDZFZW5ady5qcGVnIiAvPjxmaWdjYXB0aW9u + PldoYXQgZG9lcyBpdCBtZWFuIHRvIGV2YWx1YXRlIHRoZSBzY2FubmVkwqBj + b2RlPzwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XaGVuIHdlIGV2YWx1YXRl + IG91ciBzY2FubmVkIGNvZGUsIGFsbCB3ZeKAmXJlIHJlYWxseSBkb2luZyBp + cyB0YWtpbmcgYSBjbG9zZXIgbG9vayBhdCBlYWNoIG9mIHRoZSBsZXhlbWVz + IHRoYXQgb3VyIHNjYW5uZXIgZ2VuZXJhdGVkLiBPdXIgY29tcGlsZXIgd2ls + bCBuZWVkIHRvIGxvb2sgYXQgZWFjaCBsZXhlbWUgd29yZCBhbmQgZGVjaWRl + IHdoYXQgPGVtPmtpbmQ8L2VtPiBvZiB3b3JkIGl0IGlzLiBUaGUgcHJvY2Vz + cyBvZiBkZXRlcm1pbmluZyB3aGF0IGtpbmQgb2YgbGV4ZW1lIGVhY2gg4oCc + d29yZOKAnSBpbiBvdXIgdGV4dCBpcyBob3cgb3VyIGNvbXBpbGVyIHR1cm5z + IGVhY2ggaW5kaXZpZHVhbCBsZXhlbWUgaW50byBhIHRva2VuLCB0aGVyZWJ5 + IHRva2VuaXppbmcgb3VyIGlucHV0wqBzdHJpbmcuPC9wPjxwPldlIGZpcnN0 + IGVuY291bnRlcmVkIHRva2VucyBiYWNrIHdoZW4gd2Ugd2VyZSBsZWFybmlu + ZyBhYm91dCBwYXJzZSB0cmVlcy4gVG9rZW5zIGFyZSBzcGVjaWFsIHN5bWJv + bHMgdGhhdCBhcmUgYXQgdGhlIGNydXggb2YgZWFjaCBwcm9ncmFtbWluZyBs + YW5ndWFnZS4gVG9rZW5zLCBzdWNoIGFzICgsICksICssIC0sIGlmLCBlbHNl + LCB0aGVuLCBhbGwgaGVscCBhIGNvbXBpbGVyIHVuZGVyc3RhbmQgaG93IGRp + ZmZlcmVudCBwYXJ0cyBvZiBhbiBleHByZXNzaW9uIGFuZCB2YXJpb3VzIGVs + ZW1lbnRzIHJlbGF0ZSB0byBvbmUgYW5vdGhlci4gVGhlIHBhcnNlciwgd2hp + Y2ggaXMgY2VudHJhbCB0byB0aGUgc3ludGF4IGFuYWx5c2lzIHBoYXNlLCBk + ZXBlbmRzIG9uIHJlY2VpdmluZyB0b2tlbnMgZnJvbSA8ZW0+c29tZXdoZXJl + PC9lbT4gYW5kIHRoZW4gdHVybnMgdGhvc2UgdG9rZW5zIGludG8gYSBwYXJz + ZcKgdHJlZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpCaFh2Z1gtT1hw + VXRTcHNYTzdyalhnLmpwZWciIC8+PGZpZ2NhcHRpb24+VG9rZW5zOiBhIGRl + ZmluaXRpb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPldlbGwsIGd1ZXNz + IHdoYXQ/IFdl4oCZdmUgZmluYWxseSBmaWd1cmVkIG91dCB0aGUg4oCcc29t + ZXdoZXJl4oCdISBBcyBpdCB0dXJucyBvdXQsIHRoZSB0b2tlbnMgdGhhdCBn + ZXQgc2VudCB0byB0aGUgcGFyc2VyIGFyZSBnZW5lcmF0ZWQgaW4gdGhlIGxl + eGljYWwgYW5hbHlzaXMgcGhhc2UgYnkgdGhlIDxzdHJvbmc+PGVtPnRva2Vu + aXplcjwvZW0+PC9zdHJvbmc+LCBhbHNvIGNhbGxlZCB0aGXCoDxzdHJvbmc+ + PGVtPmxleGVyPC9lbT48L3N0cm9uZz4uPC9wPjxmaWd1cmU+PGltZyBhbHQ9 + IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8x + MDI0LzEqUVREcFQ5R2ZYWWJ3blUyX2gwXzNsdy5qcGVnIiAvPjxmaWdjYXB0 + aW9uPlRva2VuaXppbmcgb3VyIFNoYWtlc3BlYXJlYW4gc2VudGVuY2UhPC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPlNvIHdoYXQgZXhhY3RseSBkb2VzIGEg + dG9rZW4gbG9vayBsaWtlPyBBIDxzdHJvbmc+PGVtPnRva2VuPC9lbT48L3N0 + cm9uZz4gaXMgZmFpcmx5IHNpbXBsZSwgYW5kIGlzIHVzdWFsbHkgcmVwcmVz + ZW50ZWQgYXMgYSBwYWlyLCBjb25zaXN0aW5nIG9mIGEgdG9rZW4gbmFtZSwg + YW5kIHNvbWUgdmFsdWUgKHdoaWNoIGlzIG9wdGlvbmFsKS48L3A+PHA+Rm9y + IGV4YW1wbGUsIGlmIHdlIHRva2VuaXplIG91ciBTaGFrZXNwZWFyZWFuIHN0 + cmluZywgd2XigJlkIGVuZCB1cCB3aXRoIHRva2VucyB0aGF0IHdvdWxkIGJl + IG1vc3RseSBzdHJpbmcgbGl0ZXJhbHMgYW5kIHNlcGFyYXRvcnMuIFdlIGNv + dWxkIHJlcHJlc2VudCB0aGUgbGV4ZW1lIOKAnGRyZWFt4oCdIGFzIGEgdG9r + ZW4gbGlrZSBzbzogJmx0O3N0cmluZyBsaXRlcmFsLCAmcXVvdDtkcmVhbSZx + dW90OyZndDsuIEluIGEgc2ltaWxhciB2ZWluLCB3ZSBjb3VsZCByZXByZXNl + bnQgdGhlIGxleGVtZcKgLiBhcyB0aGUgdG9rZW4sICZsdDtzZXBhcmF0b3Is + wqAuJmd0Oy48L3A+PHA+V2XigJlsbCBub3RpY2UgdGhhdCBlYWNoIG9mIHRo + ZXNlIHRva2VucyBhcmVu4oCZdCBtb2RpZnlpbmcgdGhlIGxleGVtZSBhdCBh + bGzigIrigJTigIp0aGV54oCZcmUgc2ltcGx5IGFkZGluZyBhZGRpdGlvbmFs + IGluZm9ybWF0aW9uIHRvIHRoZW0uIEEgdG9rZW4gaXMgbGV4ZW1lIG9yIGxl + eGljYWwgdW5pdCB3aXRoIG1vcmUgZGV0YWlsOyBzcGVjaWZpY2FsbHksIHRo + ZSBhZGRlZCBkZXRhaWwgdGVsbHMgdXMgd2hhdCBjYXRlZ29yeSBvZiB0b2tl + biAod2hhdCB0eXBlIG9mIOKAnHdvcmTigJ0pIHdl4oCZcmUgZGVhbGluZ8Kg + d2l0aC48L3A+PHA+Tm93IHRoYXQgd2XigJl2ZSB0b2tlbml6ZWQgb3VyIFNo + YWtlc3BlYXJlYW4gc2VudGVuY2UsIHdlIGNhbiBzZWUgdGhhdCB0aGVyZeKA + mXMgbm90IGFsbCB0aGF0IG11Y2ggdmFyaWV0eSBpbiB0aGUgdHlwZXMgb2Yg + dG9rZW5zIGluIG91ciBzb3VyY2UgZmlsZS4gT3VyIHNlbnRlbmNlIG9ubHkg + aGFkIHN0cmluZ3MgYW5kIHB1bmN0dWF0aW9uIGluIGl04oCK4oCU4oCKYnV0 + IHRoYXTigJlzIGp1c3QgdGhlIHRpcCBvZiB0aGUgdG9rZW4gaWNlYmVyZyEg + VGhlcmUgYXJlIHBsZW50eSBvZiBvdGhlciB0eXBlcyBvZiDigJx3b3Jkc+KA + nSB0aGF0IGEgbGV4ZW1lIGNvdWxkIGJlIGNhdGVnb3JpemVkIGludG8uPC9w + PjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMt + MS5tZWRpdW0uY29tL21heC8xMDI0LzEqOERSNmYtWjlDelpKRGVMbWpwTk81 + US5qcGVnIiAvPjxmaWdjYXB0aW9uPkNvbW1vbiBmb3JtcyBvZiB0b2tlbnMg + Zm91bmQgd2l0aGluIG91ciBzb3VyY2XCoGNvZGUuPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPlRoZSB0YWJsZSBzaG93biBoZXJlIGlsbHVzdHJhdGVzIHNv + bWUgb2YgdGhlIG1vc3QgY29tbW9uIHRva2VucyB0aGF0IG91ciBjb21waWxl + ciB3b3VsZCBzZWUgd2hlbiByZWFkaW5nIGEgc291cmNlIGZpbGUgaW4gcHJl + dHR5IG11Y2ggYW55IHByb2dyYW1taW5nIGxhbmd1YWdlLiBXZSBzYXcgZXhh + bXBsZXMgb2YgbGl0ZXJhbHMsIHdoaWNoIGNhbiBiZSBhbnkgc3RyaW5nLCBu + dW1iZXIsIG9yIGxvZ2ljL2Jvb2xlYW4gdmFsdWUsIGFzIHdlbGwgYXMgc2Vw + YXJhdG9ycywgd2hpY2ggYXJlIGFueSB0eXBlIG9mIHB1bmN0dWF0aW9uLCBp + bmNsdWRpbmcgYnJhY2VzICh7fSkgYW5kIHBhcmVudGhlc2VzICgoKSkuPC9w + PjxwPkhvd2V2ZXIsIHRoZXJlIGFyZSBhbHNvIGtleXdvcmRzLCB3aGljaCBh + cmUgdGVybXMgdGhhdCBhcmUgcmVzZXJ2ZWQgaW4gdGhlIGxhbmd1YWdlIChz + dWNoIGFzIGlmLCB2YXIsIHdoaWxlLCByZXR1cm4pLCBhcyB3ZWxsIGFzIG9w + ZXJhdG9ycywgd2hpY2ggb3BlcmF0ZSBvbiBhcmd1bWVudHMgYW5kIHJldHVy + biBzb21lIHZhbHVlICggKywgLSwgeCwgLykuIFdlIGNvdWxkIGFsc28gZW5j + b3VudGVyIGxleGVtZXMgdGhhdCBjb3VsZCBiZSB0b2tlbml6ZWQgYXMgaWRl + bnRpZmllcnMsIHdoaWNoIGFyZSB1c3VhbGx5IHZhcmlhYmxlIG5hbWVzIG9y + IHRoaW5ncyB3cml0dGVuIGJ5IHRoZSB1c2VyL3Byb2dyYW1tZXIgdG8gcmVm + ZXJlbmNlIHNvbWV0aGluZyBlbHNlLCBhcyB3ZWxsIGFzIGNvbW1lbnRzLCB3 + aGljaCBjb3VsZCBiZSBsaW5lIG9yIGJsb2NrIGNvbW1lbnRzIHdyaXR0ZW4g + YnkgdGhlwqB1c2VyLjwvcD48cD5PdXIgb3JpZ2luYWwgc2VudGVuY2Ugb25s + eSBzaG93ZWQgdXMgdHdvIGV4YW1wbGVzIG9mIHRva2Vucy4gTGV04oCZcyBy + ZXdyaXRlIG91ciBzZW50ZW5jZSB0byBpbnN0ZWFkIHJlYWQ6IHZhciB0b1Ns + ZWVwID0gJnF1b3Q7dG8gZHJlYW0mcXVvdDs7LiBIb3cgbWlnaHQgb3VyIGNv + bXBpbGVyIGxleCB0aGlzIHZlcnNpb24gb2YgU2hha2VzcGVhcmU/PC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqMDVVekhvTXBZRklES1YtbEhncFRxQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhvdyB3aWxsIG91ciBsZXhlciB0b2tlbml6 + ZSB0aGlzIHNlbnRlbmNlPzwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5IZXJl + LCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgYSBsYXJnZXIgdmFyaWV0eSBv + ZiB0b2tlbnMuIFdlIGhhdmUgYSBrZXl3b3JkIGluIHZhciwgd2hlcmUgd2Xi + gJlyZSBkZWNsYXJpbmcgYSB2YXJpYWJsZSwgYW5kIGFuIGlkZW50aWZpZXIs + IHRvU2xlZXAsIHdoaWNoIGlzIHRoZSB3YXkgdGhhdCB3ZeKAmXJlIG5hbWlu + ZyBvdXIgdmFyaWFibGUsIG9yIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSB0byBj + b21lLiBOZXh0IGlzIG91ciA9LCB3aGljaCBpcyBhbiBvcGVyYXRvciB0b2tl + biwgZm9sbG93ZWQgYnkgdGhlIHN0cmluZyBsaXRlcmFsICZxdW90O3RvIGRy + ZWFtJnF1b3Q7LiBPdXIgc3RhdGVtZW50IGVuZHMgd2l0aCBhwqA7IHNlcGFy + YXRvciwgaW5kaWNhdGluZyB0aGUgZW5kIG9mIGEgbGluZSwgYW5kIGRlbGlt + aXRhdGluZyB3aGl0ZXNwYWNlLjwvcD48cD5BbiBpbXBvcnRhbnQgdGhpbmcg + dG8gbm90ZSBhYm91dCB0aGUgdG9rZW5pemF0aW9uIHByb2Nlc3MgaXMgdGhh + dCB3ZeKAmXJlIG5laXRoZXIgdG9rZW5pemluZyBhbnkgd2hpdGVzcGFjZSAo + c3BhY2VzLCBuZXdsaW5lcywgdGFicywgZW5kIG9mIGxpbmUsIGV0Yy4pLCBu + b3IgcGFzc2luZyBpdCBvbiB0byB0aGUgcGFyc2VyLiBSZW1lbWJlciB0aGF0 + IG9ubHkgdGhlIDxlbT50b2tlbnM8L2VtPiBhcmUgZ2l2ZW4gdG8gdGhlIHBh + cnNlciBhbmQgd2lsbCBlbmQgdXAgaW4gdGhlIHBhcnNlwqB0cmVlLjwvcD48 + cD5JdOKAmXMgYWxzbyB3b3J0aCBtZW50aW9uaW5nIHRoYXQgZGlmZmVyZW50 + IGxhbmd1YWdlcyB3aWxsIGhhdmUgZGlmZmVyZW50IGNoYXJhY3RlcnMgdGhh + dCBjb25zdGl0dXRlIGFzIHdoaXRlc3BhY2UuIEZvciBleGFtcGxlLCBpbiBz + b21lIHNpdHVhdGlvbnMsIHRoZSBQeXRob24gcHJvZ3JhbW1pbmcgbGFuZ3Vh + Z2UgdXNlcyBpbmRlbnRhdGlvbuKAiuKAlOKAimluY2x1ZGluZyB0YWJzIGFu + ZCBzcGFjZXPigIrigJTigIppbiBvcmRlciB0byBpbmRpY2F0ZSBob3cgdGhl + IHNjb3BlIG9mIGEgZnVuY3Rpb24gY2hhbmdlcy4gU28sIHRoZSBQeXRob24g + Y29tcGlsZXLigJlzIHRva2VuaXplciBuZWVkcyB0byBiZSBhd2FyZSBvZiB0 + aGUgZmFjdCB0aGF0LCBpbiBjZXJ0YWluIHNpdHVhdGlvbnMsIGEgdGFiIG9y + IHNwYWNlIGFjdHVhbGx5IGRvZXMgbmVlZCB0byBiZSB0b2tlbml6ZWQgYXMg + YSB3b3JkLCBiZWNhdXNlIGl0IGFjdHVhbGx5IDxlbT5kb2VzPC9lbT4gbmVl + ZCB0byBiZSBwYXNzZWQgdG8gdGhlwqBwYXJzZXIhPC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqR2NTS2czN2xueDJ6NXRMTmZqQmx2Zy5qcGVnIiAvPjxm + aWdjYXB0aW9uPkNvbnN0cmFpbnRzIG9mIHRoZSBsZXhlciB2cyB0aGXCoHNj + YW5uZXIuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoaXMgYXNwZWN0IG9m + IHRoZSB0b2tlbml6ZXIgaXMgYSBnb29kIHdheSBvZiBjb250cmFzdGluZyBo + b3cgYSBsZXhlci90b2tlbml6ZXIgaXMgZGlmZmVyZW50IGZyb20gYSBzY2Fu + bmVyLiBXaGlsZSBhIHNjYW5uZXIgaXMgaWdub3JhbnQsIGFuZCBvbmx5IGtu + b3dzIGhvdyB0byBicmVhayB1cCBhIHRleHQgaW50byBpdHMgc21hbGxlciBw + b3NzaWJsZSBwYXJ0cyAoaXRzIOKAnHdvcmRz4oCdKSwgYSBsZXhlci90b2tl + bml6ZXIgaXMgbXVjaCBtb3JlIGF3YXJlIGFuZCBtb3JlIHByZWNpc2UgaW4g + Y29tcGFyaXNvbi48L3A+PHA+VGhlIHRva2VuaXplciBuZWVkcyB0byBrbm93 + IHRoZSBpbnRyaWNhY2llcyBhbmQgc3BlY2lmaWNhdGlvbnMgb2YgdGhlIGxh + bmd1YWdlIHRoYXQgaXMgYmVpbmcgY29tcGlsZWQuIElmIHRhYnMgYXJlIGlt + cG9ydGFudCwgaXQgbmVlZHMgdG8ga25vdyB0aGF0OyBpZiBuZXdsaW5lcyBj + YW4gaGF2ZSBjZXJ0YWluIG1lYW5pbmdzIGluIHRoZSBsYW5ndWFnZSBiZWlu + ZyBjb21waWxlZCwgdGhlIHRva2VuaXplciBuZWVkcyB0byBiZSBhd2FyZSBv + ZiB0aG9zZSBkZXRhaWxzLiBPbiB0aGUgb3RoZXIgaGFuZCwgdGhlIHNjYW5u + ZXIgZG9lc27igJl0IGV2ZW4ga25vdyB3aGF0IHRoZSB3b3JkcyB0aGF0IGl0 + IGRpdmlkZXMgZXZlbiBhcmUsIG11Y2ggbGVzcyB3aGF0IHRoZXnCoG1lYW4u + PC9wPjxibG9ja3F1b3RlPlRoZSBzY2FubmVyIG9mIGEgY29tcGxpZXIgaXMg + ZmFyIG1vcmUgbGFuZ3VhZ2UtYWdub3N0aWMsIHdoaWxlIGEgdG9rZW5pemVy + IG11c3QgYmUgbGFuZ3VhZ2Utc3BlY2lmaWMgYnkgZGVmaW5pdGlvbi48L2Js + b2NrcXVvdGU+PHA+VGhlc2UgdHdvIHBhcnRzIG9mIHRoZSBsZXhpY2FsIGFu + YWx5c2lzIHByb2Nlc3MgZ28gaGFuZC1pbi1oYW5kLCBhbmQgdGhleSBhcmUg + Y2VudHJhbCB0byB0aGUgZmlyc3QgcGhhc2Ugb2YgdGhlIGNvbXBpbGF0aW9u + IHByb2Nlc3MuIE9mIGNvdXJzZSwgZGlmZmVyZW50IGNvbXBsaWVycyBhcmUg + ZGVzaWduZWQgaW4gdGhlaXIgb3duIHVuaXF1ZSB3YXlzLiBTb21lIGNvbXBp + bGVycyBkbyB0aGUgc3RlcCBvZiBzY2FubmluZyBhbmQgdG9rZW5pemluZyBp + biBvbmUgc2luZ2xlIHByb2Nlc3MgYW5kIGFzIGEgc2luZ2xlIHByb2dyYW0s + IHdoaWxlIG90aGVycyB3aWxsIHNwbGl0IHRoZW0gdXAgaW50byBkaWZmZXJl + bnQgY2xhc3NlcywgaW4gd2hpY2ggY2FzZSB0aGUgdG9rZW5pemVyIHdpbGwg + Y2FsbCBvdXQgdG8gdGhlIHNjYW5uZXIgY2xhc3Mgd2hlbiBpdCBpc8KgcnVu + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmNEMEljWmlzWGZQd2Q5c3VT + bGx1WncuanBlZyIgLz48ZmlnY2FwdGlvbj5MZXhpY2FsIGFuYWx5c2lzOiBh + IHF1aWNrIHZpc3VhbMKgc3VtbWFyeSE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+SW4gZWl0aGVyIGNhc2UsIHRoZSBzdGVwIG9mIGxleGljYWwgYW5hbHlz + aXMgaXMgc3VwZXIgaW1wb3J0YW50IHRvIGNvbXBpbGF0aW9uLCBiZWNhdXNl + IHRoZSBzeW50YXggYW5hbHlzaXMgcGhhc2UgZGlyZWN0bHkgZGVwZW5kcyB1 + cG9uIGl0LiBBbmQgZXZlbiB0aG91Z2ggZWFjaCBwYXJ0IG9mIHRoZSBjb21w + aWxlciBoYXMgaXRzIG93biBzcGVjaWZpYyByb2xlcywgdGhleSBsZWFuIG9u + IG9uZSBhbm90aGVyIGFuZCBkZXBlbmQgb24gZWFjaCBvdGhlcuKAiuKAlOKA + imp1c3QgbGlrZSBnb29kIGZyaWVuZHMgYWx3YXlzwqBkby48L3A+PGgzPlJl + c291cmNlczwvaDM+PHA+U2luY2UgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50 + IHdheXMgdG8gd3JpdGUgYW5kIGRlc2lnbiBhIGNvbXBpbGVyLCB0aGVyZSBh + cmUgYWxzbyBtYW55IGRpZmZlcmVudCB3YXlzIHRvIHRlYWNoIHRoZW0uIElm + IHlvdSBkbyBlbm91Z2ggcmVzZWFyY2ggb24gdGhlIGJhc2ljcyBvZiBjb21w + aWxhdGlvbiwgaXQgYmVjb21lcyBwcmV0dHkgY2xlYXIgdGhhdCBzb21lIGV4 + cGxhbmF0aW9ucyBnbyBpbnRvIGZhciBtb3JlIGRldGFpbCB0aGFuIG90aGVy + cywgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgaGVscGZ1bC4gSWYgeW91IGZp + bmQgeW91cnNlbGYgd2FudGluZyB0byBsZWFybiBtb3JlLCBiZWxvdyBhcmUg + YSB2YXJpZXR5IG9mIHJlc291cmNlcyBvbiBjb21waWxlcnPigIrigJTigIp3 + aXRoIGEgZm9jdXMgb24gdGhlIGxleGljYWwgYW5hbHlzaXPCoHBoYXNlLjwv + cD48b2w+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY3JhZnRpbmdpbnRlcnBy + ZXRlcnMuY29tL3NjYW5uaW5nLmh0bWwiPkNoYXB0ZXIgNOKAiuKAlOKAikNy + YWZ0aW5nIEludGVycHJldGVyczwvYT4sIFJvYmVydMKgTnlzdHJvbTwvbGk+ + PGxpPjxhIGhyZWY9Imh0dHBzOi8vY3Mubnl1LmVkdS9jb3Vyc2VzL2ZhbGww + Ni9HMjIuMjEzMC0wMDEvY2xhc3Mtbm90ZXMuaHRtbCI+Q29tcGlsZXIgQ29u + c3RydWN0aW9uPC9hPiwgUHJvZmVzc29yIEFsbGFuwqBHb3R0bGllYjwvbGk+ + PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35wamovZmFy + cmVsbC9jb21wMy5odG1sIj5Db21waWxlciBCYXNpY3M8L2E+LCBQcm9mZXNz + b3IgSmFtZXMgQWxhbsKgRmFycmVsbDwvbGk+PGxpPjxhIGhyZWY9Imh0dHBz + Oi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VEcwcVJEclVQcEEiPldyaXRp + bmcgYSBwcm9ncmFtbWluZyBsYW5ndWFnZeKAiuKAlOKAinRoZSBMZXhlcjwv + YT4sIEFuZHnCoEJhbGFhbTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9wYXJz + aW5naW50cm8uc291cmNlZm9yZ2UubmV0LyN0YWJsZV9vZl9jb250ZW50c180 + Ij5Ob3RlcyBvbiBIb3cgUGFyc2VycyBhbmQgQ29tcGlsZXJzIFdvcms8L2E+ + LCBTdGVwaGVuIFJheW1vbmTCoEZlcmc8L2xpPjxsaT48YSBocmVmPSJodHRw + czovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNDk1NDcyMS93aGF0 + LWlzLXRoZS1kaWZmZXJlbmNlLWJldHdlZW4tYS10b2tlbi1hbmQtYS1sZXhl + bWUiPldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHRva2VuIGFu + ZCBhIGxleGVtZT88L2E+LCBTdGFja092ZXJmbG93PC9saT48L29sPjxpbWcg + c3JjPSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xp + ZW50Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD02M2Qw + YmUzZDIxZCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PGhyPjxwPjxhIGhyZWY9 + Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvcmVhZGluZy1jb2RlLXJpZ2h0 + LXdpdGgtc29tZS1oZWxwLWZyb20tdGhlLWxleGVyLTYzZDBiZTNkMjFkIj5S + ZWFkaW5nIENvZGUgUmlnaHQsIFdpdGggU29tZSBIZWxwIEZyb20gVGhlIExl + eGVyPC9hPiB3YXMgb3JpZ2luYWxseSBwdWJsaXNoZWQgaW4gPGEgaHJlZj0i + aHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2VjcyI+YmFzZWNzPC9hPiBvbiBNZWRp + dW0sIHdoZXJlIHBlb3BsZSBhcmUgY29udGludWluZyB0aGUgY29udmVyc2F0 + aW9uIGJ5IGhpZ2hsaWdodGluZyBhbmQgcmVzcG9uZGluZyB0byB0aGlzIHN0 + b3J5LjwvcD5dXT48L2NvbnRlbnQ6ZW5jb2RlZD4KICAgICAgICA8L2l0ZW0+ + CiAgICAgICAgPGl0ZW0+CiAgICAgICAgICAgIDx0aXRsZT48IVtDREFUQVtH + cmFtbWF0aWNhbGx5IFJvb3RpbmcgT25lc2VsZiBXaXRoIFBhcnNlIFRyZWVz + XV0+PC90aXRsZT4KICAgICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9ncmFtbWF0aWNhbGx5LXJvb3Rpbmctb25lc2VsZi13aXRo + LXBhcnNlLXRyZWVzLWVjOWRhZWRhN2RhZD9zb3VyY2U9cnNzLThmNTU5OTNj + OTczZS0tLS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFM + aW5rPSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvZWM5ZGFlZGE3ZGFk + PC9ndWlkPgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcGls + ZXJzXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NE + QVRBW2NvbXB1dGVyLXNjaWVuY2VdXT48L2NhdGVnb3J5PgogICAgICAgICAg + ICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbdGhlb3J5LWluLXByYWN0aWNlXV0+PC9j + YXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW3Byb2dy + YW1taW5nXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5Pjwh + W0NEQVRBW2RhdGEtc3RydWN0dXJlc11dPjwvY2F0ZWdvcnk+CiAgICAgICAg + ICAgIDxkYzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2Rj + OmNyZWF0b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPk1vbiwgMjAgTm92IDIw + MTcgMjI6MDI6MjIgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1 + cGRhdGVkPjIwMTctMTEtMjRUMDM6NDg6NTIuMjg0WjwvYXRvbTp1cGRhdGVk + PgogICAgICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxmaWd1 + cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRp + dW0uY29tL21heC8xMDI0LzEqeUtqYXVsbXpMc1J4TjRKQnZ5NVEydy5qcGVn + IiAvPjxmaWdjYXB0aW9uPkdyYW1tYXRpY2FsbHkgcm9vdGluZyBvbmVzZWxm + IHdpdGggcGFyc2XCoHRyZWVzITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5U + aGlua2luZyBhYm91dCBhbGwgb2YgdGhlIGFic3RyYWN0aW9ucyB0aGF0IHN1 + cnJvdW5kIHVzIGluIHRoZSB3b3JsZCBvZiB0ZWNobm9sb2d5IGNhbiBzb21l + dGltZXMgYmUgb3ZlcndoZWxtaW5nLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB0 + cnVlIHdoZW4geW914oCZcmUgdHJ5aW5nIHRvIHdyYXAgeW91ciBoZWFkIGFy + b3VuZCBhIG5ldyBwYXJhZGlnbSBvciB1bnBhY2sgdGhlIGxheWVycyBvZiBv + bmUgb3IgbWFueSBjb25jZXB0cyB0aGF0IHlvdeKAmXJlIHN0cnVnZ2xpbmcg + dG8gdW5kZXJzdGFuZC48L3A+PHA+SW4gdGhlIGNvbnRleHQgb2YgbGVhcm5p + bmcgY29tcHV0ZXIgc2NpZW5jZSwgdGhlcmUgYXJlIHNpbXBseSB0b28gbWFu + eSBhYnN0cmFjdGlvbnMgdG8ga25vdywgc2VlLCBvciByZWNvZ25pemUgdGhl + bSBhbGzigIrigJTigIpub3QgdG8gbWVudGlvbiBiZWluZyBhYmxlIHRvIGNv + bXByZWhlbmQgYWxsIG9mwqB0aGVtITwvcD48cD5BYnN0cmFjdGlvbnMgYXJl + IHBvd2VyZnVsIHRoaW5ncyB3aGVuIHlvdSBjYW4gc2VlIGJleW9uZCB0aGVt + LCBhbmQgYmVpbmcgYWJsZSB0byB1bmRlcnN0YW5kIGhvdyBzb21ldGhpbmcg + aXMgYWJzdHJhY3RlZCBhd2F5IGFuZCB3aHkgY2FuIG1ha2UgeW91IGEgYmV0 + dGVyIHByb2dyYW1tZXIuIEhvd2V2ZXIsIGJ5IHRoZSBzYW1lIHRva2VuLCBl + dmVyeSBhYnN0cmFjdGlvbiB3YXMgY3JlYXRlZCBmb3IgYSByZWFzb246IHNv + IHRoYXQgbm9uZSBvZiB1cyB3b3VsZCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRo + ZW0gb24gYSBkYXktdG8tZGF5IGJhc2lzISBXZeKAmXJlIG5vdCBtZWFudCB0 + byB0aGluayBhYm91dCBhYnN0cmFjdGlvbnMgYWxsIHRoZSB0aW1lLCBhbmQg + Zm9yIHRoZSBtb3N0IHBhcnQsIHZlcnkgZmV3IG9mIHVzIGFjdHVhbGx5IGRv + LiBIZXJl4oCZcyB0aGUgdGhpbmcgdGhvdWdo4oCK4oCU4oCKc29tZSBhYnN0 + cmFjdGlvbnMgYXJlIG1vcmUgZXF1YWwgdGhhbiBvdGhlcnMuIFRoZSBvbmVz + IHRoYXQgbW9zdCBlbmdpbmVlcnMgYXJlIHByb2JhYmx5IGNvbmNlcm5lZCB3 + aXRoIGFyZSB0aGUgb25lcyB0aGF0IGludm9sdmUgaG93IHRoZXkgY29tbXVu + aWNhdGUgd2l0aCB0aGVpciBjb21wdXRlciwgYW5kIHRoZSB3YXlzIGluIHdo + aWNoIHRoZWlyIGNvbXB1dGVyIGFjdHVhbGx5IDxlbT51bmRlcnN0YW5kczwv + ZW0+IHRoZW0uIEV2ZW4gaWYgd2Ugbm9uZSBvZiB1cyBldmVyIGhhdmUgdG8g + d3JpdGUgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9idWJi + bGluZy11cC13aXRoLWJ1YmJsZS1zb3J0cy0zZGY1YWM4OGU1OTIiPmEgYnVi + YmxlIHNvcnQgYWxnb3JpdGhtPC9hPiwgaWYgd2Ugd3JpdGUgY29kZSwgdGhl + biB3ZSBoYXZlIHRvIGNvbW11bmljYXRlIHdpdGggb3VyIG1hY2hpbmVzLjwv + cD48cD5XZWxsLCBpdOKAmXMgZmluYWxseSB0aW1lIGZvciB1cyB0byBnZXQg + dG8gdGhlIGJvdHRvbSBvZiB0aGVzZSBteXN0ZXJpZXMsIGFuZCB1bmRlcnN0 + YW5kIHRoZSBhYnN0cmFjdGlvbnMgd2hpY2ggcG93ZXIgb3VyIHdvcmtmbG93 + cyBhcyBwcm9ncmFtbWVycy48L3A+PGgzPlBhcnNpbmcgZm9yIHRoZSBtZWFu + aW5nIG9mwqBwYXJzaW5nPC9oMz48cD5UaGUgdHJlZSBkYXRhIHN0cnVjdHVy + ZSBpcyBvbmUgdGhhdCBrZWVwcyBjb21pbmcgdXAgYWdhaW4gYW5kIGFnYWlu + IGluIG91ciBjb21wdXRlciBzY2llbmNlIGFkdmVudHVyZXMuIFdl4oCZdmUg + c2VlbiB0aGVtIHVzZWQgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jh + c2Vjcy9ob3ctdG8tbm90LWJlLXN0dW1wZWQtYnktdHJlZXMtNWYzNjIwOGY2 + OGE3Ij50byBzdG9yZSBkYXRhPC9hPiBvZiBhbGwgdHlwZXMsIHdl4oCZdmUg + c2VlbiBvbmVzIHRoYXQgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jh + c2Vjcy9idXN5aW5nLW9uZXNlbGYtd2l0aC1iLXRyZWVzLTc4YmJmMTA1MjJl + NyI+YXJlIHNlbGYtYmFsYW5jaW5nPC9hPiwgd2hpbGUgb3RoZXJzIGhhdmUg + YmVlbiA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2NvbXBy + ZXNzaW5nLXJhZGl4LXRyZWVzLXdpdGhvdXQtdG9vLW1hbnktdGVhcnMtYTJl + NjU4YWRiOWEwIj5vcHRpbWl6ZWQgZm9yIHNwYWNlPC9hPiBhbmQgaGFuZGxp + bmcgc3RvcmFnZS4gV2XigJl2ZSBldmVuIGxvb2tlZCBhdCA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL3BhaW50aW5nLW5vZGVzLWJsYWNr + LXdpdGgtcmVkLWJsYWNrLXRyZWVzLTYwZWFjYjJiZTlhNSI+aG93IHRvIG1h + bmlwdWxhdGUgdHJlZXM8L2E+IGJ5IHJvdGF0aW5nIGFuZCByZWNvbG9yaW5n + IHRoZW0gdG8gZW5zdXJlIHRoYXQgdGhleSBmaXQgYSBzZXQgb2bCoHJ1bGVz + LjwvcD48cD5CdXQgZGVzcGl0ZSBhbGwgb2YgdGhlc2UgZGlmZmVyZW50IGZv + cm1zIG9mIGRhdGEgc3RydWN0dXJlIGZsb3JhLCB0aGVyZSBpcyBvbmUgcGFy + dGljdWxhciBpdGVyYXRpb24gb2YgdGhlIHRyZWUgZGF0YSBzdHJ1Y3R1cmUg + dGhhdCB3ZSBoYXZlIHlldCB0byBkaXNjb3Zlci4gRXZlbiBpZiB3ZSBrbmV3 + IG5vdGhpbmcgYWJvdXQgY29tcHV0ZXIgc2NpZW5jZSwgaG93IHRvIGJhbGFu + Y2UgYSB0cmVlLCBvciB3aGF0IGEgdHJlZSBkYXRhIHN0cnVjdHVyZSBldmVu + IHdvcmtzLCBhbGwgcHJvZ3JhbW1lcnMgaW50ZXJhY3Qgd2l0aCBvbmUgdHlw + ZSBvZiB0cmVlIHN0cnVjdHVyZSBvbiBhIGRhaWx5IGJhc2lzLCBieSB2aXJ0 + dWUgb2YgdGhlIHNpbXBsZSBmYWN0IHRoYXQgZXZlcnkgZGV2ZWxvcGVyIHdo + byB3cml0ZXMgY29kZSBuZWVkcyB0byBtYWtlIHN1cmUgdGhhdCB0aGVpciBj + b2RlIGlzIHVuZGVyc3Rvb2QgYnkgdGhlaXIgbWFjaGluZXMuPC9wPjxwPlRo + aXMgZGF0YSBzdHJ1Y3R1cmUgaXMgY2FsbGVkIHRoZSBwYXJzZSB0cmVlLCBh + bmQgaXQgaXMgKG9uZSBvZikgdGhlIHVuZGVybHlpbmcgYWJzdHJhY3Rpb25z + IHRoYXQgYWxsb3dzIHRoZSBjb2RlIHRoYXQgd2Ugd3JpdGUgYXMgcHJvZ3Jh + bW1lcnMgdG8gYmVjb21lIOKAnHJlYWRhYmxl4oCdIGJ5IG91ciBjb21wdXRl + cnMuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1p + bWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqUkpZRUlTR1psMnFVeEFh + SHNlbFF1Zy5qcGVnIiAvPjxmaWdjYXB0aW9uPlBhcnNlIHRyZWU6IGEgZGVm + aW5pdGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QXQgaXRzIHZlcnkg + Y29yZSwgYSA8c3Ryb25nPjxlbT5wYXJzZSB0cmVlPC9lbT48L3N0cm9uZz4g + aXMgYW4gaWxsdXN0cmF0ZWQsIHBpY3RvcmlhbCB2ZXJzaW9uIG9mIHRoZSBn + cmFtbWF0aWNhbCBzdHJ1Y3R1cmUgb2YgYSBzZW50ZW5jZS4gUGFyc2UgdHJl + ZXMgYXJlIGFjdHVhbGx5IHJvb3RlZCBpbiB0aGUgZmllbGQgb2YgbGluZ3Vp + c3RpY3MsIGJ1dCB0aGV54oCZcmUgYWxzbyB1c2VkIGluIHBlZGFnb2d5LCB3 + aGljaCBpcyB0aGUgc3R1ZHkgb2YgdGVhY2hpbmcuIFBhcnNlIHRyZWVzIGFy + ZSBvZnRlbiB1c2VkIHRvIHRlYWNoIHN0dWRlbnRzIGhvdyB0byBpZGVudGlm + eSB0aGUgcGFydHMgb2YgYSBzZW50ZW5jZSwgYW5kIGFyZSBhIGNvbW1vbiB3 + YXkgb2YgaW50cm9kdWNpbmcgZ3JhbW1hdGljYWwgY29uY2VwdHMuIEl04oCZ + cyBsaWtlbHkgdGhhdCB3ZeKAmXZlIGVhY2ggaW50ZXJhY3RlZCB3aXRoIHRo + ZW0gZnJvbSB0aGUgcGVyc2VwY3RpdmUgb2Ygc2VudGVuY2UgZGlhZ3JhbW1p + bmcsIHdoaWNoIHNvbWUgb2YgdXMgbWlnaHQgaGF2ZSBsZWFybmVkIGluIGVs + ZW1lbnRhcnkgc2Nob29sLjwvcD48YmxvY2txdW90ZT5BIHBhcnNlIHRyZWUg + aXMgYSByZWFsbHkganVzdCBhIOKAnGRpYWdyYW1tZWTigJ0gZm9ybSBvZiBh + IHNlbnRlbmNlOyB0aGF0IHNlbnRlbmNlIGNvdWxkIGJlIHdyaXR0ZW4gaW4g + YW55IGxhbmd1YWdlLCB3aGljaCBtZWFucyB0aGF0IGl0IGNvdWxkIGFkaGVy + ZSB0byBhbnkgc2V0IG9mIGdyYW1tYXRpY2FsIHJ1bGVzLjwvYmxvY2txdW90 + ZT48cD5TZW50ZW5jZSBkaWFncmFtbWluZyBpbnZvbHZlcyBicmVha2luZyB1 + cCBhIHNpbmdsZSBzZW50ZW5jZSBpbnRvIGl0cyBzbWFsbGVzdCwgbW9zdCBk + aXN0aW5jdCBwYXJ0cy4gSWYgd2UgdGhpbmsgYWJvdXQgcGFyc2UgdHJlZXMg + ZnJvbSB0aGUgcGVyc2VwY3RpdmUgb2YgZGlhZ3JhbW1pbmcgc2VudGVuY2Vz + IHdl4oCZbGwgYmVnaW4gdG8gcXVpY2tseSByZWFsaXplIHRoYXQsIGRlcGVu + ZGluZyBvbiB0aGUgZ3JhbW1hciBhbmQgbGFuZ3VhZ2Ugb2YgYSBzZW50ZW5j + ZSwgYSBwYXJzZSB0cmVlIGNvdWxkIHJlYWxseSBiZSBjb25zdHJ1Y3RlZCBp + biBhIG11bHRpdHVkZSBvZiBkaWZmZXJlbnQgd2F5cyE8L3A+PHA+QnV0IHdo + YXQgZXhhY3RseSBpcyBhIHRoZSBjb21wdXRlciB2ZXJzaW9uIG9mIGEg4oCc + c2VudGVuY2XigJ0/IEFuZCBob3cgZG8gd2UgZ28gYWJvdXQgZGlhZ3JhbW1p + bmcgaXQswqBleGFjdGx5PzwvcD48cD5XZWxsLCBpdCBoZWxwcyB0byBzdGFy + dCB3aXRoIGFuIGV4YW1wbGUgb2Ygc29tZXRoaW5nIHRoYXQgd2XigJlyZSBh + bHJlYWR5IGNvbWZvcnRhYmxlIHdpdGgsIHNvIGxldOKAmXMgcmVmcmVzaCBv + dXIgbWVtb3JpZXMgYnkgZGlhZ3JhbW1pbmcgYSBub3JtYWwsIEVuZ2xpc2gg + c2VudGVuY2UuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczov + L2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqelFfYlVwcFVo + alBqM0pqSi11UXYwdy5qcGVnIiAvPjxmaWdjYXB0aW9uPlNpbXBsZSBzZW50 + ZW5jZSBkaWFncmFtbWluZyB3aXRoIHBhcnNlwqB0cmVlcy48L2ZpZ2NhcHRp + b24+PC9maWd1cmU+PHA+SW4gdGhlIGlsbHVzdHJhdGlvbiBzaG93biBoZXJl + LCB3ZSBoYXZlIGEgc2ltcGxlIHNlbnRlbmNlOiAmcXVvdDtWYWlkZWhpIGF0 + ZSB0aGUgcGllJnF1b3Q7LiBTaW5jZSB3ZSBrbm93IHRoYXQgYSBwYXJzZSB0 + cmVlIGlzIGp1c3QgYSBkaWFncmFtbWVkIHNlbnRlbmNlLCB3ZSBjYW4gYnVp + bGQgYSBwYXJzZSB0cmVlIG91dCBvZiB0aGlzIGV4YW1wbGUgc2VudGVuY2Uu + IFJlbWVtYmVyIHRoYXQgZWZmZWN0aXZlbHkgYWxsIHdl4oCZcmUgdHJ5aW5n + IHRvIGRvIGlzIHRvIGRldGVybWluZSB0aGUgZGlmZmVyZW50IHBhcnRzIG9m + IHRoaXMgc2VudGVuY2UgYW5kIGJyZWFrIGl0IHVwIGludG8gaXRzIHNtYWxs + ZXN0LCBtb3N0IGRpc3RpbmN0wqBwYXJ0cy48L3A+PHA+V2UgY2FuIHN0YXJ0 + IGJ5IGJyZWFraW5nIHVwIHRoZSBzZW50ZW5jZSBpbnRvIHR3byBwYXJ0czog + YSA8c3Ryb25nPjxlbT5ub3VuPC9lbT48L3N0cm9uZz4sICZxdW90O1ZhaWRl + aGkmcXVvdDssIGFuZCBhIDxzdHJvbmc+PGVtPnZlcmIgcGhyYXNlPC9lbT48 + L3N0cm9uZz4sICZxdW90O2F0ZSB0aGUgcGllJnF1b3Q7LiBTaW5jZSBhIG5v + dW4gY2Fubm90IGJlIGJyb2tlbiBkb3duIGFueSBmdXJ0aGVyLCB3ZeKAmWxs + IGxlYXZlIHRoZSB3b3JkICZxdW90O1ZhaWRlaGkmcXVvdDssIGFzIGl0IGlz + LiBBbm90aGVyIHdheSB0byB0aGluayBhYm91dCBpdCBpcyB0aGUgZmFjdCB0 + aGF0LCBzaW5jZSB3ZSBjYW7igJl0IGJyZWFrIGRvd24gYSBub3VuIGFueSBm + dXJ0aGVyLCB0aGVyZSB3aWxsIGJlIG5vIGNoaWxkIG5vZGVzIGNvbWluZyBm + cm9tIHRoaXPCoHdvcmQuPC9wPjxwPkJ1dCB3aGF0IGFib3V0IHRoZSB2ZXJi + IHBocmFzZSwgJnF1b3Q7YXRlIHRoZSBwaWUmcXVvdDs/IFdlbGwsIHRoYXQg + cGhyYXNlIGlzbuKAmXQgYnJva2VuIGRvd24gaW50byBpdHMgc2ltcGxlc3Qg + Zm9ybSB5ZXQsIGlzIGl0PyBXZSBjYW4gZGlzc2VjdCBpdCBkb3duIGV2ZW4g + ZnVydGhlci4gRm9yIG9uZSB0aGluZywgdGhlIHdvcmQgJnF1b3Q7YXRlJnF1 + b3Q7IGlzIGEgdmVyYiwgd2hpbGUgJnF1b3Q7dGhlIHBpZSZxdW90OyBpcyBt + b3JlIG9mIGEgbm91buKAiuKAlOKAimluIGZhY3QsIGl04oCZcyBhIDxzdHJv + bmc+PGVtPm5vdW4gcGhyYXNlPC9lbT48L3N0cm9uZz4gdG8gYmUgY29tcGxl + dGVseSBzcGVjaWZpYy4gSWYgd2Ugc3BsaXQgdXAgJnF1b3Q7YXRlIHRoZSBw + aWUmcXVvdDssIHdlIGNhbiBkaXZpZGUgaXQgaW50byBhIHZlcmIgYW5kIGEg + bm91biBwaHJhc2UuIFNpbmNlIGEgdmVyYiBjYW5ub3QgYmUgZGlhZ3JhbW1l + ZCB3aXRoIGFueSBhZGRpdGlvbmFsIGRldGFpbCwgdGhlIHdvcmQgJnF1b3Q7 + YXRlJnF1b3Q7IHdpbGwgYmVjb21lIGEgbGVhZiBub2RlIGluIG91ciBwYXJz + ZcKgdHJlZS48L3A+PHA+QWxyaWdodCwgc28gYWxsIHRoYXTigJlzIGxlZnQg + bm93IGlzIHRoZSBub3VuIHBocmFzZSwgJnF1b3Q7dGhlIHBpZSZxdW90Oy4g + V2UgY2FuIHNwbGl0IHRoaXMgcGhyYXNlIHVwIGludG8gdHdvIGRpc3RpbmN0 + IHBpZWNlczogYSBub3VuLCAmcXVvdDtwaWUmcXVvdDssIGFuZCBpdHMgPHN0 + cm9uZz48ZW0+ZGV0ZXJtaW5lcjwvZW0+PC9zdHJvbmc+LCB3aGljaCBpcyBr + bm93biBhcyBhbnkgbW9kaWZ5aW5nIHdvcmQgb2YgYSBub3VuLiBJbiB0aGlz + IGNhc2UsIHRoZSBkZXRlcm1pbmVyIGlzIHRoZSB3b3JkwqAmcXVvdDt0aGUm + cXVvdDsuPC9wPjxwPk9uY2Ugd2UgZGl2aWRlIHVwIG91ciBub3VuIHBocmFz + ZSwgd2XigJlyZSBkb25lIHNwbGl0dGluZyB1cCBvdXIgc2VudGVuY2UhIElu + IG90aGVyIHdvcmRzLCB3ZeKAmXJlIGRvbmUgZGlhZ3JhbW1pbmcgb3VyIHBh + cnNlIHRyZWUuIFdoZW4gd2UgbG9vayBhdCBvdXIgcGFyc2UgdHJlZSwgd2Xi + gJlsbCBub3RpY2UgdGhhdCBvdXIgc2VudGVuY2Ugc3RpbGwgcmVhZHMgdGhl + IHNhbWUgd2F5LCBhbmQgd2UgaGF2ZW7igJl0IGFjdHVhbGx5IG1vZGlmaWVk + IGl0IGF0IGFsbC4gV2UganVzdCB0b29rIHRoZSBzZW50ZW5jZSB3ZSB3ZXJl + IGdpdmVuLCBhbmQgdXNlIHRoZSBydWxlcyBvZiBFbmdsaXNoIGdyYW1tYXIg + dG8gc3BsaXQgaXQgdXAgaW50byBpdHMgc21hbGxlc3QsIG1vc3QgZGlzdGlu + Y3TCoHBhcnRzLjwvcD48YmxvY2txdW90ZT5JbiB0aGUgY2FzZSBvZiB0aGUg + RW5nbGlzaCBsYW5ndWFnZSwgdGhlIHNtYWxsZXN0IOKAnHBhcnTigJ0gb2Yg + ZXZlcnkgc2VudGVuY2UgaXMgYSB3b3JkOyB3b3JkcyBjYW4gYmUgY29tYmlu + ZWQgaW50byBwaHJhc2VzLCBsaWtlIG5vdW4gcGhyYXNlcyBvciB2ZXJiIHBo + cmFzZXMsIHdoaWNoIGNhbiwgaW4gdHVybiwgYmUgam9pbmVkIHdpdGggb3Ro + ZXIgcGhyYXNlcyB0byBjcmVhdGUgYSBzZW50ZW5jZSBlcHJlc3Npb24uPC9i + bG9ja3F1b3RlPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqYzI1OWZYbV9CX0Fr + Mm4tOWpBdEZRZy5qcGVnIiAvPjxmaWdjYXB0aW9uPldoYXQgZG9lcyBpdCBh + Y3R1YWxseSBtZWFuIHRvIHBhcnNlIHNvbWV0aGluZz88L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+SG93ZXZlciwgdGhpcyBpcyBqdXN0IG9uZSBleGFtcGxl + IG9mIGhvdyBvbmUgc3BlY2lmaWMgc2VudGVuY2UsIGluIG9uZSBzcGVjaWZp + YyBsYW5ndWFnZSwgd2l0aCBpdHMgb3duIHNldCBvZiBncmFtbWF0aWNhbCBy + dWxlcyB3b3VsZCBiZSBkaWFncmFtbWVkIGludG8gYSBwYXJzZSB0cmVlLiBU + aGlzIHNhbWUgc2VudGVuY2Ugd291bGQgbG9vayB2ZXJ5IGRpZmZlcmVudCBp + biBhIGRpZmZlcmVudCBsYW5ndWFnZSwgZXNwZWNpYWxseSBpZiBpdCBoYWQg + dG8gZm9sbG93IGl0cyBvd24gc2V0IG9mIGdyYW1tYXRpY2FsIHJ1bGVzLjwv + cD48cD5VbHRpbWF0ZWx5LCB0aGUgPGVtPmdyYW1tYXI8L2VtPiBhbmQgPGVt + PnN5bnRheDwvZW0+IG9mIGEgbGFuZ3VhZ2XigIrigJTigIppbmNsdWRpbmcg + dGhlIHdheSB0aGUgc2VudGVuY2VzIG9mIHRoYXQgbGFuZ3VhZ2UgYXJlIHN0 + cnVjdHVyZWTigIrigJTigIpiZWNvbWUgdGhlIHJ1bGVzIHRoYXQgZGljdGF0 + ZSBob3cgdGhhdCBsYW5ndWFnZSBpcyBkZWZpbmVkLCBob3cgd2Ugd3JpdGUg + aW4gaXQsIGFuZCBob3cgdGhvc2Ugb2YgdXMgd2hvIHNwZWFrIHRoZSBsYW5n + dWFnZSB3aWxsIGVuZCB1cCB1bmRlcnN0YW5kaW5nIGFuZCBpbnRlcnByZXRp + bmcgaXQuPC9wPjxwPkludGVyZXN0aW5nbHksIHdlIGtuZXcgaG93IHRvIGRp + YWdyYW0gdGhlIHNpbXBsZSBzZW50ZW5jZSwgJnF1b3Q7VmFpZGVoaSBhdGUg + dGhlIHBpZS4mcXVvdDsgYmVjYXVzZSB3ZSB3ZXJlIGFscmVhZHkgZmFtaWxp + YXIgd2l0aCB0aGUgZ3JhbW1hciBvZiB0aGUgRW5nbGlzaCBsYW5ndWFnZS4g + SW1hZ2luZSBpZiBvdXIgc2VudGVuY2Ugd2FzIG1pc3NpbmcgYSBub3VuIG9y + IGEgdmVyYiBhbHRvZ2V0aGVyPyBXaGF0IHdvdWxkIGhhcHBlbj8gV2VsbCwg + d2XigJlkIGxpa2VseSByZWFkIHRoZSBzZW50ZW5jZSB0aGUgZmlyc3QgdGlt + ZSBhcm91bmQgYW5kIHF1aWNrbHkgcmVhbGl6ZSB0aGF0IGl0IHdhc27igJl0 + IGV2ZW4gYSBzZW50ZW5jZSBhdCBhbGwhIFJhdGhlciwgd2XigJlkIHJlYWQg + aXQsIGFuZCBhbG1vc3QgaW1tZWRpYXRlbHkgc2VlIHRoYXQgd2Ugd2VyZSBk + ZWFsaW5nIHdpdGggYSA8c3Ryb25nPjxlbT5zZW50ZW5jZSBmcmFnbWVudDwv + ZW0+PC9zdHJvbmc+LCBvciBhbiBpbmNvbXBsZXRlIHBpZWNlIG9mIGEgc2Vu + dGVuY2UuPC9wPjxwPkhvd2V2ZXIsIHRoZSBvbmx5IHJlYXNvbiB0aGF0IHdl + 4oCZZCBiZSBhYmxlIHRvIHJlY29nbml6ZSBhIHNlbnRlbmNlIGZyYWdtZW50 + IGlzIGlmIHdlIGtuZXcgdGhlIHJ1bGVzIG9mIHRoZSBFbmdsaXNoIGxhbmd1 + YWdl4oCK4oCU4oCKbmFtZWx5LCB0aGF0IChuZWFybHkpIGV2ZXJ5IHNlbnRl + bmNlIG5lZWRzIGEgbm91biBhbmQgYSB2ZXJiIHRvIGJlIGNvbnNpZGVyZWQg + dmFsaWQuIFRoZSBncmFtbWFyIG9mIGEgbGFuZ3VhZ2UgaXMgaG93IHdlIGNh + biBjaGVjayB0byBzZWUgaWYgYSBzZW50ZW5jZSBpcyB2YWxpZCBpbiBhIGxh + bmd1YWdlOyB0aGF0IHByb2Nlc3Mgb2Yg4oCcY2hlY2tpbmfigJ0gZm9yIHZh + bGlkaXR5IGlzIHJlZmVycmVkIHRvIGFzIDxzdHJvbmc+PGVtPnBhcnNpbmc8 + L2VtPjwvc3Ryb25nPiBhIHNlbnRlbmNlLjwvcD48cD5UaGUgcHJvY2VzcyBv + ZiBwYXJzaW5nIGEgc2VudGVuY2UgdG8gdW5kZXJzdGFuZCBpdCB3aGVuIHdl + IHJlYWQgaXQgZm9yIHRoZSBmaXJzdCB0aW1lIGludm9sdmVzIHRoZSBzYW1l + IG1lbnRhbCBzdGVwcyBhcyBkaWFncmFtbWluZyBhIHNlbnRlbmNlLCBhbmQg + ZGlhZ3JhbW1pbmcgYSBzZW50ZW5jZSBpbnZvbHZlcyB0aGUgc2FtZSBzdGVw + cyBhcyBidWlsZGluZyBhIHBhcnNlIHRyZWUuIFdoZW4gd2UgcmVhZCBhIHNl + bnRlbmNlIGZvciB0aGUgdmVyeSBmaXJzdCB0aW1lLCB3ZeKAmXJlIGRvaW5n + IHRoZSB3b3JrIG9mIG1lbnRhbGx5IGRlY29uc3RydWN0aW5nIGFuZCBwYXJz + aW5nwqBpdC48L3A+PHA+QXMgaXQgdHVybnMgb3V0LCBjb21wdXRlcnMgZG8g + dGhlIGV4YWN0IHNhbWUgdGhpbmcgd2l0aCB0aGUgY29kZSB0aGF0IHdlwqB3 + cml0ZSE8L3A+PGgzPlBhcnNpbmcgZXhwcmVzc2lvbnMgbGlrZSBpdOKAmXMg + b3VywqBqb2I8L2gzPjxwPk9rYXksIHNvIHdlIG5vdyBrbm93IGhvdyB0byBk + aWFncmFtIGFuZCBwYXJzZSBhbiBFbmdsaXNoIGxhbmd1YWdlIHNlbnRlbmNl + LiBCdXQgaG93IGRvZXMgdGhhdCBhcHBseSB0byBjb2RlPyBBbmQgd2hhdCBl + dmVuIGlzIGEg4oCcc2VudGVuY2XigJ0gaW4gb3VywqBjb2RlPzwvcD48cD5X + ZWxsLCB3ZSBjYW4gdGhpbmsgb2YgYSBwYXJzZSB0cmVlIGFzIGFuIGlsbHVz + dHJhdGVkIOKAnHBpY3R1cmXigJ0gb2YgaG93IG91ciBjb2RlIGxvb2tzLiBJ + ZiB3ZSBpbWFnaW5lIG91ciBjb2RlLCBvdXIgcHJvZ3JhbSwgb3IgZXZlbiBq + dXN0IHRoZSBzaW1wbGVzdCBvZiBzY3JpcHRzIGluIHRoZSBmb3JtIG9mIGEg + c2VudGVuY2UsIHdl4oCZZCBwcm9iYWJseSByZWFsaXplIHByZXR0eSBxdWlj + a2x5IHRoYXQgYWxsIG9mIHRoZSBjb2RlIHRoYXQgd2Ugd3JpdGUgY291bGQg + cmVhbGx5IGp1c3QgYmUgc2ltcGxpZmllZCBpbnRvIHNldHMgb2YgZXhwcmVz + c2lvbnMuPC9wPjxwPlRoaXMgbWFrZXMgYSBsb3QgbW9yZSBzZW5zZSB3aXRo + IGFuIGV4YW1wbGUsIHNvIGxldOKAmXMgbG9vayBhdCBhIHN1cGVyIHNpbXBs + ZSBjYWxjdWxhdG9yIHByb2dyYW0uIFVzaW5nIGEgc2luZ2xlIGV4cHJlc3Np + b24sIHdlIGNhbiB1c2UgdGhlIGdyYW1tYXRpY2FsIOKAnHJ1bGVz4oCdIG9m + IG1hdGhlbWF0aWNzIHRvIGNyZWF0ZSBhIHBhcnNlIHRyZWUgZnJvbSB0aGF0 + IGV4cHJlc3Npb24uIFdl4oCZbGwgbmVlZCB0byBmaW5kIHRoZSBzaW1wbGVz + dCwgbW9zdCBkaXN0aW5jdCB1bml0cyBvZiBvdXIgZXhwcmVzc2lvbiwgd2hp + Y2ggbWVhbnMgdGhhdCB3ZeKAmWxsIG5lZWQgdG8gYnJlYWsgdXAgb3VyIGV4 + cHJlc3Npb24gaW50byBzbWFsbGVyIHNlZ21lbnRzLCBhcyBpbGx1c3RyYXRl + ZCBiZWxvdy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpQZlNDRnBtZVRS + ZTA1MEd2emlYZ0VBLmpwZWciIC8+PGZpZ2NhcHRpb24+RmluZGluZyB0aGUg + Z3JhbW1hciBpbiBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbnMuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPldl4oCZbGwgbm90aWNlIHRoYXQgYSBzaW5nbGUg + bWF0aGVtYXRpY2FsIGV4cHJlc3Npb24gaGFzIGl0cyBvd24gZ3JhbW1hciBy + dWxlcyB0byBmb2xsb3c7IGV2ZW4gYSBzaW1wbGUgZXhwcmVzc2lvbiAobGlr + ZSB0d28gbnVtYmVycyBiZWluZyBtdWx0aXBsaWVkIHRvZ2V0aGVyIGFuZCB0 + aGVuIGFkZGVkIHRvIGFub3RoZXIgbnVtYmVyKSBjb3VsZCBiZSBzcGxpdCB1 + cCBpbnRvIGV2ZW4gc2ltcGxlciBleHByZXNzaW9ucyB3aXRoaW4gdGhlbXNl + bHZlcy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2Ru + LWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpwWlFlQUNOUnFWZGVn + cERNUDRuSGZnLmpwZWciIC8+PGZpZ2NhcHRpb24+UmVwcmVzZW50aW5nIG1h + dGhlbWF0aWNhbCBleHByZXNzaW9ucyBhcyBhIHBhcnNlwqB0cmVlLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5CdXQgbGV04oCZcyB3b3JrIHdpdGggYSBz + aW1wbGUgY2FsY3VsYXRpb24gdG8gc3RhcnQuIEhvdyBjb3VsZCB3ZSBjcmVh + dGUgYSBwYXJzZSB0cmVlIHVzaW5nIG1hdGhlbWF0aWNhbCBncmFtbWFyIGZv + ciBhbiBleHByZXNzaW9uIHN1Y2ggYXMgMiB4wqA4PzwvcD48cD5JZiB3ZSB0 + aGluayBhYm91dCB3aGF0IHRoaXMgZXhwcmVzc2lvbiByZWFsbHkgbG9va3Mg + bGlrZSwgd2UgY2FuIHNlZSB0aGF0IHRoZXJlIGFyZSB0aHJlZSBkaXN0aW5j + dCBwaWVjZXMgaGVyZTogYW4gZXhwcmVzc2lvbiBvbiB0aGUgbGVmdCwgYW4g + ZXhwcmVzc2lvbiBvbiB0aGUgcmlnaHQsIGFuZCBhbiBvcGVyYXRpb24gdGhh + dCBtdWx0aXBsaWVzIHRoZSB0d28gb2YgdGhlbSB0b2dldGhlci48L3A+PHA+ + VGhlIGltYWdlIHNob3duIGhlcmUgZGlhZ3JhbXMgb3V0IHRoZSBleHByZXNz + aW9uIDIgeCA4IGFzIGEgcGFyc2UgdHJlZS4gV2XigJlsbCBzZWUgdGhhdCB0 + aGUgb3BlcmF0b3IsIHgsIGlzIG9uZSBwaWVjZSBvZiB0aGUgZXhwcmVzc2lv + biB0aGF0IGNhbm5vdCBiZSBzaW1wbGlmaWVkIGFueSBmdXJ0aGVyLCBzbyBp + dCBkb2VzbuKAmXQgaGF2ZSBhbnkgY2hpbGTCoG5vZGVzLjwvcD48cD5UaGUg + ZXhwcmVzc2lvbiBvbiB0aGUgbGVmdCBhbmQgb24gdGhlIHJpZ2h0IGNvdWxk + IGJlIHNpbXBsaWZpZWQgaW50byBpdHMgc3BlY2lmaWMgdGVybXMsIG5hbWVs + eSAyIGFuZCA4LiBNdWNoIGxpa2UgdGhlIEVuZ2xpc2ggc2VudGVuY2UgZXhh + bXBsZSB3ZSBsb29rZWQgYXQgZWFybGllciwgYSBzaW5nbGUgbWF0aGVtYXRp + Y2FsIGV4cHJlc3Npb24gY291bGQgY29udGFpbiA8ZW0+aW50ZXJuYWwgZXhw + cmVzc2lvbnMgPC9lbT53aXRoaW4gaXQsIGFzIHdlbGwgYXMgaW5kaXZpZHVh + bCA8ZW0+dGVybXM8L2VtPiwgbGlrZSB0aGUgcGhyYXNlIDIgeCA4LCBvciA8 + ZW0+ZmFjdG9yczwvZW0+LCBsaWtlIHRoZSBudW1iZXIgMiBhcyBhbiBpbmRp + dmlkdWFsIGV4cHJlc3Npb24gaXRzZWxmLjwvcD48cD5CdXQgd2hhdCBoYXBw + ZW5zIGFmdGVyIHdlIGNyZWF0ZSB0aGlzIHBhcnNlIHRyZWU/IFdl4oCZbGwg + bm90aWNlIHRoYXQgdGhlIGhpZXJhcmNoeSBvZiBjaGlsZCBub2RlcyBoZXJl + IGlzIGEgbGl0dGxlIGxlc3Mgb2J2aW91cyB0aGFuIGluIG91ciBzZW50ZW5j + ZSBleGFtcGxlIGZyb20gYmVmb3JlLiBib3RoIDIgYW5kIDggYXJlIGF0IHRo + ZSBzYW1lIGxldmVsLCBzbyBob3cgY291bGQgd2UgaW50ZXJwcmV0IHRoaXM/ + PC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFn + ZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqa2JlaVFBMHBCci0tbEdHU2pk + VWc2QS5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBzYW1lIGV4cHJlc3Npb24g + Y291bGQgZXZhbHVhdGUgdG8gZGlmZmVyZW50IHBhcnNlwqB0cmVlcy48L2Zp + Z2NhcHRpb24+PC9maWd1cmU+PHA+V2VsbCwgd2UgYWxyZWFkeSBrbm93IHRo + YXQgdGhlcmUgYXJlIHZhcmlvdXMgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9kZW15c3RpZnlpbmctZGVwdGgtZmlyc3Qtc2VhcmNoLWE3 + YzE0Y2NjZjA1NiI+ZGlmZmVyZW50IHdheXMgdG8gZGVwdGgtZmlyc3QgdHJh + dmVyc2U8L2E+IHRocm91Z2ggYSB0cmVlLiBEZXBlbmRpbmcgb24gaG93IHdl + IHRyYXZlcnNlIHRocm91Z2ggdGhpcyB0cmVlLCB0aGlzIHNpbmdsZSBtYXRo + ZW1hdGljYWwgZXhwcmVzc2lvbiwgMiB4IDggY291bGQgYmUgaW50ZXJwcmV0 + ZWQgYW5kIHJlYWQgaW4gbWFueSB3YXlzLiBGb3IgZXhhbXBsZSwgaWYgd2Ug + dHJhdmVyc2VkIHRocm91Z2ggdGhpcyB0cmVlIHVzaW5nIDxlbT5pbm9yZGVy + PC9lbT4gdHJhdmVyc2FsLCB3ZeKAmWQgcmVhZCB0aGUgbGVmdCB0cmVlLCB0 + aGUgcm9vdCBsZXZlbCwgYW5kIHRoZW4gdGhlIHJpZ2h0IHRyZWUsIHJlc3Vs + dGluZyBpbiAyIC0mZ3Q7IHggLSZndDvCoDguPC9wPjxwPkJ1dCBpZiB3ZSBj + aG9zZSB0byB3YWxrIHRocm91Z2ggdGhpcyB0cmVlIHVzaW5nIDxlbT5wcmVv + cmRlcjwvZW0+IHRyYXZlcnNhbCwgd2XigJlkIHJlYWQgdGhlIHZhbHVlIGF0 + IHRoZSByb290IGxldmVsIGZpcnN0LCBmb2xsb3dlZCBieSB0aGUgbGVmdCBz + dWJ0cmVlIGFuZCB0aGVuIHRoZSByaWdodCBzdWJ0cmVlLCB3aGljaCB3b3Vs + ZCBnaXZlIHVzIHggLSZndDsgMiAtJmd0OyA4LiBBbmQgaWYgd2UgdXNlZCA8 + ZW0+cG9zdG9yZGVyPC9lbT4gdHJhdmVyc2FsLCB3ZeKAmWQgcmVhZCB0aGUg + bGVmdCBzdWJ0cmVlLCB0aGUgcmlnaHQgc3VidHJlZSwgYW5kIHRoZW4gZmlu + YWxseSByZWFkIHRoZSByb290IGxldmVsLCB3aGljaCB3b3VsZCByZXN1bHQg + aW4gMiAtJmd0OyA4IC0mZ3Q7wqB4LjwvcD48cD5QYXJzZSB0cmVlcyBzaG93 + IHVzIHdoYXQgb3VyIGV4cHJlc3Npb25zPGVtPiBsb29rIGxpa2U8L2VtPiwg + cmV2ZWFsaW5nIHRoZSBjb25jcmV0ZSBzeW50YXggb2Ygb3VyIGV4cHJlc3Np + b25zLCB3aGljaCBvZnRlbiBtZWFucyB0aGF0IGEgc2luZ2xlIHBhcnNlIHRy + ZWUgY291bGQgZXhwcmVzcyBhIOKAnHNlbnRlbmNl4oCdIGluIHZhcmlvdXMg + ZGlmZmVyZW50IHdheXMuIEZvciB0aGlzIHJlYXNvbiwgcGFyc2UgdHJlZXMg + YXJlIGFsc28gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgPHN0cm9uZz48ZW0+Q29u + Y3JldGUgU3ludGF4IFRyZWVzPC9lbT48L3N0cm9uZz4sIG9yIDxzdHJvbmc+ + PGVtPkNTVHMgPC9lbT48L3N0cm9uZz5mb3Igc2hvcnQuIFdoZW4gdGhlc2Ug + dHJlZXMgYXJlIGludGVycHJldGVkLCBvciDigJxyZWFk4oCdIGJ5IG91ciBt + YWNoaW5lcywgdGhlcmUgbmVlZCB0byBiZSBzdHJpY3QgcnVsZXMgYXMgdG8g + aG93IHRoZXNlIHRyZWVzIGFyZSBwYXJzZWQsIHNvIHRoYXQgd2UgZW5kIHVw + IHdpdGggdGhlIGNvcnJlY3QgZXhwcmVzc2lvbiwgd2l0aCBhbGwgdGhlIHRl + cm1zIGluIHRoZSBjb3JyZWN0IG9yZGVyIGFuZCBpbiB0aGUgcmlnaHTCoHBs + YWNlITwvcD48cD5CdXQgbW9zdCBleHByZXNzaW9ucyB0aGF0IHdlIGRlYWwg + d2l0aCBhcmUgbW9yZSBjb21wbGV4IHRoYW4ganVzdCAyIHggOC4gRXZlbiBm + b3IgYSBjYWxjdWxhdG9yIHByb2dyYW0sIHdlIHdpbGwgcHJvYmFibHkgbmVl + ZCB0byBkbyBtb3JlIGNvbXBsaWNhdGVkIGNvbXB1dGF0aW9ucy4gRm9yIGV4 + YW1wbGUsIHdoYXQgaGFwcGVucyBpZiB3ZSB3YW50ZWQgdG8gc29sdmUgZm9y + IGFuIGV4cHJlc3Npb24gbGlrZSA1ICsgMSB4IDEyPyBXaGF0IHdvdWxkIG91 + ciBwYXJzZSB0cmVlIGxvb2vCoGxpa2U/PC9wPjxwPldlbGwsIGFzIGl0IHR1 + cm5zIG91dCwgdGhlIHRyb3VibGUgd2l0aCBwYXJzZSB0cmVlcyBpcyB0aGF0 + IHNvbWV0aW1lcyB5b3UgY2FuIGVuZCB1cCB3aXRoIG1vcmUgdGhhbsKgb25l + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh4ckR3NkdvVU51MzF0QkJE + QWlBNVEuanBlZyIgLz48ZmlnY2FwdGlvbj5BbWJpZ3VvdXMgZ3JhbW1hciBp + biAocGFyc2luZykgYWN0aW9uITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5N + b3JlIHNwZWNpZmljYWxseSwgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBhIHNp + bmdsZSBvdXRjb21lIGZvciBvbmUgZXhwcmVzc2lvbiB0aGF0IGlzIGJlaW5n + IHBhcnNlZC4gSWYgd2UgYXNzdW1lIHRoYXQgcGFyc2UgdHJlZXMgYXJlIHJl + YWQgZnJvbSB0aGUgbG93ZXN0LWxldmVsIGZpcnN0LCB3ZSBjYW4gc3RhcnQg + dG8gc2VlIGhvdyB0aGUgaGVpcmFyY2h5IG9mIHRoZSBsZWFmIG5vZGVzIGNh + biBjYXVzZSB0aGUgc2FtZSBleHByZXNzaW9uIHRvIGJlIGludGVycHJldGVk + IGluIHR3byB0b3RhbGx5IGRpZmZlcmVudCB3YXlzLCB5aWVsZGluZyB0d28g + dG90YWxseSBkaWZmZXJlbnQgdmFsdWVzIGFzIGHCoHJlc3VsdC48L3A+PHA+ + Rm9yIGV4YW1wbGUsIGluIHRoZSBpbGx1c3RyYXRpb24gYWJvdmUsIHRoZXJl + IGFyZSB0d28gcG9zc2libGUgcGFyc2UgdHJlZXMgZm9yIHRoZSBleHByZXNz + aW9uIDUgKyAxIHggMTIuIEFzIHdlIGNhbiBzZWUgaW4gdGhlIGxlZnQgcGFy + c2UgdHJlZSwgdGhlIGhlaXJhcmNoeSBvZiB0aGUgbm9kZXMgaXMgc3VjaCB0 + aGF0IHRoZSBleHByZXNzaW9uIDEgeCAxMiB3aWxsIGJlIGV2YWx1YXRlZCBm + aXJzdCwgYW5kIHRoZW4gdGhlIGFkZGl0aW9uIHdpbGwgY29udGludWU6IDUg + KyAoMSB4IDEyKS4gT24gdGhlIG90aGVyIGhhbmQsIHRoZSByaWdodCBwYXJz + ZSB0cmVlIGlzIHZlcnkgZGlmZmVyZW50OyB0aGUgaGVpcmFyY2h5IG9mIHRo + ZSBub2RlcyBmb3JjZXMgdGhlIGFkZGl0aW9uIHRvIGhhcHBlbiBmaXJzdCAo + NSArIDEpLCBhbmQgdGhlbiBtb3ZlcyB1cCB0aGUgdHJlZSB0byBjb250aW51 + ZSB3aXRoIG11bHRpcGxpY2F0aW9uOiAoNSArIDEpIHjCoDEyLjwvcD48cD5B + bWJpZ3VvdXMgZ3JhbW1hciBpbiBhIGxhbmd1YWdlIGlzIGV4YWN0bHkgd2hh + dCBjYXVzZXMgdGhpcyBraW5kIG9mIHNpdHVhdGlvbjogd2hlbiBpdHMgdW5j + bGVhciBob3cgYSBzeW50YXggdHJlZSBzaG91bGQgYmUgY29uc3RydWN0ZWQs + IGl04oCZcyBwb3NzaWJsZSBmb3IgaXQgdG8gYmUgYnVpbHQgaW4gKGF0IGxl + YXN0KSBtb3JlIHRoYW4gb25lwqB3YXkuPC9wPjxibG9ja3F1b3RlPkhlcmXi + gJlzIHRoZSBydWIsIHRob3VnaDogYW1iaWd1b3VzIGdyYW1tYXIgaXMgcHJv + YmxlbWF0aWMgZm9yIGEgY29tcGlsZXIhPC9ibG9ja3F1b3RlPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqckpnaWpjT3NQUV8wWFFWbmVjeFI2QS5qcGVnIiAv + PjxmaWdjYXB0aW9uPkNvbWJhdGluZyBhbWJpZ3VvdXMgZ3JhbW1hciBhcyBh + wqBjb21waWxlcjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5CYXNlZCBvbiB0 + aGUgcnVsZXMgb2YgbWF0aGVtYXRpY3MgdGhhdCBtb3N0IG9mIHVzIGxlYXJu + ZWQgaW4gc2Nob29sLCB3ZSBrbm93IGluaGVyZW50bHkgdGhhdCBtdWx0aXBs + aWNhdGlvbiBzaG91bGQgYWx3YXlzIGJlIGRvbmUgYmVmb3JlIGFkZGl0aW9u + LiBJbiBvdGhlciB3b3Jkcywgb25seSB0aGUgbGVmdCBwYXJzZSB0cmVlIGlu + IHRoZSBhYm92ZSBleGFtcGxlIGlzIGFjdHVhbGx5IGNvcnJlY3QgYmFzZWQg + b24gdGhlIGdyYW1tYXIgb2YgbWF0aC4gUmVtZW1iZXI6IGdyYW1tYXIgaXMg + d2hhdCBkZWZpbmVzIHRoZSBzeW50YXggYW5kIHRoZSBydWxlcyBvZiBhbnkg + bGFuZ3VhZ2UsIHdoZXRoZXIgaXRzIGFuIEVuZ2xpc2ggc2VudGVuY2Ugb3Ig + YSBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbi48L3A+PHA+QnV0IGhvdyBvbiBl + YXJ0aCB3b3VsZCB0aGUgY29tcGlsZXIga25vdyB0aGVzZSBydWxlcyBpbmhl + cmVudGx5PyBXZWxsLCB0aGVyZeKAmXMganVzdCBubyB3YXkgdGhhdCBpdCBl + dmVyIGNvdWxkISBBIGNvbXBpbGVyIHdvdWxkIGhhdmUgbm8gaWRlYSB3aGlj + aCB3YXkgdG8gcmVhZCB0aGUgY29kZSB0aGF0IHdlIHdyaXRlIGlmIHdlIGRv + buKAmXQgZ2l2ZSBpdCBncmFtbWF0aWNhbCBydWxlcyB0byBmb2xsb3cuIElm + IGEgY29tcGlsZXIgc2F3IHRoYXQgd2Ugd3JvdGUgYSBtYXRoZW1hdGljYWwg + ZXhwcmVzc2lvbiwgZm9yIGV4YW1wbGUsIHRoYXQgY291bGQgcmVzdWx0IGlu + IHR3byBkaWZmZXJlbnQgcGFyc2UgdHJlZXMsIGl0IHdvdWxkbuKAmXQga25v + dyB3aGljaCBvZiB0aGUgdHdvIHBhcnNlIHRyZWVzIHRvIGNob29zZSwgYW5k + IHRodXMsIGl0IHdvdWxkbuKAmXQga25vdyBob3cgdG8gZXZlbiByZWFkIG9y + IGludGVycHJldCBvdXLCoGNvZGUuPC9wPjxwPkFtYmlndW91cyBncmFtbWFy + IGlzIGdlbmVyYWxseSBhdm9pZGVkIGluIG1vc3QgcHJvZ3JhbW1pbmcgbGFu + Z3VhZ2VzIGZvciB0aGlzIHZlcnkgcmVhc29uLiBJbiBmYWN0LCBtb3N0IHBh + cnNlcnMgYW5kIHByb2dyYW1taW5nIGxhbmd1YWdlcyB3aWxsIGludGVudGlv + bmFsbHkgZGVhbCB3aXRoIHByb2JsZW1zIG9mIGFtYmlndWl0eSBmcm9tIHRo + ZSBzdGFydC4gQSBwcm9ncmFtbWluZyBsYW5ndWFnZSB3aWxsIHVzdWFsbHkg + aGF2ZSBncmFtbWFyIHRoYXQgZW5mb3JjZXMgPGVtPnByZWNlZGVuY2U8L2Vt + Piwgd2hpY2ggd2lsbCBmb3JjZSBzb21lIG9wZXJhdGlvbnMgb3Igc3ltYm9s + cyB0byBoYXZlIGEgaGlnaGVyIHdlaWdodC92YWx1ZSB0aGFuIG90aGVycy4g + QW4gZXhhbXBsZSBvZiB0aGlzIGlzIGVuc3VyaW5nIHRoYXQsIHdoZW5ldmVy + IGEgcGFyc2UgdHJlZSBpcyBjb25zdHJ1Y3RlZCwgbXVsdGlwbGljYXRpb24g + aXMgZ2l2ZW4gYSBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIGFkZGl0aW9uLCBz + byB0aGF0IG9ubHkgb25lIHBhcnNlIHRyZWUgY2FuIGV2ZXIgYmUgY29uc3Ry + dWN0ZWQuPC9wPjxwPkFub3RoZXIgd2F5IHRvIGNvbWJhdCBwcm9ibGVtcyBv + ZiBhbWJpZ3VpdHkgaXMgYnkgZW5mb3JjaW5nIHRoZSB3YXkgdGhhdCBncmFt + bWFyIGlzIGludGVycHJldGVkLiBGb3IgZXhhbXBsZSwgaW4gbWF0aGVtYXRp + Y3MsIGlmIHdlIGhhZCBhbiBleHByZXNzaW9uIGxpa2UgMSArIDIgKyAzICsg + NCwgd2Uga25vdyBpbmhlcmVudGx5IHRoYXQgd2Ugc2hvdWxkIGJlZ2luIGFk + ZGluZyBmcm9tIHRoZSBsZWZ0IGFuZCB3b3JrIG91ciB3YXkgdG8gdGhlIHJp + Z2h0LiBJZiB3ZSB3YW50ZWQgb3VyIGNvbXBpbGVyIHRvIHVuZGVyc3RhbmQg + aG93IHRvIGRvIHRoaXMgd2l0aCBvdXIgb3duIGNvZGUsIHdl4oCZZCBuZWVk + IHRvIGVuZm9yY2UgPGVtPmxlZnQgYXNzb2NpYXRpdml0eTwvZW0+LCB3aGlj + aCB3b3VsZCBjb25zdHJpY3Qgb3VyIGNvbXBpbGVyIHNvIHRoYXQgd2hlbiBp + dCBwYXJzZWQgb3VyIGNvZGUsIGl0IHdvdWxkIGNyZWF0ZSBhIHBhcnNlIHRy + ZWUgdGhhdCBwdXRzIHRoZSBmYWN0b3Igb2YgNCBsb3dlciBkb3duIGluIHRo + ZSBwYXJzZSB0cmVlIGhpZXJhcmNoeSB0aGFuIHRoZSBmYWN0b3LCoDEuPC9w + PjxwPlRoZXNlIHR3byBleGFtcGxlcyBvZnRlbiByZWZlcnJlZCB0byBhcyA8 + c3Ryb25nPjxlbT5kaXNhbWJpZ3VhdGluZyBydWxlczwvZW0+PC9zdHJvbmc+ + IGluIGNvbXBpbGVyIGRlc2lnbiwgYXMgdGhleSBjcmVhdGUgc3BlY2lmaWMg + c3ludGFjdGljYWwgcnVsZXMgZW5zdXJlIHRoYXQgd2UgbmV2ZXIgZW5kIHVw + IHdpdGggYW1iaWd1b3VzIGdyYW1tYXIgdGhhdCBvdXIgY29tcGlsZXIgd2ls + bCBiZSB2ZXJ5IGNvbmZ1c2VkwqBieS48L3A+PGgzPkEgdG9rZW4gb2YgbXkg + YWZmZWN0aW9uIChmb3IgbXnCoHBhcnNlcik8L2gzPjxwPklmIGFtYmlndWl0 + eSBpcyB0aGUgcm9vdCBvZiBhbGwgcGFyc2UgdHJlZSBldmlsLCB0aGVuIGNs + YXJpdHkgaXMgY2xlYXJseSB0aGUgcHJlZmVycmVkIG1vZGUgb2Ygb3BlcmF0 + aW9uLiBTdXJlLCB3ZSBjYW4gYWRkIGRpc2FtYmlndWF0aW5nIHJ1bGVzIHRv + IGF2b2lkIGFtYmlndW91cyBzaXR1YXRpb25zIHRoYXTigJlsbCBjYXVzZSBv + dXIgcG9vciBsaXR0bGUgY29tcHV0ZXIgdG8gYmUgc3R1bXBlZCB3aGVuIGl0 + IHJlYWRzIG91ciBjb2RlLCBidXQgd2UgYWN0dWFsbHkgZG8gYSB3aG9sZSBs + b3QgbW9yZSB0aGFuIHRoYXQsIHRvby4gT3IgcmF0aGVyLCBpdCBpcyB0aGUg + cHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHRoYXQgd2UgdXNlIHRoYXQgZG8gdGhl + IHJlYWwgaGVhdnnCoGxpZnRpbmchPC9wPjxwPkxldCBtZSBleHBsYWluLiBX + ZSBjYW4gdGhpbmsgb2YgaXQgdGhpcyB3YXk6IG9uZSBvZiB0aGUgd2F5cyB0 + aGF0IHdlIGNhbiBhZGQgY2xhcml0eSB0byBhIG1hdGhlbWF0aWNhbCBleHBy + ZXNzaW9uIGlzIHRocm91Z2ggcGFyZW50aGVzaXMuIEluIGZhY3QsIHRoYXTi + gJlzIHdoYXQgbW9zdCBvZiB1cyBwcm9iYWJseSB3b3VsZCBkbyBmb3IgdGhl + IGV4cHJlc3Npb24gd2Ugd2VyZSBkZWFsaW5nIHdpdGggZWFybGllcjogNSAr + IDEgeCAxMi4gV2UgcHJvYmFibHkgd291bGQgaGF2ZSByZWFkIHRoYXQgZXhw + cmVzc2lvbiBhbmQsIHJlY2FsbGluZyA8YSBocmVmPSJodHRwOi8vd3d3LnB1 + cnBsZW1hdGguY29tL21vZHVsZXMvb3JkZXJvcHMuaHRtIj50aGUgb3JkZXIg + b2Ygb3BlcmF0aW9uczwvYT4gd2UgbGVhcm5lZCBpbiBzY2hvb2wsIHdlIHdv + dWxkIGhhdmUgcmV3cml0dGVuIGl0IGluIG91ciBoZWFkcyBhczogNSArICgx + IHggMTIpLiBUaGUgcGFyZW50aGVzaXMgKCkgaGVscGVkIHVzIGdhaW4gY2xh + cml0eSBhYm91dCB0aGUgZXhwcmVzc2lvbiBpdHNlbGYsIGFuZCB0aGUgdHdv + IGV4cHJlc3Npb25zIHRoYXQgYXJlIGluaGVyZW50bHkgPGVtPndpdGhpbjwv + ZW0+IGl0LiBUaG9zZSB0d28gc3ltYm9scyBhcmUgcmVjb2duaXphYmxlIHRv + IHVzLCBhbmQgaWYgd2Ugd2VyZSBwdXR0aW5nIHRoZW0gaW4gb3VyIHBhcnNl + IHRyZWUsIHRoZXkgd291bGRu4oCZdCBoYXZlIGFueSBjaGlsZHJlbiBub2Rl + cyBiZWNhdXNlIHRoZXkgY2Fu4oCZdCBiZSBicm9rZW4gZG93biBhbnnCoGZ1 + cnRoZXIuPC9wPjxwPlRoZXNlIGFyZSB3aGF0IHdlIHJlZmVyIHRvIGFzIDxz + dHJvbmc+PGVtPnRlcm1pbmFsczwvZW0+PC9zdHJvbmc+LCB3aGljaCBhcmUg + YWxzbyBjb21tb25seSBrbm93biBhcyA8c3Ryb25nPjxlbT50b2tlbnM8L2Vt + Pjwvc3Ryb25nPi4gVGhleSBhcmUgY3J1Y2lhbCB0byBhbGwgcHJvZ3JhbW1p + bmcgbGFuZ3VhZ2VzLCBiZWNhdXNlIHRoZXkgaGVscCB1cyB1bmRlcnN0YW5k + IGhvdyBwYXJ0cyBvZiBhbiBleHByZXNzaW9uIHJlbGF0ZSB0byBvbmUgYW5v + dGhlciwgYW5kIHRoZSBzeW50YWN0aWMgcmVsYXRpb25zaGlwcyBiZXR3ZWVu + IGluZGl2aWR1YWwgZWxlbWVudHMuIFNvbWUgY29tbW9uIHRva2VucyBpbiBw + cm9ncmFtbWluZyBpbmNsdWRlIHRoZSBvcGVyYXRpb24gc2lnbnMgKCssIC0s + IHgsIC8pLCBwYXJlbnRoZXNpcyAoKCkpLCBhbmQgcmVzZXJ2ZWQgY29uZGl0 + aW9uYWwgd29yZHMgKGlmLCB0aGVuLCBlbHNlLCBlbmQpLiBTb21lIHRva2Vu + cyBhcmUgdXNlZCB0byBoZWxwIGNsYXJpZnkgZXhwcmVzc2lvbnMgYmVjYXVz + ZSB0aGV5IGNhbiBzcGVjaWZ5IGhvdyBkaWZmZXJlbnQgZWxlbWVudHMgcmVs + YXRlIHRvIG9uZcKgYW5vdGhlci48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpvdTN1ZlRkMTVscmsxS0NuZklfRDNRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + VGVybWluYWwgc3ltYm9scyB2ZXJzdXMgbm9uLXRlcm1pbmFsczwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5TbyB3aGF0IGFyZSBhbGwgdGhlIG90aGVyIHRo + aW5ncyBpbiBvdXIgcGFyc2UgdHJlZT8gV2UgY2xlYXJseSBoYXZlIG1vcmUg + dGhhbiBqdXN0IGlmJiMzOTtzIGFuZCArIHNpZ25zIGluIG91ciBjb2RlISBX + ZWxsLCB3ZSBhbHNvIHVzdWFsbHkgaGF2ZSB0byBkZWFsIHdpdGggc2V0cyBv + ZiA8c3Ryb25nPjxlbT5ub24tdGVybWluYWxzPC9lbT48L3N0cm9uZz4sIHdo + aWNoIGFyZSBleHByZXNzaW9ucywgdGVybXMsIGFuZCBmYWN0b3JzIHRoYXQg + Y2FuIHBvdGVudGlhbGx5IGJlIGJyb2tlbiBkb3duIGZ1cnRoZXIuIFRoZXNl + IGFyZSB0aGUgcGhyYXNlcy9pZGVhcyB0aGF0IGNvbnRhaW4gb3RoZXIgZXhw + cmVzc2lvbnMgd2l0aGluIHRoZW0sIHN1Y2ggYXMgdGhlIGV4cHJlc3Npb24g + KDggKyAxKSAvwqAzLjwvcD48cD5Cb3RoIHRlcm1pbmFscyBhbmQgbm9uLXRl + cm1pbmFscyBoYXZlIGEgc3BlY2lmaWMgcmVsYXRpb25zaGlwIHRvIHdoZXJl + IHRoZXkgYXBwZWFyIGluIGEgcGFyc2UgdHJlZS4gQXMgdGhlaXIgbmFtZSBt + aWdodCBzdWdnZXN0LCBhIDxlbT50ZXJtaW5hbDwvZW0+IHN5bWJvbCB3aWxs + IGFsd2F5cyBlbmQgdXAgYXMgdGhlIGxlYXZlcyBvZiBhIHBhcnNlIHRyZWU7 + IHRoaXMgbWVhbnMgdGhhdCBub3Qgb25seSBhcmUgb3BlcmF0b3JzLCBwYXJl + bnRoZXNpcywgYW5kIHJlc2VydmVkIGNvbmRpdGlvbmFscyDigJx0ZXJtaW5h + bHPigJ0sIGJ1dCBzbyBhcmUgYWxsIHRoZSBmYWN0b3IgdmFsdWVzIHRoYXQg + cmVwcmVzZW50IHRoZSBzdHJpbmcsIG51bWJlciwgb3IgY29uY2VwdCB0aGF0 + IGlzIGF0IGV2ZXJ5IGxlYWYgbm9kZS4gQW55dGhpbmcgdGhhdCBpcyBicm9r + ZW4gZG93biBpbnRvIGl0cyBzbWFsbGVzdCBwb3NzaWJsZSBwaWVjZSBpcyBl + ZmZlY3RpdmVseSBhbHdheXMgZ29pbmcgdG8gYmUgYSDigJx0ZXJtaW5hbOKA + nS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp4RE4yTlRITms5SXdXSUhM + SlAxYVl3LmpwZWciIC8+PGZpZ2NhcHRpb24+SWRlbnRpZnlpbmcgdGhlIHVu + aXF1ZSBwYXJ0cyBvZiBhIHN5bnRheMKgdHJlZS48L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+T24gdGhlIGZsaXAgc2lkZSwgdGhlIGludGVyaW9yIG5vZGVz + IG9mIGEgcGFyc2UgdHJlZeKAiuKAlOKAinRoZSBub24tbGVhZiBub2RlcyB0 + aGF0IGFyZSBwYXJlbnQgbm9kZXPigIrigJTigIphcmUgdGhlIDxlbT5ub24t + dGVybWluYWwgPC9lbT5zeW1ib2xzLCBhbmQgdGhleeKAmXJlIHRoZSBvbmVz + IHRoYXQgcmVwcmVzZW50IHRoZSBhcHBsaWNhaXRvbiBvZiB0aGUgcHJvZ3Jh + bW1pbmcgbGFuZ3VhZ2XigJlzIGdyYW1tYXLCoHJ1bGVzLjwvcD48cD5BIHBh + cnNlIHRyZWUgYmVjb21lcyBhIGxvdCBlYXNpZXIgdG8gdW5kZXJzdGFuZCwg + dmlzdWFsaXplLCBhbmQgaWRlbnRpZnkgb25jZSB3ZSBjYW4gd3JhcCBvdXIg + aGVhZHMgYXJvdW5kIHRoZSBmYWN0IHRoYXQgaXQgaXMgbm90aGluZyBtb3Jl + IHRoYW4gYSByZXByZXNlbnRhdGlvbiBvZiBvdXIgcHJvZ3JhbSwgYW5kIGFs + bCBvZiB0aGUgc3ltYm9scywgY29uY2VwdHMsIGFuZCBleHByZXNzaW9ucyB3 + aXRoaW7CoGl0LjwvcD48YmxvY2txdW90ZT5CdXQgd2hhdCBpcyB0aGUgdmFs + dWUgb2YgYSBwYXJzZSB0cmVlLCBhbnl3YXlzPyBXZSBkb27igJl0IHRoaW5r + IGFib3V0IGl0IGFzIHByb2dyYW1tZXJzLCBidXQgaXQgbXVzdCBleGlzdCBm + b3IgYSByZWFzb24swqByaWdodD88L2Jsb2NrcXVvdGU+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpiZXBGcno2ZnVMT0pxSXZSeFZubnlRLmpwZWciIC8+PGZp + Z2NhcHRpb24+VW5kZXJzdGFuZGluZyB0aGUgcm9sZSBvZiB0aGXCoHBhcnNl + cjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZWxsLCBhcyBpdCB0dXJucyBv + dXQsIHRoZSB0aGluZyB0aGF0IGNhcmVzIGFib3V0IHRoZSBwYXJzZSB0cmVl + IHRoZSBtb3N0IGlzIHRoZSA8c3Ryb25nPjxlbT5wYXJzZXI8L2VtPjwvc3Ry + b25nPiwgd2hpY2ggaXMgYSBwYXJ0IG9mIGEgY29tcGxpZXIgdGhhdCBoYW5k + bGVzIHRoZSBwcm9jZXNzIG9mIDxlbT5wYXJzaW5nPC9lbT4gYWxsIG9mIHRo + ZSBjb2RlIHRoYXQgd2XCoHdyaXRlLjwvcD48cD5UaGUgcHJvY2VzcyBvZiA8 + c3Ryb25nPjxlbT5wYXJzaW5nIDwvZW0+PC9zdHJvbmc+aXMgcmVhbGx5IGp1 + c3QgdGFraW5nIHNvbWUgaW5wdXQgYW5kIGJ1aWxkaW5nIGEgcGFyc2UgdHJl + ZSBvdXQgb2YgaXQuIFRoYXQgaW5wdXQgY291bGQgYmUgbWFueSBkaWZmZXJl + bnQgdGhpbmdzLCBsaWtlIGEgc3RyaW5nLCBzZW50ZW5jZSwgZXhwcmVzc2lv + biwgb3IgZXZlbiBhbiBlbnRpcmXCoHByb2dyYW0uPC9wPjxwPlJlZ2FyZGxl + c3Mgb2Ygd2hhdCBpbnB1dCB3ZSBnaXZlIGl0LCBvdXIgcGFyc2VyIHdpbGwg + cGFyc2UgdGhhdCBpbnB1dCBpbnRvIGdyYW1tYXRpY2FsIHBocmFzZXMgYW5k + IGJ1aWxkaW5nIGEgcGFyc2UgdHJlZSBvdXQgb2YgaXQuIFRoZSBwYXJzZXIg + cmVhbGx5IGhhcyB0d28gbWFpbiByb2xlcyBpbiB0aGUgY29udGV4dCBvZiBv + dXIgY29tcHV0ZXIgYW5kIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzOjwvcD48 + b2w+PGxpPldoZW4gZ2l2ZW4gYSB2YWxpZCBzZXF1ZW5jZSBvZiB0b2tlbnMs + IGl0IG11c3QgYmUgYWJsZSB0byBnZW5lcmF0ZSBhIGNvcnJlc3BvbmRpbmcg + cGFyc2UgdHJlZSwgZm9sbG93aW5nIHRoZSBzeW50YXggb2YgdGhlIGxhbmd1 + YWdlLjwvbGk+PGxpPldoZW4gZ2l2ZW4gYW4gaW52YWxpZCBzZXF1ZW5jZSBv + ZiB0b2tlbnMsIGl0IHNob3VsZCBiZSBhYmxlIHRvIGRldGVjdCB0aGUgc3lu + dGF4IGVycm9yIGFuZCBpbmZvcm0gdGhlIHByb2dyYW1tZXIgd2hvIHdyb3Rl + IHRoZSBjb2RlIG9mIHRoZSBwcm9ibGVtIGluIHRoZWlywqBjb2RlLjwvbGk+ + PC9vbD48cD5BbmQgdGhhdOKAmXMgcmVhbGx5IGl0ISBJdCBtaWdodCBzb3Vu + ZCByZWFsbHkgc2ltcGxlLCBidXQgaWYgd2Ugc3RhcnQgY29uc2lkZXJpbmcg + aG93IG1hc3NpdmUgYW5kIGNvbXBsZXggc29tZSBwcm9ncmFtcyBjYW4gYmUs + IHdl4oCZbGwgcXVpY2tseSBzdGFydCB0byByZWFsaXplIGhvdyB3ZWxsLWRl + ZmluZWQgdGhpbmdzIG5lZWQgdG8gYmUgaW4gb3JkZXIgZm9yIHRoZSBwYXJz + ZXIgdG8gYWN0dWFsbHkgZnVsZmlsbCB0aGVzZSB0d28gc2VlbWluZ2x5IGVh + c3nCoHJvbGVzLjwvcD48cD5Gb3IgZXhhbXBsZSwgZXZlbiBhIHNpbXBsZSBw + YXJzZXIgbmVlZHMgdG8gZG8gYSBsb3QgaW4gb3JkZXIgdG8gcHJvY2VzcyB0 + aGUgc3ludGF4IG9mIGFuIGV4cHJlc3Npb24gbGlrZSAxICsgMiArIDMgeMKg + NC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpCR1QzWFgyUTNzSVhlZC1D + WDRydVFnLmpwZWciIC8+PGZpZ2NhcHRpb24+UmVhZGluZyBsaWtlIGEgcGFy + c2VyIHdvdWxkwqByZWFkLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48dWw+PGxp + PkZpcnN0LCBpdCBuZWVkcyB0byBidWlsZCBhIHBhcnNlIHRyZWUgb3V0IG9m + IHRoaXMgZXhwcmVzc2lvbi4gVGhlIGlucHV0IHN0cmluZyB0aGF0IHRoZSBw + YXJzZXIgcmVjaWV2ZXMgbWlnaHQgbm90IHNob3cgYW55IGFzc29jaWF0aW9u + IGJldHdlZW4gb3BlcmF0aW9ucywgYnV0IHRoZSBwYXJzZXIgbmVlZHMgdG8g + bWFrZSBhIHBhcnNlIHRyZWUgdGhhdMKgZG9lcy48L2xpPjxsaT5Ib3dldmVy + LCBpbiBvcmRlciB0byBkbyB0aGlzLCBpdCBuZWVkcyB0byBrbm93IHRoZSBz + eW50YXggb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGdyYW1tYXIgcnVsZXMg + dG/CoGZvbGxvdy48L2xpPjxsaT5PbmNlIGl0IGNhbiBhY3R1YWxseSBjcmVh + dGUgYSBzaW5nbGUgcGFyc2UgdHJlZSAod2l0aCBubyBhbWJpZ3VpdHkpLCBp + dCBuZWVkcyB0byBiZSBhYmxlIHRvIHB1bGwgb3V0IHRoZSB0b2tlbnMgYW5k + IG5vbi10ZXJtaW5hbCBzeW1ib2xzIGFuZCBhcnJhbmdlIHRoZW0gc28gdGhh + dCB0aGUgcGFyc2UgdHJlZeKAmXMgaGVpcmFyY2h5IGlzwqBjb3JyZWN0Ljwv + bGk+PGxpPkZpbmFsbHksIHRoZSBwYXJzZXIgbmVlZHMgdG8gZW5zdXJlIHRo + YXQsIHdoZW4gdGhpcyB0cmVlIGlzIGV2YWx1YXRlZCwgaXQgd2lsbCBiZSBl + dmFsdWF0ZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB3aXRoIG9wZXJhdG9ycyBv + ZiB0aGUgc2FtZSBwcmVjZWRlbmNlLjwvbGk+PGxpPkJ1dCB3YWl0ISBJdCBh + bHNvIG5lZWRzIHRvIG1ha2Ugc3VyZSB0aGF0LCB3aGVuIHRoaXMgdHJlZSBp + cyB0cmF2ZXJzZWQgdXNpbmcgdGhlIGlub3JkZXIgdHJhdmVyc2FsIG1ldGhv + ZCBmcm9tIHRoZSBib3R0b20sIG5vdCBhIHNpbmdsZSBzeW50YXggZXJyb3Ig + ZXZlcsKgb2NjdXJzITwvbGk+PGxpPk9mIGNvdXJzZSwgaWYgaXQgPGVtPmRv + ZXM8L2VtPiBicmVhaywgdGhlIHBhcnNlciBuZWVkcyB0byBsb29rIGF0IHRo + ZSBpbnB1dCwgZmlndXJlIG91dCB3aGVyZSBpdCB3aWxsIGJyZWFrLCBhbmQg + dGhlbiB0ZWxsIHRoZSBwcm9ncmFtbWVyIGFib3V0wqBpdC48L2xpPjwvdWw+ + PHA+SWYgdGhpcyBmZWVscyBsaWtlIGFuIGF3ZnVsIGxvdCBvZiB3b3JrLCB0 + aGF04oCZcyBiZWNhdXNlIGl0IGlzLiBCdXQgZG9u4oCZdCB3b3JyeSB0b28g + bXVjaCBhYm91dCBkb2luZyBhbGwgb2YgaXQsIGJlY2F1c2UgdGhhdOKAmXMg + dGhlIHBhcnNlciBqb2IsIGFuZCBtb3N0IG9mIGl0IGlzIGFic3RyYWN0ZWQg + YXdheS4gTHVja2lseSwgdGhlIHBhcnNlciBoYXMgc29tZSBoZWxwIGZyb20g + b3RoZXIgcGFydHMgb2YgdGhlIGNvbXBpbGVyLiBNb3JlIG9uIHRoYXQgbmV4 + dMKgd2VlayE8L3A+PGgzPlJlc291cmNlczwvaDM+PHA+THVja3kgZm9yIHVz + LCBjb21waWxlciBkZXNpZ24gaXMgc29tZXRoaW5nIHRoYXQgaXMgd2VsbC10 + YXVnaHQgaW4gYWxtb3N0IGV2ZXJ5IGNvbXB1dGVyIHNjaWVuY2UgY3Vycmlj + dWx1bSwgYW5kIHRoZXJlIGFyZSBhIGRlY2VudCBudW1iZXIgb2Ygc29saWQg + cmVzb3VyY2VzIG91dCB0aGVyZSB0byBoZWxwIHVzIHVuZGVyc3RhbmQgdGhl + IGRpZmZlcmVudCBwYXJ0cyBvZiBhIGNvbXBpbGVyLCBpbmNsdWRpbmcgYSBw + YXJzZXIgYW5kIHRoZSBwYXJzZSB0cmVlLiBIb3dldmVyLCBhcyBpcyB0aGUg + Y2FzZSB3aXRoIG1vc3QgQ1MgY29udGVudCwgYSBsb3Qgb2YgaXQgY2FuIGJl + IGhhcmQgdG8gZGlnZXN04oCK4oCU4oCKcGFydGljdWxhcmx5IGlmIHlvdeKA + mXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0cyBvciB0aGUgamFy + Z29uIHRoYXTigJlzIHVzZWQuIEJlbG93IGFyZSBzb21lIG1vcmUgYmVnaW5u + ZXItZnJpZW5kbHkgcmVzb3VyY2VzIHRoYXQgc3RpbGwgZG8gYSBnb29kIGpv + YiBvZiBleHBsYWluaW5nIHBhcnNlIHRyZWVzIGlmIHlvdSBmaW5kIHlvdXJz + ZWxmIHdhbnRpbmcgdG8gbGVhcm4gZXZlbsKgbW9yZS48L3A+PG9sPjxsaT48 + YSBocmVmPSJodHRwOi8vaW50ZXJhY3RpdmVweXRob24ub3JnL3J1bmVzdG9u + ZS9zdGF0aWMvcHl0aG9uZHMvVHJlZXMvUGFyc2VUcmVlLmh0bWwiPlBhcnNl + IFRyZWU8L2E+LCBJbnRlcmFjdGl2ZSBQeXRob248L2xpPjxsaT48YSBocmVm + PSJodHRwOi8vd3d3LmNzLmNvcm5lbGwuZWR1L2NvdXJzZXMvY3MyMTEwLzIw + MTRmYS9MMjEtUGFyc2luZ1RyZWVzL2NzMjExMGZhMTRQYXJzaW5nLnBkZiI+ + R3JhbW1hcnMsIFBhcnNpbmcsIFRyZWUgVHJhdmVyc2FsczwvYT4sIFByb2Zl + c3NvcnMgRGF2aWQgR3JpZXMgJmFtcDsgRG91Z8KgSmFtZXM8L2xpPjxsaT48 + YSBocmVmPSJodHRwczovL3J1c2xhbnNwaXZhay5jb20vbHNiYXNpLXBhcnQ3 + LyI+TGV04oCZcyBCdWlsZCBBIFNpbXBsZSBJbnRlcnByZXRlciwgUGFydCA3 + PC9hPiwgUnVzbGFuwqBTcGl2YWs8L2xpPjxsaT48YSBocmVmPSJodHRwczov + L3RvbWFzc2V0dGkubWUvZ3VpZGUtcGFyc2luZy1hbGdvcml0aG1zLXRlcm1p + bm9sb2d5LyNwYXJzZXIiPkEgR3VpZGUgdG8gUGFyc2luZzogQWxnb3JpdGht + cyBhbmQgVGVybWlub2xvZ3k8L2E+LCBHYWJyaWVsZSBUb21hc3NldHRpPC9s + aT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5jc2UuY2hhbG1lcnMuc2UvZWR1 + L3llYXIvMjAxMS9jb3Vyc2UvVElOMzIxL2xlY3R1cmVzL3Byb2dsYW5nLTAy + Lmh0bWwiPkxlY3R1cmUgMjogQWJzdHJhY3QgYW5kIENvbmNyZXRlIFN5bnRh + eDwvYT4sIEFhcm5lwqBSYW50YTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9m + bGludC5jcy55YWxlLmVkdS9jczQyMS9sZWN0dXJlTm90ZXMvYzA0LnBkZiI+ + Q29tcGlsZXJzIGFuZCBJbnRlcnByZXRlcnM8L2E+LCBQcm9mZXNzb3IgWmhv + bmfCoFNoYW88L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNzLm1hbi5h + Yy51ay9+cGpqL2ZhcnJlbGwvY29tcDQuaHRtbCI+Q29tcGlsZXIgQmFzaWNz + 4oCK4oCU4oCKVGhlIFBhcnNlcjwvYT4sIEphbWVzIEFsYW7CoEZhcnJlbGw8 + L2xpPjwvb2w+PGltZyBzcmM9Imh0dHBzOi8vbWVkaXVtLmNvbS9fL3N0YXQ/ + ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJyZXJTb3VyY2U9ZnVsbF9y + c3MmcG9zdElkPWVjOWRhZWRhN2RhZCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+ + PGhyPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZ3Jh + bW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10cmVlcy1l + YzlkYWVkYTdkYWQiPkdyYW1tYXRpY2FsbHkgUm9vdGluZyBPbmVzZWxmIFdp + dGggUGFyc2UgVHJlZXM8L2E+IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBp + biA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8 + L2E+IG9uIE1lZGl1bSwgd2hlcmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRo + ZSBjb252ZXJzYXRpb24gYnkgaGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5n + IHRvIHRoaXMgc3RvcnkuPC9wPl1dPjwvY29udGVudDplbmNvZGVkPgogICAg + ICAgIDwvaXRlbT4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxl + PjwhW0NEQVRBW1NwZWVkaW5nIFVwIFRoZSBUcmF2ZWxpbmcgU2FsZXNtYW4g + VXNpbmcgRHluYW1pYyBQcm9ncmFtbWluZ11dPjwvdGl0bGU+CiAgICAgICAg + ICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mvc3BlZWRpbmct + dXAtdGhlLXRyYXZlbGluZy1zYWxlc21hbi11c2luZy1keW5hbWljLXByb2dy + YW1taW5nLWI3NmQ3NTUyZThkZD9zb3VyY2U9cnNzLThmNTU5OTNjOTczZS0t + LS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvYjc2ZDc1NTJlOGRkPC9ndWlk + PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbcHJvZ3JhbW1pbmdd + XT48L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFb + dGhlb3J5LWluLXByYWN0aWNlXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAg + PGNhdGVnb3J5PjwhW0NEQVRBW2R5bmFtaWMtcHJvZ3JhbW1pbmddXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0 + ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29y + eT48IVtDREFUQVthbGdvcml0aG1zXV0+PC9jYXRlZ29yeT4KICAgICAgICAg + ICAgPGRjOmNyZWF0b3I+PCFbQ0RBVEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6 + Y3JlYXRvcj4KICAgICAgICAgICAgPHB1YkRhdGU+TW9uLCAxMyBOb3YgMjAx + NyAxNzo0NDowMSBHTVQ8L3B1YkRhdGU+CiAgICAgICAgICAgIDxhdG9tOnVw + ZGF0ZWQ+MjAxNy0xMS0xM1QxNzo0NDowMS40MzdaPC9hdG9tOnVwZGF0ZWQ+ + CiAgICAgICAgICAgIDxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSp6MGJoMU5wUU91ZUVXMDBNYUpNajdnLmpwZWci + IC8+PGZpZ2NhcHRpb24+VXNpbmcgZHluYW1pYyBwcm9ncmFtbWluZyB0byBz + cGVlZCB1cCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuwqBwcm9ibGVtITwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5BIGxhcmdlIHBhcnQgb2Ygd2hhdCBtYWtl + cyBjb21wdXRlciBzY2llbmNlIGhhcmQgaXMgdGhhdCBpdCBjYW4gYmUgaGFy + ZCB0byBrbm93IHdoZXJlIHRvIHN0YXJ0IHdoZW4gaXQgY29tZXMgdG8gc29s + dmluZyBhIGRpZmZpY3VsdCwgc2VlbWluZ2x5IHVuc3VybW91bnRhYmxlIHBy + b2JsZW0uPC9wPjxwPk9uZSBvZiB0aGUgcmVhc29ucyB0aGF0IHNvbWUgdGhp + bmdzIGNhbiBzZWVtIHNvIHRyaWNreSBpcyB0aGF0IHRoZXnigJlyZSBtdWx0 + aXN0ZXAgcHJvYmxlbXMsIGFuZCB0aGV5IGludm9sdmUgdXMgZmlyc3QgdW5k + ZXJzdGFuZGluZyB0aGUgcHJvYmxlbSwgdGhlbiBjb25zaWRlcmluZyB0aGUg + c2ltcGxlc3Qgc29sdXRpb24sIHRoZW4gaXRlcmF0aW5nIHVwb24gdGhhdCBz + b2x1dGlvbiB0byBtYWtlIGl0IGJldHRlciwgbW9yZSBlZmZpY2llbnQsIGFu + ZCBtb3JlIGVsZWdhbnQuIEkgb2Z0ZW4gdGhpbmsgb2YgdGhlIHBocmFzZSB0 + aGF0IGhhcyBiZWVuIDxhIGhyZWY9Imh0dHA6Ly93aWtpLmMyLmNvbS8/TWFr + ZUl0V29ya01ha2VJdFJpZ2h0TWFrZUl0RmFzdCI+YXR0cmlidXRlZCB0bzwv + YT4gS2VudCBCZWNrIHdobyBzYWlkLCA8ZW0+4oCcTWFrZSBpdCB3b3JrLCBt + YWtlIGl0IHJpZ2h0LCBtYWtlIGl0wqBmYXN0LuKAnTwvZW0+PC9wPjxwPlNv + bWUgb2YgdGhlIG1vc3QgY29tcGxleCBwcm9ibGVtcyBpbiBjb21wdXRlciBz + Y2llbmNlIGFyZSBjb21wbGV4IGZvciA8ZW0+dGhpczwvZW0+IHZlcnkgcmVh + c29uOiB0aGV5IGludm9sdmUgdGhlc2UgdGhyZWUgZGlzdGluY3QgcGFydHMs + IGFuZCBpdCBjYW4gZmVlbCBzdXBlciBvdmVyd2hlbG1pbmcgaWYgd2UgZG9u + 4oCZdCBjb25zaWRlciB0aGVzZSB0aHJlZSBzdGVwcyBhcyB1bmlxdWUgcG9p + bnRzIGluIG91ciBwcm9ibGVtLXNvbHZpbmcgc3RyYXRlZ3kuIFRoZSBjb21w + bGV4IHByb2JsZW1zIGFyZSB0aGUgb25lcyB3aGVyZSB3ZSBhcmUgZm9yY2Vk + IHRvIHN0ZXAgYmFjaywgYW5kIHRyeSB0byBicmVhayB1cCBvdXIgcHJvYmxl + bS1zb2x2aW5nIHByb2Nlc3MgaW50byBhIHNlZ21lbnRlZCBwcm9jZXNzLCBy + YXRoZXIgdGhhbiB0cnlpbmcgdG8gbWFnaWNhbGx5IGZpbmQgdGhlIHBlcmZl + Y3Qgc29sdXRpb24gaW4gb25lIGdvLiBUbyBiZSBob25lc3QsIGZpbmRpbmcg + dGhlIHBlcmZlY3Qgc29sdXRpb24gaW4gb25lIGdvIDxlbT5yYXJlbHk8L2Vt + PiBhY3R1YWxseSBldmVywqBoYXBwZW5zLjwvcD48cD5XZeKAmXZlIGNvdmVy + ZWQgc29tZSB0cmlja3kgdG9waWNzIHRocm91Z2hvdXQgdGhlIGNvdXJzZSBv + ZiB0aGlzIHNlcmllcywgYnV0IG9uZSBvZiB0aGUgbW9yZSBjb21wbGljYXRl + ZCB0b3BpY3MgcHJlc2VudGVkIGl0c2VsZiBtb3JlIHJlY2VudGx5IHdoZW4g + PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90aGUtdHJpYWxz + LWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGluZy1zYWxlc21hbi01 + NjA0OGQ2NzA5ZCI+d2UgZW5jb3VudGVyZWQ8L2E+IHRoZSA8c3Ryb25nPnRy + YXZlbGluZyBzYWxlc21hbiBwcm9ibGVtPC9zdHJvbmc+ICg8ZW0+VFNQPC9l + bT4pLiBTaW5jZSB3ZSBoYXZlIGFscmVhZHkgdGFrZW4gdGhlIGZpcnN0IHN0 + ZXAgb2YgdHJ5aW5nIHRvIGZpbmQgYSBzb2x1dGlvbiB0byBUU1AgdGhhdCBq + dXN0IHdvcmtzLCB3ZSBjYW4gbm93IGNvbmNlcm4gb3Vyc2VsdmVzIHdpdGgg + dGhlIG5leHQgc3RlcHM6IG1ha2luZyBpdCByaWdodCAob3IgbW9yZSBlbGVn + YW50KSwgYW5kIGhvcGVmdWxseSBhIGxpdHRsZSBiaXTCoGZhc3Rlci48L3A+ + PGgzPk5vIEZ1biBGYWN0b3JpYWxzPC9oMz48cD5XaGVuIHdlIGZpcnN0IDxh + IGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvdGhlLXRyaWFscy1h + bmQtdHJpYnVsYXRpb25zLW9mLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tNTYw + NDhkNjcwOWQiPnN0dW1ibGVkIHVwb248L2E+IHRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gcHJvYmxlbSwgd2Ugd2VyZSBkZWFsaW5nIHdpdGggYSBzYWxlc21h + biB3aG8gaGFkIGEgZmFpcmx5IGVhc3kgdGFzazogdG8gdmlzaXQgZm91ciBj + aXRpZXMgaW4gc29tZSBvcmRlciwgYXMgbG9uZyBhcyBoZSB2aXNpdGVkIGVh + Y2ggY2l0eSBvbmNlIGFuZCBlbmRlZCB1cCBhdCB0aGUgc2FtZSBjaXR5IHRo + YXQgaGUgc3RhcnRlZMKgaW4uPC9wPjxwPk5vdywgdGhlIHJlYXNvbiB0aGF0 + IHRoaXMgd2FzIGFuIOKAnGVhc3nigJ0gdGFzaywgc28gdG8gc3BlYWssIHdh + cyBzaW1wbHkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0IHZpc2l0aW5nIGZv + dXIgY2l0aWVzIGlzbuKAmXQgcmVhbGx5IGEgbG90IHRvIGRvLiBJbiBhbGdv + cml0aG1pYyB0ZXJtcywgd2Ugd2VyZSBhYmxlIHRvIHNvbHZlIHRoaXMgcHJv + YmxlbSBhbmQgZmluZCB0aGUgc2hvcnRlc3QgcGF0aCBmb3Igb3VyIHNhbGVz + bWFuIHVzaW5nIGEgYnJ1dGUtZm9yY2UgdGVjaG5pcXVlLCBjb21iaW5lZCB3 + aXRoIHJlY3Vyc2lvbi4gV2UgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2Vjcy90aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRy + YXZlbGluZy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+d2VyZSBhYmxlIHRvIGRl + dGVybWluZTwvYT4gdGhhdCB0aGUgYnJ1dGUtZm9yY2UgYXBwcm9hY2ggd2Fz + LCBieSBkZWZpbmlvbiwgYSBmYWN0b3JpYWwgYWxnb3JpdGhtLiBJbiBvdXIg + ZXhhbXBsZSwgd2UgZGV0ZXJtaW5lZCB0aGF0LCBmb3IgYSBzYWxlc21hbiB3 + aG8gbmVlZHMgdG8gdmlzaXQgZm91ciBjaXRpZXMgd291bGQgbWVhbiBtYWtp + bmcgMyEgb3Ig4oCcdGhyZWUgZmFjdG9yaWFs4oCdIGZ1bmN0aW9uIGNhbGxz + LCB3aGljaCBlcXVhbHPCoDYuPC9wPjxwPldlIGFsc28gc3RhcnRlZCByZWFs + aXppbmcgdGhhdCB0aGUgZmFjdG9yaWFsIHJ1bnRpbWUgb2YgdGhlIGJydXRl + LWZvcmNlIHRlY2huaXF1ZSBmb3Igc29sdmluZyBUU1Agd2FzIGdvaW5nIHRv + IGJlIHVuc2NhbGFibGUgb3ZlciB0aW1lLiBJbiBmYWN0LCB3ZSByZWFsaXpl + ZCB0aGF0IGl0IHdhcyBnb2luZyB0byBiZSB1bnNjYWxhYmxlIGFsbW9zdCA8 + ZW0+aW1tZWRpYXRlbHk8L2VtPiEgRm9yIGV4YW1wbGUsIHdoYXQgd291bGQg + aGFwcGVuIHdoZW4gb3VyIHRyYXZlbGluZyBzYWxlc21hbiBuZWVkZWQgdG8g + dmlzaXQgbm90IGp1c3QgPGVtPmZvdXI8L2VtPiBjaXRpZXMsIGJ1dCA8ZW0+ + Zml2ZTwvZW0+IGNpdGllcz8gV2hlbiB3ZSB3ZXJlIGRlYWxpbmcgd2l0aCBm + b3VyIGNpdGllcywgd2UgbWFkZSBzaXggcmVjdXJzaXZlIGNhbGxzLiBTbywg + YWRkaW5nIG9uZSBleHRyYSBjaXR5IHNob3VsZG7igJl0IGJlIHRvbyBkaWZm + aWN1bHQsIHJpZ2h0PyBBZnRlciBhbGwsIGl04oCZcyBqdXN0IDxlbT5vbmU8 + L2VtPsKgY2l0eS48L3A+PHA+V2VsbCwgbm90IGV4YWN0bHkuIEhlcmXigJlz + IGhvdyBvdXIgYWxnb3JpdGhtIHNjYWxlcyBmcm9tIGp1c3QgZm91ciBjaXRp + ZXMsIHRvwqBmaXZlOjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0 + cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnk5ZHF2 + cUhLWURvNkM0dTVwTFVtdHcuanBlZyIgLz48ZmlnY2FwdGlvbj5Ib3cgYSBm + YWN0b3JpYWwgYWxnb3JpdGhtIHNjYWxlcyBmcm9tIGFuIGlucHV0IG9mIDQg + ZWxlbWVudHMgdG8gNSBlbGVtZW50cy48L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+V2hlbiBvdXIgc2FsZXNtYW4gb25seSBoYWQgdG8gdmlzaXQgZm91ciBj + aXRpZXMsIHdlIG1hZGUgc2l4IHJlY3Vyc2l2ZSBjYWxscy4gQnV0IG5vdywg + d2UgaGF2ZSBsaXRlcmFsbHkgPGVtPnF1YWRydXBsZWQgPC9lbT5vdXIgdHJl + ZSBvZiDigJxwb3RlbnRpYWwgcGF0aHPigJ0sIHdoaWNoIHNlZW1zIHJlYWxs + eSwgcmVhbGx5LCA8ZW0+cmVhbGx5PC9lbT4gYmFkLiBTb2x2aW5nIFRTUCBm + b3IgZml2ZSBjaXRpZXMgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1ha2UgNCEg + b3IgZm91ciBmYWN0b3JpYWwgcmVjdXJzaXZlIGNhbGxzIHVzaW5nIHRoZSBi + cnV0ZS1mb3JjZSB0ZWNobmlxdWUuIEFzIGl0IHR1cm5zIG91dCwgNCEgZXF1 + YWxzIDI0LCB3aGljaCBtZWFucyB3ZSBoYXZlIHRvIG5vdyBtYWtlIDI0IHJl + Y3Vyc2l2ZSBjYWxscyBpbiBvcmRlciB0byBhY2NvbW9kYXRlIGp1c3Qgb25l + IGFkZGl0aW9uYWwgY2l0eSBpbiBvdXIgdHJhdmVsaW5nIHNhbGVzbWFu4oCZ + cyBtYXAuPC9wPjxwPklmIHdlIGNvbXBhcmUgdGhlIGlsbHVzdHJhdGVkIHZl + cnNpb24gb2YgdGhlIOKAnHRyZWXigJ0gb2YgcmVjdXJzaXZlIGZ1bmN0aW9u + IGNhbGxzIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy90aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGlu + Zy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+b3VyIHByZXZpb3VzIGV4YW1wbGUg + b2YgVFNQPC9hPiB0byB0aGUgb25lIHRoYXQgaXMgZHJhd24gYWJvdmUsIHdl + IHN0YXJ0IHRvIGdldCBhIHByZXR0eSBnb29kIGlkZWEgb2YganVzdCA8ZW0+ + aG93PC9lbT4gdW5zdXN0YWluYWJsZSBhIGZhY3RvcmlhbCBhbGdvcml0aG0g + cmVhbGx5wqBpcy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSppRW8yUWQz + QmhaVlZrVVpRYW9IdVJBLmpwZWciIC8+PGZpZ2NhcHRpb24+TyhuISkgcnVu + dGltZSBpcyB1bnN1c3RhaW5hYmxlLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5XZSBoYXZlIHNlZW4gcXVpdGUgYSBmZXcgZGlmZmVyZW50IGZvcm1zIG9m + IEJpZyBPIE5vdGF0aW9uIHRocm91Z2hvdXQgdGhpcyBzZXJpZXMsIGluY2x1 + ZGluZyB0aGUgZ29vZCBhbmQgdGhlIGJhZC4gU28sIHdoZXJlIGRvIGZhY3Rv + cmlhbCBhbGdvcml0aG1zIGZpdCBpbnRvIHRoaXMgbmFycmF0aXZlPzwvcD48 + YmxvY2txdW90ZT5JZiBjb25zdGFudCwgbG9nYXJpdGhtaWMsIGFuZCBsaW5l + YXIgdGltZSBhcmUgZ29vZCwgYW5kIHF1YWRyYXRpYyBhbmQgZXhwb25lbnRp + YWwgdGltZSBhcmUgYmFkLCB0aGVyZSBpcyBvbmx5IG9uZSB0aGluZyBsZWZ0 + IHRvIGV4cGxvcmU6IHRoZSB1Z2x5LiBGYWN0b3JpYWwgYWxnb3JpdGhtcyBh + cmUgZXhhY3RseSB0aGF0OiB0aGXCoHVnbHkuPC9ibG9ja3F1b3RlPjxwPkZv + ciBhbiBhbGdvcml0aG0gdGhhdCBydW5zIGluIDxzdHJvbmc+PGVtPmZhY3Rv + cmlhbDwvZW0+PC9zdHJvbmc+LCBvciA8c3Ryb25nPk8obiEpPC9zdHJvbmc+ + IHRpbWUsIGFueSBvcGVyYXRpb25zIHRoYXQgbmVlZCB0byBydW4gd2lsbCBl + bmQgdXAgdGFraW5nIG4hIG1vcmUgdGltZSBpbiByZWxhdGlvbiB0byB0aGUg + ZGF0YSB0aGF0IGlzIGJlaW5nIG9wZXJhdGVkIHVwb24sIG9yIHRoZSBpbnB1 + dCBkYXRhwqBzZXQuPC9wPjxwPk9rYXksIGJ1dCB3aGF0IGRvZXMgdGhpcyA8 + ZW0+YWN0dWFsbHk8L2VtPiBtZWFuPyBXZWxsLCBsZXTigJlzIGxvb2sgYXQg + aG93IGEgZmFjdG9yaWFsIGFsZ29yaXRobSBjb21wYXJlcyB0byBhbGwgdGhl + IG90aGVyIGZvcm1zIG9mIEJpZyBPIE5vdGF0aW9uIHRoYXQgd2XigJlyZSBh + bHJlYWR5IGZhbWlsaWFywqB3aXRoLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKnRYREFaelVyX0lpanNjMWtTVHR6eEEuanBlZyIgLz48ZmlnY2FwdGlv + bj5GYWN0b3JpYWwgdGltZSBpcyBzdXBlciBzbG93IGFuZCBpbmVmZmljaWVu + dCBhcyBpbnB1dCBzaXplwqBncm93czwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5XZeKAmWxsIG5vdGljZSBhbG1vc3QgaW1tZWRpYXRlbHkgdGhhdCBhbGdv + cml0aG1zIHRoYXQgZ3JvdyBpbiBmYWN0b3JpYWwgdGltZSBhcmUgc3VwZXIg + c2xvdyBhbmQgaW5lZmZjaWVudCBhcyBpbnB1dCBzaXplIGdyb3dzLiBGb3Ig + ZXhhbXBsZSwgd2XigJlsbCBzZWUgdGhhdCBldmVuIGEgc2xpZ2h0IGluY3Jl + YXNlIGluIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gYmUgb3BlcmF0ZWQg + dXBvbiBieSBhIGZhY3RvcmlhbCBhbGdvcml0aG0gY2F1c2VzIGl0IHRvIHNo + b290IHVwIGluIHRoZSBudW1iZXIgb2Ygb3BlcmF0aW9ucyByZXF1aXJlZCB0 + byBydW4uIElmIHdlIGNvbXBhcmUgdGhpcyB0byBsaW5lYXJpdGhtaWMsIGxp + bmVhciwgb3IgZXZlbiBqdXN0IDxlbT5xdWFkcmF0aWM8L2VtPiB0aW1lIGFs + Z29yaXRobXPigJQgd2hpY2ggYXJlIHN0aWxsIHByZXR0eSBiYWQgaW4gdGhl + aXIgb3duIHJpZ2h04oCK4oCU4oCKd2XigJlsbCBzZWUgdGhhdCBmYWN0b3Jp + YWwgYWxnb3JpdGhtcyBhcmUgb2JzZWNlbmVseSB0ZXJyaWJsZSBpbiBjb21w + YXJpc29uITwvcD48cD5BbGwgb2YgdGhpcyBpcyB0byBzYXk6IG91ciBmaXJz + dCBhcHByb2FjaCB0byBzb2x2aW5nIFRTUCB1c2luZyBicnV0ZS1mb3JjZSBy + ZWN1cnNpb24gaXMgcHJvYmFibHkgbm90IHRoZSBiZXN0IHNvbHV0aW9uLiBZ + ZXMsIGl0IHdvcmtzLCBidXQgaXTigJlzIHByb2JhYmx5IG5vdCBhcyDigJxy + aWdodOKAnSBhcyBpdCBjb3VsZCBiZTsgaXQgY291bGQgc3RhbmQgdG8gYmUg + aW1wcm92ZWQsIGFuZCBzdXJlbHkgY291bGQgYmUgbWFkZSBtb3JlIGVsZWdh + bnQuIEFuZCwgb2YgY291cnNlLCBpdCBpcyBub3QgZmFzdOKAiuKAlOKAimF0 + wqBhbGwhPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqZjc3TENEblV2eThh + cGNFdnBfSzFzQS5qcGVnIiAvPjxmaWdjYXB0aW9uPlVzaW5nIGJydXRlLWZv + cmNlIHRha2VzIGEgdG9wLWRvd24gYXBwcm9hY2ggdG8gc29sdmluZ8KgVFNQ + LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5TbywgaG93IGNhbiB3ZSBpbXBy + b3ZlIHVwb24gdGhpcyBmaXJzdCBhdHRlbXB0IHRoYXQgd2XCoG1hZGU/PC9w + PjxwPldlbGwsIGlmIHdlIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9w + LzQzZDI5ODMwYTYzMCI+dGhpbmsgYmFjayB0byBvdXIgZm9yYXk8L2E+IGlu + dG8gPHN0cm9uZz48ZW0+ZHluYW1pYyBwcm9ncmFtbWluZzwvZW0+PC9zdHJv + bmc+ICg8ZW0+RFA8L2VtPiksIHdl4oCZbGwgcmVtZW1iZXIgdGhhdCB0aGVy + ZSBpcyBtb3JlIHRoYW4gb25lIGFwcHJvYWNoIHdoZW4gaXQgY29tZXMgdG8g + c29sdmluZyBhIERQIHByb2JsZW0uIEluIG91ciBpbml0aWFsIHN0YWIgYXQg + dGhpcyBwcm9ibGVtLCB3ZSBhdHRlbXB0ZWQgdG8gc29sdmUgVFNQIHVzaW5n + IGEga2luZCBvZiA8c3Ryb25nPjxlbT50b3AgZG93biBhcHByb2FjaDwvZW0+ + PC9zdHJvbmc+OiB3ZSBzdGFydGVkIHdpdGggYSBsYXJnZSwgY29tcGxleCBw + cm9ibGVtLCBhbmQgYnJva2UgaXQgZG93biBpbnRvIHNtYWxsZXIgcGFydHMu + IFRoZW4sIHdoZW4gd2UgZ290IGRvd24gdG8gb3VyIGJhc2UgY2FzZSwgYW5k + IGV4cGFuZGVkIHRoZSBwcm9ibGVtIGRvd24gdG8gaXRzIHNtYWxsZXN0IHBv + c3NpYmxlIHBhcnRzLCB3ZSB1c2VkIHJlY3Vyc2lvbiB0byBidWlsZCB1cCBh + bGwgdGhlIHBvc3NpYmxlIHBhdGhzIHRoYXQgb3VyIHRyYXZlbGluZyBzYWxl + c21hbiBjb3VsZCB0YWtlLCB3aGljaCBhbGxvd2VkIHVzIHRvIGNob29zZSB0 + aGUgYmVzdCAodGhlIHNob3J0ZXN0KSBwZXJtdXRhdGlvbiBvZiBhbGwgdGhl + IHBhdGhzIHRoYXQgd2UgaGFkwqBmb3VuZC48L3A+PHA+SW4gdGhlIHByb2Nl + c3MsIHdlIGZpZ3VyZWQgb3V0IG9uZSB3YXkgdG8gc29sdmUgdGhlIHRyYXZl + bGluZyBzYWxlc21hbiBwcm9ibGVtLiBCdXQgd2hhdCBpZiB3ZSBhcHByb2Fj + aGVkIGl0IGEgZGlmZmVyZW50IG1hbm5lcj8gV2hhdCB3b3VsZCBoYXBwZW4g + aWYgd2UgdG9vayBvdXIgdG9wIGRvd24gYXBwcm9hY2ggYW5kIHR1cm5lZCBp + dCB1cHNpZGXCoGRvd24/PC9wPjxwPlRoZXJl4oCZcyBvbmx5IG9uZSB3YXkg + dG8gZmluZCBvdXTigIrigJTigIp3ZSBoYXZlIHRvIHRyeSBpdMKgb3V0ITwv + cD48aDM+VHVybmluZyBUU1Agb24gaXRzwqBoZWFkPC9oMz48cD5JZiB3ZSBs + b29rIGF0IG91ciB0b3AgZG93biBtZXRob2RvbG9neSA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL3RoZS10cmlhbHMtYW5kLXRyaWJ1bGF0 + aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNhbGVzbWFuLTU2MDQ4ZDY3MDlkIj5m + cm9tIGxhc3Qgd2VlazwvYT4sIHdl4oCZbGwgc2VlIHRoYXQgd2UgaGF2ZSBl + bnVtZXJhdGVkIHRocm91Z2ggYWxsIG9mIHRoZSBwZXJtdXRhdGlvbnMgb2Yg + cGF0aHPigIrigJTigIp0aGF0IGlzIHRvIHNheSwgd2UgaGF2ZSBicnV0ZS1m + b3JjZWQgb3VyIHdheSB0byBkZXRlcm1pbmUgZXZlcnkgc2luZ2xlIHJvdXRl + IHRoYXQgb3VyIHRyYXZlbGluZyBzYWxlc21hbiBjb3VsZMKgdGFrZS48L3A+ + PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0x + Lm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjNWN3MzVtQkZmZ3puX1Q5TE9oM3pB + LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGJydXRlLWZvcmNlIGFwcHJvYWNo + IHRvIHNvbHZpbmfCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhp + cyBtZXRob2RvbG9neSBpc27igJl0IHBhcnRpY3VsYXJseSBlbGVnYW50LCBp + cyBraW5kIG9mIG1lc3N5LCBhbmQsIGFzIHdlIGhhdmUgYWxyZWFkeSBkZXRl + cm1pbmVkLCB3aWxsIHNpbXBseSBuZXZlciBzY2FsZSBhcyBvdXIgaW5wdXQg + c2l6ZSBncm93cy4gQnV0IGlnbm9yaW5nIGFsbCBvZiB0aG9zZSBpc3N1ZXMg + Zm9yIGEgbW9tZW50LCBsZXTigJlzIGp1c3QgdGFrZSBhIGxvb2sgYXQgdGhp + cyDigJx0cmVl4oCdIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyBvbmNl + wqBhZ2Fpbi48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpBZk5tRzdQd21n + b3o1THBaV0JlaEhBLmpwZWciIC8+PGZpZ2NhcHRpb24+UmV0aGlua2luZyB0 + aGUgYnJ1dGUtZm9yY2UgYXBwcm9hY2ggYnkgaWRlbnRpZnlpbmcgdGhlIHNp + bXBsZXN0IHByb2JsZW0sIG9yIGZ1bmN0aW9uwqBjYWxsLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5PbiBzZWNvbmQgZ2xhbmNlLCB3ZeKAmWxsIG5vdGlj + ZSB0aGF0IHRoZXJlIGlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyBnb2luZyBv + biBoZXJlOiB3ZeKAmXJlIHN0YXJ0aW5nIHdpdGggdGhlIG1vcmUgY29tcGxl + eCBmdW5jdGlvbiBjYWxsIGluaXRpYWxseSwgYW5kIHRoZW4sIGZyb20gd2l0 + aGluIHRoYXQsIHdlIGFyZSBpbnZva2luZyB0aHJlZSByZWN1cnNpdmUgZnVu + Y3Rpb24gY2FsbHMgZnJvbSA8ZW0+d2l0aGluPC9lbT4gaXQuIEVhY2ggb2Yg + dGhvc2UgdGhyZWUgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNwaW5zIG9m + ZiB0d28gbW9yZSByZWN1cnNpdmUgY2FsbHMgb2YgaXRzIG93biwgd2hpY2gg + Y3JlYXRlcyB0aGUgdGhpcmQgbGV2ZWwgb2YgdGhpcyBmdW5jdGlvbiBjYWxs + IOKAnHRyZWXigJ0uIFRoaXMgaXMsIG9mIGNvdXJzZSwga2VlcGluZyBpbiB0 + dW5lIHdpdGggb3VyIHdvcmtpbmcgZGVmaW5pdGlvbiBvZiBhIDxlbT50b3Ag + ZG93bjwvZW0+IGFwcHJvYWNoOiBzdGFydGluZyB3aXRoIHRoZSBsYXJnZXN0 + IHByb2JsZW0gZmlyc3QsIGFuZCBicmVha2luZyBpdCBkb3duIGludG8gaXRz + IHNtYWxsZXN0IHBhcnRzLiBCdXQsIG5vdyB0aGF0IHdlIGNhbiBzZWUgdGhl + IHNtYWxsZXN0IHBhcnRzIG1vcmUgb2J2aW91c2x5LCB3ZSBjYW4gY2hhbmdl + IG91ciBhcHByb2FjaCBmcm9tIGEgdG9wIGRvd24gbWV0aG9kIHRvIGEgYm90 + dG9tIHVwwqBtZXRob2QuPC9wPjxwPldl4oCZbGwgcmVjYWxsIHRoYXQgYSA8 + c3Ryb25nPjxlbT5ib3R0b20gdXA8L2VtPjwvc3Ryb25nPiA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xlc3MtcmVwZXRpdGlvbi1tb3Jl + LWR5bmFtaWMtcHJvZ3JhbW1pbmctNDNkMjk4MzBhNjMwIj5keW5hbWljIHBy + b2dyYW1taW5nIGFwcHJvYWNoPC9hPiBzdGFydHMgd2l0aCB0aGUgc21hbGxl + c3QgcG9zc2libGUgc3VicHJvYmxlbXMsIGZpZ3VyZXMgb3V0IGEgc29sdXRp + b24gdG8gdGhlbSwgYW5kIHRoZW4gc2xvd2x5IGJ1aWxkcyBpdHNlbGYgdXAg + dG8gc29sdmUgdGhlIGxhcmdlciwgbW9yZSBjb21wbGljYXRlZCBzdWJwcm9i + bGVtLiBJbiB0aGUgY29udGV4dCBvZiBvdXIg4oCcZnVuY3Rpb24gY2FsbCB0 + cmVl4oCdLCB0aGUgc21hbGxlc3QgcG9zc2libGUgc3VicHJvYmxlbSBhcmUg + dGhlIHNtYWxsZXN0IHBvc3NpYmxlIGZ1bmN0aW9uIGNhbGxzLiBXZeKAmWxs + IHNlZSB0aGF0IHRoZSBzbWFsbGVzdCBmdW5jdGlvbiBjYWxscyBhcmUgdGhl + IHNpbXBsZXN0IG9uZXPigIrigJTigIp0aGUgb25lcyB0aGF0IGhhdmUgPGVt + Pm5vIHJlY3Vyc2l2ZSBjYWxsczwvZW0+IHdpdGhpbiB0aGVtLiBJbiBvdXIg + Y2FzZSwgdGhlc2UgYXJlIHRoZSBmdW5jdGlvbiBjYWxscyBhdCB0aGUgdmVy + eSBib3R0b20gb2Ygb3VyIOKAnGZ1bmN0aW9uIGNhbGwgdHJlZeKAnSwgd2hp + Y2ggbGVhZCBiYWNrIHRvIG91ciBzdGFydGluZyBub2RlLCBub2RlIHcsIHdo + aWNoIGlzIHRoZSBjaXR5IHRoYXQgb3VyIHRyYXZlbGluZyBzYWxlc21hbiBp + cyDigJxzdGFydGluZ+KAnSBmcm9tLCBhbmQgd2lsbCBpbmV2aXRhYmx5IGhh + dmUgdG8g4oCcZW5k4oCdIHVwwqBhdC48L3A+PHA+Tm93IHRoYXQgd2XigJl2 + ZSBpZGVudGlmaWVkIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBzdWJwcm9ibGVt + cywgd2UgY2FuIHR1cm4gVFNQIG9uIGl0cyBoZWFkLiBXZeKAmWxsIGZsaXAg + b3VyIHRvcCBkb3duIGFwcHJvYWNoIHRvIHRoaXMgcHJvYmxlbSBhbmQsIGlu + c3RlYWQsIHVzZSBhIGJvdHRvbSB1cCBhcHByb2FjaCBoZXJlLiBMZXTigJlz + IHN0YXJ0IHdpdGggb3VyIHRocmVlIHNpbXBsZXN0IGZ1bmN0aW9uwqBjYWxs + cy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpkbnRseVA0YWVTVEdfZXNu + a2MyZDNBLmpwZWciIC8+PGZpZ2NhcHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0 + cyBoZWFkLCBwYXJ0wqAxLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZeKA + mWxsIHNlZSB0aGF0IGVhY2ggb2YgdGhlc2UgY2FsbHMgY29ubmVjdHMgYmFj + ayB0byB3LCBhcyB3ZSB3b3VsZCBleHBlY3QuIFJlY2FsbCB0aGF0IHdl4oCZ + cmUgdXNpbmcgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90 + aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGluZy1z + YWxlc21hbi01NjA0OGQ2NzA5ZCI+YSBsaXN0IG5vdGF0aW9uIDwvYT50byBr + ZWVwIHRyYWNrIG9mIHRoZSBub2RlcyB0aGF0IHdlIGNhbiBuYXZpZ2F0ZSB0 + by4gU2luY2Ugd2XigJlyZSBkZWFsaW5nIHdpdGggdGhlIHNtYWxsZXN0IHBv + c3NpYmxlIHN1YnByb2JsZW0ocyksIHRoZXJlIGlzIG5vd2hlcmUgdGhhdCB3 + ZSBjYW4gbmF2aWdhdGUgdG8gZnJvbSB0aGVzZSBub2RlczsgaW5zdGVhZCwg + YWxsIHdlIGNhbiBkbyBpcyBnbyBiYWNrIHRvIG91ciBzdGFydGluZyBub2Rl + LCB3LiBUaGlzIGlzIHdoeSBlYWNoIG9mIHRoZSBsaXN0cyBmb3IgdGhlc2Ug + dGhyZWUgc3VicHJvYmxlbXMgaXMgZW1wdHnCoCh7fSkuPC9wPjxwPkhvd2V2 + ZXIsIHdlIGRvIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBjb3N0IGFuZCBkaXN0 + YW5jZSBoZXJlLCBzaW5jZSBpbmV2aXRhYmx5LCB3ZeKAmXJlIHN0aWxsIGdv + aW5nIHRvIGhhdmUgdG8gZmluZCB0aGUgc2hvcnRlc3QgcGF0aCBmb3Igb3Vy + IHRyYXZlbGluZyBzYWxlc21hbiwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdl + 4oCZcmUgdXNpbmcgYTxlbT4gdG9wIGRvd248L2VtPiBvciA8ZW0+Ym90dG9t + IHVwPC9lbT4gYXBwcm9hY2guIFRodXMsIHdl4oCZcmUgZ29pbmcgdG8gaGF2 + ZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIG5vZGVz + IGFzIHdlIGJ1aWxkIHVwIG91ciDigJxib3R0b20gdXDigJ0gdHJlZS4gSW4g + dGhlIGltYWdlIGFib3ZlLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgdGhl + IHZhbHVlcyA2LCAxLCBhbmQgMyBuZXh0IHRvIG5vZGVzIHgsIHksIGFuZCB6 + LCByZXNwZWN0aXZlbHkuIFRoZXNlIG51bWJlciByZXByZXNlbnQgdGhlIGRp + c3RhbmNlIHRvIGdldCBmcm9tIGVhY2ggbm9kZSBiYWNrIHRvIHRoZSBvcmln + aW4gbm9kZSzCoHcuPC9wPjxwPldoZW4gd2UgZmlyc3QgdHJpZWQgdG8gc29s + dmUgVFNQLCA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL3Ro + ZS10cmlhbHMtYW5kLXRyaWJ1bGF0aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNh + bGVzbWFuLTU2MDQ4ZDY3MDlkIj53ZSB1c2VkIGFuIGFkamFjZW5jeSBtYXRy + aXg8L2E+IHRvIGhlbHAgdXMga2VlcCB0cmFjayBvZiB0aGUgZGlzdGFuY2Vz + IGJldHdlZW4gbm9kZXMgaW4gb3VyIGdyYXBoLiBXZeKAmWxsIGxlYW4gb24g + b3VyIGFkamFjZW5jeSBtYXRyaXggaW4gdGhpcyBhcHByb2FjaCB5ZXTCoGFn + YWluLjwvcD48cD5Ib3dldmVyLCBpbiBvdXIgYm90dG9tIHVwIGFwcHJvYWNo + LCB3ZeKAmWxsIHVzZSBpdCB0byBlbnVtZXJhdGUgYWxsIHRoZSBmdW5jdGlv + biBjYWxscyB0aGF0IGxlYWQgdG8gb25lIGFub3RoZXIuIFRoaXMgaXMgc3Ry + aWtpbmdseSBkaWZmZXJlbnQgdGhhbiBvdXIgdG9wIGRvd24gYXBwcm9hY2gs + IHdoZW4gd2Ugd2VyZSB1c2luZyBvdXIgYWRqYWNlbmN5IG1hdHJpeCB0byBo + ZWxwIHVzIGVudW1lcmF0ZSBhbGwgdGhlIHBvc3NpYmxlIHBhdGhzLiBJbiBv + dXIgYm90dG9tIHVwIGFwcHJvYWNoLCB3ZeKAmXJlIHRyeWluZyB0byBiZSBh + IGJpdCBtb3JlIGVsZWdhbnQgYWJvdXQgaG93IHdlIGRvIHRoaW5ncywgc28g + d2XigJlyZSBhaW1pbmcgdG8gbm90IGVudW1lcmF0ZSBtb3JlIHRoYW4gd2Ug + bmVlZCB0byEgVGhpcyB3aWxsIG1ha2UgbW9yZSBzZW5zZSBhcyB3ZSBnbyBv + biwgYnV0IGl04oCZcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGUgZGlmZmVyZW5j + ZSBiZXR3ZWVuIGVudW1lcmF0aW5nIDxzdHJvbmc+PGVtPnBhdGhzPC9lbT48 + L3N0cm9uZz4gdmVyc3VzIGVudW1lcmF0aW5nIDxzdHJvbmc+PGVtPmZ1bmN0 + aW9uwqBjYWxsczwvZW0+PC9zdHJvbmc+LjwvcD48cD5Tbywgd2hhdCB3b3Vs + ZCB0aGUgc2Vjb25kIGxldmVsIG9mIG91ciBmdW5jdGlvbiBjYWxsIOKAnHRy + ZWXigJ0gbG9vayBsaWtlPyBXZWxsLCB0aGUgcXVlc3Rpb24gdGhhdCB3ZeKA + mXJlIHRyeWluZyB0byBhbnN3ZXIgZm9yIGVhY2ggb2Ygb3VyIHNtYWxsZXN0 + IHBvc3NpYmxlIHN1YnByb2JsZW1zIGhlcmUgaXPCoHRoaXM6PC9wPjxibG9j + a3F1b3RlPklmIHdlIGFyZSBhdCB0aGUgc2ltcGxlc3QgcG9zc2libGUgdmVy + c2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGNhbGwgYW5kIGNhbm5vdCBjYWxsIGFu + eXRoaW5nIHJlY3Vyc2l2ZWx5IGZyb20gd2l0aGluIHRoaXMgZnVuY3Rpb24s + IHdoYXQgb3RoZXIgZnVuY3Rpb24gY291bGQgcG9zc2libHkgY2FsbCB0aGlz + wqBvbmU/PC9ibG9ja3F1b3RlPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJo + dHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqbFNl + NWhsX1dFUVNyaTNxTXJqNFhFUS5qcGVnIiAvPjxmaWdjYXB0aW9uPkZsaXBw + aW5nIFRTUCBvbiBpdHMgaGVhZCwgcGFydMKgMi48L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+QW5vdGhlciB3YXkgb2YgdGhpbmtpbmcgYWJvdXQgaXQgaXMg + aW4gdGVybXMgb2Ygbm9kZXMuIFVsdGltYXRlbHksIHdl4oCZcmUgdHJ5aW5n + IHRvIGRldGVybWluZSB3aGljaCBwb3NzaWJsZSBub2RlcyB3b3VsZCBhbGxv + dyB1cyB0byBnZXQgdG8gdGhlIG5vZGUgdGhhdCB3ZeKAmXJlIGxvb2tpbmcg + YXQuIFNvLCBpbiB0aGUgY2FzZSBvZiBub2RlIHgsIHRoZSBvbmx5IHdheSB0 + byBnZXQgdG8gbm9kZSB4IHdvdWxkIHBvdGVudGlhbGx5IGJlIG5vZGUgeSBv + ciBub2RlIHouIFJlbWVtYmVyIHRoYXQgd2XigJlyZSB1c2luZyBhIGJvdHRv + bSB1cCBhcHByb2FjaCBoZXJlLCBzbyB3ZeKAmXJlIGFsbW9zdCByZXRyYWNp + bmcgb3VyIHN0ZXBzIGJhY2t3YXJkcywgc3RhcnRpbmcgYXQgdGhlIGVuZCwg + YW5kIHdvcmtpbmcgb3VyIHdheSBiYWNrIHRocm91Z2ggdGhlwqBjaXJjbGUu + PC9wPjxwPk5vdGljZSwgYWdhaW4sIHRoYXQgd2XigJlyZSBrZWVwaW5nIHRy + YWNrIG9mIHRoZSBjb3N0L2Rpc3RhbmNlIGZyb20gZWFjaCBvZiB0aGVzZSBu + b2RlcyB0byB0aGUgbmV4dC4gV2XigJlyZSBnb2luZyB0byBuZWVkIHRoZW0g + cHJldHR5wqBzb29uITwvcD48cD5BZ2Fpbiwgd2UgY2FuIGV4cGFuZCB0aGlz + IGZ1bmN0aW9uIGNhbGwg4oCcdHJlZeKAnSBhIGJpdCBtb3JlIHRvIGFkZCBh + bm90aGVyIGxldmVsLiBSZW1lbWJlciwgd2XigJlyZSB0cnlpbmcgdG8gYW5z + d2VyIHRoZSBxdWVzdGlvbjo8ZW0+IHdoYXQgb3RoZXIgZnVuY3Rpb24gY291 + bGQgcG9zc2libHkgY2FsbCB0aGlzIGZ1bmN0aW9uIHRoYXQgd2UgY2Fubm90 + IGV4cGFuZCBhbnnCoGZ1cnRoZXI/PC9lbT48L3A+PGZpZ3VyZT48aW1nIGFs + dD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4 + LzEwMjQvMSpOYUZVZURJdHkwVjB1UDJrQ1hYaUFBLmpwZWciIC8+PGZpZ2Nh + cHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0cyBoZWFkLCBwYXJ0wqAzLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5JbiB0aGUgZHJhd2luZyBkZXBpY3RlZCBo + ZXJlLCB3ZeKAmWxsIHNlZSB3aGF0IHRoaXMgYWN0dWFsbHkgbG9va3MgbGlr + ZSBpbiBwcmFjdGljZS4gRm9yIGV4YW1wbGUsIGxvb2tpbmcgYXQgdGhlIGxl + ZnRtb3N0IGJyYW5jaCBvZiB0aGlzIGZ1bmN0aW9uIGNhbGwg4oCcdHJlZeKA + nSwgd2XigJlsbCBub3RpY2UgdGhhdCB0aGUgb25seSBwb3NzaWJsZSBmdW5j + dGlvbiBjYWxsIHRoYXQgd2lsbCBhbGxvdyB1cyB0byBnZXQgdG8gYW4gZW1w + dHkgbm9kZSB4IGlzIGZyb20gZWl0aGVyIG5vZGUgeSBvciBub2RlIHosIHdo + ZXJlIHRoZSBzZXQgY29udGFpbnMgb25seSBhIHBvc3NpYmxlIOKAnG5leHTi + gJ0gbm9kZSBvZiB4LCBsaWtlIHNvOiB7eH0uIEZvciBib3RoIG5vZGUgeSBh + bmQgeiBpbiB0aGUgbGVmdG1vc3Qgc3VidHJlZSwgd2XigJlsbCBzZWUgdGhh + dCB0aGUgb25seSBwb3NzaWJsZSB3YXkgdG8gZ2V0IHRvIHkgaXMgZnJvbSBu + b2RlIHosIHdoZW4gdGhlIHNldCBjb250YWlucyBib3RoIHggYW5kIHkgKG9y + IHt4LCB5fSkuIFNpbWlsYXJseSwgdGhlIG9ubHkgcG9zc2libGUgd2F5IHRv + IGdldCB0byB6IGlzIGZyb20gbm9kZSB5LCB3aGVuIHRoZSBzZXQgY29udGFp + bnMgYm90aCB4IGFuZCB6IChvciB7eCzCoHp9KS48L3A+PHA+VGhpcyBpcyBh + IHZpc3VhbGl6YXRpb24gZXhlbXBsaWZpZXMgd2hhdCB3ZSBtZWFuIHdoZW4g + d2Ugc2F5IHRoYXQgd2UgYXJlIGVudW1lcmF0aW5nIDxlbT5mdW5jdGlvbiBj + YWxsczwvZW0+IHJhdGhlciB0aGFuIGVudW1lcmF0aW5nIDxlbT5wb3RlbnRp + YWwgcGF0aHM8L2VtPi4gQXMgd2UgY29udGludWUgdG8gZGV0ZXJtaW5lIGFs + bCB0aGUgcG9zc2libGUgZnVuY3Rpb24gY2FsbHMgdGhhdCBhbGxvdyB1cyB0 + byBjYWxsIG90aGVyIGZ1bmN0aW9ucyBmcm9tIHdpdGhpbiB0aGVtLCBzb21l + dGhpbmcgc3RhcnRzIHRvIGJlY29tZSB2ZXJ5IG9idmlvdXM6IHdlIGhhdmUg + c29tZSBvdmVybGFwcGluZyBzdWJwcm9ibGVtcyBoZXJlITwvcD48cD5XZeKA + mWxsIG5vdGljZSB0aGF0IHRoZXJlIGFyZSB0d28gZnVuY3Rpb24gY2FsbHMg + dGhhdCBhcmUgaW5zdGFuY2VzIG9mIHogd2hlbiBpdHMgc2V0IGNvbnRhaW5z + IGJvdGggeCBhbmQgeSAob3Ige3gsIHl9KSwgd2hpY2ggaXMgaGlnaGxpZ2h0 + ZWQgaW4geWVsbG93LiBTaW1pbGFybHksIHRoZXJlIGFyZSB0d28gZnVuY3Rp + b24gY2FsbHMgdGhhdCBhcmUgaW5zdGFuY2VzIG9mIHkgd2hlbiBpdHMgc2V0 + IGNvbnRhaW5zIGJvdGggeCBhbmQgeiAob3Ige3gsIHp9KSwgaGlnaGxpZ2h0 + ZWQgaW4gcGluay4gRmluYWxseSwgd2XigJlsbCBzZWUgdHdvIGZ1bmN0aW9u + IGNhbGxzIHRoYXQgYXJlIGluc3RhbmNlcyBvZiB4IHdoZW4gaXRzIHNldCBj + b250YWlucyBib3RoIHkgYW5kIHogKG9yIHt5LCB6fSksIGhpZ2hsaWdodGVk + IGluwqBncmVlbi48L3A+PHA+RHluYW1pYyBwcm9ncmFtbWluZyBpcyBhbGwg + YWJvdXQgaWRlbnRpZnlpbmcgcmVwZWF0ZWQgd29yayBhbmQgYmVpbmcgc21h + cnRlciBhbmQgbW9yZSBlZmZpY2llbnQgd2l0aCBvdXIgYXBwcm9hY2ggc28g + dGhhdCB3ZSBkb27igJl0IGFjdHVhbGx5IGhhdmUgdG8gcmVwZWF0IG91cnNl + bHZlcyEgU28sIGxldOKAmXMgY3V0IG91dCB0aGlzIHJlcGV0aXRpb24gYW5k + IHVzZSBzb21lIGR5bmFtaWMgcHJvZ3JhbW1pbmcgdG8gbWFrZSB0aGluZ3Mg + YSBsaXR0bGUgYmV0dGVyIGZvciBvdXIgdHJhdmVsaW5nIHNhbGVzbWFuLjwv + cD48aDM+RHluYW1pYyBwcm9ncmFtbWluZyB0byB0aGUgc2FsZXNtYW7igJlz + IHJlc2N1ZTwvaDM+PHA+Tm93IHRoYXQgd2XigJl2ZSBpZGVudGlmaWVkIG91 + ciBvdmVybGFwcGluZyBhbmQgcmVjdXJyaW5nIHN1YnByb2JsZW1zLCB0aGVy + ZeKAmXMgb25seSBvbmUgdGhpbmcgbGVmdCB0byBkbzogZWxpbWluYXRlIHRo + ZSByZXBldGl0aW9uLCBvZsKgY291cnNlITwvcD48ZmlndXJlPjxpbWcgYWx0 + PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgv + MTAyNC8xKjNKa0N5dlRyX2tCX2s2ck5EYWh0T2cuanBlZyIgLz48ZmlnY2Fw + dGlvbj5GbGlwcGluZyBUU1Agb24gaXRzIGhlYWQsIHBhcnTCoDQuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPlVzaW5nIG91ciBmdW5jdGlvbiBjYWxsIOKA + nHRyZWXigJ0sIHdlIGNhbiByZWFycmFuZ2Ugc29tZSBvZiBvdXIgZnVuY3Rp + b24gY2FsbHMgc28gdGhhdCB3ZeKAmXJlIG5vdCBhY3R1YWxseSByZXBlYXRp + bmcgb3Vyc2VsdmVzIGluIGxldmVsIHRocmVlIG9mIHRoaXPCoHRyZWUuPC9w + PjxwPldlIGNhbiBkbyB0aGlzIGJ5IGN1dHRpbmcgZG93biBvdXIgcmVwZWF0 + ZWQgc3VicHJvYmxlbXMgc28gdGhhdCB0aGV5IG9ubHkgc2hvdyB1cCBvbmNl + LiBUaGVuLCB3ZeKAmWxsIHJlY29uZmlndXJlIHRoZSBib3R0b20gbGV2ZWwg + b2Ygb3VyIHRyZWUgc28gdGhhdCBpdCBpcyBzdGlsbCA8ZW0+YWNjdXJhdGU8 + L2VtPiwgYnV0IGFsc28gdGhhdCB3ZSBlYWNoIGZ1bmN0aW9uIGNhbGwgc2hv + dyB1cCA8ZW0+b25jZTwvZW0+LCBub3TCoHR3aWNlLjwvcD48cD5Ob3cgaXQg + c3RhcnRzIHRvIGJlY29tZSBhcHBhcmVudCBob3cgdGhlIGJvdHRvbSB1cCBh + cHByb2FjaCBpcyBkaWZmZXJlbnQgdGhhbiBvdXIgdG9wIGRvd24gbWV0aG9k + IGZyb23CoGJlZm9yZS48L3A+PHA+V2XigJlsbCBzZWUgdGhhdCB3ZSBubyBs + b25nZXIgbmVlZCB0byBkbyB0aGUgd29yayBvZiBnZW5lcmF0aW5nIHRoYXQg + ZW50aXJlIGJvdHRvbSBsZXZlbCBvZiBvdXIgZnVuY3Rpb24gY2FsbCDigJx0 + cmVl4oCdIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgYWxsIG8gdGhlIHJlY3Vy + c2l2ZSBmdW5jdGlvbiBjYWxscy4gTm9yIGRvIHdlIG5lZWQgdG8gZGV0ZXJt + aW5lIGFsbCB0aGUgcG9zc2libGUgcGF0aHMgdGhhdCBvdXIgdHJhdmVsaW5n + IHNhbGVzbWFuIGNvdWxkIHRha2UgYnkgdXNpbmcgYnJ1dGUgZm9yY2UuIElu + c3RlYWQsIHdl4oCZcmUgZW51bWVyYXRpbmcgdGhyb3VnaCBmdW5jdGlvbiBj + YWxscywgZmluZGluZyB0aGUgcmVwZWF0ZWQgb25lcywgYW5kIGNvbmRlbnNp + bmcgb3VyIOKAnHRyZWXigJ0gb2YgZnVuY3Rpb24gY2FsbHMgYXMgd2UgY29u + dGludWUgdG8gYnVpbGTCoGl0LjwvcD48cD5PbmNlIHdl4oCZdmUgZWxpbWlu + YXRlZCB0aGUgcmVwZWF0ZWQgc3VicHJvYmxlbXMsIHdlIGNhbiBkbyB0aGUg + d29yayBvZiBhY3R1YWxseSBmaW5kaW5nIHRoZSBzaG9ydGVzdCBwYXRoLiBS + ZW1lbWJlciB0aGF0IHdlIHdpbGwgbmVlZCB0byB1c2Ugb3VyIGFkamFjZW5j + eSBtYXRyaXggdG8gZmlndXJlIG91dCB0aGUgZGlzdGFuY2UgYmV0d2VlbiBv + bmUgbm9kZSB0byBhbm90aGVyLiBCdXQsIHdl4oCZbGwgYWxzbyBub3RpY2Ug + dGhhdCB3ZeKAmXJlIG5vdCBoYXZpbmcgdG8gcmVwZWF0IG91cnNlbHZlcyBu + ZWFybHkgYXMgbXVjaCBiZWNhdXNlIHdlIHdvbuKAmXQgc2VlIHRoZSBzYW1l + IG51bWJlcnMgYXBwZWFyIHRvbyBtYW55IHRpbWVzIGFzIHdlIHN1bSB0aGVt + wqB1cC48L3A+PHA+SW4gdGhlIGlsbHVzdHJhdGlvbiBzaG93biBiZWxvdywg + ZWFjaCBvZiB0aGUgZnVuY3Rpb24gY2FsbHMgdGhhdCBhbGxvdyBvdXIgc2Fs + ZXNtYW4gdG8gdHJhdmVyc2UgZnJvbSBvbmUgbm9kZSB0byBhbm90aGVyIGhh + cyBhIG51bWJlciAodGhlIGNvc3Qgb3IgZGlzdGFuY2UpIGFzc29jaWF0ZWQg + d2l0aCBpdC4gQXMgd2UgY29udGludWUgZG93biB0aGlzIHRyZWUsIHdl4oCZ + bGwgc3VtIHVwIHRoZSBjb3N0IG9mIGVhY2ggc2V0IG9mIGZ1bmN0aW9uIGNh + bGxzLiBGb3IgZXhhbXBsZSwgaWYgd2UgY2hvb3NlIHRoZSBmdW5jdGlvbiBj + YWxscyB0aGF0IGxlYWQgZnJvbSB3ICZsdDstIHggJmx0Oy0geSAmbHQ7LSB6 + LCB3ZeKAmWxsIHN1bSB1cCB0aGUgY29zdCBiZXR3ZWVuIHRoZXNlIG5vZGVz + LCB3aGljaCBhbW91bnRzIHRvIDYgKyA0ICsgMiA9wqAxMi48L3A+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSpjVmNlNEsxYzhyR3JZUlBaMXB1a3ZnLmpwZWci + IC8+PGZpZ2NhcHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0cyBoZWFkLCBwYXJ0 + wqA1LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XaGVuIHdlIGdldCBkb3du + IHRvIHRoZSB0aGlyZCBsZXZlbCBvZiBvdXIgZnVuY3Rpb24gY2FsbCDigJx0 + cmVl4oCdLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgdHdvIG51bWJlcnMg + dGhhdCB3ZSBjYW4gY2hvb3NlIGZyb20uIFJlY2FsbCB0aGF0IHdlIGhhZCBh + IHNpbWlsYXIgc2NlbmFyaW8gaGFwcGVuIHRvIHVzIGluIDxhIGhyZWY9Imh0 + dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvdGhlLXRyaWFscy1hbmQtdHJpYnVs + YXRpb25zLW9mLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tNTYwNDhkNjcwOWQi + Pm91ciB0b3AgZG93biBhcHByb2FjaDwvYT4gbGFzdCB3ZWVrOiB3ZSBoYWQg + dHdvIGRpZmZlcmVudCBwYXRocyB3aXRoIHR3byBkaWZmZXJlbnQgY29zdHMv + ZGlzdGFuY2VzIHRvIGNob29zZSBmcm9tLiBXZSBlbmRlZCB1cCBjaG9vc2lu + ZyB0aGUgc21hbGxlciBvZiB0aGUgdHdvIGNvc3QsIHNpbmNlIHdl4oCZcmUg + dHJ5aW5nIHRvIGZpbmQgdGhlIHNob3J0ZXN0IHBhdGggZm9yIG91ciBzYWxl + c21hbi4gSW4gdGhpcyBjYXNlLCB3ZSBoYXZlIHR3byBkaWZmZXJlbnQgZnVu + Y3Rpb24gY2FsbHMsIHdpdGggdHdvIGRpZmZlcmVudCBjb3N0cy9kaXN0YW5j + ZXMgdG8gY2hvb3NlIGZyb20uIEFnYWluLCB3ZeKAmWxsIGNob29zZSB0aGUg + c21hbGxlciBvZiB0aGUgdHdvIGNvc3RzLCBzaW5jZSB3ZeKAmXJlIHN0aWxs + IHRyeWluZyB0byBmaW5kIHRoZSBzaG9ydGVzdCBwYXRoIGhlcmUswqB0b28h + PC9wPjxwPkV2ZW50dWFsbHksIGFzIHdlIGNvbnRpbnVlIHN1bSB0aGUgZGlz + dGFuY2VzL2Nvc3RzLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGVuZGVkIHVwIHdp + dGh0IGhlIGV4YWN0IHNhbWUgcmVzdWx0cyBhcyBvdXIgPGEgaHJlZj0iaHR0 + cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90aGUtdHJpYWxzLWFuZC10cmlidWxh + dGlvbnMtb2YtdGhlLXRyYXZlbGluZy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+ + YnJ1dGUtZm9yY2UgbWV0aG9kPC9hPiBmcm9tIGxhc3Qgd2Vlay4gVGhlIHNo + b3J0ZXN0IGNvc3QgZm9yIG91ciB0cmF2ZWxpbmcgc2FsZXNtYW4gaXMgZ29p + bmcgdG8gYmUgMTEsIGFuZCB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlIHBhdGhz + IHRoYXQgd291bGQgYWxsb3cgZm9yIHRoZW0gdG8gYWNoaWV2ZSB0aGF0IGxv + d2VzdCBjb3N0LiBIb3dldmVyLCB1c2luZyB0aGUgYm90dG9tIHVwIGFwcHJv + YWNoLCB3ZeKAmXZlIG9wdGltaXplZCBvdXIgVFNQIGFsZ29yaXRobSwgc2lu + Y2Ugd2Ugbm8gbG9uZ2VyIGhhdmUgc2l4IHJlY3Vyc2l2ZSBjYWxscyBiZWlu + ZyBtYWRlIGluIHRoaXMgbWV0aG9kLiBGdXJ0aGVybW9yZSwgd2XigJlyZSBh + bHNvIG5vdCBnZW5lcmF0aW5nIGFzIGJpZyBvZiBhIHRyZWUgc3RydWN0dXJl + ISBJZiB3ZSB0aGluayBiYWNrIHRvIHdoZW4gd2Ugd2VyZSBmaXJzdCA8YSBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xlc3MtcmVwZXRpdGlv + bi1tb3JlLWR5bmFtaWMtcHJvZ3JhbW1pbmctNDNkMjk4MzBhNjMwIj5pbnRy + b2R1Y2VkIHRvIGR5bmFtaWMgcHJvZ3JhbW1pbmc8L2E+LCB3ZeKAmWxsIHJl + Y2FsbCB0aGF0IHdlIGNvdWxkIGFsc28gdXNlIDxzdHJvbmc+PGVtPm1lbW9p + emF0aW9uPC9lbT48L3N0cm9uZz4gYW5kIHNhdmUgdGhlIHJlc3VsdHMgb2Yg + b3VyIGZ1bmN0aW9uIGNhbGxzIGFzIHdlIGNhbGN1bGF0ZSB0aGVtLCBvcHRp + bWl6aW5nIG91ciBzb2x1dGlvbiBldmVuwqBmdXJ0aGVyLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKjZCZWlpY3lBNFdLVzBvNXhkWk5ST0EuanBlZyIg + Lz48ZmlnY2FwdGlvbj5Vc2luZyBkeW5hbWljIHByb2dyYW1taW5nIG1ha2Vz + IG91ciA1IGNpdHkgZXhhbXBsZSBhIGxpdHRsZcKgZmFzdGVyLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5Pa2F5LCBzbyB3ZSBzdGFydGVkIGRvd24gdGhp + cyBwYXRoIGluIGFuIGVmZm9ydCB0byB0YWtlIHRoZSBuZXh0IHN0ZXAgaW4g + dGhlIGFkYWdlIG9mIOKAnDxlbT5NYWtlIGl0IHdvcmssIG1ha2UgaXQgcmln + aHQsIG1ha2UgaXTCoGZhc3Q8L2VtPi7igJ08L3A+PHA+V2UgaGF2ZSBhcmd1 + YWJseSBtYWRlIG91ciB3b3JrYWJsZSBzb2x1dGlvbiBtdWNoIGJldHRlciwg + YW5kIGNlcnRhaW5seSBtb3JlIGVsZWdhbnQsIGFuZCBmYXIgbGVzcyByZXBl + dGl0aXZlLiBUaGUgaWxsdXN0cmF0aW9uIHNob3duIGhlcmUgZXhlbXBsaWZp + ZXMgaG93IHRoZSBib3R0b20gdXAgRFAgYXBwcm9hY2ggd291bGQgc2NhbGUg + Zm9yIGEgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gd2hlcmUgdGhlIHNh + bGVzbWFuIGhhcyB0byB2aXNpdCBmaXZlIGNpdGllcyBpbnN0ZWFkIG9mIGZv + dXIuIFdl4oCZbGwgc2VlIHRoYXQgd2XigJlyZSBzdGlsbCBtYWtpbmcgYSBs + b3Qgb2YgY2FsbHMsIGJ1dCBvdXIgZnVuY3Rpb24gY2FsbCDigJx0cmVl4oCd + IGlzIGEgYml0IHNsaW1tZXIgYW5kIHNpZ25pZmljYW50bHkgYmV0dGVyIHRo + YW7CoGJlZm9yZS48L3A+PHA+QnkgdXNpbmcgZHluYW1pYyBwcm9ncmFtbWlu + Zywgd2XigJl2ZSBtYWRlIG91ciBzb2x1dGlvbiBmb3IgdGhlIHRyYXZlbGlu + ZyBzYWxlc21hbiBwcm9ibGVtIGp1c3QgYSBsaXR0bGUgYml0IGJldHRlciBi + eSBjaG9vc2luZyB0byBzbWFydGx5IGVudW1lcmF0ZSBmdW5jdGlvbiBjYWxs + cyByYXRoZXIgdGhhbiBicnV0ZS1mb3JjZSBvdXIgd2F5IHRocm91Z2ggZXZl + cnkgc2luZ2xlIHBvc3NpYmxlIHBhdGggdGhhdCBvdXIgc2FsZXNtYW4gY291 + bGTCoHRha2UuPC9wPjxwPlRoZSBvbmx5IHF1ZXN0aW9uIHdlIGhhdmUgdG8g + YW5zd2VyIG5vdyBpcywgb2YgY291cnNlLCBob3cgZG9lcyB0aGUgcnVudGlt + ZSBvZiB0aGlzIG1ldGhvZCBjb21wYXJlIHRvIG91ciB1Z2x5IGZhY3Rvcmlh + bCwgTyhuISkgcnVudGltZSBmcm9twqBlYXJsaWVyPzwvcD48cD5XZWxsLCBh + cyBpdCB0dXJucyBvdXQsIHRoZSBib3R0b20gdXAgYXBwcm9hY2ggdGhhdCB3 + ZeKAmXZlIGJlZW4gZXhwbG9yaW5nIGhlcmUgaXMgcmVhbGx5IHRoZSBmb3Vu + ZGF0aW9ucyBvZiBzb21ldGhpbmcgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5I + ZWxkLUthcnAgYWxnb3JpdGhtPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIGFs + c28gPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSGVs + ZOKAk0thcnBfYWxnb3JpdGhtIj5vZnRlbiByZWZlcnJlZCB0bzwvYT4gYXMg + dGhlIDxzdHJvbmc+PGVtPkJlbGxtYW4tSGVsZC1LYXJwIGFsZ29yaXRobTwv + ZW0+PC9zdHJvbmc+LiBUaGlzIGFsZ29yaXRobSB3YXMgZGVyaXZlZCBpbiAx + OTYyLCBieSBib3RoIE1pY2hhZWwgSGVsZCBhbmQgUmljaGFyZCBNLiBLYXJw + IGFzIHdlbGwgYXMgUmljaGFyZCBCZWxsbWFuLCB3aG8gd2FzIHdvcmtpbmcg + aW5kZXBlbmRlbnRseSBvbiBoaXMgb3duIHJlbGF0ZWQgcmVzZWFyY2ggYXQg + dGhlwqB0aW1lLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmdEVlZFd3Vx + cy15MG9xenR2dm84MEEuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgSGVsZC1L + YXJwIGFsZ29yaXRobSB1c2VzIGR5bmFtaWMgcHJvZ3JhbW1pbmcgdG8gYXBw + cm9hY2jCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhlIEhlbGQt + S2FycCBhbGdvcml0aG0gYWN0dWFsbHkgcHJvcG9zZWQgdGhlIGJvdHRvbSB1 + cCBkeW5hbWljIHByb2dyYW1taW5nIGFwcHJvYWNoIGFzIGEgc29sdXRpb24g + dG8gaW1wcm92aW5nIHRoZSBicnV0ZS1mb3JjZSBtZXRob2Qgb2Ygc29sdmlu + ZyB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0uIEJlbGxtYW4sIEhl + bGQsIGFuZCBLYXJw4oCZcyBhbGdvcml0aG0gd2FzIGRldGVybWluZWQgdG8g + cnVuIGluIDxzdHJvbmc+PGVtPmV4cG9uZW50aWFsPC9lbT48L3N0cm9uZz4g + dGltZSwgc2luY2UgaXQgc3RpbGwgZG9lcyBhIGJ1bGsgb2YgdGhlIHdvcmsg + b2YgZW51bWVyYXRpbmcgdGhyb3VnaCBhbGwgdGhlIHBvdGVudGlhbCBzZXRz + IG9mIGZ1bmN0aW9uIGNhbGxzIHRoYXQgYXJlIHBvc3NpYmxlLiBUaGUgZXhw + b25lbnRpYWwgcnVudGltZSBvZiB0aGUgSGVsZC1LYXJwIGFsZ29yaXRobSBp + cyBzdGlsbCBub3QgcGVyZmVjdOKAiuKAlOKAiml04oCZcyBmYXIgZnJvbSBp + dCwgaW4gZmFjdCEgQnV0LCBpdOKAmXMgbm90IGFzIHVnbHkgYXMgYSBmYWN0 + b3JpYWwgYWxnb3JpdGhtLCBhbmQgaXTigJlzIHN0aWxsIGFuIGltcHJvdmVt + ZW50LjwvcD48cD5BbmQsIHRvIGJlIGhvbmVzdCwgSeKAmW0gc3VyZSB0aGUg + dHJhdmVsaW5nIHNhbGVzbWFuIHdvdWxkIGJlIGhhcHB5IHRvIHRha2Ugd2hh + dGV2ZXIgaGUgY291bGTCoGdldC48L3A+PGgzPlJlc291cmNlczwvaDM+PHA+ + VGhlIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIGhhcyBiZWVuIHdyaXR0 + ZW4gYWJvdXQsIHJlc2VhcmNoZWQsIGFuZCB0YXVnaHQgZXh0ZW5zaXZlbHku + IEFzIGl0IHR1cm5zIG91dCwgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGFw + cHJvYWNoZXMgd2hlbiBpdCBjb21lcyB0byBhdHRlbXB0aW5nIHRvIHNvbHZl + IGl0LCBhbmQgdGhlIEhlbGQtS2FycCBhbGdvcml0aG0gaXMganVzdCBvbmUg + b2YgdGhlbS4gSWYgeW91IHdhbnQgdG8gZGlnIGRlZXBlciBpbnRvIHRoaXMg + cGFydGljdWxhciB0b3BpYywgaGVyZSBhcmUgc29tZSBnb29kIHBsYWNlcyB0 + b8Kgc3RhcnQuPC9wPjxvbD48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91 + dHViZS5jb20vd2F0Y2g/dj1fNTFvdC1SaTBuZyI+VHJhdmVsbGluZyBTYWxl + c21hbiBQcm9ibGVtPC9hPiwgMDYxMiBUViB3LyBORVJEZmlyc3Q8L2xpPjxs + aT48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PS1K + akE0QkxReXFFIj5UcmF2ZWxpbmcgU2FsZXNtYW4gUHJvYmxlbSBEeW5hbWlj + IFByb2dyYW1taW5nIEhlbGQtS2FycDwvYT4sIFR1c2hhcsKgUm95PC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv + bnMvMjEwODI5L3doYXQtaXMtYW4tbnAtY29tcGxldGUtaW4tY29tcHV0ZXIt + c2NpZW5jZSI+V2hhdCBpcyBhbiBOUC1jb21wbGV0ZSBpbiBjb21wdXRlciBz + Y2llbmNlPzwvYT4sIFN0YWNrT3ZlcmZsb3c8L2xpPjxsaT48YSBocmVmPSJo + dHRwOi8vd3d3Lmtlc3RyZWxibGFja21vcmUuY29tL2Jsb2cvYmlnLW8tbm90 + YXRpb24tY29tcGxleGl0eSI+QmlnIE8gTm90YXRpb24gYW5kIENvbXBsZXhp + dHk8L2E+LCBLZXN0cmVsIEJsYWNrbW9yZTwvbGk+PGxpPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmNvdXJzZXJhLm9yZy9sZWFybi9hbGdvcml0aG1zLW5wY29t + cGxldGUvbGVjdHVyZS91VkFCei9hLWR5bmFtaWMtcHJvZ3JhbW1pbmctYWxn + b3JpdGhtLWZvci10c3AiPkEgRHluYW1pYyBQcm9ncmFtbWluZyBBbGdvcml0 + aG0gZm9yIFRTUDwvYT4swqBDb3Vyc2VyYTwvbGk+PGxpPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmludGVjaG9wZW4uY29tL2Jvb2tzL3RyYXZlbGluZy1zYWxl + c21hbi1wcm9ibGVtLXRoZW9yeS1hbmQtYXBwbGljYXRpb25zL3RyYXZlbGlu + Zy1zYWxlc21hbi1wcm9ibGVtLWFuLW92ZXJ2aWV3LW9mLWFwcGxpY2F0aW9u + cy1mb3JtdWxhdGlvbnMtYW5kLXNvbHV0aW9uLWFwcHJvYWNoZXMiPlRyYXZl + bGluZyBTYWxlc21hbiBQcm9ibGVtOiBBbiBPdmVydmlldyBvZiBBcHBsaWNh + dGlvbnMsIEZvcm11bGF0aW9ucywgYW5kIFNvbHV0aW9uIEFwcHJvYWNoZXM8 + L2E+LCBSYWplc2ggTWF0YWksIFN1cnlhIFNpbmdoLCBhbmQgTXVyYXJpIExh + bMKgTWl0dGFsPC9saT48L29sPjxpbWcgc3JjPSJodHRwczovL21lZGl1bS5j + b20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50Vmlld2VkJnJlZmVycmVyU291 + cmNlPWZ1bGxfcnNzJnBvc3RJZD1iNzZkNzU1MmU4ZGQiIHdpZHRoPSIxIiBo + ZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJodHRwczovL21lZGl1bS5jb20v + YmFzZWNzL3NwZWVkaW5nLXVwLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tdXNp + bmctZHluYW1pYy1wcm9ncmFtbWluZy1iNzZkNzU1MmU4ZGQiPlNwZWVkaW5n + IFVwIFRoZSBUcmF2ZWxpbmcgU2FsZXNtYW4gVXNpbmcgRHluYW1pYyBQcm9n + cmFtbWluZzwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVkIGluIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2VjczwvYT4gb24g + TWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZl + cnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhp + cyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9p + dGVtPgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RB + VEFbQW5ub3VuY2luZyB0aGUgYmFzZWNzIHBvZGNhc3QhIF1dPjwvdGl0bGU+ + CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mv + YW5ub3VuY2luZy10aGUtYmFzZWNzLXBvZGNhc3QtOTdjOGU0NDU0ZDc/c291 + cmNlPXJzcy04ZjU1OTkzYzk3M2UtLS0tLS0yPC9saW5rPgogICAgICAgICAg + ICA8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHBzOi8vbWVkaXVtLmNv + bS9wLzk3YzhlNDQ1NGQ3PC9ndWlkPgogICAgICAgICAgICA8ZGM6Y3JlYXRv + cj48IVtDREFUQVtWYWlkZWhpIEpvc2hpXV0+PC9kYzpjcmVhdG9yPgogICAg + ICAgICAgICA8cHViRGF0ZT5XZWQsIDA4IE5vdiAyMDE3IDEzOjI4OjI0IEdN + VDwvcHViRGF0ZT4KICAgICAgICAgICAgPGF0b206dXBkYXRlZD4yMDE3LTEx + LTA4VDEzOjI4OjI0LjM2N1o8L2F0b206dXBkYXRlZD4KICAgICAgICAgICAg + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD5EZWFyIDxlbT5iYXNlY3M8 + L2VtPsKgcmVhZGVyLDwvcD48cD5BcyB3ZSBuZWFyIHRoaXMgeWVhci1sb25n + IHByb2plY3Qgb2YgdHJ5aW5nIHRvIHVucGFjayBhbmQgdW5kZXJzdGFuZCB0 + aGUgYmFzaWNzIG9mIGNvbXB1dGVyIHNjaWVuY2UsIEkgd2FuZWQgdG8gc2hh + cmUgc29tZSBnb29kIGFuZCBiYWTCoG5ld3MuPC9wPjxwPknigJlsbCBzdGFy + dCB3aXRoIHRoZSBiYWQgbmV3cyBmaXJzdDogaXTigJlzIChzb21laG93KSBh + bHJlYWR5IE5vdmVtYmVyISBUaGVyZSBhcmUgb25seSBhIGhhbmRmdWwgb2Yg + cG9zdHMgbGVmdCBpbiB0aGlzIHNlcmllcywgd2hpY2ggaXMgZXF1YWwgcGFy + dHMgYW1hemluZyBhbmQgYml0dGVyc3dlZXQuIFNvbWVob3csIHRoaXMgZW50 + aXJlIHllYXIgZmxldyBieS4gSSBndWVzcyB0aGF04oCZcyB3aGF0IGhhcHBl + bnMgd2hlbiB5b3XigJlyZSBidXN5IHJlYWRpbmcgYWJvdXQgdGhlIHRyYXZl + bGluZyBzYWxlc21hbsKgcHJvYmxlbS48L3A+PHA+T2theSwgdGhlIGdvb2Qg + bmV3cyBuZXh0OiBvdmVyIHRoZSBwYXN0IGZldyBtb250aHMsIEnigJl2ZSBi + ZWVuIHdvcmtpbmcgb24gYSBmZXcgZGlmZmVyZW50IGNvbGxhYm9yYXRpb25z + IHRvIGhlbHAgZXhwYW5kIDxlbT5iYXNlY3M8L2VtPiBhbmQgYnJpbmcgaXQg + dG8gZXZlbiBtb3JlIGNvbW11bml0aWVzLCBwb3B1bGF0aW9ucywgYW5kIHBl + b3BsZSBmcm9tIGFyb3VuZCB0aGXCoHdvcmxkLjwvcD48YmxvY2txdW90ZT5J + 4oCZbSB0aHJpbGxlZCB0byBmaW5hbGx5IGdldCB0byBzaGFyZSBvbmUgb2Yg + dGhlc2UgZXhjaXRpbmcgbmV3IGNvbGxhYm9yYXRpb25zIHdpdGggeW91OiB0 + aGUgYmFzZWNzwqBwb2RjYXN0LjwvYmxvY2txdW90ZT48cD5UaGUgPGEgaHJl + Zj0iaHR0cHM6Ly93d3cuY29kZW5ld2JpZS5vcmcvYmFzZWNzIj48c3Ryb25n + PmJhc2VjcyBwb2RjYXN0PC9zdHJvbmc+PC9hPiBpcyBhIHByb2plY3QgSSBk + cmVhbWVkIHVwIHdpdGggbXkgZGVhciBmcmllbmQgYW5kIGZlbGxvdyBkZXZl + bG9wZXIsIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vc2Fyb255aXRi + YXJlayI+U2Fyb24gWWl0YmFyZWs8L2E+LCB0aGUgY3JlYXRvciBvZiB0aGUg + PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9Db2RlTmV3YmllcyI+Q29k + ZW5ld2JpZXMgY29tbXVuaXR5PC9hPi48L3A+PGZpZ3VyZT48aW1nIGFsdD0i + IiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4Lzg5 + Ni8xKmE3X0R5bHdfRlJqYmtvVWducHNJZ1EucG5nIiAvPjxmaWdjYXB0aW9u + PlN1YnNjcmliZSB0byB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuY29kZW5l + d2JpZS5vcmcvYmFzZWNzIj5iYXNlY3PCoHBvZGNhc3Q8L2E+ITwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5BIGxhcmdlIHBhcnQgb2YgdGhlIHJlYXNvbiBJ + IHN0YXJ0ZWQgPGVtPmJhc2VjczwvZW0+IHdhcyBpbiBhbiBlZmZvcnQgdG8g + bWFrZSBjb21wdXRlciBzY2llbmNlIGEgbW9yZSB3ZWxjb21pbmcsIGZyaWVu + ZGx5LCBhbmQgYXBwcm9hY2hhYmxlIHdvcmxkIHRvIG5hdmlnYXRlLiBJ4oCZ + bSBzbyBzdG9rZWQgdG8gYmUgdGVhbWluZyB1cCB3aXRoIFNhcm9uIGluIHRv + IHByb2R1Y2UgYSBwb2RjYXN0IHRoYXQgaXMgZWR1Y2F0aW9uYWwsIGludGVy + ZXN0aW5nLCBmdW4gdG8gbGlzdGVuIHRvLCBhbmQgPGVtPmFsd2F5cyA8L2Vt + PnZlcnk8ZW0+IDwvZW0+ZnJpZW5kbHkhPC9wPjxwPkkgaG9wZSB0aGF0IHRo + aXMgcG9kY2FzdCB3aWxsIGJ1aWxkIHVwb24gdGhlIGZvdW5kYXRpb24gYW5k + IGNvbW11bml0eSB0aGF0IDxlbT5iYXNlY3M8L2VtPiBoYXMgY3JlYXRlZCBi + eSBvcGVuaW5nIGRvb3JzIGFuZCB3ZWxjb21pbmcgbW9yZSBmb2xrcyBpbnRv + IG91ciBpbmR1c3RyeSBieSBoZWxwaW5nIHRoZW0gZmFsbCBpbiBsb3ZlIHdp + dGggdGhlIHdvbmRlcnMgb2YgY29tcHV0ZXLCoHNjaWVuY2UuPC9wPjxwPllv + dSBjYW4gc3Vic2NyaWJlIHRvIHRoZSBiYXNlY3MgcG9kY2FzdCA8YSBocmVm + PSJodHRwczovL3d3dy5jb2RlbmV3YmllLm9yZy9iYXNlY3MiPmhlcmU8L2E+ + LCBhbmQgbGlzdGVuIHRvIEVwaXNvZGUgMSBub3chIElmIHlvdSBsaWtlIHdo + YXQgeW91IGhlYXIsIEkgaG9wZSB5b3XigJlsbCBjb25zaWRlciBzaGFyaW5n + IGl0IHdpdGggeW91ciBmcmllbmRzLCBmYW1pbHksIGFuZCBjb3dvcmtlcnPi + gIrigJTigIphbmQgbWF5YmUgbGVhdmUgdXMgYSByZXZpZXcuwqDwn5iOPC9w + PjxwPlRoYW5rIHlvdSBhZ2FpbiBmb3IgeW91ciBjb250aW51ZWQgcmVhZGVy + c2hpcCBhbmTCoHN1cHBvcnQuPC9wPjxwPldpdGggZ3JhdGl0dWRlLDxicj5W + YWlkZWhpPC9wPjxpbWcgc3JjPSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0 + P2V2ZW50PXBvc3QuY2xpZW50Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxf + cnNzJnBvc3RJZD05N2M4ZTQ0NTRkNyIgd2lkdGg9IjEiIGhlaWdodD0iMSI+ + PGhyPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvYW5u + b3VuY2luZy10aGUtYmFzZWNzLXBvZGNhc3QtOTdjOGU0NDU0ZDciPkFubm91 + bmNpbmcgdGhlIGJhc2VjcyBwb2RjYXN0ISDwn5iNPC9hPiB3YXMgb3JpZ2lu + YWxseSBwdWJsaXNoZWQgaW4gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2VjcyI+YmFzZWNzPC9hPiBvbiBNZWRpdW0sIHdoZXJlIHBlb3BsZSBh + cmUgY29udGludWluZyB0aGUgY29udmVyc2F0aW9uIGJ5IGhpZ2hsaWdodGlu + ZyBhbmQgcmVzcG9uZGluZyB0byB0aGlzIHN0b3J5LjwvcD5dXT48L2NvbnRl + bnQ6ZW5jb2RlZD4KICAgICAgICA8L2l0ZW0+CiAgICAgICAgPGl0ZW0+CiAg + ICAgICAgICAgIDx0aXRsZT48IVtDREFUQVtUaGUgVHJpYWxzIEFuZCBUcmli + dWxhdGlvbnMgT2YgVGhlIFRyYXZlbGluZyBTYWxlc21hbl1dPjwvdGl0bGU+ + CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mv + dGhlLXRyaWFscy1hbmQtdHJpYnVsYXRpb25zLW9mLXRoZS10cmF2ZWxpbmct + c2FsZXNtYW4tNTYwNDhkNjcwOWQ/c291cmNlPXJzcy04ZjU1OTkzYzk3M2Ut + LS0tLS0yPC9saW5rPgogICAgICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHBzOi8vbWVkaXVtLmNvbS9wLzU2MDQ4ZDY3MDlkPC9ndWlk + PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbdGVjaF1dPjwvY2F0 + ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtwcm9ncmFt + bWluZ11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtD + REFUQVtjb21wdXRlci1zY2llbmNlXV0+PC9jYXRlZ29yeT4KICAgICAgICAg + ICAgPGNhdGVnb3J5PjwhW0NEQVRBW3RoZW9yeS1pbi1wcmFjdGljZV1dPjwv + Y2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVthbGdv + cml0aG1zXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+ + PCFbQ0RBVEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAg + ICAgICAgPHB1YkRhdGU+TW9uLCAwNiBOb3YgMjAxNyAyMTowNzo1NiBHTVQ8 + L3B1YkRhdGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMS0x + M1QxNTowNzo1NS44NDFaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxj + b250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpqTU53S01CWkxUNGVVYjBjR3RFYW13LmpwZWciIC8+PGZpZ2NhcHRpb24+ + VGhlIHRyaWFscyBhbmQgdHJpYnVsYXRpb25zIG9mIHRoZSB0cmF2ZWxpbmcg + c2FsZXNtYW4hPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkFzIHdlIGRpdmUg + ZGVlcGVyIGFuZCBkZWVwZXIgaW50byB0aGUgd29ybGQgb2YgY29tcHV0ZXIg + c2NpZW5jZSwgb25lIHRoaW5nIHN0YXJ0cyB0byBiZWNvbWUgdmVyeSBjbGVh + ciwgdmVyeSBxdWlja2x5OiBzb21lIHByb2JsZW1zIHNlZW0gdG8gc2hvdyB1 + cCBhZ2FpbiBhbmQgYWdhaW4sIGluIHRoZSBzdHJhbmdlc3Qgb2YgZm9ybXMu + IEluIGZhY3QsIHNvbWUgb2YgdGhlIG1vc3QgZmFtb3VzIHByb2JsZW1zIGlu + IHRoZSBoaXN0b3J5IG9mIGNvbXB1dGVyIHNjaWVuY2UgaGF2ZSBubyBzcGVj + aWZpYyBvcmlnaW4gdGhhdCBhbnlvbmUga25vd3Mgb2YuIEluc3RlYWQsIHRo + ZSBzYW1lIHByb2JsZW0gc2hvd3MgdXAgaW4gZGlmZmVyZW50IGZvcm1zIGFu + ZCBhdmF0YXJzLCBpbiBkaWZmZXJlbnQgcGxhY2VzIGFyb3VuZCB0aGUgd29y + bGQsIGF0IGRpZmZlcmVudCB0aW1lwqBwZXJpb2RzLjwvcD48cD5UaGUgaGFy + ZGVzdCBwcm9ibGVtcyBpbiBzb2Z0d2FyZSBhcmUgdGhlIG1vc3QgZnVuIHRv + IHNvbHZl4oCK4oCU4oCKYW5kIHNvbWUgb2YgdGhlbSBoYXZlbuKAmXQgZXZl + biBiZWVuIGZpZ3VyZWQgb3V0IHlldCEgT25lIG9mIHRoZXNlIGhhcmQgcHJv + YmxlbXMgaXMgdGhlIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtLCBhbmQg + ZGVwZW5kaW5nIG9uIHdob20geW91IGFzaywgaXQgbWlnaHQgYmUgdGhlIG1v + c3Qgbm90b3Jpb3VzIG9mIHRoZW3CoGFsbC48L3A+PHA+SSBmaXJzdCBoZWFy + ZCBhYm91dCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gYSBmZXcg + eWVhcnMgYWdvLCBhbmQgaXQgc2VlbWVkIHN1cGVyIGRhdW50aW5nIHRvIG1l + IGF0IHRoZSB0aW1lLiBUbyBiZSB0b3RhbGx5IGhvbmVzdCwgZXZlbiBjb21p + bmcgYmFjayB0byBpdCBub3csIGl0IHN0aWxsIGZlZWxzIGEgbGl0dGxlIGJp + dCBkYXVudGluZywgYW5kIGl0IG1pZ2h0IHNlZW0gc2NhcnkgdG8geW91LCB0 + b28uIEJ1dCBzb21ldGhpbmcgaXMgZGlmZmVyZW50IHRoaXMgdGltZSBhcm91 + bmQ6IHdl4oCZdmUgZ290IGEgd2hvbGUgd2VhbHRoIG9mIGtub3dsZWRnZSBh + bmQgY29udGV4dCB0byBkcmF3IGZyb20hIFRocm91Z2hvdXQgdGhpcyBzZXJp + ZXMsIHdl4oCZdmUgYmVlbiBidWlsZGluZyB1cG9uIG91ciBmb3VuZGF0aW9u + IGNvcmUgb2YgY29tcHV0ZXIgc2NpZW5jZSwgYW5kIHJldHVybmluZyB0byBz + b21lIG9mIHRoZSBzYW1lIGNvbmNlcHRzIHJlcGVhdGVkbHkgaW4gYW4gZWZm + b3J0IHRvIHVuZGVyc3RhbmQgdGhlbSBvbiBhIG1vcmUgdGVjaG5pY2FsIGxl + dmVs4oCK4oCU4oCKYnV0IG9ubHkgd2hlbiB3ZSBmZWVsIGZ1bGx5IGVxdWlw + cGVkIHRvIGRvIHNvLiBUaGUgc2FtZSBnb2VzIGZvciB0aGlzIGxvb2sgaW50 + byB0aGUgdGhlIHRyYXZlbGluZyBzYWxlc21hbsKgcHJvYmxlbS48L3A+PHA+ + SW4gb3JkZXIgdG8gdW5kZXJzdGFuZCB3aHkgdGhpcyBwcm9ibGVtIGlzIHNv + IG5vdG9yaW91cywgd2UgbmVlZCB0byB3cmFwIG91ciBoZWFkcyBhcm91bmQg + d2hhdCBpdCBpcywgaG93IHdlIGNhbiBzb2x2ZSBpdCwgd2h5IGl0IGlzIGlt + cG9ydGFudCwgYW5kIHdoYXQgbWFrZXMgaXQgc28gaGFyZC4gSXQgbWlnaHQg + c291bmQgb3ZlcndoZWxtaW5nLCBidXQgd2XigJlsbCBnZXQgdGhyb3VnaCBp + dCB0b2dldGhlciwgb25lIHN0ZXAgYXQgYcKgdGltZS48L3A+PHA+U28sIGxl + dOKAmXMgaG9wIHRvwqBpdCE8L3A+PGgzPkdlb21ldHJ5LCBjaXJjdWl0cywg + YW5kIGEgZHVkZSBuYW1lZMKgSGFtaWx0b248L2gzPjxwPlRoZSBpZGVhIGJl + aGluZCB0aGUgPHN0cm9uZz48ZW0+dHJhdmVsaW5nIHNhbGVzbWFuIHByb2Js + ZW08L2VtPjwvc3Ryb25nPiAoPGVtPlRTUDwvZW0+KSBpcyByb290ZWQgaW4g + YSByYXRoZXIgcmVhbGlzdGljIHByb2JsZW0gdGhhdCBtYW55IHBlb3BsZSBo + YXZlIHByb2JhYmx5IGFjdHVhbGx5IGVuY291bnRlcmVkLiBUaGUgdGhlc2lz + IGlzIHNpbXBsZTogYSBzYWxlc21hbiBoYXMgdG8gdHJhdmVsIHRvIGV2ZXJ5 + IHNpbmdsZSBjaXR5IGluIGFuIGFyZWEsIHZpc2l0aW5nIGVhY2ggY2l0eSBv + bmx5IG9uY2UuIEFkZGl0aW9uYWxseSwgaGUgbmVlZHMgdG8gZW5kIHVwIGlu + IHRoZSBzYW1lIGNpdHkgd2hlcmUgaGUgc3RhcnRzIGhpcyBqb3VybmV5wqBm + cm9tLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmJ5M01nZGttYW1FQXhs + Q2FJSDY4WGcuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgdHJhdmVsaW5nIHNh + bGVzbWFuIHNlZWtzIHRvIHZpc2l0IGVhY2ggY2l0eSBvbmNlLCBhbmQgZW5k + IHVwIGluIHRoZSBzYW1lIHBsYWNlIGhlwqBzdGFydGVkLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgYWN0dWFsIOKAnHByb2JsZW3igJ0gd2l0aGlu + IHRoZSB0cmF2ZWxpbmcgc2FsZXNtYW4gcHJvYmxlbSBpcyBmaW5kaW5nIHRo + ZSBtb3N0IDxlbT5lZmZpY2llbnQ8L2VtPiByb3V0ZSBmb3IgdGhlIHNhbGVz + bWFuIHRvIHRha2UuIFRoZXJlIGFyZSBvYnZpb3VzbHkgbWFueSBkaWZmZXJl + bnQgcm91dGVzIHRvIGNob29zZSBmcm9tLCBidXQgZmluZGluZyB0aGUgYmVz + dCBvbmXigIrigJTigIp0aGUgb25lIHRoYXQgd2lsbCByZXF1aXJlIHRoZSBs + ZWFzdCBjb3N0IG9yIGRpc3RhbmNlIG9mIG91ciBzYWxlc21hbuKAiuKAlOKA + imlzIHdoYXQgd2XigJlyZSBzb2x2aW5nwqBmb3IuPC9wPjxwPkluIG1vcmUg + d2F5cyB0aGFuIG9uZSwgdGhlIHByYWN0aWNhbCBhc3BlY3RzIG9mIHRoaXMg + cHJvYmxlbSBhcmUgcmVtaW5zY2llbnQgb2YgPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9rJUMzJUI2bmlnc2Jlcmctc2V2ZW4tc21hbGwt + YnJpZGdlcy1vbmUtZ2lhbnQtZ3JhcGgtcHJvYmxlbS0yMjc1ZDE2NzBhMTIi + PlRoZSBTZXZlbiBCcmlkZ2VzIG9mIEvDtm5pZ3NiZXJnPC9hPiwgYSBtYXRo + ZW1hdGljYWwgcHJvYmxlbSB0aGF0IHdl4oCZcmUgYWxyZWFkeSBmYW1pbGlh + ciB3aXRoLCB3aGljaCB3YXMgdGhlIGJhc2lzIGZvciBFdWxlcuKAmXMgaW52 + ZW50aW9uIG9mIHRoZSBmaWVsZCBjYWxsZWQg4oCcdGhlIGdlb21ldHJ5IG9m + IHBvc2l0aW9u4oCdLCB3aGljaCB3ZSBub3cga25vdyB0b2RheSBhcyA8ZW0+ + Z3JhcGjCoHRoZW9yeTwvZW0+LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNy + Yz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMzczLzEq + cWhrSk5sQVpQemNxaGJoMDh0a0xuUS5wbmciIC8+PGZpZ2NhcHRpb24+V2ls + bGlhbSBSb3dhbiBIYW1pbHRvbiwgPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtp + cGVkaWEub3JnL3dpa2kvV2lsbGlhbV9Sb3dhbl9IYW1pbHRvbiMvbWVkaWEv + RmlsZTpXaWxsaWFtX1Jvd2FuX0hhbWlsdG9uX3BvcnRyYWl0X292YWxfY29t + YmluZWQucG5nIj5XaWtpbWVkaWEgQ29tbW9uczwvYT48L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+QnV0IGdyYXBoIHRoZW9yeSBkaWRu4oCZdCBlbmQgd2l0 + aCBFdWxlciBhbmQgdGhlIGNpdHkgb2YgS8O2bmlnc2JlcmchIEluZGVlZCwg + dGhlIFNldmVuIEJyaWRnZSBwcm9ibGVtIHdhcyBqdXN0IHRoZSBiZWdpbm5p + bmcsIGFuZCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gaXMgYSBw + cmltZSBleGFtcGxlIG9mIHNvbWVvbmUgYnVpbGRpbmcgdXBvbiB0aGUgaWRl + YXMgb2YgdGhvc2Ugd2hvIGNhbWUgYmVmb3JlwqBoaW0uPC9wPjxwPlRoZSDi + gJxzb21lb25l4oCdIGluIHRoaXMgc2NlbmFyaW8gaXMgbm9uZSBvdGhlciB0 + aGFuIDxhIGhyZWY9Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dp + bGxpYW1fUm93YW5fSGFtaWx0b24iPldpbGxpYW0gUm93YW4gSGFtaWx0b248 + L2E+LCBhbiBJcmlzaCBwaHlzaWNpc3QgYW5kIG1hdGhlbWF0aWNpYW4gd2hv + IHdhcyBpbnNwaXJlZCBieSBhbmQgc3Vic2VxdWVudGx5IGNvbnRpbnVlZCB0 + aGUgcmVzZWFyY2ggb2YgbWF0aGVtYXRpY2lhbnMgd2hvIGNhbWUgYmVmb3Jl + IGhpbSBpbiBvcmRlciB0byBjcmVhdGUgYSBzdWJzZXQgb2YgbWF0aGVtYXRp + Y2FsIHByb2JsZW1zIHRoYXQgYXJlIGRpcmVjdGx5IHRpZWQgdG8gdGhlIHRy + YXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIHRoYXQgd2UgYXJlIGZhbWlsaWFy + IHdpdGjCoHRvZGF5LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0 + cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkJrS3dj + b3JNMWhMYWxSY0diWlpHbFEuanBlZyIgLz48ZmlnY2FwdGlvbj5Db21wYXJp + bmcgRXVsZXJpYW4gYW5kIEhhbWlsdG9uaWFuIHBhdGhzLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5JbiB0aGUgbGF0ZSAxODAw4oCZcywgYm90aCBIYW1p + bHRvbiBhbmQgdGhlIEJyaXRpc2ggbWF0aGVtYXRpY2lhbiA8YSBocmVmPSJo + dHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaG9tYXNfS2lya21hbiI+ + VGhvbWFzIEtpcmttYW48L2E+IHdlcmUgd29ya2luZyBvbiBtYXRoZW1hdGlj + YWwgcHJvYmxlbXMgdGhhdCB3ZXJlIGZ1bmRhbWVudGFsbHkgc2ltaWxhciB0 + byBUU1AuIEhhbWlsdG9u4oCZcyBjbGFpbSB0byBmYW1lIHdhcyBoaXMgd29y + ayBvbiBkZXJpdmluZyBhIHNvbWV0aGluZyBjYWxsZWQgYSA8c3Ryb25nPjxl + bT5IYW1pbHRvbmlhbiBwYXRoPC9lbT48L3N0cm9uZz4sIHdoaWNoIGJlYXJz + IHJlc2VtYmxhbmNlIHRvIEV1bGVy4oCZcyBmYW1vdXMgPGEgaHJlZj0iaHR0 + cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9rw7ZuaWdzYmVyZy1zZXZlbi1zbWFs + bC1icmlkZ2VzLW9uZS1naWFudC1ncmFwaC1wcm9ibGVtLTIyNzVkMTY3MGEx + MiI+RXVsZXJpYW7CoHBhdGg8L2E+LjwvcD48cD5XaGlsZSBhIEV1bGVyaWFu + IHBhdGggaXMgYSBwYXRoIHdoZXJlIGV2ZXJ5IHNpbmdsZSBlZGdlIGluIGEg + Z3JhcGggaXMgdmlzaXRlZCBvbmNlLCBhIEhhbWlsdG9uaWFuIHBhdGggaXMg + b25lIHdoZXJlIGV2ZXJ5IHNpbmdsZSA8ZW0+dmVydGV4PC9lbT4gaXMgdmlz + aXRlZCBleGFjdGx5wqBvbmNlLjwvcD48cD5CeSB0aGUgc2FtZSB0b2tlbiwg + YSBFdWxlcmlhbiBjaXJjdWl0IGlzIGEgRXVsZXJpYW4gcGF0aCB0aGF0IGVu + ZHMgYXQgdGhlIHNhbWUgdmVydGV4IHdoZXJlIGl0IGJlZ2FuLCB0b3VjaGlu + ZyBlYWNoIDxlbT5lZGdlPC9lbT4gb25jZS4gQSA8c3Ryb25nPjxlbT5IYW1p + bHRvbmlhbiBjaXJjdWl0PC9lbT48L3N0cm9uZz4sIG9uIHRoZSBvdGhlciBo + YW5kLCBpcyBhIEhhbWlsdG9uaWFuIHBhdGggdGhhdCBlbmRzIGF0IHRoZSBz + YW1lIHZlcnRleCB3aGVyZSBpdCBiZWdhbiwgYW5kIHRvdWNoZXMgZWFjaCA8 + ZW0+dmVydGV4PC9lbT4gZXhhY3RsecKgb25jZS48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSp6RWpvM0UyRldvMDJwdHpnd2VybVJBLmpwZWciIC8+PGZp + Z2NhcHRpb24+VFNQIGFzIGEgSGFtaWx0b25pYW4gY2lyY3VpdMKgcHJvYmxl + bS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QSBnb29kIHJ1bGUgb2YgdGh1 + bWIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBwYXRoIHRocm91Z2ggYSBncmFw + aCBpcyBIYW1pbHRvbmlhbiBvciBFdWxlcmlhbiBpc8KgdGhpczo8L3A+PGJs + b2NrcXVvdGU+aW4gYSA8c3Ryb25nPjxlbT5IYW1pbHRvbmlhbiBwYXRoPC9l + bT48L3N0cm9uZz4sIGV2ZXJ5IGVkZ2UgZG9lc27igJl0IG5lZWQgdG8gYmUg + dmlzaXRlZCwgYnV0IGV2ZXJ5IG5vZGUgbXVzdCB2aXNpdGVk4oCK4oCU4oCK + YnV0IG9ubHkgb25jZSEgSW4gY29tcGFyaXNvbiwgaW4gYW4gPGVtPkV1bGVy + aWFuIHBhdGg8L2VtPiwgc29tZSB2ZXJ0aWNlcyBjb3VsZCBiZSB2aXNpdGVk + IG11bHRpcGxlIHRpbWVzLCBidXQgZXZlcnkgZWRnZSBjYW4gb25seSBldmVy + IGJlIHZpc2l0ZWTCoG9uY2UuPC9ibG9ja3F1b3RlPjxwPlRoZSByZWFzb24g + dGhhdCBIYW1pbHRvbuKAmXMgd29yaywgd2hpY2ggaXMgYnVpbHQgdXBvbiBF + dWxlcuKAmXMgZm9ybXVsYXRpb25zLCBjb21lcyB1cCBpbiB0aGUgY29udGV4 + dCBvZiB0aGUgZmFtb3VzIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIGlz + IHRoYXQgdGhlIGpvYiBvZiB0aGUgc2FsZXNtYW7igIrigJTigIp0cmF2ZWxp + bmcgdG8gZWFjaCBjaXR5IGV4YWN0bHkgb25jZSBhbmQgZW5kaW5nIHVwIHdo + ZXJlIGhlIGJlZ2Fu4oCK4oCU4oCKaXMgcmVhbGx5IG5vdGhpbmcgbW9yZSB0 + aGFuIGEgZ3JhcGjCoHByb2JsZW0hPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqOVRRSkpJa3J1MTFBUXY4WkVUck1ndy5qcGVnIiAvPjxmaWdjYXB0aW9u + PlRoZSBpY29zaWFuIGdhbWUsIGludmVudGVkIGJ5IFcuUi4gSGFtaWx0b24g + aW4gdGhlwqAxODAwJiMzOTtzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5I + YW1pbHRvbuKAmXMgd29yayBleHBhbmRlZCBncmFwaCB0aGVvcnkgdG8gdGhl + IHBvaW50IHdoZXJlIGhlIHdhcyBhY3R1YWxseSBzb2x2aW5nIHRoZSBUU1Ag + YmVmb3JlIGl0IHdhcyByZWFsbHkgYSB0aGluZy4gSGFtaWx0b24gaW52ZW50 + ZWQgYSBnYW1lIHRoYXQgd2FzIHNpbWlsYXIgdG8gdGhlIHRyYXZlbGluZyBz + YWxlc21hbiBwcm9ibGVtLCB3aGljaCBoZSBjYWxsZWQgdGhlIDxzdHJvbmc+ + PGVtPmljb3NpYW4gZ2FtZTwvZW0+PC9zdHJvbmc+LCB3aG9zZSBvYmplY3Rp + dmUgd2FzIHRvIGZpbmQgYSBwYXRoIHRocm91Z2ggdGhlIHBvaW50cyBvZiBh + IGRvZGVjYWhlZHJvbiwgb3IgYSBwb2x5Z29uIHdpdGggMTIgZmxhdMKgZmFj + ZXMuPC9wPjxwPkhhbWlsdG9u4oCZcyBnYW1lIHdhcyBldmVudHVhbGx5IHR1 + cm5lZCBpbnRvIGFuIGFjdHVhbCBib2FyZCBnYW1lLiBBbmQsIGlmIHdlIHRo + aW5rIGFib3V0IGl0LCBldmVuIHRoZSBpY29zaWFuIGdhbWUgaXMgcmVhbGx5 + IGp1c3QgYW5vdGhlciB2YXJpYXRpb24gb24gdGhlIHRyYXZlbGluZyBzYWxl + c21hbiBwcm9ibGVtISBKdXN0IGFzIGFzIGRvZGVjYWhlZHJvbiBoYXMgMjAg + dmVydGljZXMsIHdlIGNvdWxkIGltYWdpbmUgSGFtaWx0b27igJlzIGdhbWUg + YXMgYSBtYXAgb2YgMjAgY2l0aWVzLiBVc2luZyB0aGlzIGFuYWxvZ3ksIG91 + ciB0cmF2ZWxpbmcgc2FsZXNtYW4gd291bGQgbmVlZCB0byBmaW5kIGEgd2F5 + IHRocm91Z2ggMjAgY2l0aWVzLCB2aXNpdGluZyBlYWNoIGNpdHkgb25jZSwg + YW5kIGVuZGluZyB1cCBleGFjdGx5IHdoZXJlIGhlwqBzdGFydGVkLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvODAwLzEqcnJLNHdES3IzTklhUW1nckhra05vQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhhbWlsdG9u4oCZcyBpY29zaWFuIGdhbWUs + IMKpIDxhIGhyZWY9Imh0dHA6Ly9wdXp6bGVtdXNldW0uY29tL21vbnRoL3Bp + Y20wMi8yMDAyMDdpY29zaWFuLmh0bSI+UHV6emxlwqBNdXNldW08L2E+PC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPlRodXMsIHRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gcHJvYmxlbSBjYW4gcmVhbGx5IGp1c3QgYmUgcmVmb3JtdWxhdGVk + IHRvIGJlIHJlcHJlc2VudGVkIGFzIGEgZ3JhcGguIEx1Y2tpbHksIHdlIGhh + dmUgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9hLWdlbnRs + ZS1pbnRyb2R1Y3Rpb24tdG8tZ3JhcGgtdGhlb3J5LTc3OTY5ODI5ZWFkOCI+ + Y292ZXJlZDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy9mcm9tLXRoZW9yeS10by1wcmFjdGljZS1yZXByZXNlbnRpbmctZ3JhcGhz + LWNmZDc4MmM1YmUzOCI+YSB3aG9sZTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9zcGlubmluZy1hcm91bmQtaW4tY3ljbGVzLXdp + dGgtZGlyZWN0ZWQtYWN5Y2xpYy1ncmFwaHMtYTIzMzQ5NmQ0Njg4Ij5sb3Q8 + L2E+IDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZGVlcC1k + aXZlLXRocm91Z2gtYS1ncmFwaC1kZnMtdHJhdmVyc2FsLTgxNzdkZjVkMGYx + MyI+b2YgZGlmZmVyZW50PC9hPiA8YSBocmVmPSJodHRwczovL21lZGl1bS5j + b20vYmFzZWNzL2ZpbmRpbmctdGhlLXNob3J0ZXN0LXBhdGgtd2l0aC1hLWxp + dHRsZS1oZWxwLWZyb20tZGlqa3N0cmEtNjEzMTQ5ZmJkYzhlIj50b3BpY3M8 + L2E+IHdoZW4gaXQgY29tZXMgdG8gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9nb2luZy1icm9hZC1pbi1hLWdyYXBoLWJmcy10cmF2ZXJz + YWwtOTU5YmQxYTA5MjU1Ij5jb21wbGV4IGdyYXBoczwvYT4uIFdl4oCZdmUg + Z290IGEgc29saWQgZm91bmRhdGlvbiB0byBidWlsZCB1cG9uLCBqdXN0IGxp + a2UgSGFtaWx0b27CoGRpZCE8L3A+PHA+T25jZSB3ZeKAmXJlIGFibGUgdG8g + d3JhcCBvdXIgaGVhZHMgYXJvdW5kIHRoZSBmYWN0IHRoYXQgdGhlIHRyYXZl + bGluZyBzYWxlc21hbiBwcm9ibGVtIGlzIHJlYWxseSBqdXN0IGEgZ3JhcGgg + dHJhdmVyc2FsIHByb2JsZW0sIHdlIGNhbiBzdGFydCBnZXR0aW5nIGRvd24g + dG8gYnVzaW5lc3MuIEluIG90aGVyIHdvcmRzLCB3ZSBjYW4gc3RhcnQgdHJ5 + aW5nIHRvIDxlbT5zb2x2ZTwvZW0+IHRoaXMgcHJvYmxlbS4gRm9yIG91ciBw + dXJwb3Nlcywgd2Ugd29u4oCZdCB3b3JyeSBvdXJzZWx2ZXMgd2l0aCB0cnlp + bmcgdG8gZ2V0IHRoZSBiZXN0IHNvbHV0aW9uIG9yIHVzaW5nIHRoZSBtb3N0 + IGVmZmljaWVudCBhcHByb2FjaC4gSW5zdGVhZCwgd2XigJlsbCBzdGFydCBi + eSBzaW1wbHkgdHJ5aW5nIHRvIGdldCBzb21lIGtpbmQgb2Ygc29sdXRpb24g + dG8gYmVnaW4gd2l0aC4gVXNpbmcgdGhlIG9sZCBhZGFnZSA8YSBocmVmPSJo + dHRwOi8vd2lraS5jMi5jb20vP01ha2VJdFdvcmtNYWtlSXRSaWdodE1ha2VJ + dEZhc3QiPmF0dHJpYnV0ZWQgdG88L2E+IEtlbnQgQmVjaywgd2UgbXVzdCBm + aXJzdCDigJxNYWtlIGl0IHdvcmvigJ0gYmVmb3JlIHdlIGNhbiBldmVuIGJl + Z2luIHRvIHRoaW5rIGFib3V0IG1ha2luZyBpdCDigJxyaWdodOKAnSBvcsKg + 4oCcZmFzdOKAnS48L3A+PHA+U28sIGxldOKAmXMgZ2V0IHRvIHdvcmsgYW5k + IGdldCBvdXIgc2FsZXNtYW4gb24gdGhlwqByb2FkITwvcD48aDM+QnJ1dGUt + Zm9yY2UgdG8gYmVnaW7CoHdpdGg8L2gzPjxwPlRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gaW4gb3VyIGV4YW1wbGUgcHJvYmxlbSBoYXMgaXQgcHJldHR5IGx1 + Y2t54oCK4oCU4oCKaGUgb25seSBoYXMgdG8gdHJhdmVsIGJldHdlZW4gZm91 + ciBjaXRpZXMuIEZvciBzaW1wbGljaXR54oCZcyBzYWtlLCB3ZeKAmWxsIGNh + bGwgdGhlc2UgZm91ciBjaXRpZXMgdywgeCwgeSwgYW5kIHouIEJlY2F1c2Ug + d2Uga25vdyB0aGF0IFRTUCBpcyBhIGdyYXBoIHByb2JsZW0sIHdlIGNhbiB2 + aXN1YWxpemUgb3VyIHNhbGVzbWFu4oCZcyBwb3NzaWJsZSByb3V0ZXMgaW4g + dGhlIGZvcm0gb2YgPHN0cm9uZz48ZW0+YSB3ZWlnaHRlZCwgdW5kaXJlY3Rl + ZCBncmFwaDwvZW0+PC9zdHJvbmc+LiBXZeKAmWxsIHJlY2FsbCB0aGF0IGEg + PGVtPndlaWdodGVkPC9lbT4gZ3JhcGggaXMgb25lIHdob3NlIGVkZ2VzIGhh + dmUgYSBjb3N0IG9yIGRpc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGVtLCBh + bmQgYW4gPGVtPnVuZGlyZWN0ZWQ8L2VtPiBncmFwaCBpcyBvbmUgd2hvc2Ug + ZWRnZXMgaGF2ZSBhIGJpZGlyZWN0aW9uYWwgZmxvdy48L3A+PHA+TG9va2lu + ZyBhdCBhbiBpbGx1c3RyYXRlZCBleGFtcGxlIG9mIG91ciBzYWxlc21hbuKA + mXMgZ3JhcGgsIHdl4oCZbGwgc2VlIHRoYXQgc29tZSByb3V0ZXMgaGF2ZSBh + IGdyZWF0ZXIgZGlzdGFuY2Ugb3IgY29zdCB0aGFuIG90aGVycy4gV2XigJls + bCBhbHNvIG5vdGljZSB0aGF0IG91ciBzYWxlc21hbiBjYW4gdHJhdmVsIGJl + dHdlZW4gYW55IHR3byB2ZXJ0aWNlc8KgZWFzaWx5LjwvcD48ZmlndXJlPjxp + bWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNv + bS9tYXgvMTAyNC8xKkp5VnR6aGhLNDU3VnktYnpxTHJhc1EuanBlZyIgLz48 + ZmlnY2FwdGlvbj5Ib3cgY2FuIHdlIHNvbHZlIGZvciB0aGUgb3B0aW1hbCBw + YXRoIHN0YXJ0aW5nIGFuZCBlbmRpbmcgYXQgbm9kZcKgPGVtPnc8L2VtPj88 + L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+TGV04oCZcyBzYXkgdGhhdCBvdXIg + c2FsZXNtYW4gbGl2ZXMgaW4gY2l0eSB3LCBzbyB0aGF04oCZcyB3aGVyZSBo + ZeKAmWxsIHN0YXJ0IGhpcyBqb3VybmV5IGZyb20uIFNpbmNlIHdl4oCZcmUg + bG9va2luZyBmb3IgYSBIYW1pbHRvbmlhbiBjeWNsZS9jaXJjdWl0LCB3ZSBr + bm93IHRoYXQgdGhpcyBpcyBhbHNvIHdoZXJlIGhlIHdpbGwgbmVlZCB0byBl + bmQgdXAgYXQgdGhlIGVuZCBvZiBoaXMgYWR2ZW50dXJlcy4gU28sIGhvdyBj + YW4gd2Ugc29sdmUgZm9yIHRoZSBvcHRpbWFsIHBhdGggc28gdGhhdCBvdXIg + c2FsZXNtYW4gc3RhcnRzIGFuZCBlbmRzIGF0IGNpdHkgKG5vZGUpIHcsIGJ1 + dCBhbHNvIHZpc2l0cyBldmVyeSBzaW5nbGUgY2l0eSAoeCwgeSwgYW5kIHop + IGluIHRoZcKgcHJvY2Vzcz88L3A+PHA+UmVtZW1iZXIsIHdl4oCZcmUgbm90 + IGdvaW5nIHRvIHRoaW5rIGFib3V0IHRoZSBtb3N0IGVmZmljaWVudCBzdHJh + dGVneeKAiuKAlOKAimp1c3Qgb25lIHRoYXQgPGVtPndvcmtzPC9lbT4uIFNp + bmNlIHdl4oCZcmUgZ29pbmcgdG8gdXNlIHRoZSBicnV0ZS1mb3JjZSBhcHBy + b2FjaCwgbGV04oCZcyB0aGluayBhYm91dCB3aGF0IHdl4oCZcmUgcmVhbGx5 + IHRyeWluZyB0byBzb2x2ZSBmb3IgaGVyZS4gVGhlIGJydXRlLWZvcmNlIGFw + cHJvYWNoIGVmZmVjdGl2ZWx5IG1lYW5zIHRoYXQgd2XigJlsbCBzb2x2ZSBv + dXIgcHJvYmxlbSBieSBmaWd1cmluZyBvdXQgZXZlcnkgc2luZ2xlIHBvc3Np + YmxpdHkgYW5kIHRoZW4gcGlja2luZyB0aGUgYmVzdCBvbmUgZnJvbSB0aGUg + bG90LiBJbiBvdGhlciB3b3Jkcywgd2Ugd2FudCB0byBmaW5kIGV2ZXJ5IHNp + bmdsZSA8c3Ryb25nPjxlbT5wZXJtdXRhdGlvbjwvZW0+PC9zdHJvbmc+IG9y + IDxzdHJvbmc+PGVtPnBvc3NpYmxlIHBhdGg8L2VtPjwvc3Ryb25nPiB0aGF0 + IG91ciBzYWxlc21hbiBjb3VsZCB0YWtlLiBFdmVyeSBzaW5nbGUgb2Ygb25l + IG9mIHRoZXNlIHBvdGVudGlhbCByb3V0ZXMgaXMgYmFzaWNhbGx5IGEgZGly + ZWN0ZWQgZ3JhcGggaW4gaXRzIG93biByaWdodDsgd2Uga25vdyB0aGF0IHdl + 4oCZbGwgc3RhcnQgYXQgdGhlIG5vZGUgdyBhbmQgZW5kIGF0IHcsIGJ1dCB3 + ZSBqdXN0IGRvbuKAmXQga25vdyBxdWl0ZSB5ZXQgd2hpY2ggb3JkZXIgdGhl + IG5vZGVzIHgsIHksIGFuZCB6IHdpbGwgYXBwZWFyIGluwqBiZXR3ZWVuLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnctYzFPRGFQbkwwX3doTWtGSjZW + Y0EuanBlZyIgLz48ZmlnY2FwdGlvbj5FdmVyeSBwZXJtdXRhdGlvbiBpcywg + b24gaXRzIG93biwgYSBkaXJlY3RlZMKgZ3JhcGguPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPlNvLCB3ZSBuZWVkIHRvIHNvbHZlIGV2ZXJ5IHNpbmdsZSBw + b3NzaWJsZSBjb21iaW5hdGlvbiB0byBkZXRlcm1pbmUgdGhlIGRpZmZlcmVu + dCB3YXlzIHRoYXQgd2UgY291bGQgYXJyYW5nZSB4LCB5LCBhbmQgeiB0byBy + ZXBsYWNlIHRoZSBub2RlcyB0aGF0IGFyZSBjdXJyZW50bHkgZmlsbGVkIHdp + dGjCoD/igJlzLiBUaGF0IGRvZXNu4oCZdCBzZWVtIDxlbT50b28gPC9lbT50 + ZXJyaWJsZS48L3A+PHA+QnV0IGhvdyBkbyB3ZSBhY3R1YWxseSBzb2x2ZSBm + b3IgdGhlc2XCoD8gbm9kZXMsIGV4YWN0bHk/IFdlbGwsIGV2ZW4gdGhvdWdo + IHdl4oCZcmUgdXNpbmcgYSBsZXNzLXRoYW4taWRlYWwgYnJ1dGUtZm9yY2Ug + YXBwcm9hY2gsIHdlIGNhbiBsZWFuIG9uIDxlbT5yZWN1cnNpb248L2VtPiB0 + byBtYWtlIG91ciBzdHJhdGVneSBhIGxpdHRsZSBtb3JlwqBlbGVnYW50Ljwv + cD48YmxvY2txdW90ZT5UaGUgYmFzaWMgaWRlYSBpbiB0aGUgcmVjdXJzaXZl + IFRTUCBhcHByb2FjaCBpcyB0aGF0LCBmb3IgZXZlcnkgc2luZ2xlIG5vZGUg + dGhhdCB3ZSB2aXNpdCwgd2Uga2VlcCB0cmFjayBvZiB0aGUgbm9kZXMgdGhh + dCB3ZSBjYW4gbmF2aWdhdGUgdG8gbmV4dCwgYW5kIHRoZW4gcmVjdXJzaXZl + bHkgdmlzaXTCoHRoZW0uPC9ibG9ja3F1b3RlPjxwPkV2ZW50dWFsbHksIHdl + 4oCZbGwgZW5kIHVwIHdpdGggbm8gbW9yZSBub2RlcyB0byBjaGVjaywgd2hp + Y2ggd2lsbCBiZSBvdXIgcmVjdXJzaXZlIGJhc2UgY2FzZSwgZWZmZWN0aXZl + bHkgZW5kaW5nIG91ciByZWN1cnNpdmUgY2FsbHMgdG8gdmlzaXQgbm9kZXMu + IERvbuKAmXQgd29ycnkgaWYgdGhpcyBzZWVtIGNvbXBsaWNhdGVkIGFuZCBh + IGxpdHRsZSBjb25mdXNpbmcgYXQgdGhlIG1vbWVudDsgaXQgd2lsbCBiZWNv + bWUgYSBsb3QgY2xlYXJlciB3aXRoIGFuIGV4YW1wbGUuIFNvLCBsZXTigJlz + IHJlY3Vyc2l2ZWx5IGJydXRlLWZvcmNlIG91ciB3YXkgdGhyb3VnaCB0aGVz + ZSBjaXRpZXMgYW5kIGhlbHAgb3VyIHNhbGVzbWFuIGdldCBob21lIHNhZmUg + YW5kwqBzb3VuZCE8L3A+PHA+V2UgYWxyZWFkeSBrbm93IHRoYXQgb3VyIHNh + bGVzbWFuIGlzIGdvaW5nIHRvIHN0YXJ0IGF0IG5vZGUgdy4gVGh1cywgdGhp + cyBpcyB0aGUgbm9kZSB3ZeKAmWxsIHN0YXJ0IHdpdGggYW5kIHZpc2l0IGZp + cnN0LiBUaGVyZSBhcmUgdHdvIHRoaW5ncyB3ZSB3aWxsIG5lZWQgdG8gZG8g + Zm9yIGV2ZXJ5IHNpbmdsZSBub2RlIHRoYXQgd2UgdmlzaXTigIrigJTigIp3 + ZeKAmWxsIG5lZWQgdG8gcmVtZW1iZXIgdGhlIGZhY3QgdGhhdCB3ZeKAmXZl + IHZpc2l0ZWQgaXQsIGFuZCB3ZeKAmWxsIG5lZWQgdG8ga2VlcCB0cmFjayBv + ZiB0aGUgbm9kZXMgdGhhdCB3ZSBjYW4gPGVtPnBvdGVudGlhbGx5PC9lbT4g + dmlzaXTCoG5leHQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRw + czovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqcjVSWFVG + VWZ0Wmtaa2x3bHZlQW1pdy5qcGVnIiAvPjxmaWdjYXB0aW9uPkdlbmVyYXRp + bmcgcmVjdXJzaXZlIGNhbGxzIGZvciBUU1AsIHBhcnTCoDEuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPkhlcmUsIHdl4oCZcmUgdXNpbmcgYSBsaXN0IG5v + dGF0aW9uIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2UgY2Fu + IG5hdmlnYXRlIHRvIGZyb20gbm9kZSB3LiBBdCBmaXJzdCwgd2UgY2FuIG5h + dmlnYXRlIHRvIHRocmVlIGRpZmZlcmVudCBwbGFjZXM6IHt4LCB5LMKgen0u + PC9wPjxwPlJlY2FsbCB0aGF0IHJlY3Vyc2lvbiBpcyBiYXNpY2FsbHkgdGhl + IGlkZWEgdGhhdCBhIOKAnGZ1bmN0aW9uIGNhbGxzIGl0c2VsZiBmcm9tIHdp + dGhpbiBpdHNlbGbigJ0uIEluIG90aGVyIHdvcmRzLCBhcyBwYXJ0IG9mIHNv + bHZpbmcgdGhpcyBwcm9ibGVtLCB3ZeKAmXJlIGdvaW5nIHRvIGhhdmUgdG8g + YXBwbHkgdGhlIHNhbWUgcHJvY2VzcyBhbmQgdGVjaG5pcXVlIHRvIGV2ZXJ5 + IHNpbmdsZSBub2RlLCBhZ2FpbiBhbmQgYWdhaW4uIFNvIHRoYXTigJlzIGV4 + YWN0bHkgd2hhdCB3ZeKAmWxsIGRvIG5leHQhIEZvciBldmVyeSBzaW5nbGUg + bm9kZSB0aGF0IHdlIGNhbiBwb3RlbnRpYWxseSBuYXZpZ2F0ZSB0bywgd2Ug + d2lsbCByZWN1cnNpdmVseSB2aXNpdMKgaXQuPC9wPjxmaWd1cmU+PGltZyBh + bHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21h + eC8xMDI0LzEqMG96VDlvaHIzZEIzZTRnSVlTcWhfUS5qcGVnIiAvPjxmaWdj + YXB0aW9uPkdlbmVyYXRpbmcgcmVjdXJzaXZlIGNhbGxzIGZvciBUU1AsIHBh + cnTCoDIuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5vdGljZSB0aGF0IHdl + 4oCZcmUgc3RhcnRpbmcgdG8gY3JlYXRlIGEgdHJlZS1saWtlIHN0cnVjdHVy + ZS4gRm9yIGVhY2ggb2YgdGhlIHBvdGVudGlhbCBub2RlcyB0byB2aXNpdCBm + cm9tIHRoZSBzdGFydGluZyBub2RlIHcsIHdlIG5vdyBoYXZlIHRocmVlIHBv + dGVudGlhbCBjaGlsZCDigJxwYXRoc+KAnSB0aGF0IHdlIGNvdWxkIHRha2Uu + IEFnYWluLCBmb3IgZWFjaCBvZiB0aGVzZSB0aHJlZSB2ZXJ0aWNlcywgd2Xi + gJlyZSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBub2RlIGl0c2VsZiB0aGF0IHdl + 4oCZcmUgdmlzaXRpbmcgYXMgd2VsbCBhcyBhbnkgcG90ZW50aWFsIG5vZGVz + IHRoYXQgd2UgY2FuIHZpc2l0IG5leHQsIHdoaWNoIGhhdmVu4oCZdCBhbHJl + YWR5IGJlZW4gdmlzaXRlZCBpbiB0aGF0wqBwYXRoLjwvcD48cD5SZWN1cnNp + b24gaXMgYWJvdXQgcmVwZXRpdGlvbiwgc28gd2XigJlyZSBnb2luZyB0byBk + byB0aGUgc2FtZSB0aGluZyBvbmNlIGFnYWluISBUaGUgbmV4dCBzdGVwIG9m + IHJlY3Vyc2lvbiBleHBhbmRzIG91ciB0cmVlIG9uY2XCoGFnYWluLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvMTAyNC8xKkVKZ2VDRVFvTHRwc0NXc1FtUl8yMVEu + anBlZyIgLz48ZmlnY2FwdGlvbj5HZW5lcmF0aW5nIHJlY3Vyc2l2ZSBjYWxs + cyBmb3IgVFNQLCBwYXJ0wqAzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5X + ZeKAmWxsIG5vdGljZSB0aGF0LCBzaW5jZSBlYWNoIG9mIHRoZSB0aHJlZSBu + b2RlcyB4LCB5LCBhbmQgeiBoYWQgdHdvIG5vZGVzIHRoYXQgd2UgY291bGQg + cG90ZW50aWFsbHkgdmlzaXQgbmV4dCwgZWFjaCBvZiB0aGVtIGhhdmUgc3Bh + d25lZCBvZiB0d28gb2YgdGhlaXIgb3duIHJlY3Vyc2l2ZSBjYWxscy4gV2Xi + gJlsbCBjb250aW51ZSB0byBtYWtlIHJlY3Vyc2l2ZSBjYWxscyBpbiB0aGUg + c2FtZSB3YXkgYW5kLCBpbiB0aGUgcHJvY2Vzcywgd2XigJlsbCBzdGFydCB0 + byBzZWUgdGhhdCB3ZeKAmXJlIGNyZWF0aW5nIGRpZmZlcmVudCBwZXJtdXRh + dGlvbnMgdXNpbmcgdGhlIHNhbWXCoG5vZGVzLjwvcD48cD5XZeKAmWxsIG5v + dGljZSB0aGF0IHdl4oCZcmUgbm93IGF0IHRoZSB0aGlyZCBsZXZlbCBvZiBy + ZWN1cnNpdmUgY2FsbHMsIGFuZCBlYWNoIG5vZGUgaGFzIG9ubHkgb25lIHBv + c3NpYmxlIHBsYWNlIHRvIHZpc2l0IG5leHQuIFdlIGNhbiBwcm9iYWJseSBn + dWVzcyB3aGF0IGhhcHBlbnMgbmV4dOKAiuKAlOKAim91ciB0cmVlIGlzIGdv + aW5nIHRvIGdyb3cgYWdhaW4sIGFuZCBlYWNoIG9mIHRoZSBib3R0b20tbGV2 + ZWwgbm9kZXMgaXMgZ29pbmcgdG8gc3Bhd24gYSBzaW5nbGUgcmVjdXJzaXZl + IGNhbGwgb2YgaXRzIG93biwgc2luY2UgZWFjaCBub2RlIGhhcyBvbmx5IG9u + ZSB1bnZpc2l0ZWQgdmVydGV4IHRoYXQgaXQgY2FuIHBvdGVudGlhbGx5IGNo + ZWNrLjwvcD48cD5UaGUgaW1hZ2Ugc2hvd24gYmVsb3cgaWxsdXN0cmF0ZXMg + dGhlIG5leHQgdHdvIGxldmVscyBvZiByZWN1cnNpdmUgY2FsbHMuPC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqelJQVUt4RTh6SHdEMWF4TmlEMGRwQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkdlbmVyYXRpbmcgcmVjdXJzaXZlIGNhbGxz + IGZvciBUU1AsIHBhcnTCoDQuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5v + dGljZSB0aGF0LCB3aGVuIHdlIGdldCB0byB0aGUgZm91cnRoIGxldmVsIG9m + IGNoaWxkIG5vZGVzLCB0aGVyZSBpcyBub3doZXJlIGxlZnQgdG8gdmlzaXQ7 + IGV2ZXJ5IG5vZGUgaGFzIGFuIGVtcHR5IGxpc3QgKHt9ICkgb2Ygbm9kZXMg + dGhhdCBpdCBjYW4gdmlzaXQuIFRoaXMgbWVhbnMgdGhhdCB3ZeKAmXZlIGZp + bmlzaGVkIHJlY3Vyc2l2ZWx5IGNoZWNraW5nIGZvciBhbGwgcGVybXV0YXRp + b25zIG9mwqBwYXRocy48L3A+PGJsb2NrcXVvdGU+SG93ZXZlciwgc2luY2Ug + d2XigJlyZSBzb2x2aW5nIGZvciBhIEhhbWlsdG9uaWFuIGN5Y2xlLCB3ZSBh + cmVu4oCZdCBleGFjdGx5IGRvbmUgd2l0aCBlYWNoIG9mIHRoZXNlIHBhdGhz + IGp1c3QgeWV0LiBXZSBrbm93IHdlIHdhbnQgdG8gZW5kIGJhY2sgd2hlcmUg + d2Ugc3RhcnRlZCBhdCBub2RlIHcsIHNvIGluIHJlYWxpdHksIGVhY2ggb2Yg + dGhlc2UgbGFzdCByZWN1cmlzdmVseS1kZXRlcm1pbmVkIG5vZGVzIG5lZWRz + IHRvIGxpbmsgYmFjayB0byB2ZXJ0ZXjCoHcuPC9ibG9ja3F1b3RlPjxwPk9u + Y2Ugd2UgYWRkIG5vZGUgdyB0byB0aGUgZW5kIG9mIGVhY2ggb2YgdGhlIHBv + c3NpYmxlIHBhdGhzLCB3ZeKAmXJlIGRvbmUgZXhwYW5kaW5nIGFsbCBvZiBv + dXIgcGVybXV0YXRpb25zISBIb29yYXkhIFJlbWVtYmVyIGhvdyB3ZSBkZXRl + cm1pbmVkIGVhcmxpZXIgdGhhdCBldmVyeSBzaW5nbGUgb2Ygb25lIG9mIHRo + ZXNlIHBvdGVudGlhbCByb3V0ZXMgaXMganVzdCBhIGRpcmVjdGVkIGdyYXBo + PyBBbGwgb2YgdGhvc2UgZGlyZWN0ZWQgZ3JhcGhzIGhhdmUgbm93IHJldmVh + bGVkIHRoZW1zZWx2ZXMuIElmIHdlIHN0YXJ0IGZyb20gdGhlIHJvb3Qgbm9k + ZSwgdywgYW5kIHdvcmsgZG93biBlYWNoIHBvc3NpYmxlIGJyYW5jaCBvZiB0 + aGlzIOKAnHRyZWXigJ0sIHdl4oCZbGwgc2VlIHRoYXQgdGhlcmUgYXJlIHNp + eCBkaXN0aW5jdCBwYXRocywgd2hpY2ggYXJlIHJlYWxseSBqdXN0IHNpeCBk + aXJlY3RlZCBncmFwaHMhIFByZXR0eSBjb29sLMKgcmlnaHQ/PC9wPjxwPlNv + LCB3aGF0IGNvbWVzIG5leHQ/IFdl4oCZdmUgZXhwYW5kZWQgYWxsIG9mIHRo + ZXNlIHBhdGhz4oCmYnV0IGhvdyBkbyB3ZSBrbm93IHdoaWNoIG9uZSBpcyB0 + aGUgc2hvcnRlZCBvbmUgb2YgdGhlbcKgYWxsPzwvcD48cD5XZSBoYXZlbuKA + mXQgcmVhbGx5IGJlZW4gY29uc2lkZXJpbmcgdGhlIGNvc3Qgb3IgZGlzdGFu + Y2Ugb2YgdGhpcyB3ZWlnaHRlZCBncmFwaCBzbyBmYXIsIGJ1dCB0aGF04oCZ + cyBhbGwgYWJvdXQgdG8gY2hhbmdlLiBOb3cgdGhhdCB3ZeKAmXZlIGV4cGFu + ZGVkIHRoaXMgcHJvYmxlbSBhbmQgZm91bmQgYWxsIG9mIGl0cyBwb3NzaWJs + ZSBwZXJtdXRhdGlvbnMsIHdlIG5lZWQgdG8gY29uc2lkZXIgdGhlIHRvdGFs + IGNvc3Qgb2YgZWFjaCBvZiB0aGVzZSBwYXRocyBpbiBvcmRlciB0byBmaW5k + IHRoZSBzaG9ydGVzdCBvbmUuIFRoaXMgaXMgd2hlbiBhbiBhZGphY2VuY3kg + bWF0cml4IHJlcHJlc2VudGF0aW9uIG9mIG91ciBvcmlnaW5hbCBncmFwaCB3 + aWxsIGNvbWUgaW4gaGFuZHkuIFJlY2FsbCB0aGF0IGFuIDxzdHJvbmc+PGVt + PmFkamFjZW5jeSBtYXRyaXg8L2VtPjwvc3Ryb25nPiBpcyA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2Zyb20tdGhlb3J5LXRvLXByYWN0 + aWNlLXJlcHJlc2VudGluZy1ncmFwaHMtY2ZkNzgyYzViZTM4Ij5hIG1hdHJp + eCByZXByZXNlbnRhdGlvbjwvYT4gb2YgZXhhY3RseSA8ZW0+d2hpY2g8L2Vt + PiBub2RlcyBpbiBhIGdyYXBoIGNvbnRhaW4gZWRnZXMgYmV0d2VlbiB0aGVt + LiBXZSBjYW4gdHdlYWsgb3VyIHR5cGljYWwgYWRqYWNlbmN5IG1hdHJpeCBz + byB0aGF0LCBpbnN0ZWFkIG9mIGp1c3QgMeKAmXMgYW5kIDDigJlzLCB3ZSBj + YW4gYWN0dWFsbHkgc3RvcmUgdGhlIHdlaWdodCBvZiBlYWNowqBlZGdlLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmZ0ZDRWWjRHczI1cFhaeU9pMGJ3 + SXcuanBlZyIgLz48ZmlnY2FwdGlvbj5XZSBjYW4gdXNlIGFuIGFkamFjZW5j + eSBtYXRyaXggdG8gaGVscCB1cyBrZWVwIHRyYWNrIG9mIGVkZ2UgY29zdHMv + ZGlzdGFuY2VzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Ob3cgdGhhdCB3 + ZSBoYXZlIGFuIGFkamFjZW5jeSBtYXRyaXggdG8gaGVscCB1cywgbGV04oCZ + cyB1c2UgaXQgdG8gZG8gc29tZSBtYXRo4oCK4oCU4oCKc29tZSA8ZW0+cmVj + dXJzaXZlPC9lbT4gbWF0aCwgdGhhdMKgaXMhPC9wPjxoMz5NaXJyb3IgbWly + cm9yIG9uIHRoZSB3YWxsLCB3aGljaCBpcyB0aGUgc2hvcnRlc3QgcGF0aCBv + ZiB0aGVtwqBhbGw/PC9oMz48cD5JbiBvcmRlciB0byBkZXRlcm1pbmUgd2hp + Y2ggb2YgdGhlc2Ugc2l4IHBvc3NpYmxlIHBhdGhzIGlzIHRoZSBzaG9ydGVz + dCBvbmXigIrigJTigIphbmQgdGh1cyB0aGUgaWRlYWwgY2hvaWNlIGZvciBv + dXIgc2FsZXNtYW7igIrigJTigIp3ZSBuZWVkIHRvIGJ1aWxkIHVwIHRoZSBj + b3N0IG9mIGV2ZXJ5IHNpbmdsZSBvbmUgb2YgdGhlc2XCoHBhdGhzLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvMTAyNC8xKmx2bnBITUxTZGJnX1FtVmJlejlkWVEu + anBlZyIgLz48ZmlnY2FwdGlvbj5DYWxjdWxhdGluZyByZWN1cnNpdmUgY29z + dHMgdXNpbmcgcmVjdXJzaW9uIGZvciBUU1AsIHBhcnTCoDEuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlNpbmNlIHdl4oCZdmUgdXNlZCByZWN1cnNpb24g + dG8gZXhwYW5kIHRoZXNlIHBhdGhzIHVudGlsIHdlIGhpdCBvdXIgYmFzZSBj + YXNlIG9mIOKAnG5vIG1vcmUgbm9kZXMgbGVmdCB0byB2aXNpdOKAnSwgd2Ug + Y2FuIHN0YXJ0IHRvIGNsb3NlIHVwIHRoZXNlIHJlY3Vyc2l2ZSBjYWxscywg + YW5kIGNhbGN1bGF0ZSB0aGUgY29zdCBvZiBlYWNoIHBhdGggYWxvbmcgdGhl + wqB3YXkuPC9wPjxwPk9uY2Ugd2Uga25vdyB0aGUgY29zdCBiZXR3ZWVuIHR3 + byB2ZXJ0aWNlcywgd2UgY2FuIHN1bSB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0 + aGVtLCBhbmQgdGhlIHJlbW92ZSB0aGUgbm9kZSBmcm9tIHRoZSB0cmVlLiBU + aGlzIHdpbGwgbWFrZSBtb3JlIHNlbnNlIHdpdGggYW4gZXhhbXBsZSwgc28g + bGV04oCZcyB3b3JrIG91ciB3YXkgZnJvbSB0aGUgbG93ZXN0LWxldmVsIG9m + IHRoaXMgdHJlZSB1bnRpbCB3ZSBoYXZlIGZvdW5kIGEgc29sdXRpb24gZm9y + IHRoZSBzaG9ydGVzdMKgcGF0aC48L3A+PHA+V2Uga25vdyB0aGF0IGV2ZXJ5 + IHNpbmdsZSBvbmUgb2YgdGhlc2UgYnJhbmNoZXPigIrigJTigIplYWNoIG9m + IHdoaWNoIHJlcHJlc2VudHMgYSBwZXJtdXRhdGlvbiBvZiB0aGlzIHBhcnRp + Y3VsYXJseSBwcm9ibGVt4oCK4oCU4oCKZW5kcyB3aXRoIHRoZSBub2RlIHRo + YXQgd2Ugc3RhcnRlZCBvbjogbm9kZSB3LiBXZeKAmWxsIHN0YXJ0IHdpdGgg + bm9kZSB3LCBhbmQgY2FsY3VsYXRlIHRoZSBjb3N0IGZvciBvdXIgc2FsZXNt + YW4gdG8gdHJhdmVswqB0aGVyZS48L3A+PHA+V2VsbCwgc2luY2Ugb3VyIHNh + bGVzbWFuIDxlbT5zdGFydHMgYXQ8L2VtPiBub2RlIHcsIHRoZSBjb3N0IG9m + IHRyYXZlbGluZyB0byBub2RlIHcgaXMgYWN0dWFsbHkganVzdCAwLiBUaGlz + IG1ha2VzIHNlbnNlIGlmIHdlIHRoaW5rIGFib3V0IGl0LCBiZWNhdXNlIG91 + ciBzYWxlc21hbiBpcyBhbHJlYWR5IDxlbT5hdDwvZW0+IHRoYXQgdmVydGV4 + LCBzbyBpdCBpc27igJl0IGdvaW5nIHRvIOKAnGNvc3TigJ0gaGltIGFueXRo + aW5nIHRvIHRyYXZlbCB0aGVyZSEgU28sIHRoZSBtYXRoIGZvciB0aGUgYm90 + dG9tIGxldmVsIGlzIHByZXR0eSBlYXN54oCK4oCU4oCKdGhlIGNvc3QgdG8g + Z2V0IGZyb20gdyB0byB3IGlzIDAuIE5leHQsIHdl4oCZbGwgYXBwbHkgdGhl + IHNhbWUgdGVjaG5pcXVlIGFnYWluLCBidXQgdGhpcyB0aW1lLCB3ZeKAmWxs + IG1vdmUgb25lIGxldmVswqB1cC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpMb3dPanRDczhuMVJWaDlSdGlvWmtBLmpwZWciIC8+PGZpZ2NhcHRpb24+ + VW5kZXJzdGFuZGluZyB0aGUgbG9naWMgYmVoaW5kIHJlY3Vyc2l2ZSBhZGRp + dGlvbiBmb3LCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIGV4 + YW1wbGUsIGlmIHdlIHJlZmVyIHRvIG91ciBhZGphY2VuY3kgbWF0cml4IGZy + b20gdGhlIHByZXZpb3VzIHNlY3Rpb24sIHdl4oCZbGwgc2VlIHRoYXQgdGhl + IGNvc3Qgb2YgdHJhdmVsaW5nIGZyb20gdyB0byB6IGlzIDMuIFNpbmNlIHdl + 4oCZcmUgdHJhdmVsaW5nIGZyb20gdyDigJQmZ3Q7IHcg4oCUJmd0OyB6LCB3 + ZSBjYW4gc3VtIHRoZSBkaXN0YW5jZXMgYmV0d2VlbiBlYWNoIG9mIHRoZXNl + IHZlcnRpY2VzIGFzIHdlIGdvLiBUcmF2ZWxpbmcgZnJvbSB3IOKAlCZndDsg + dyBpcyAwLCBhbmQgdHJhdmVsaW5nIGZyb20gdyDigJQmZ3Q7IHogaXMgMywg + c28gd2UgYXJlIGVzc2VudGlhbGx5IGNhbGN1bGF0aW5nIDAgKyAzLiBJbiBh + IHNpbWlsYXIgdmVpbiwgdGhlIGNvc3QgZnJvbSB6IHRvIHkgaXMgMi4gU28s + IHdlIHdpbGwgbmVlZCB0byBjYWxjdWxhdGUgdyDigJQmZ3Q7IHcg4oCUJmd0 + OyB6IC0mZ3Q7IHksIHdoaWNoIGlzIDAgKyAzICvCoDIuPC9wPjxwPlRoZSBk + cmF3aW5nIGJlbG93IGlsbGx1c3RyYXRlcyBob3cgdGhpcyBhZGRpdGlvbiBz + bG93bHkgd29ya3MgaXRzIHdheSB1cCB0aGUgdHJlZSwgY29uZGVuc2luZyB0 + aGUgcmVjdXJzaXZlIGNhbGxzIHRoYXQgYnVpbHQgaXQgdXAgaW4gdGhlIGZp + cnN0wqBwbGFjZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpkRDV6MXRD + UzRuejM2SDMtSHNiUkd3LmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRp + bmcgcmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBw + YXJ0wqAyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5UaHJvdWdoIHRoaXMg + cHJvY2Vzcywgd2XigJlyZSBlZmZlY3RpdmVseSBidWlsZGluZyB1cCB0aGUg + Y29zdCBvciBkaXN0YW5jZSBvZiBlYWNoIHBhdGgsIG9uZSBsZXZlbCBhdCBh + IHRpbWUsIHVzaW5nIG91ciB0cmVlIHN0cnVjdHVyZS4gRWFjaCB0aW1lIHRo + YXQgd2Ugc3VtIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBub2Rlcywgd2Ug + Y2FuIHJlbW92ZSB0aGUgYm90dG9tIG5vZGUgKHRoZSBkZWVwZXIgb2YgdGhl + IHR3byBub2RlcyBiZWluZyBhZGRlZCB0b2dldGhlcikgZnJvbSB0aGUgdHJl + ZSwgc2luY2Ugd2UgZG9u4oCZdCBuZWVkIHRvIHVzZSBpdMKgYW55bW9yZS48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSozZDl3R0N2Mmk2d1VVbE4yYjhW + MjdBLmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRpbmcgcmVjdXJzaXZl + IGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBwYXJ0wqAzLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5JdCBpcyB3b3J0aCBtZW50aW9uaW5nIHRo + YXQgPHN0cm9uZz48ZW0+d2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGVhY2gg + b2YgdGhlc2UgcGF0aHM8L2VtPjwvc3Ryb25nPiwgZXZlbiBhZnRlciB3ZSBm + aW5pc2ggZG9pbmcgdGhlIHdvcmsgb2YgYWRkaW5nIHVwIHRoZWlyIGNvc3Rz + LiBGb3IgdGhlIHNha2Ugb2YgYnJldml0eSwgdGhlIHBhdGhzIHRoZW1zZWx2 + ZXMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaWxsdXN0cmF0aW9ucyBzaG93 + biBoZXJlLiBIb3dldmVyLCBpdCBpcyBjcnVjaWFsIHRvIGtlZXAgdHJhY2sg + b2Ygd2hpY2ggbm9kZXMgd2VyZSBhdCB0aGUgYm90dG9tIG9mIHRoZSB0cmVl + 4oCK4oCU4oCKb3RoZXJ3aXNlLCB3ZeKAmWQgbG9zZSB0aGUgZW50aXJlIHBh + dGjCoGl0c2VsZiE8L3A+PHA+V2Ugd2lsbCBjb250aW51ZSB0aGlzIHByb2Nl + c3MsIGJ1dCBhdCBzb21lIHBvaW50LCBhbiBvZGQgdGhpbmcgaXMgZ29pbmcg + dG8gaGFwcGVuLiBJbiB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhpcyByZWN1 + cnNpdmUgYWRkaXRpb24sIHdl4oCZbGwgbm90aWNlIHRoYXQgd2UgY29tZSB0 + byBhbiBpbnRlcmVzdGluZyBmb3JrIGluIHRoZSByb2Fk4oCK4oCU4oCKbGl0 + ZXJhbGx5ISBXaGVuIHdlIHJlYWNoIHRoZSB0aGlyZCBsZXZlbCBhbmQgaGF2 + ZSBjb25kZW5zZWQgdGhlIGJvdHRvbSBwYXJ0IG9mIHRoZSB0cmVlLCB3ZSBo + YXZlIHR3byBwb3NzaWJsZSBvcHRpb25zIG9mIGhvdyB3ZSBjYW4gcHJvY2Vl + ZCB3aXRoIG91csKgYWRkaXRvbi48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpvSzZ3azVXVUdnV2lMOENhaGVUcGlnLmpwZWciIC8+PGZpZ2NhcHRpb24+ + Q2FsY3VsYXRpbmcgcmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBm + b3IgVFNQLCBwYXJ0wqA0LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Gb3Ig + ZXhhbXBsZSwgbG9va2luZyBhdCB0aGUgY2hpbGQgcGF0aHMvYnJhbmNoZXMg + ZnJvbSBub2RlIHgsIHdlIGNvdWxkIGVpdGhlciBzdW0gdGhlIGRpc3RhbmNl + IGZyb20geCB0byB5LCBvciB3ZSBjb3VsZCBzdW0gdGhlIGRpc3RhbmNlIGZy + b20geCB0byB6LiBTbywgaG93IGRvIHdlIGRlY2lkZSB3aGljaCBvbmUgdG/C + oGNob29zZT88L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp6S2xyem8tYy1O + aW9yMTFsRTZLRWp3LmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRpbmcg + cmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBwYXJ0 + wqA1LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5PdXIgZ3V0IGluc3RpbmN0 + IHdvdWxkIHRlbGwgdXMgdGhhdCB3ZeKAmXJlIGxvb2tpbmcgZm9yIHRoZSA8 + ZW0+c2hvcnRlc3QgcGF0aDwvZW0+LCB3aGljaCBwcm9iYWJseSBtZWFucyB0 + aGF0IHdl4oCZbGwgd2FudCB0byBjaG9vc2UgdGhlIDxlbT5zbWFsbGVyIDwv + ZW0+b2YgdGhlIHR3byB2YWx1ZXMuIEFuZCB0aGF04oCZcyBleGFjdGx5IHdo + YXQgd2XigJlsbCBkbyEgV2XigJlsbCBjaG9vc2UgdGhlIHBhdGggZnJvbSB6 + IGxlYWRpbmcgYmFjayB0byB4LCBzaW5jZSB0aGUgY29zdCBvZiB0aGF0IHBh + dGggaXMgNiwgd2hpY2ggaXMgZGVmaW5pdGVseSBzbWFsbGVyIHRoYW4gdGhl + IHBhdGggZnJvbSB5IGxlYWRpbmcgYmFjayB0byB4LCB3aGljaCBpc8KgOS48 + L3A+PHA+T25jZSB3ZeKAmXZlIGNob3NlbiB0aGUgc21hbGxlc3Qgb2YgdGhl + IHR3byBwYXRocyBpbiBvdXIg4oCcZm9yayBpbiB0aGUgcm9hZOKAnSwgd2Ug + YXJlIGxlZnQgd2l0aCBqdXN0IHRocmVlIHBhdGhzLiBBbGwgdGhhdOKAmXMg + bGVmdCB0byBkbyBpcyB0byBmaWd1cmUgb3V0IHRoZSB0b3RhbCBjb3N0IG9m + IGZyb20geCB0byB3LCB5IHRvIHcsIGFuZCB6IHRvIHcuIFJlZmVycmluZyB0 + byBvdXIgYWRqYWNlbmN5IG1hdHJpeCwgd2XigJlsbCBzZWUgdGhhdCB0aGVz + ZSBkaXN0YW5jZXMgYXJlIDYsIDEsIGFuZCAzLCByZXNwZWN0aXZlbHkuPC9w + PjxwPldlIGNhbiBhZGQgdGhlc2UgdG8gdGhlIHRvdGFsIGNvc3RzIG9mIHRo + ZSBwYXRocyB0aGF0IHdl4oCZdmUgYmVlbiByZWN1cnNpdmVseSBzdW1taW5n + IHRoaXMgd2hvbGUgdGltZS4gSW4gdGhlIGlsbHVzdHJhdGlvbiBhYm92ZSwg + d2XigJlsbCBzZWUgdGhhdCB0aGUgdGhyZWUgc2hvcnRlc3QgcGF0aHMgdGhh + dCB3ZeKAmXZlIGRldGVybWluZWQgYXJlIGFjdHVhbGx5IG5vdGVkIGRvd24g + Zm9yIGNvbnZlbmllbmNlLiBBcyBpdCB0dXJucyBvdXQsIHRoZXJlIGlzIG9u + ZSBwYXRoIHRoYXQgY29zdHMgMTIsIGFuZCB0d28gcGF0aHMgdGhhdCBib3Ro + IGNvc3QgMTEuIE9uZSBvZiB0aG9zZSB0cmF2ZWxzIGZyb20gdyB0byB5LCBh + bmQgdGFrZXMgdGhlIHJvdXRlIG9mIHcgLSZndDsgeSAtJmd0OyB4IC0mZ3Q7 + IHogLSZndDsgdywgd2hpbGUgdGhlIG90aGVyIHRyYXZlbHMgZnJvbSB3IHRv + IHosIGFuZCB0YWtlcyB0aGUgcm91dGUgb2YgdyAtJmd0OyB6LSZndDsgeCAt + Jmd0OyB1IC0mZ3Q7wqB3LjwvcD48YmxvY2txdW90ZT5TaW5jZSB0d28gb2Yg + b3VyIHRocmVlIHBhdGhzIGFyZSBlcXVpdmFsZW50bHkgc21hbGwgaW4gc2l6 + ZSwgaXQgZG9lc27igJl0IHJlYWxseSBtYXR0ZXIgd2hpY2ggb25lIHdlIGNo + b29zZTsgYm90aCBvZiB0aGVtIGFyZSB0aGUg4oCcc2hvcnRlc3QgcGF0aOKA + nSBpbiBzb2x2aW5nIHRoZSB0cmF2ZWxpbmcgc2FsZXNtYW7CoHByb2JsZW0u + PC9ibG9ja3F1b3RlPjxwPkFuZCB0aGVyZSB3ZSBoYXZlIGl0ISBXZeKAmXZl + IHNvbHZlZCBmb3IgYSBIYW1pbHRvbmlhbiBjaXJjdWl0IGJ5IGZpbmRpbmcg + dGhlIHNob3J0ZXN0IHBhdGgsIHdpdGggYSBkaXN0YW5jZS9jb3N0IG9mIDEx + LCB0aGF0IHN0YXJ0cyBhbmQgZW5kcyBhdCBub2RlwqB3LjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKmNZTmpHWkl3dld0SDhjdlFEdXVQWEEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5XZeKAmXZlIHNvbHZlZCBmb3IgYSBIYW1pbHRvbmlh + biBjaXJjdWl0ITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Tb2x2aW5nIHRo + YXQgd2FzIHByZXR0eSBhd2Vzb21lLCByaWdodD8gSXQgc2VlbWVkIHN1cGVy + IGRhdW50aW5nIGF0IGZpcnN0LCBidXQgYXMgd2Ugd29ya2VkIHRocm91Z2gg + aXQsIGl0IGdvdCBlYXNpZXIgd2l0aCBlYWNoIHN0ZXAuIEJ1dCBoZXJl4oCZ + cyB0aGUgdGhpbmc6IHdlIGhhZCB0byB0YWtlIGEgPGVtPmxvdDwvZW0+IG9m + IHN0ZXBzIHRvIGRvIHRoaXMuIFdlIGtuZXcgZnJvbSB0aGUgYmVnaW5uaW5n + IHRoYXQgd2Ugd2VyZW7igJl0IGdvaW5nIHRvIGhhdmUgdGhlIG1vc3QgZWxl + Z2FudCBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW3igIrigJTigIp3ZSB3ZXJl + IGp1c3QgdHJ5aW5nIHRvIGdldCA8ZW0+c29tZXRoaW5nPC9lbT4gd29ya2lu + Zy4gQnV0IGp1c3QgaG93IHBhaW5mdWwgaXMgdGhlIGJydXRlLWZvcmNlIG1l + dGhvZCzCoGV4YWN0bHk/PC9wPjxwPldlbGwsIHdoYXQgaWYgaW5zdGVhZCBv + ZiBhIHNhbGVzbWFuIHdobyBoYXMgdG8gdHJhdmVsIHRvIGZvdXIgY2l0aWVz + LCB3ZSB3ZXJlIHRyeWluZyB0byBoZWxwIG91dCBhIHNhbGVzbWFuIHdobyBo + YWQgdG8gdHJhdmVsIHRvIGEgd2hvbGUgbG90IG1vcmUgY2l0aWVzPyBXaGF0 + IGlmIHRoZSBudW1iZXIgb2YgY2l0aWVzIHRoYXQgdGhleSBoYWQgdG8gdmlz + aXQgd2FzIG4/IEhvdyBiYWQgd291bGQgb3VyIGJydXRlLWZvcmNlIHRlY2hu + aXF1ZSBiZT88L3A+PHA+V2VsbCwgaW4gb3VyIGZpcnN0IGV4YW1wbGUsIG4g + PSA0LiBXZeKAmWxsIHJlY2FsbCB0aGF0LCBzaW5jZSB3ZSBoYWQgYWxyZWFk + eSB2aXNpdGVkIG91ciBmaXJzdCBjaXR5IChub2RlIHcpLCB3ZSBvbmx5IGhh + ZCB0byBtYWtlIHRocmVlIHJlY3Vyc2l2ZSBjYWxscy4gSW4gb3RoZXIgd29y + ZHMsIHdlIGhhZCB0byBtYWtlIDTigIrigJTigIoxLCBvciBu4oCK4oCU4oCK + MSByZWN1cnNpdmUgY2FsbHMuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3Jj + PSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEq + dEMyLXBPUXhxb29DU2tFV21waWI3Zy5qcGVnIiAvPjxmaWdjYXB0aW9uPlNv + bHZpbmcgZm9yIG4gY2l0aWVzIGluIHRoZcKgVFNQLjwvZmlnY2FwdGlvbj48 + L2ZpZ3VyZT48cD5CdXQsIGZvciBlYWNoIG9mIHRob3NlIHJlY3Vyc2l2ZSBj + YWxscywgd2UgaGFkIHRvIHNwYXduIG9mZiB0d28gbW9yZSByZWN1cnNpdmUg + Y2FsbHMhIFRoYXQgaXMgdG8gc2F5LCBmb3IgZWFjaCBwb3RlbnRpYWwgY2l0 + eSB0aGF0IHdlIDxlbT5jb3VsZDwvZW0+IHZpc2l0IGZyb20gdGhlIHRocmVl + IG5vZGVzIHgsIHksIGFuZCB6LCB3ZSBoYWQgNOKAiuKAlOKAijIgPSAyIG9w + dGlvbnMgb2YgcGF0aHMgdG8gdGFrZS4gSW4gYWJzdHJhY3QgdGVybXMsIHdl + 4oCZZCBlZmZlY3RpdmVseSBoYXZlIG7igIrigJTigIoyIHJlY3Vyc2l2ZSBj + YWxscyBhdCB0aGUgbmV4dCBsZXZlbCBvZiBvdXLCoHRyZWUuPC9wPjxmaWd1 + cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRp + dW0uY29tL21heC8xMDI0LzEqdjNwN1dKcWFsNG12cWhHX0NLZjZKZy5qcGVn + IiAvPjxmaWdjYXB0aW9uPkJ1aWxkaW5nIHVwIGFuIHVuc2NhbGFibGUg4oCc + biBmYWN0b3JpYWzigJ0gcHJvYmxlbS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+SWYgd2UgY29udGludWUgZmlndXJpbmcgb3V0IHRoaXMgbWF0aCwgd2Xi + gJlsbCBzZWUgdGhhdCwgYXQgZWFjaCBsZXZlbCBvZiB0aGUgdHJlZSwgd2Ug + YXJlIGJhc2ljYWxseSBvbiB0aGUgcGF0aCB0byBmaW5kaW5nIGEgbnVtYmVy + IHRoYXQgaXMgZ29pbmcgdG8gYmUgYSBmYWN0b3JpYWwuIFRvIGJlIG1vcmUg + c3BlY2lmaWMsIHdl4oCZcmUgZ29pbmcgdG8gZW5kIHVwIHdpdGggbiEsIG9y + IDxzdHJvbmc+PGVtPm4gZmFjdG9yaWFsPC9lbT48L3N0cm9uZz4uPC9wPjxw + Pk5vdywgd2hlbiB3ZSB3ZXJlIGRlYWxpbmcgd2l0aCBhIHNhbGVzbWFuIHdo + byBuZWVkZWQgdG8gdmlzaXQganVzdCBmb3VyIGNpdGllcywgdGhpcyByZWFs + bHkgd2FzbuKAmXQgdG9vIHRlcnJpYmxlIG9mIHNjZW5hcmlvIHRvIGRlYWwg + d2l0aC4gQnV0LCB3aGF0IGhhcHBlbnMgd2hlbiBuIGlzIHNvbWV0aGluZyBt + dWNoLCBtdWNoIGxhcmdlciB0aGFuIDQ/IE1vc3Qgc2FsZXNtZW4gYW5kIHdv + bWVuIGFyZW7igJl0IGdvaW5nIHRvIGJlIHRyYXZlbGluZyBqdXN0IHRvIGZv + dXIgY2l0aWVzOyBpbiBhbG1vc3QgZXZlcnkgcmVhbGlzdGljIGNhc2UsIG4g + aXMgZ29pbmcgdG8gYmUgYSBtdWNoIGxhcmdlcsKgbnVtYmVyITwvcD48Zmln + dXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVk + aXVtLmNvbS9tYXgvMTAyNC8xKlZySWNPa0JielVBb3dUNVUtSVRoRlEuanBl + ZyIgLz48ZmlnY2FwdGlvbj5UaGUgdHJhdmVsaW5nIHNhbGVzbWFuIGlzIG5v + dCBhIGZhbiBvZiBmYWN0b3JpYWwgYWxnb3JpdGhtcyE8L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+V2VsbCwgdG8gZ2V0IGEgc2Vuc2Ugb2YgaG93IHVuc2Nh + bGFibGUgYSBmYWN0b3JpYWwgYWxnb3JpdGhtIGlzLCB3ZSBuZWVkbuKAmXQg + aW5jcmVhc2UgdGhlIHZhbHVlIG9mIG4gYnkgYWxsIHRoYXQgbXVjaC4gRm9y + IGV4YW1wbGUsIHdoZW4gbiA9IDQsIHdlIG1hZGUgMyEgb3IgNiByZWN1cnNp + dmUgY2FsbHMuIEJ1dCBpZiB3ZSBoYWQgaW5jcmVhc2VkIHRoaXMgb25seSBz + bGlnaHRseSBzbyB0aGF0IG4gPSA1LCB3ZSB3b3VsZCBtYWtlIDQhIG9yIDI0 + IHJlY3Vyc2l2ZSBjYWxscywgd2hpY2ggd291bGQgbGVhZCB0byBhIG11Y2gs + IG11Y2ggbGFyZ2VyIHRyZWUuIEFuZCB3aGF0IGFib3V0IHdoZW4gbiA9IDEw + PyBUaGF0IHdvdWxkIHJlc3VsdCBpbiA5ISByZWN1cnNpdmUgY2FsbHMsIHdo + aWNoIGlzIGEgcmVhbGx5IGh1Z2UgbnVtYmVyOiAzNjIsODgwIHRvIGJlIGV4 + YWN0LiBXZSBwcm9iYWJseSBjYW7igJl0IGV2ZW4gaW1hZ2luZSB3aGF0IHdv + dWxkIGhhcHBlbiBpZiBvdXIgc2FsZXNtYW4gaGFkIHRvIHRyYXZlbCB0byBl + dmVyeSBjaXR5IGluIHRoZSBjb3VudHJ5LCBvciBldmVuIGp1c3QgMTAgY2l0 + aWVzIGZvciB0aGF0wqBtYXR0ZXIhPC9wPjxwPlN1cmVseSwgdGhlcmUgbXVz + dCBiZSBhIGJldHRlciB3YXkgb2YgaGVscGluZyBvdXIgdHJhdmVsaW5nIHNh + bGVzbWFuIG91dCBzbyB0aGF0IGhl4oCZcyBub3QgdHJhdmVsaW5nIGZvcmV2 + ZXI/IFdlbGwsIHRoZXJlIGNlcnRhaW5seSBpcy4gQnV0IG1vcmUgb24gdGhh + dCBuZXh0IHdlZWsuIEluIHRoZSBtZWFudGltZSwgc29tZW9uZSBzaG91bGQg + cmVhbGx5IHRlbGwgdGhpcyBzYWxlc21hbiBhYm91dCBlQmF54oCK4oCU4oCK + aXQgd291bGQgcHJvYmFibHkgc2F2ZSBoaW0gYSB3aG9sZSBsb3Qgb2YgaGVh + cnRhY2hlITwvcD48aDM+UmVzb3VyY2VzPC9oMz48cD5VbnN1cnByaXNpbmds + eSwgdGhlcmUgYXJlIG1hbnkgcmVzb3VyY2VzIG9uIHRoZSB0cmF2ZWxpbmcg + c2FsZXNtYW4gcHJvYmxlbS4gSG93ZXZlciwgbm90IGFsbCBvZiB0aGVtIGFy + ZSBuZWNlc3NhcmlseSBlYXN5IHRvIHVuZGVyc3RhbmQhIFNvbWUgb2YgdGhl + bSBkaXZlIGRlZXAgaW50byB0aGUgdGhlb3J5IGFuZCBtYXRoZW1hdGljcyBv + ZiB0aGUgcHJvYmxlbSwgYW5kIGl0IGNhbiBiZSBoYXJkIHRvIGZpbmQgYmVn + aW5uZXItZnJpZW5kbHkgY29udGVudC4gSGVyZSBhcmUgYSBmZXcgcmVzb3Vy + Y2VzIHRoYXQgYXJlIGZhaXJseSBlYXN5IHRvIHVuZGVyc3RhbmQsIGFuZCBh + IGdvb2QgcGxhY2UgdG8gZ2V0IHN0YXJ0ZWQgaWYgeW914oCZcmUgbG9va2lu + ZyB0byBsZWFybiBtb3JlIGFib3V0wqBUU1AhPC9wPjxvbD48bGk+PGEgaHJl + Zj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1fNTFvdC1SaTBu + ZyI+VHJhdmVsbGluZyBTYWxlc21hbiBQcm9ibGVtPC9hPiwgMDYxMiBUViB3 + LyBORVJEZmlyc3Q8L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy55b3V0 + dWJlLmNvbS93YXRjaD92PUJBZWpud040Q2N3Ij5Db2RpbmcgQ2hhbGxlbmdl + ICMzNS4xOiBUcmF2ZWxpbmcgU2FsZXNwZXJzb248L2E+LCBUaGUgQ29kaW5n + wqBUcmFpbjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cubWF0aC51d2F0 + ZXJsb28uY2EvdHNwL2hpc3RvcnkvaW5kZXguaHRtbCI+SGlzdG9yeSBvZiBU + U1A8L2E+LCBVbml2ZXJzaXR5IG9mIFdhdGVybG9vLCBEZXBhcnRtZW50IG9m + IE1hdGhlbWF0aWNzPC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NzLmluZHN0 + YXRlLmVkdS9+emVlc2hhbi9hbWFuLnBkZiI+VGhlIFRyYXZlbGluZyBTYWxl + c21hbiBwcm9ibGVtPC9hPiwgUHJvZmVzc29yIEFtYW51ciBSYWhtYW7CoFNh + aXllZDwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cudGhlb3Jzb2NpZXR5 + LmNvbS9QYWdlcy9PUk1ldGhvZHMvSGV1cmlzdGljcy9hcnRpY2xlcy9IaXN0 + b3J5VFNQLmFzcHgiPkEgYnJpZWYgSGlzdG9yeSBvZiB0aGUgVHJhdmVsbGlu + ZyBTYWxlc21hbiBQcm9ibGVtPC9hPiwgTmlnZWzCoEN1bW1pbmdzPC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9ib29rcy5nb29nbGUuY29tL2Jvb2tzP2lk + PUpCS19CQUFBUUJBSiZhbXA7cGc9UEExJmFtcDtscGc9UEExJmFtcDtkcT1r + YXJsK21lbmdlcittZXNzZW5nZXImYW1wO3NvdXJjZT1ibCZhbXA7b3RzPWtY + cG5MclEtME4mYW1wO3NpZz1BMktwdHBVWUhSU3RhdXc0V1JON1VjalliOUEm + YW1wO2hsPWVuJmFtcDtzYT1YJmFtcDt2ZWQ9MGFoVUtFd2k0MTktc2k2blhB + aFVOd1dNS0hhZnlEa1lRNkFFSVBEQUMjdj1vbmVwYWdlJmFtcDtxPWthcmwl + MjBtZW5nZXIlMjBtZXNzZW5nZXImYW1wO2Y9ZmFsc2UiPlRoZSBUcmF2ZWxp + bmcgU2FsZXNtYW4gUHJvYmxlbSBhbmQgSXRzIFZhcmlhdGlvbjwvYT4sIEdy + ZWdvcnkgR3V0aW4gYW5kIEFicmFoYW0gUC7CoFB1bm5lbjwvbGk+PC9vbD48 + aW1nIHNyYz0iaHR0cHM6Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVudD1wb3N0 + LmNsaWVudFZpZXdlZCZyZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZwb3N0SWQ9 + NTYwNDhkNjcwOWQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL3RoZS10cmlhbHMtYW5k + LXRyaWJ1bGF0aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNhbGVzbWFuLTU2MDQ4 + ZDY3MDlkIj5UaGUgVHJpYWxzIEFuZCBUcmlidWxhdGlvbnMgT2YgVGhlIFRy + YXZlbGluZyBTYWxlc21hbjwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVk + IGluIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2Vj + czwvYT4gb24gTWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcg + dGhlIGNvbnZlcnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRp + bmcgdG8gdGhpcyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAg + ICAgICAgPC9pdGVtPgogICAgPC9jaGFubmVsPgo8L3Jzcz4= + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:17 GMT +- request: + method: get + uri: https://circleci.com/blog/feed.xml + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/xml + Date: + - Mon, 08 Jan 2018 19:17:17 GMT + Etag: + - '"673cee8d071e8ae691849da3389f0094"' + Last-Modified: + - Fri, 05 Jan 2018 23:47:06 GMT + Server: + - nginx + X-Amz-Id-2: + - y3NBIDSE5Pndib7jqxanK4+GFt87sJWsm2GQh//s3kuT+qvWxoVB8qBL0Sr6FLTMV6yFmZKVYQs= + X-Amz-Request-Id: + - 4B7FD1349574A6DB + X-Frame-Options: + - SAMEORIGIN + Content-Length: + - '15765' + Connection: + - keep-alive + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2 + ZXJzaW9uPSIyLjAiCiAgeG1sOmJhc2U9Imh0dHBzOi8vY2lyY2xlY2kuY29t + LyIKICB4bWxuczphdG9tPSJodHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20i + CiAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv + Ij4KICA8Y2hhbm5lbD4KICAgIDx0aXRsZT5UaGUgQ2lyY2xlQ0kgQmxvZyBG + ZWVkIC0gQ2lyY2xlQ0k8L3RpdGxlPgogICAgPGRlc2NyaXB0aW9uPlN0YXkg + dXAgdG8gZGF0ZSB3aXRoIHRoZSBsYXRlc3QgbmV3cywgdXBkYXRlcywgYW5k + IGhhY2tzIGZyb20gQ2lyY2xlQ0kuPC9kZXNjcmlwdGlvbj4KICAgIDxsaW5r + Pmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvPC9saW5rPgogICAgPGF0b206 + bGluayBocmVmPSJodHRwczovL2NpcmNsZWNpLmNvbS9ibG9nL2ZlZWQueG1s + IiByZWw9InNlbGYiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+CiAg + ICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5NaWdyYXRp + bmcgZnJvbSBidWRkeWJ1aWxkIHRvIENpcmNsZUNJIDwvdGl0bGU+CiAgICAg + ICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9taWdyYXRpbmct + ZnJvbS1idWRkeWJ1aWxkLXRvLWNpcmNsZWNpLzwvbGluaz4KICAgICAgICA8 + cHViRGF0ZT5XZWQsIDAzIEphbiAyMDE4IDA5OjQzOjAwIC0wODAwPC9wdWJE + YXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczov + L2NpcmNsZWNpLmNvbS9ibG9nL21pZ3JhdGluZy1mcm9tLWJ1ZGR5YnVpbGQt + dG8tY2lyY2xlY2kvPC9ndWlkPgogICAgICAgIAogICAgICAgICAgPGRjOmNy + ZWF0b3I+QWxleGV5IEtsb2NoYXk8L2RjOmNyZWF0b3I+CiAgICAgICAgCiAg + ICAgICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O3AmZ3Q7QWZ0ZXIg + YW4gYWNxdWlzaXRpb24gYnkgQXBwbGUsICZsdDthIGhyZWY9JnF1b3Q7aHR0 + cHM6Ly93d3cuYnVkZHlidWlsZC5jb20vYmxvZy9idWRkeWJ1aWxkLWlzLW5v + dy1wYXJ0LW9mLWFwcGxlJnF1b3Q7Jmd0O3llc3RlcmRheSBidWRkeWJ1aWxk + IGFubm91bmNlZCB0aGV5IHdpbGwgYmUgZGlzY29udGludWluZyBzZXJ2aWNl + IGZvciBBbmRyb2lkIGJ1aWxkcyBhbmQgZnJlZSBpT1MgcGxhbnMmbHQ7L2Em + Z3Q7LiBDb25ncmF0dWxhdGlvbnMgYXJlIGluIG9yZGVyIHRvIHRoZSBidWRk + eWJ1aWxkIHRlYW0sIHRob3VnaCB0aGUgbmV3cyBoYXMgbGVmdCBzb21lIHRl + YW1zIGxvb2tpbmcgZm9yIGEgcmVwbGFjZW1lbnQgQ0kgc3lzdGVtIGZvciB0 + aGVpciBtb2JpbGUgYnVpbGRzLiBXZSBwdXQgdG9nZXRoZXIgdGhpcyBjb21w + YXJpc29uIHRvIGhlbHAgdGVhbXMgZGVjaWRlIHdoZXRoZXIgQ2lyY2xlQ0kg + aXMgdGhlIHJpZ2h0IHRvb2wgZm9yIHRoZW0uJmx0Oy9wJmd0OwoKJmx0O2gy + IGlkPSZxdW90O2hvdy1kby1jaXJjbGVjaS1hbmQtYnVkZHlidWlsZC1jb21w + YXJlJnF1b3Q7Jmd0O0hvdyBkbyBDaXJjbGVDSSBhbmQgYnVkZHlidWlsZCBj + b21wYXJlPyZsdDsvaDImZ3Q7CiZsdDtwJmd0OyZsdDthIG5hbWU9JnF1b3Q7 + Y2hhcnQmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvcCZndDsKJmx0O3RhYmxl + IHN0eWxlPSZxdW90O3RhYmxlLWxheW91dDogZml4ZWQmcXVvdDsmZ3Q7CiAg + Jmx0O3RyJmd0OwogICAgJmx0O3RoJmd0OyZsdDsvdGgmZ3Q7CiAgICAmbHQ7 + dGggc3R5bGU9JnF1b3Q7d2lkdGg6MzAlJnF1b3Q7Jmd0O0NpcmNsZUNJJmx0 + Oy90aCZndDsKICAgICZsdDt0aCBzdHlsZT0mcXVvdDt3aWR0aDozMCUmcXVv + dDsmZ3Q7YnVkZHlidWlsZCZsdDsvdGgmZ3Q7CiAgJmx0Oy90ciZndDsKICAm + bHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7TW9iaWxlIHN1cHBvcnQgKG1hY09T + LCBBbmRyb2lkKSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyFJmx0Oy90 + ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICZsdDsvdHIm + Z3Q7CiAgICZsdDt0ciZndDsKICAgICZsdDt0ZCZndDtOb24tbW9iaWxlIHBy + b2plY3Qgc3VwcG9ydCZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyFJmx0 + Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinYwmbHQ7L3RkJmd0OwogICZsdDsv + dHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7QnVpbGQgaXNvbGF0 + aW9uIGZvciBtYWNPUyBhbmQgQW5kcm9pZCZsdDsvdGQmZ3Q7CiAgICAmbHQ7 + dGQmZ3Q74pyFJmx0Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3Rk + Jmd0OwogICZsdDsvdHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7 + U3VwcG9ydCBmb3Igb3BlbiBzb3VyY2UgcHJvamVjdHMmbHQ7L3RkJmd0Owog + ICAgJmx0O3RkJmd0O+KchSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyF + Jmx0Oy90ZCZndDsKICAmbHQ7L3RyJmd0OwogJmx0O3RyJmd0OwogICAgJmx0 + O3RkJmd0O0F1dG9tYXRlZCB1cGxvYWRzIHRvIGlUdW5lcyBDb25uZWN0Jmx0 + Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICAgJmx0 + O3RkJmd0O+KchSZsdDsvdGQmZ3Q7CiAgJmx0Oy90ciZndDsKICZsdDt0ciZn + dDsKICAgICZsdDt0ZCZndDtSdW4gbWFjT1MgYW5kIExpbnV4IGpvYnMgaW4g + dGhlIHNhbWUgV29ya2Zsb3cmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+Kc + hSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74p2MJmx0Oy90ZCZndDsKICAm + bHQ7L3RyJmd0OwogJmx0O3RyJmd0OwogICAgJmx0O3RkJmd0O01hbnVhbCBh + cHByb3ZhbCBzdGVwIHdpdGggV29ya2Zsb3dzJmx0Oy90ZCZndDsKICAgICZs + dDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+KdjCZsdDsv + dGQmZ3Q7CiAgJmx0Oy90ciZndDsKICZsdDt0ciZndDsKICAgICZsdDt0ZCZn + dDtDb25maWd1cmF0aW9uIGluIHRoZSBVSSZsdDsvdGQmZ3Q7CiAgICAmbHQ7 + dGQmZ3Q74p2MJmx0Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3Rk + Jmd0OwogICZsdDsvdHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7 + Q29sbGFib3JhdG9ycyB3aXRob3V0IEdpdEh1YiAvIEJpdGJ1Y2tldCBhY2Nl + c3MmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+KdjCZsdDsvdGQmZ3Q7CiAg + ICAmbHQ7dGQmZ3Q74pyFJmx0Oy90ZCZndDsKICAgJmx0Oy90ciZndDsKJmx0 + Oy90YWJsZSZndDsKCjwvZGVzY3JpcHRpb24+CiAgICAgICAgCiAgICAgIDwv + aXRlbT4KICAgIAogICAgICAKICAgICAgPGl0ZW0+CiAgICAgICAgPHRpdGxl + PjEwIFdheXMgWW91J3JlIERvaW5nIERldk9wcyBXcm9uZzwvdGl0bGU+CiAg + ICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy8xMC13YXlz + LXlvdS1yZS1kb2luZy1kZXZvcHMtd3JvbmcvPC9saW5rPgogICAgICAgIDxw + dWJEYXRlPldlZCwgMjAgRGVjIDIwMTcgMTA6MTc6MDAgLTA4MDA8L3B1YkRh + dGU+CiAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9InRydWUiPmh0dHBzOi8v + Y2lyY2xlY2kuY29tL2Jsb2cvMTAtd2F5cy15b3UtcmUtZG9pbmctZGV2b3Bz + LXdyb25nLzwvZ3VpZD4KICAgICAgICAKICAgICAgICAKICAgICAgICAgIDxk + ZXNjcmlwdGlvbj4mbHQ7cCZndDsmbHQ7aW1nIHNyYz0mcXVvdDsvYmxvZy9t + ZWRpYS9EZXZPcHMtQ29kaW5nLTAxICgxKS5wbmcmcXVvdDsgYWx0PSZxdW90 + O0Rldk9wcy1Db2RpbmctMDEgKDEpLnBuZyZxdW90OyAvJmd0OyZsdDsvcCZn + dDsKCiZsdDtwJmd0O1RoZSB0ZXJtIERldk9wcyBpcyBnZXR0aW5nIGEgbG90 + IG9mIGF0dGVudGlvbiB0aGVzZSBkYXlzLCBhbmQgZm9yIGdvb2QgcmVhc29u + OiBhZG9wdGluZyBEZXZPcHMgcHJhY3RpY2VzIGhlbHBzIHRlYW1zIHdvcmsg + bW9yZSBlZmZpY2llbnRseSwgc2hpcCBiZXR0ZXIgY29kZSBhbmQgbWFrZSBj + dXN0b21lcnMgaGFwcGllci4gQnV0IGFsb25nIHdpdGggdGhlIHRlcm3igJlz + IGluY3JlYXNpbmcgcG9wdWxhcml0eSwgd2XigJl2ZSBhbHNvIHNlZW4gc29t + ZSBjb21tb24gcGl0ZmFsbHMgdGVhbXMgYXR0ZW1wdGluZyB0byDigJxkbyBE + ZXZPcHPigJ0gZmFsbCBpbnRvLiZsdDsvcCZndDsKCjwvZGVzY3JpcHRpb24+ + CiAgICAgICAgCiAgICAgIDwvaXRlbT4KICAgIAogICAgICAKICAgICAgPGl0 + ZW0+CiAgICAgICAgPHRpdGxlPkRvbid0IExldCBDb2RlIEZyZWV6ZSBMZWF2 + ZSBZb3UgT3V0IGluIHRoZSBDb2xkPC90aXRsZT4KICAgICAgICA8bGluaz5o + dHRwczovL2NpcmNsZWNpLmNvbS9ibG9nL2Rvbi10LWxldC1jb2RlLWZyZWV6 + ZS1sZWF2ZS15b3Utb3V0LWluLXRoZS1jb2xkLzwvbGluaz4KICAgICAgICA8 + cHViRGF0ZT5UaHUsIDE0IERlYyAyMDE3IDA2OjI0OjAwIC0wODAwPC9wdWJE + YXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczov + L2NpcmNsZWNpLmNvbS9ibG9nL2Rvbi10LWxldC1jb2RlLWZyZWV6ZS1sZWF2 + ZS15b3Utb3V0LWluLXRoZS1jb2xkLzwvZ3VpZD4KICAgICAgICAKICAgICAg + ICAgIDxkYzpjcmVhdG9yPkdpbGxpYW4gQmVuQXJ5PC9kYzpjcmVhdG9yPgog + ICAgICAgIAogICAgICAgIAogICAgICAgICAgPGRlc2NyaXB0aW9uPiZsdDto + MiBpZD0mcXVvdDt0aGluZ3MtdG8tZG8taW5zdGVhZC1vZi1kZXBsb3lpbmcm + cXVvdDsmZ3Q7NyBUaGluZ3MgdG8gRG8gSW5zdGVhZCBvZiBEZXBsb3lpbmcm + bHQ7L2gyJmd0OwoKJmx0O3AmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7L2Jsb2cv + bWVkaWEvQ29kZUZyZWV6ZS12Mi5qcGcmcXVvdDsgYWx0PSZxdW90O0NvZGVG + cmVlemUtdjIuanBnJnF1b3Q7IC8mZ3Q7Jmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7 + QXJvdW5kIHRoaXMgdGltZSBvZiB5ZWFyLCBtYW55IGNvbXBhbmllcyBpbnN0 + aXR1dGUgYSDigJxjb2RlIGZyZWV6ZeKAnSB0aGF0IHB1dHMgYSBzdG9wIHRv + IG5ldyBkZXBsb3lzIGZvciBhIGNlcnRhaW4gcGVyaW9kIG9mIHRpbWUgKG9m + dGVuIHRvIHdhaXQgb3V0IHRoZSBob2xpZGF5IHJldGFpbCBydXNoLCBvciB1 + bnRpbCB0ZWFtcyBhcmUgYmFjayBpbiBmdWxsIGZvcmNlIGluIHRoZSBvZmZp + Y2UgcG9zdC12YWNhdGlvbikuJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7V2hpbGUg + bmV3IGZlYXR1cmVzIG1heSBub3QgYmUgZ29pbmcgb3V0IHRvIGN1c3RvbWVy + cyBkdXJpbmcgdGhpcyB0aW1lLCB0aGF0IGRvZXNu4oCZdCBtZWFuIHRoYXQg + bWVhbmluZ2Z1bCB3b3JrIGlzbuKAmXQgaGFwcGVuaW5nIG9uIGVuZ2luZWVy + aW5nIHRlYW1zLiBUaGlzIGlzIGEgdGltZSB0aGF0IGlzIGZ1bGwgb2YgcGxh + bm5pbmcsIHJvYWRtYXBwaW5nLCBhbmQgc2V0dGluZyB0ZWFtcyB1cCBmb3Ig + c3VjY2VzcyBpbiB0aGUgY29taW5nIHllYXIuIEl0IGNhbiBhbHNvIGJlIGEg + ZnJ1aXRmdWwgdGltZSBmb3IgcGVyc29uYWwgb3IgdGVhbS13aWRlIGV4cGVy + aW1lbnRhdGlvbiwgZ29hbC1zZXR0aW5nLCBhbmQgZmluZS10dW5pbmcgb2Yg + ZXhpc3Rpbmcgc3lzdGVtcyAoZm9yIGV4YW1wbGUsICZsdDthIGhyZWY9JnF1 + b3Q7aHR0cHM6Ly9jaXJjbGVjaS5jb20vZG9jcy8yLjAvbWlncmF0aW5nLWZy + b20tMS0yLyZxdW90OyZndDttaWdyYXRpbmcgZnJvbSBDaXJjbGVDSSAxLjAg + dG8gMi4wJmx0Oy9hJmd0OykmbHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgog + ICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVt + PgogICAgICAgIDx0aXRsZT5Ib3cgdG8gQnVpbGQgSW1tdXRhYmxlIEluZnJh + c3RydWN0dXJlIHdpdGggUGFja2VyIGFuZCBDaXJjbGVDSSBXb3JrZmxvd3M8 + L3RpdGxlPgogICAgICAgIDxsaW5rPmh0dHBzOi8vY2lyY2xlY2kuY29tL2Js + b2cvaG93LXRvLWJ1aWxkLWltbXV0YWJsZS1pbmZyYXN0cnVjdHVyZS13aXRo + LXBhY2tlci1hbmQtY2lyY2xlY2ktd29ya2Zsb3dzLzwvbGluaz4KICAgICAg + ICA8cHViRGF0ZT5UdWUsIDEyIERlYyAyMDE3IDA4OjQ0OjAwIC0wODAwPC9w + dWJEYXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRw + czovL2NpcmNsZWNpLmNvbS9ibG9nL2hvdy10by1idWlsZC1pbW11dGFibGUt + aW5mcmFzdHJ1Y3R1cmUtd2l0aC1wYWNrZXItYW5kLWNpcmNsZWNpLXdvcmtm + bG93cy88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRvcj5C + ZWFyPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAogICAgICAgICAg + PGRlc2NyaXB0aW9uPiZsdDtwJmd0O0hhc2hpQ29ycCAmbHQ7YSBocmVmPSZx + dW90O2h0dHBzOi8vd3d3Lmhhc2hpY29ycC5jb20vYmxvZy9oYXNoaWNvcnAt + dGVycmFmb3JtLWVudGVycHJpc2UtZ2VuZXJhbC1hdmFpbGFiaWxpdHkmcXVv + dDsmZ3Q7cmVjZW50bHkgYW5ub3VuY2VkJmx0Oy9hJmd0OyB0aGF0IHRoZXkg + YXJlIGRlcHJlY2F0aW5nIEF0bGFzIGFuZCB3aWxsIG9mZmVyIFRlcnJhZm9y + bSBFbnRlcnByaXNlIGFzIGEgc3RhbmRhbG9uZSBwcm9kdWN0IHRvIGl0cyBj + dXN0b21lcnMuIEluIHRoaXMgcG9zdCwgd2Ugd2lsbCBvdXRsaW5lIGhvdyB0 + byByZXBsaWNhdGUgeW91ciBBdGxhcyBwaXBlbGluZSB3aXRoIFBhY2tlciBh + bmQgQ2lyY2xlQ0ksIHdpdGggZXhhbXBsZXMgb2YgUGFja2VyIGpvYiBjb25m + aWd1cmF0aW9uLCBBTUkgZ2VuZXJhdGlvbiwgdXNpbmcgVGVycmFmb3JtIHRv + IG1hbmFnZSBjaGFuZ2UsIGFuZCBzdG9yaW5nIGFydGlmYWN0cyBpbiBTMy4m + bHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgogICAgICAgIAogICAgICA8L2l0 + ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5I + b3cgdG8gSGFuZGxlIEphdmEgT09NIEVycm9yczwvdGl0bGU+CiAgICAgICAg + PGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9ob3ctdG8taGFuZGxl + LWphdmEtb29tLWVycm9ycy88L2xpbms+CiAgICAgICAgPHB1YkRhdGU+V2Vk + LCAwNiBEZWMgMjAxNyAwNzoxODowMCAtMDgwMDwvcHViRGF0ZT4KICAgICAg + ICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6Ly9jaXJjbGVjaS5j + b20vYmxvZy9ob3ctdG8taGFuZGxlLWphdmEtb29tLWVycm9ycy88L2d1aWQ+ + CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRvcj5Sb3NlIEthcGxhbi1C + b21iZXJnPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAogICAgICAg + ICAgPGRlc2NyaXB0aW9uPiZsdDtwJmd0OyZsdDtpbWcgc3JjPSZxdW90Oy9i + bG9nL21lZGlhL09PTS1GdWxsLXYxMC5naWYmcXVvdDsgYWx0PSZxdW90O09P + TS1GdWxsLXYxMC5naWYmcXVvdDsgLyZndDsmbHQ7L3AmZ3Q7CgombHQ7cCZn + dDtUcnlpbmcgdG8ga2VlcCBKYXZh4oCZcyBtZW1vcnkgdXNhZ2UgdW5kZXIg + Y29udHJvbCBpbiBhICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly9jaXJjbGVj + aS5jb20vY29udGludW91cy1pbnRlZ3JhdGlvbi8mcXVvdDsmZ3Q7Q0kmbHQ7 + L2EmZ3Q7IGVudmlyb25tZW50IGNhbiBiZSBzb21ldGhpbmcgb2YgYSBkYXJr + IGFydC4mbHQ7L3AmZ3Q7CgombHQ7cCZndDtXaXRoIHRoZSB3ZWFsdGggb2Yg + YnVpbGQgZnJhbWV3b3JrcyBhdmFpbGFibGUgZm9yIEphdmEvQW5kcm9pZCBw + cm9qZWN0cyDigJQgSmF2YSwgR3JhZGxlLCBNYXZlbiAobm90IHRvIG1lbnRp + b24gS290bGluIGFuZCBpdHMgb3duIHRvb2xpbmcgZWNvc3lzdGVtKSDigJQg + aXQgY2FuIGJlIGRpZmZpY3VsdCB0byBjb250cm9sIHdoZXJlIHlvdXIgbWVt + b3J5IGlzIGdvaW5nIGFuZCBob3cgdG8gbGltaXQgaXQuIFRoZXJlIGFyZSBh + IHZhcmlldHkgb2YgZGlmZmVyZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyB5 + b3UgY2FuIHNldCB0byBtYW5hZ2UgbWVtb3J5IHVzYWdlLCBhbGwgd2l0aCBz + aW1pbGFyIG5hbWVzIGFuZCBzeW50YXguIFRoZXNlIHZhcmlhYmxlcyBpbnRl + cmFjdCB3aXRoIG9uZSBhbm90aGVyIGluIHdheXMgdGhhdCBtaWdodCBub3Qg + aW5pdGlhbGx5IG1ha2UgbXVjaCBzZW5zZS4mbHQ7L3AmZ3Q7Cgo8L2Rlc2Ny + aXB0aW9uPgogICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAg + ICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5Gcm9tIENvZGUgQ293Ym95IHRv + IEluZnJhc3RydWN0dXJlIEFyY2hpdGVjdDwvdGl0bGU+CiAgICAgICAgPGxp + bms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9mcm9tLWNvZGUtY293Ym95 + LXRvLWluZnJhc3RydWN0dXJlLWFyY2hpdGVjdC88L2xpbms+CiAgICAgICAg + PHB1YkRhdGU+VHVlLCAwNSBEZWMgMjAxNyAwNDozNzowMCAtMDgwMDwvcHVi + RGF0ZT4KICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6 + Ly9jaXJjbGVjaS5jb20vYmxvZy9mcm9tLWNvZGUtY293Ym95LXRvLWluZnJh + c3RydWN0dXJlLWFyY2hpdGVjdC88L2d1aWQ+CiAgICAgICAgCiAgICAgICAg + ICA8ZGM6Y3JlYXRvcj5CcmVvbiBLbmlnaHQ8L2RjOmNyZWF0b3I+CiAgICAg + ICAgCiAgICAgICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O2gyIGlk + PSZxdW90O3RoaW5ncy1pLXdpc2gtaWQta25vd24tYXMtYS1kZXZlbG9wZXIm + cXVvdDsmZ3Q7NSB0aGluZ3MgSSB3aXNoIEnigJlkIGtub3duIGFzIGEgZGV2 + ZWxvcGVyJmx0Oy9oMiZndDsKCiZsdDtwJmd0OyZsdDtpbWcgc3JjPSZxdW90 + Oy9ibG9nL21lZGlhLzAxLUNvd2JveS12Ny5qcGcmcXVvdDsgYWx0PSZxdW90 + OzAxLUNvd2JveS12Ny5qcGcmcXVvdDsgLyZndDsmbHQ7L3AmZ3Q7CgombHQ7 + cCZndDtUaGVyZeKAmXMgYSBkaWZmZXJlbmNlIGJldHdlZW4gdW5kZXJzdGFu + ZGluZyBob3cgdG8gd3JpdGUgYW4gYXBwLCBhbmQgdW5kZXJzdGFuZGluZyB0 + aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdCB3b3JrcyB1bmRlcm5lYXRoIGl0LiBX + aGVuIEkgdHJhbnNpdGlvbmVkIGZyb20gYSBkZXZlbG9wZXIgdG8gYW4gU1JF + IChzaXRlIHJlbGlhYmlsaXR5IGVuZ2luZWVyKSB0aGlzIHllYXIsIGFuZCBz + YXcgaG93IGRpc3RyaWJ1dGVkIHN5c3RlbXMgd29ya2VkIGF0IGFuIGFjdHVh + bCBjb21wYW55LCBpdCByZWFsbHkgY2hhbmdlZCB0aGUgd2F5IEkgdGhvdWdo + dCBhYm91dCB3cml0aW5nIGNvZGUuJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7V2hl + biB5b3XigJlyZSBkb2luZyBzb2Z0d2FyZSBkZXZlbG9wbWVudCBleGNsdXNp + dmVseSB5b3XigJlyZSBub3QgdGhpbmtpbmcgYWJvdXQgaG93IGl04oCZcyBn + b2luZyB0byBiZSBoZWxkIHVwLiBXaGVuIEkgZGVwbG95ZWQgbXkgZmlyc3Qg + d2Vic2l0ZSwgSSBoYWQgbm8gaWRlYSBob3cgdG8gbGF5IHRoaXMgZG93bi4g + SSBkaWRu4oCZdCBjYXJlIG11Y2ggYWJvdXQgd3JpdGluZyB0ZXN0cy4gTGV0 + 4oCZcyBrZWVwIGl0IHJlYWw6IEkganVzdCBjYXJlZCBhYm91dCBhZGRpbmcg + bmV3IGZlYXR1cmVzIGFuZCBzZWVpbmcgdGhlIGVuZCBwcm9kdWN0LiBJIGRp + ZG7igJl0IHVuZGVyc3RhbmQgaG93IHRvIGhvc3Qgc3RhdGljIGltYWdlcywg + b3IgY29uZmlndXJlIGEgc2VydmVyLiZsdDsvcCZndDsKCiZsdDtwJmd0O0hl + cmUgYXJlIHNvbWUgdGhpbmdzIEkgd2lzaCBJ4oCZZCBiZWVuIG1vcmUgZm9j + dXNlZCBvbiB3aGVuIEkgd2FzIGp1c3Qgd29ya2luZyBvbiBkZXZlbG9wbWVu + dDombHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgogICAgICAgIAogICAgICA8 + L2l0ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRs + ZT5UaGUgRmVlZGJhY2sgTG9vcDogSG93IHRvIEFkYXB0IHRvIENvbnN0YW50 + IENoYW5nZTwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVj + aS5jb20vYmxvZy90aGUtZmVlZGJhY2stbG9vcC1ob3ctdG8tYWRhcHQtdG8t + Y29uc3RhbnQtY2hhbmdlLzwvbGluaz4KICAgICAgICA8cHViRGF0ZT5UaHUs + IDMwIE5vdiAyMDE3IDA3OjI4OjAwIC0wODAwPC9wdWJEYXRlPgogICAgICAg + IDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczovL2NpcmNsZWNpLmNv + bS9ibG9nL3RoZS1mZWVkYmFjay1sb29wLWhvdy10by1hZGFwdC10by1jb25z + dGFudC1jaGFuZ2UvPC9ndWlkPgogICAgICAgIAogICAgICAgICAgPGRjOmNy + ZWF0b3I+QWxlayBTaGFybWE8L2RjOmNyZWF0b3I+CiAgICAgICAgCiAgICAg + ICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O3AmZ3Q7Jmx0O2ltZyBz + cmM9JnF1b3Q7L2Jsb2cvbWVkaWEvRmVlZGJhY2tMb29wLXYyLmpwZyZxdW90 + OyBhbHQ9JnF1b3Q7RmVlZGJhY2tMb29wLXYyLmpwZyZxdW90OyAvJmd0OyZs + dDsvcCZndDsKCiZsdDtwJmd0O1dlIGxpdmUgaW4gYW4gYWNjZWxlcmF0aW5n + IHdvcmxkLiZsdDsvcCZndDsKCiZsdDtwJmd0O0luZm9ybWF0aW9uIGlzIGJl + aW5nIGNyZWF0ZWQsIGRpc3NlbWluYXRlZCwgcHJvY2Vzc2VkLCBhbmQgcmVn + dXJnaXRhdGVkIGF0ICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly93ZWItYXNz + ZXRzLmRvbW8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + MTdfZG9tb19kYXRhLW5ldmVyLXNsZWVwcy01LTAxLnBuZyZxdW90OyZndDt1 + bnByZWNlZGVudGVkIHJhdGVzJmx0Oy9hJmd0Oy4gQnV0IG91ciBicmFpbnMg + YXJlbuKAmXQgYWRhcHRpbmcgdG8gdGhpcyBicmVha25lY2sgcGFjZTsgYXMg + dGhlIGFtb3VudCBvZiAmbHQ7ZW0mZ3Q7dGhpbmdzJmx0Oy9lbSZndDsgaW5j + cmVhc2VzLCBvdXIgYXR0ZW50aW9uIHNwYW5zIGhhdmUgYmVlbiBkZWNyZWFz + aW5nIHRvIHByb3RlY3Qgb3Vyc2VsdmVzIGZyb20gdGhlIGluY2Vzc2FudCBi + YXJyYWdlIG9mIGluZm9ybWF0aW9uLiZsdDsvcCZndDsKCiZsdDtwJmd0O0Fu + ZCB0aGUgd29ybGQgaXMgY2hhbmdpbmcgdG8gY29tcGVuc2F0ZSBmb3Igb3Vy + IGxhY2sgb2YgZm9jdXMuIEZhY2Vib29rIGFuZCBUd2l0dGVyIGRlbGl2ZXIg + ZW5kbGVzcyBmZWVkcyBvZiBiaXRlLXNpemVkIGNvbnRlbnQsIGJvbWJhcmRp + bmcgYnJhaW5zIHdpdGggZG9wYW1pbmUg4oCUICZsdDthIGhyZWY9JnF1b3Q7 + aHR0cHM6Ly93d3cuZm9yYmVzLmNvbS9zaXRlcy9iaWFuY2FzYWxvbmdhLzIw + MTcvMDIvMjgvYnVyYmVycnlzLWJ1eS1ub3ctc2VlLW5vdy1mZWJydWFyeS1z + aG93LXJldm9sdXRpb25pemVzLXRoZS1wYWNlLW9mLWx1eHVyeS1yZXRhaWwv + IzUzMGI3MzFhNTVhZSZxdW90OyZndDtCdXJiZXJyeeKAmXMgcmVsZWFzZXMg + ZnJlc2ggZGVzaWducyBvbmUgZGF5IGFmdGVyIHNob3djYXNpbmcgdGhlbSZs + dDsvYSZndDsg4oCUIGFuZCB0aGUgdHdpbiBhcnRmb3JtcyBvZiBlbW9qaSBh + bmQgbWVtZXMgZGlzdGlsbCBvdXIgdGhvdWdodHMgaW50byBpbWFnZXMuJmx0 + Oy9wJmd0OwoKPC9kZXNjcmlwdGlvbj4KICAgICAgICAKICAgICAgPC9pdGVt + PgogICAgCiAgICAgIAogICAgICA8aXRlbT4KICAgICAgICA8dGl0bGU+Q29u + dGludW91cyBEcnVwYWwgUGFydCBJSTogRHJ1cGFsIDggQ0k8L3RpdGxlPgog + ICAgICAgIDxsaW5rPmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvY29udGlu + dW91cy1kcnVwYWwtcDItY29udGludW91cy1pbnRlZ3JhdGlvbi88L2xpbms+ + CiAgICAgICAgPHB1YkRhdGU+VHVlLCAyOCBOb3YgMjAxNyAwNTowMDowMCAt + MDgwMDwvcHViRGF0ZT4KICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1 + ZSI+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9jb250aW51b3VzLWRydXBh + bC1wMi1jb250aW51b3VzLWludGVncmF0aW9uLzwvZ3VpZD4KICAgICAgICAK + ICAgICAgICAgIDxkYzpjcmVhdG9yPlJpY2FyZG8gTiBGZWxpY2lhbm88L2Rj + OmNyZWF0b3I+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICA8ZGVzY3Jp + cHRpb24+Jmx0O3AmZ3Q7V2XigJlyZSBsZWFybmluZyBob3cgdG8gbW92ZSBm + YXN0ZXIgd2l0aCBEcnVwYWwsIG1vdmluZyBjaGFuZ2VzIGZyb20gYSBkZXbi + gJlzIGxhcHRvcCB0byBwcm9kdWN0aW9uIHF1aWNrbHkgd2hpbGUgbWFpbnRh + aW5pbmcgKGlmIG5vdCBpbmNyZWFzaW5nKSBxdWFsaXR5LiBJbiAmbHQ7YSBo + cmVmPSZxdW90O2h0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvY29udGludW91 + cy1kcnVwYWwtcDEtbWFpbnRhaW5pbmctd2l0aC1kb2NrZXItZ2l0LWNvbXBv + c2VyLyZxdW90OyZndDtwYXJ0IDEmbHQ7L2EmZ3Q7IG9mIHRoaXMgJmx0O2Vt + Jmd0O0NvbnRpbnVvdXMgRHJ1cGFsJmx0Oy9lbSZndDsgc2VyaWVzLCB3ZSBj + b3ZlcmVkIGhvdyB0byBnZXQgdXAgYW5kIHJ1bm5pbmcgd2l0aCBEcnVwYWwg + dXNpbmcgYSBtb2Rlcm4gdG9vbHNldC4gSW4gdGhpcyBwb3N0IHdl4oCZcmUg + Z29pbmcgdG8gY29udGludWUgd2hlcmUgcGFydCAxIGxlZnQgb2ZmIGFuZCBi + cmluZyBvdXIgRHJ1cGFsIHdlYnNpdGUgaW50byBDaXJjbGVDSS4gV2XigJls + bCBydW4gUUEgdGVzdHMgb24gdGhlIHNpdGUgdG8gbWFrZSBzdXJlIGV2ZXJ5 + dGhpbmcgaXMgcnVubmluZyBhcyBleHBlY3RlZCwgYW5kIG9wdGlvbmFsbHkg + UEhQVW5pdCB0ZXN0IGZvciBjdXN0b20gbW9kdWxlcyBvciB0aGVtZXMgd2Ug + bWF5IGhhdmUuIExldOKAmXMgZGl2ZSBpbi4mbHQ7L3AmZ3Q7Cgo8L2Rlc2Ny + aXB0aW9uPgogICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAg + ICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5PbmJvYXJkaW5nIG9udG8gYSBE + aXN0cmlidXRlZCBUZWFtOiBSZWFjaCBPdXQgYW5kIEFzayBTb21lb25lPC90 + aXRsZT4KICAgICAgICA8bGluaz5odHRwczovL2NpcmNsZWNpLmNvbS9ibG9n + L29uYm9hcmRpbmctb250by1hLWRpc3RyaWJ1dGVkLXRlYW0vPC9saW5rPgog + ICAgICAgIDxwdWJEYXRlPldlZCwgMTUgTm92IDIwMTcgMjM6MDQ6MDAgLTA4 + MDA8L3B1YkRhdGU+CiAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9InRydWUi + Pmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvb25ib2FyZGluZy1vbnRvLWEt + ZGlzdHJpYnV0ZWQtdGVhbS88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8 + ZGM6Y3JlYXRvcj5GaW9uYSBXYWxzaDwvZGM6Y3JlYXRvcj4KICAgICAgICAK + ICAgICAgICAKICAgICAgICAgIDxkZXNjcmlwdGlvbj4mbHQ7cCZndDsmbHQ7 + aW1nIHNyYz0mcXVvdDsvYmxvZy9tZWRpYS9WaWRlb01lZXQtdjIuanBnJnF1 + b3Q7IGFsdD0mcXVvdDtWaWRlb01lZXQtdjIuanBnJnF1b3Q7IC8mZ3Q7Jmx0 + Oy9wJmd0OwoKJmx0O3AmZ3Q7SSBzdGFydGVkIGF0IENpcmNsZUNJIEhRIGlu + IFNhbiBGcmFuY2lzY28gYXMgYSBTb2x1dGlvbnMgRW5naW5lZXIgdGhpcyBw + YXN0IEF1Z3VzdC4gV2l0aCBhIGpvYiBoaXN0b3J5IG9mIHdvcmtpbmcgYXQg + bXVjaCBsYXJnZXIgY29tcGFuaWVzIHN1Y2ggYXMgZUJheSBhbmQgUGF5UGFs + LCBiZWluZyBhdCBhIHN0YXJ0LXVwIHdhcyBhIGJpZyBjaGFuZ2UgZm9yIG1l + LiZsdDsvcCZndDsKCiZsdDtwJmd0O0FuZCBzbyBJIGZvdW5kIG15c2VsZiBn + cmFwcGxpbmcgd2l0aCBhIG5ldyBwcm9ibGVtOiBob3cgdG8gb25ib2FyZC4g + SSB3YXMgbW9yZSBhY2N1c3RvbWVkIHRvIHN1cGVyIHN0cnVjdHVyZWQgd2Vl + ay1sb25nIChvciBldmVuIGxvbmdlcikgb25ib2FyZGluZyBmb3JtYXRzLCB3 + aGljaCBJIGhhZCBmb3VuZCB0byBiZSBkcnkgYW5kIGRhdGEtaGVhdnkuJmx0 + Oy9wJmd0OwoKJmx0O3AmZ3Q7QXQgQ2lyY2xlQ0ksIHRoZSBjdWx0dXJlIGlz + IHZlcnkgcmVtb3RlIGZyaWVuZGx5LiBNeSBtYW5hZ2VyIEtldmluIGxpdmVz + IGluIFNlYXR0bGUgYW5kIHdvcmtzIHJlbW90ZWx5IGZyb20gdGhlcmUuIEkg + aGF2ZSBjby13b3JrZXJzIG9uIG15IHRlYW0gYmFzZWQgb3V0IG9mIE5ldyBZ + b3JrIGFuZCBDb2xvcmFkby4gRm9yIG15IGZpcnN0IHdlZWssIEtldmluIHRy + YXZlbGVkIGRvd24gdG8gdGhlIFNhbiBGcmFuY2lzY28gb2ZmaWNlIHRvIHdl + bGNvbWUgbWUgYW5kIHRvIGtpY2sgb2ZmIHRoZSBvbmJvYXJkaW5nIHByb2Nl + c3MuIEl0IHdhcyByZWFsbHkgaGVscGZ1bCB0byBoYXZlIHNvbWUgMToxIHRy + YWluaW5nIHRpbWUgYW5kIHRvIGdldCBzb21lIHN1Z2dlc3Rpb25zIG9uIHdo + YXQgYXJlYXMgdG8gY29udGludWUgZm9jdXNpbmcgbXkgdGltZSBvbi4gU29s + dXRpb25zIEVuZ2luZWVycyBsZWFkIHRoZSB0ZWNobmljYWwgaW1wbGVtZW50 + YXRpb24gYW5kIGRheS10by1kYXkgbWFuYWdlbWVudCBvZiBDaXJjbGVDSSBU + cmlhbHMsIGVuc3VyaW5nIGVhcmx5IGN1c3RvbWVyIHN1Y2Nlc3MgYW5kIGEg + bG9uZy10ZXJtIGJ1c2luZXNzIHJlbGF0aW9uc2hpcC4gTmV3IGhpcmVzIGlu + IHRoaXMgcm9sZSBvZnRlbiBzdGFydCB3aXRoIGEgd2VlayBvbiBzdXBwb3J0 + IGR1dHkgdG8gaGVscCBsZWFybiB0aGUgcHJvZHVjdC4mbHQ7L3AmZ3Q7Cgom + bHQ7cCZndDtBZnRlciB0aGUgbmV3bmVzcyBhbmQgZXhjaXRlbWVudCBvZiBt + eSBmaXJzdCB3ZWVrLCBJIGZlbHQgYSBsaXR0bGUgdW5zdXJlIG9mIHRoZSBi + ZXN0IHdheSB0byBzb2FrIHVwIG1vcmUgQ2lyY2xlQ0kgdHJpYmFsIGtub3ct + aG93LiBUaGVyZSB3ZXJlIHBsZW50eSBvZiBwZW9wbGUgd2hvIGNvdWxkIGFu + c3dlciBhbnkgdGVjaG5pY2FsIHF1ZXN0aW9ucyBJIG1pZ2h0IGhhdmUsIGJ1 + dCBkdXJpbmcgdGhvc2UgYmVnaW5uaW5nIGRheXMgYW5kIHdlZWtzIEkgZGlk + buKAmXQgYWx3YXlzIGtub3cgcXVpdGUgd2hhdCAob3Igd2hvbSkgdG8gYXNr + LiZsdDsvcCZndDsKCjwvZGVzY3JpcHRpb24+CiAgICAgICAgCiAgICAgIDwv + aXRlbT4KICAgIAogICAgICAKICAgICAgPGl0ZW0+CiAgICAgICAgPHRpdGxl + Pk9uZSBNb3JlIFRoaW5nOiBBcHBsZSBEZXZlbG9wZXJzIENhbiBOb3cgQnVp + bGQgZm9yIG1hY09TLCBpT1MsIHR2T1MsIGFuZCB3YXRjaE9TIG9uIENpcmNs + ZUNJIDIuMDwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVj + aS5jb20vYmxvZy9vbmUtbW9yZS10aGluZy1hcHBsZS1kZXZlbG9wZXJzLWNh + bi1ub3ctYnVpbGQtZm9yLW1hY29zLWlvcy10dm9zLWFuZC13YXRjaG9zLW9u + LWNpcmNsZWNpLTItMC88L2xpbms+CiAgICAgICAgPHB1YkRhdGU+VHVlLCAx + NCBOb3YgMjAxNyAwODowMDowMCAtMDgwMDwvcHViRGF0ZT4KICAgICAgICA8 + Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6Ly9jaXJjbGVjaS5jb20v + YmxvZy9vbmUtbW9yZS10aGluZy1hcHBsZS1kZXZlbG9wZXJzLWNhbi1ub3ct + YnVpbGQtZm9yLW1hY29zLWlvcy10dm9zLWFuZC13YXRjaG9zLW9uLWNpcmNs + ZWNpLTItMC88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRv + cj5LdW5hbCBKYWluPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAog + ICAgICAgICAgPGRlc2NyaXB0aW9uPiZsdDtwJmd0O1N0YXJ0aW5nIHRvZGF5 + LCBDaXJjbGVDSSAyLjAgaXMgYXZhaWxhYmxlIGZvciBjdXN0b21lcnMgYnVp + bGRpbmcgYXBwbGljYXRpb25zIGZvciBpT1MsIG1hY09TLCB0dk9TLCBvciB3 + YXRjaE9TLiBUZWFtcyBidWlsZGluZyBmb3IgQXBwbGUgZGV2aWNlcyBjYW4g + bm93IGFjY2VzcyBXb3JrZmxvd3MgdG8gY3VzdG9taXplIHRoZWlyIGFwcCBk + ZWxpdmVyeSBwaXBlbGluZSwgYnVpbGQgZm9yIEFwcGxlIHBsYXRmb3Jtcywg + QW5kcm9pZCwgYW5kIExpbnV4IHVzaW5nIGEgc2luZ2xlIGNvbmZpZ3VyYXRp + b24gZmlsZSwgYW5kIGhhdmUgY29tcGxldGUgY29udHJvbCBvdmVyIHRoZWly + IFhjb2RlIHZlcnNpb25zLiZsdDsvcCZndDsKCiZsdDtwJmd0OyZsdDtpbWcg + c3JjPSZxdW90Oy9ibG9nL21lZGlhL21hY09TLXY0LmdpZiZxdW90OyBhbHQ9 + JnF1b3Q7bWFjT1MtdjQuZ2lmJnF1b3Q7IC8mZ3Q7Jmx0Oy9wJmd0OwoKJmx0 + O3AmZ3Q7RGV2ZWxvcGVycyBjYW4gbm93IGFsc28gc2NoZWR1bGUgam9icywg + bWFraW5nIHRhc2tzIGxpa2Ugc2ltdWx0YW5lb3VzbHkgdXBkYXRpbmcgYXBw + cyBhY3Jvc3MgYWxsIG9wZXJhdGluZyBzeXN0ZW1zIGluIHRoZSBBcHAgU3Rv + cmUgYW5kIEdvb2dsZSBQbGF5IFN0b3JlIGVhc3kuJmx0Oy9wJmd0OwoKPC9k + ZXNjcmlwdGlvbj4KICAgICAgICAKICAgICAgPC9pdGVtPgogICAgCiAgPC9j + aGFubmVsPgo8L3Jzcz4K + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:17 GMT +- request: + method: get + uri: https://medium.com/feed/@macsiri/ + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 08 Jan 2018 19:17:17 GMT + Content-Type: + - text/xml; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439037722:330ea5ad6511 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - private, must-revalidate, max-age=900 + Expires: + - Mon, 08 Jan 2018 19:32:17 GMT + Pragma: + - private + Tk: + - T + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17f01bcd691d6-EWR + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cnNzIHht + bG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1s + bnM6Y29udGVudD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9j + b250ZW50LyIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9B + dG9tIiB2ZXJzaW9uPSIyLjAiIHhtbG5zOmNjPSJodHRwOi8vY3liZXIubGF3 + LmhhcnZhcmQuZWR1L3Jzcy9jcmVhdGl2ZUNvbW1vbnNSc3NNb2R1bGUuaHRt + bCI+CiAgICA8Y2hhbm5lbD4KICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbU3Rv + cmllcyBieSBNYWMgU2lyaSBvbiBNZWRpdW1dXT48L3RpdGxlPgogICAgICAg + IDxkZXNjcmlwdGlvbj48IVtDREFUQVtTdG9yaWVzIGJ5IE1hYyBTaXJpIG9u + IE1lZGl1bV1dPjwvZGVzY3JpcHRpb24+CiAgICAgICAgPGxpbms+aHR0cHM6 + Ly9tZWRpdW0uY29tL0BtYWNzaXJpP3NvdXJjZT1yc3MtNGIyNjA1ZGE5Mzhm + LS0tLS0tMjwvbGluaz4KICAgICAgICA8aW1hZ2U+CiAgICAgICAgICAgIDx1 + cmw+aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9maXQvYy8xNTAv + MTUwLzAqdzJibXRXbGFsZEtGbGI4ZS48L3VybD4KICAgICAgICAgICAgPHRp + dGxlPlN0b3JpZXMgYnkgTWFjIFNpcmkgb24gTWVkaXVtPC90aXRsZT4KICAg + ICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0uY29tL0BtYWNzaXJpP3Nv + dXJjZT1yc3MtNGIyNjA1ZGE5MzhmLS0tLS0tMjwvbGluaz4KICAgICAgICA8 + L2ltYWdlPgogICAgICAgIDxnZW5lcmF0b3I+TWVkaXVtPC9nZW5lcmF0b3I+ + CiAgICAgICAgPGxhc3RCdWlsZERhdGU+TW9uLCAwOCBKYW4gMjAxOCAxOTox + NzoxNyBHTVQ8L2xhc3RCdWlsZERhdGU+CiAgICAgICAgPGF0b206bGluayBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vZmVlZC9AbWFjc2lyaSIgcmVsPSJz + ZWxmIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIi8+CiAgICAgICAgPHdl + Yk1hc3Rlcj48IVtDREFUQVt5b3VyZnJpZW5kc0BtZWRpdW0uY29tXV0+PC93 + ZWJNYXN0ZXI+CiAgICAgICAgPGF0b206bGluayBocmVmPSJodHRwOi8vbWVk + aXVtLnN1cGVyZmVlZHIuY29tIiByZWw9Imh1YiIvPgogICAgICAgIDxpdGVt + PgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbVGVzdGluZyBSU1MgRmVl + ZF1dPjwvdGl0bGU+CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVt + LmNvbS9AbWFjc2lyaS90ZXN0aW5nLXJzcy1mZWVkLTZhZjA0YjdlNTdlMT9z + b3VyY2U9cnNzLTRiMjYwNWRhOTM4Zi0tLS0tLTI8L2xpbms+CiAgICAgICAg + ICAgIDxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0u + Y29tL3AvNmFmMDRiN2U1N2UxPC9ndWlkPgogICAgICAgICAgICA8Y2F0ZWdv + cnk+PCFbQ0RBVEFbdGVzdF1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxk + YzpjcmVhdG9yPjwhW0NEQVRBW01hYyBTaXJpXV0+PC9kYzpjcmVhdG9yPgog + ICAgICAgICAgICA8cHViRGF0ZT5UdWUsIDAyIEphbiAyMDE4IDE5OjA2OjMw + IEdNVDwvcHViRGF0ZT4KICAgICAgICAgICAgPGF0b206dXBkYXRlZD4yMDE4 + LTAxLTAyVDE5OjA2OjMwLjk2OFo8L2F0b206dXBkYXRlZD4KICAgICAgICAg + ICAgPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD55b3V0dWJlIGxpbmvC + oGhlcmU8L3A+PGlmcmFtZSBzcmM9Imh0dHBzOi8vY2RuLmVtYmVkbHkuY29t + L3dpZGdldHMvbWVkaWEuaHRtbD9zcmM9aHR0cHMlM0ElMkYlMkZ3d3cueW91 + dHViZS5jb20lMkZlbWJlZCUyRlFPQ2FhY084d3VzJTNGZmVhdHVyZSUzRG9l + bWJlZCZhbXA7dXJsPWh0dHAlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZ3 + YXRjaCUzRnYlM0RRT0NhYWNPOHd1cyZhbXA7aW1hZ2U9aHR0cHMlM0ElMkYl + MkZpLnl0aW1nLmNvbSUyRnZpJTJGUU9DYWFjTzh3dXMlMkZocWRlZmF1bHQu + anBnJmFtcDtrZXk9YTE5ZmNjMTg0Yjk3MTFlMWI0NzY0MDQwZDNkYzVjMDcm + YW1wO3R5cGU9dGV4dCUyRmh0bWwmYW1wO3NjaGVtYT15b3V0dWJlIiB3aWR0 + aD0iODU0IiBoZWlnaHQ9IjQ4MCIgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGlu + Zz0ibm8iPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9tZWRpYS83ZGE3 + NGJiMzBmOGEyYTgyYjBhY2I4OWIyMTNhMDE4Yi9ocmVmIj5odHRwczovL21l + ZGl1bS5jb20vbWVkaWEvN2RhNzRiYjMwZjhhMmE4MmIwYWNiODliMjEzYTAx + OGIvaHJlZjwvYT48L2lmcmFtZT48cD50d2VldCBoZXJlPC9wPjxzdHlsZT5i + b2R5W2RhdGEtdHd0dHItcmVuZGVyZWQ9InRydWUiXSB7YmFja2dyb3VuZC1j + b2xvcjogdHJhbnNwYXJlbnQ7fS50d2l0dGVyLXR3ZWV0IHttYXJnaW46IGF1 + dG8gIWltcG9ydGFudDt9PC9zdHlsZT48YmxvY2txdW90ZSBjbGFzcz0idHdp + dHRlci10d2VldCIgZGF0YS1jb252ZXJzYXRpb249Im5vbmUiIGRhdGEtYWxp + Z249ImNlbnRlciIgZGF0YS1kbnQ9InRydWUiPjxwPkkmIzM5O20gYSBmdWxs + LXN0YWNrIGRldmVsb3BlcjwvcD48cD4mI3gyMDBhOyZtZGFzaDsmI3gyMDBh + OzxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vYmVuZGhhbHBlcm4vc3Rh + dHVzLzk0ODI1NjA4MzM1MjczNTc0NCI+QGJlbmRoYWxwZXJuPC9hPjwvcD48 + L2Jsb2NrcXVvdGU+PHNjcmlwdCBzcmM9Ii8vcGxhdGZvcm0udHdpdHRlci5j + b20vd2lkZ2V0cy5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PjxzY3Jp + cHQ+ZnVuY3Rpb24gbm90aWZ5UmVzaXplKGhlaWdodCkge2hlaWdodCA9IGhl + aWdodCA/IGhlaWdodCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZz + ZXRIZWlnaHQ7IHZhciByZXNpemVkID0gZmFsc2U7IGlmICh3aW5kb3cuZG9u + a2V5ICYmIGRvbmtleS5yZXNpemUpIHtkb25rZXkucmVzaXplKGhlaWdodCk7 + IHJlc2l6ZWQgPSB0cnVlO31pZiAocGFyZW50ICYmIHBhcmVudC5fcmVzaXpl + SWZyYW1lKSB7dmFyIG9iaiA9IHtpZnJhbWU6IHdpbmRvdy5mcmFtZUVsZW1l + bnQsIGhlaWdodDogaGVpZ2h0fTsgcGFyZW50Ll9yZXNpemVJZnJhbWUob2Jq + KTsgcmVzaXplZCA9IHRydWU7fWlmICh3aW5kb3cubG9jYXRpb24gJiYgd2lu + ZG93LmxvY2F0aW9uLmhhc2ggPT09ICIjYW1wPTEiICYmIHdpbmRvdy5wYXJl + bnQgJiYgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSkge3dpbmRvdy5wYXJl + bnQucG9zdE1lc3NhZ2Uoe3NlbnRpbmVsOiAiYW1wIiwgdHlwZTogImVtYmVk + LXNpemUiLCBoZWlnaHQ6IGhlaWdodH0sICIqIik7fWlmICh3aW5kb3cud2Vi + a2l0ICYmIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzICYmIHdpbmRv + dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnJlc2l6ZSkge3dpbmRvdy53ZWJr + aXQubWVzc2FnZUhhbmRsZXJzLnJlc2l6ZS5wb3N0TWVzc2FnZShoZWlnaHQp + OyByZXNpemVkID0gdHJ1ZTt9cmV0dXJuIHJlc2l6ZWQ7fXR3dHRyLmV2ZW50 + cy5iaW5kKCdyZW5kZXJlZCcsIGZ1bmN0aW9uIChldmVudCkge25vdGlmeVJl + c2l6ZSgpO30pOyB0d3R0ci5ldmVudHMuYmluZCgncmVzaXplJywgZnVuY3Rp + b24gKGV2ZW50KSB7bm90aWZ5UmVzaXplKCk7fSk7PC9zY3JpcHQ+PHNjcmlw + dD5pZiAocGFyZW50ICYmIHBhcmVudC5fcmVzaXplSWZyYW1lKSB7dmFyIG1h + eFdpZHRoID0gcGFyc2VJbnQod2luZG93LmZyYW1lRWxlbWVudC5nZXRBdHRy + aWJ1dGUoIndpZHRoIikpOyBpZiAoIDUwMCAgPCBtYXhXaWR0aCkge3dpbmRv + dy5mcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICI1MDAiKTt9 + fTwvc2NyaXB0PjxwPkdpdGh1YiBnaXN0wqBoZXJlPC9wPjxpZnJhbWUgc3Jj + PSIiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZyYW1lYm9yZGVyPSIwIiBzY3Jv + bGxpbmc9Im5vIj48YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vbWVkaWEv + Nzc3YWU4YjdkODkxNmU1NjViODRiNzA0YzA4OGNmMGMvaHJlZiI+aHR0cHM6 + Ly9tZWRpdW0uY29tL21lZGlhLzc3N2FlOGI3ZDg5MTZlNTY1Yjg0YjcwNGMw + ODhjZjBjL2hyZWY8L2E+PC9pZnJhbWU+PGltZyBzcmM9Imh0dHBzOi8vbWVk + aXVtLmNvbS9fL3N0YXQ/ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJy + ZXJTb3VyY2U9ZnVsbF9yc3MmcG9zdElkPTZhZjA0YjdlNTdlMSIgd2lkdGg9 + IjEiIGhlaWdodD0iMSI+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAg + PC9pdGVtPgogICAgPC9jaGFubmVsPgo8L3Jzcz4= + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:18 GMT +- request: + method: get + uri: https://medium.com/feed/@vaidehijoshi + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 08 Jan 2018 19:17:18 GMT + Content-Type: + - text/xml; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439038383:14c584cd23b2 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - private, must-revalidate, max-age=900 + Expires: + - Mon, 08 Jan 2018 19:32:18 GMT + Pragma: + - private + Tk: + - T + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17f05be379248-EWR + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cnNzIHht + bG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1s + bnM6Y29udGVudD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9j + b250ZW50LyIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9B + dG9tIiB2ZXJzaW9uPSIyLjAiIHhtbG5zOmNjPSJodHRwOi8vY3liZXIubGF3 + LmhhcnZhcmQuZWR1L3Jzcy9jcmVhdGl2ZUNvbW1vbnNSc3NNb2R1bGUuaHRt + bCI+CiAgICA8Y2hhbm5lbD4KICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbU3Rv + cmllcyBieSBWYWlkZWhpIEpvc2hpIG9uIE1lZGl1bV1dPjwvdGl0bGU+CiAg + ICAgICAgPGRlc2NyaXB0aW9uPjwhW0NEQVRBW1N0b3JpZXMgYnkgVmFpZGVo + aSBKb3NoaSBvbiBNZWRpdW1dXT48L2Rlc2NyaXB0aW9uPgogICAgICAgIDxs + aW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9AdmFpZGVoaWpvc2hpP3NvdXJjZT1y + c3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAgICAgICA8aW1hZ2U+ + CiAgICAgICAgICAgIDx1cmw+aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9maXQvYy8xNTAvMTUwLzEqUU9RdVdBcVFkNTY2b0lUajlydENLdy5q + cGVnPC91cmw+CiAgICAgICAgICAgIDx0aXRsZT5TdG9yaWVzIGJ5IFZhaWRl + aGkgSm9zaGkgb24gTWVkaXVtPC90aXRsZT4KICAgICAgICAgICAgPGxpbms+ + aHR0cHM6Ly9tZWRpdW0uY29tL0B2YWlkZWhpam9zaGk/c291cmNlPXJzcy04 + ZjU1OTkzYzk3M2UtLS0tLS0yPC9saW5rPgogICAgICAgIDwvaW1hZ2U+CiAg + ICAgICAgPGdlbmVyYXRvcj5NZWRpdW08L2dlbmVyYXRvcj4KICAgICAgICA8 + bGFzdEJ1aWxkRGF0ZT5Nb24sIDA4IEphbiAyMDE4IDE5OjEwOjI2IEdNVDwv + bGFzdEJ1aWxkRGF0ZT4KICAgICAgICA8YXRvbTpsaW5rIGhyZWY9Imh0dHBz + Oi8vbWVkaXVtLmNvbS9mZWVkL0B2YWlkZWhpam9zaGkiIHJlbD0ic2VsZiIg + dHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIvPgogICAgICAgIDx3ZWJNYXN0 + ZXI+PCFbQ0RBVEFbeW91cmZyaWVuZHNAbWVkaXVtLmNvbV1dPjwvd2ViTWFz + dGVyPgogICAgICAgIDxhdG9tOmxpbmsgaHJlZj0iaHR0cDovL21lZGl1bS5z + dXBlcmZlZWRyLmNvbSIgcmVsPSJodWIiLz4KICAgICAgICA8aXRlbT4KICAg + ICAgICAgICAgPHRpdGxlPjwhW0NEQVRBW0kgd291bGQgbG92ZSB0bywgYnV0 + IEkgcHJvYmFibHkgd291bGRu4oCZdCBoYXZlIGVub3VnaCB0aW1lIHRvIHdy + aXRlIGNvZGUgaWYgSSBkaWQgdGhhdCEg4pi677iPXV0+PC90aXRsZT4KICAg + ICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0uY29tL0B2YWlkZWhpam9z + aGkvaS13b3VsZC1sb3ZlLXRvLWJ1dC1pLXByb2JhYmx5LXdvdWxkbnQtaGF2 + ZS1lbm91Z2gtdGltZS10by13cml0ZS1jb2RlLWlmLWktZGlkLXRoYXQtJUVG + JUI4JThGLTk4NTkwZGI1NTlhMT9zb3VyY2U9cnNzLThmNTU5OTNjOTczZS0t + LS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvOTg1OTBkYjU1OWExPC9ndWlk + PgogICAgICAgICAgICA8ZGM6Y3JlYXRvcj48IVtDREFUQVtWYWlkZWhpIEpv + c2hpXV0+PC9kYzpjcmVhdG9yPgogICAgICAgICAgICA8cHViRGF0ZT5XZWQs + IDAzIEphbiAyMDE4IDE3OjEyOjM5IEdNVDwvcHViRGF0ZT4KICAgICAgICAg + ICAgPGF0b206dXBkYXRlZD4yMDE4LTAxLTAzVDE3OjEyOjM5LjUxMlo8L2F0 + b206dXBkYXRlZD4KICAgICAgICAgICAgPGNvbnRlbnQ6ZW5jb2RlZD48IVtD + REFUQVs8cD5JIHdvdWxkIGxvdmUgdG8sIGJ1dCBJIHByb2JhYmx5IHdvdWxk + buKAmXQgaGF2ZSBlbm91Z2ggdGltZSB0byB3cml0ZSBjb2RlIGlmIEkgZGlk + IHRoYXQhwqDimLrvuI88L3A+PGltZyBzcmM9Imh0dHBzOi8vbWVkaXVtLmNv + bS9fL3N0YXQ/ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJyZXJTb3Vy + Y2U9ZnVsbF9yc3MmcG9zdElkPTk4NTkwZGI1NTlhMSIgd2lkdGg9IjEiIGhl + aWdodD0iMSI+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9pdGVt + PgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFb + QSBNb3N0IFBlcmZlY3QgVW5pb246IEp1c3QtSW4tVGltZSBDb21waWxlcnNd + XT48L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRwczovL21lZGl1bS5j + b20vYmFzZWNzL2EtbW9zdC1wZXJmZWN0LXVuaW9uLWp1c3QtaW4tdGltZS1j + b21waWxlcnMtMjkzODcxMmE5ZjZhP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNl + LS0tLS0tMjwvbGluaz4KICAgICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwczovL21lZGl1bS5jb20vcC8yOTM4NzEyYTlmNmE8L2d1 + aWQ+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtqaXRdXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0 + ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29y + eT48IVtDREFUQVtjb21waWxlcnNdXT48L2NhdGVnb3J5PgogICAgICAgICAg + ICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbaW50ZXJwcmV0ZXJzXV0+PC9jYXRlZ29y + eT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW3Byb2dyYW1taW5n + XV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+PCFbQ0RB + VEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAgICAgICAg + PHB1YkRhdGU+U2F0LCAzMCBEZWMgMjAxNyAxOToxNzo1MCBHTVQ8L3B1YkRh + dGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMi0zMFQyMTo1 + Njo1MS4wNzRaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpfM2hr + QXdCOVF6VUhfLUstOFF4WVBnLmpwZWciIC8+PGZpZ2NhcHRpb24+QSBtb3N0 + IHBlcmZlY3QgdW5pb246IGp1c3QtaW4tdGltZSBjb21waWxlcnMuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPlRoZSB3b3JsZCBvZiBjb21wdXRlciBzY2ll + bmNlIGFsd2F5cyBzZWVtcyB0byBjb21lIGRvd24gdG8gdHJhZGVvZmZzLiBT + b21ldGltZXMsIHdl4oCZcmUgZm9yY2VkIHRvIGNob29zZSBiZXR3ZWVuIHR3 + byBkYXRhIHN0cnVjdHVyZXMsIGFsZ29yaXRobXMsIG9yIGZ1bmN0aW9ucyB0 + aGF0IGNvdWxkIGJvdGggZ2V0IHRoZSBqb2IgZG9uZSwgYnV0IGFyZSB2ZXJ5 + IGRpZmZlcmVudCBpbiBuYXR1cmUuIEF0IHRoZSBlbmQgb2YgdGhlIGRheSwg + dGhlIHRoaW5nIHRoYXQgd2XigJlyZSByZWFsbHkgY2hvb3NpbmcgYmV0d2Vl + biB3aGljaCB0aGluZ3Mgd2UgY2FyZSBhYm91dCBhbmQgdmFsdWUgdGhlIG1v + c3TigIrigJTigIphbmQgd2hpY2ggdGhpbmdzIHdl4oCZcmUgd2lsbGluZyB0 + byBzYWNyaWZpY2UuPC9wPjxwPkJ1dCBpdOKAmXMgbm90IGp1c3QgY29tcHV0 + ZXIgc2NpZW5jZSB0aGF0IHRoaXMgdHJ1dGggYXBwbGllcyB0bzsgaXTigJlz + IGFsbCBvZiBjb21wdXRpbmcuIEV2ZW4gaWYgd2XigJlyZSBub3QgZGlyZWN0 + bHkgd29ya2luZyB3aXRoIGNvbXB1dGVyIHNjaWVuY2UgY29uY2VwdHMsIHdl + IHN0aWxsIGhhdmUgdG8gbWFrZSBjaG9pY2VzIGFuZCB3ZWlnaCB0cmFkZW9m + ZnMgd2hlbiBpdCBjb21lcyB0byBvdXIgY29kZSBhbmQgaG93IHdlIHdyaXRl + IGl0LiBPbiBhbiBicm9hZGVyIGxldmVsLCB3ZSBoYXZlIHRvIGNvbnNpZGVy + IHRoZSBwcm9zIGFuZCBjb25zIG9mIGRpZmZlcmVudCB0ZWNobm9sb2dpZXMs + IGRlc2lnbiBkZWNpc2lvbnMsIGFuZCBpbXBsZW1lbnRhdGlvbiBzdHJhdGVn + aWVzLCB0b28uIEFnYWluOiBtb3JlIHRyYWRlb2ZmcyE8L3A+PHA+QnV0IHRy + YWRlb2ZmcyBpbiB0ZWNobm9sb2d5IGFyZW7igJl0IGFsbCBiYWQuIFNvbWV0 + aW1lcywgdGhleeKAmXJlIGV4YWN0bHkgd2hhdCBkcml2ZXMgdXMgZm9yd2Fy + ZC4gTmV3IGZyYW1ld29ya3MgYW5kIGxhbmd1YWdlcyBhcmUgb2Z0ZW4gY3Jl + YXRlZCBqdXN0IHNvIHRoYXQgZGV2ZWxvcGVycyBkb27igJl0IG5lZWQgdG8g + Y2hvb3NlIGJldHdlZW4gdGhpbmdz4oCK4oCU4oCKaW4gb3RoZXIgd29yZHMs + IHNvIHRoYXQgdGhlIHRyYWRlb2ZmcyB3ZSBtdXN0IGNob29zZSBiZXR3ZWVu + IGRvbuKAmXQgaGF2ZSB0byBiZSBzbyBzdGVlcCBpbiBuYXR1cmUuIE1hbnkg + dGVjaG5vbG9naWVzIGFpbSB0byBtYWtlIHRoZXNlIGNob2ljZXMgZWFzaWVy + IGFuZCBmYXIgbGVzcyBwYWluZnVsIHNvIHRoYXQgb3RoZXIgcHJvZ3JhbW1l + cnMgZG9u4oCZdCBuZWVkIHRvIHBpY2sgYmV0d2VlbiB0d28gdmVyeSBkaWZm + ZXJlbnQgd2F5cyBvZiBzb2x2aW5nIGEgcHJvYmxlbS4gSW5zdGVhZCwgdGhl + c2UgbmV3IGFwcHJvYWNoZXMgdHJ5IHRvIHRha2UgdGhlIGJlc3Qgb2YgYm90 + aCB3b3JsZHMgYW5kIGZpbmQgYSBoYXBweSBtZWRpdW0sIGFsbCB0aGUgd2hp + bGUgbGVhcm5pbmcgZnJvbSBhbmQgZnVzaW5nIHRvZ2V0aGVyIGNvbmNlcHRz + IHRoYXQgYWxyZWFkeSBleGlzdCBpbiB0aGUgd29ybGQuIEluIHRoZSB3b3Js + ZCBvZiBjb21wdXRpbmcsIHRoaXMgaGFzIGhhcHBlbmVkIHRpbWUgYW5kIHRp + bWXCoGFnYWluLjwvcD48cD5QZXJoYXBzIHRoZSBtb3N0IGludGVyZXN0aW5n + IGV4YW1wbGUgb2YgdGhpcyBpcyB0aGUgdW5pb24gb2YgdGhlIGNvbXBpbGVy + IGFuZCB0aGUgaW50ZXJwcmV0ZXI7IGl0IGNvbWJpbmVzIHR3byBwb3dlcmZ1 + bCB0ZWNobm9sb2dpZXMsIGFuZCBjcmVhdGVkIHNvbWV0aGluZyBuZXcsIHdo + aWNoIHdlIG5vdyBrbm93IHRvZGF5IGFzIHRoZSA8ZW0+anVzdC1pbi10aW1l + IGNvbXBpbGVyPC9lbT4uPC9wPjxoMz5BIHJhcmUgYnJlZWQ6IHRoZSBjb21w + aWxlci1pbnRlcnByZXRlciBtaXg8L2gzPjxwPkxhc3Qgd2Vlaywgd2UgdG9v + ayA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2EtZGVlcGVy + LWluc3BlY3Rpb24taW50by1jb21waWxhdGlvbi1hbmQtaW50ZXJwcmV0YXRp + b24tZDk4OTUyZWJjODQyIj5hIGRlZXBlciBsb29rPC9hPiBhdCB0aGUgY29t + cGlsZXIgYW5kIHRoZSBpbnRlcnByZXRlciwgaG93IGJvdGggb2YgdGhlbSB3 + b3JrLCBhbmQgdGhlIHdheXMgdGhhdCBhbGxvd2VkIG9uZeKAiuKAlOKAinRo + ZSBjb21waWxlcuKAiuKAlOKAinRvIGxlYWQgdG8gdGhlIGNyZWF0aW9uIG9m + IHRoZSBvdGhlcuKAiuKAlOKAinRoZSBpbnRlcnByZXRlci4gQXMgaXQgdHVy + bnMgb3V0LCB0aGUgaGlzdG9yeSBvZiB0aGUgaW50ZXJwcmV0ZXIgaXMgaW50 + cmluc2ljYWxseSBjb25uZWN0ZWQgdG8gd2hhdCBjYW1lIHNvb24gYWZ0ZXJ3 + YXJkczogdGhlPHN0cm9uZz4gPC9zdHJvbmc+anVzdC1pbi10aW1lIGNvbXBp + bGVyLjwvcD48cD5XZeKAmWxsIHJlY2FsbCB0aGF0IHRoZSBpbnRlcnByZXRl + ciB3YXMgaW52ZW50ZWQgaW4gMTk1OCwgYnkgU3RldmUgUnVzc2VsbCwgd2hv + IHdhcyB3b3JraW5nIHdpdGggYSBNSVQgcHJvZmVzc29yIGF0IHRoZSB0aW1l + LCBuYW1lZCBKb2huIE1jQ2FydGh5LiBNY0NhcnRoeSBoYWQgd3JpdHRlbiBh + IHBhcGVyIG9uIHRoZSBMaXNwIHByb2dyYW1taW5nIGxhbmd1YWdlLCBhbmQg + UnVzc2VsbCBoYWQgYmVlbiBkcmF3biB0byB3b3JraW5nIHdpdGggaGlzIHBy + b2Zlc3NvciBhZnRlciByZWFkaW5nIGhpcyBwYXBlciBvbiB0aGXCoHN1Ympl + Y3QuPC9wPjxwPkhvd2V2ZXIsIEpvaG4gTWNDYXJ0aHkgYWxzbyB3cm90ZSBh + bm90aGVyIHBhcGVyIGNhbGxlZCA8YSBocmVmPSJodHRwOi8vd3d3LWZvcm1h + bC5zdGFuZm9yZC5lZHUvam1jL3JlY3Vyc2l2ZS9yZWN1cnNpdmUuaHRtbCI+ + 4oCcUmVjdXJzaXZlIEZ1bmN0aW9ucyBvZiBTeW1ib2xpYyBFeHByZXNzaW9u + cyBhbmQgVGhlaXIgQ29tcHV0YXRpb24gYnkgTWFjaGluZeKAnTwvYT4sIHdo + aWNoIHdhcyBwdWJsaXNoZWQgaW4gMTk2MC4gQWx0aG91Z2ggd2UgY2Fu4oCZ + dCBiZSBlbnRpcmVseSBzdXJlLCB0aGlzIHBhcGVyIGFwcGVhcnMgdG8gY29u + dGFpbiBzb21lIG9mIDxhIGhyZWY9Imh0dHA6Ly93d3cuY3MudHVmdHMuZWR1 + L2NvbXAvMTUwSVBML3BhcGVycy9heWNvY2swM2ppdC5wZGYiPnRoZSBlYXJs + aWVzdCByZWZlcmVuY2VzPC9hPiB0byBqdXN0LWluLXRpbWUgY29tcGlsYXRp + b24uPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1p + bWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqdTc1ODcweldEZUtibTQy + WFF0bzBPZy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBJQk0gNzA5NCBvcGVy + YXRvcuKAmXMgY29uc29sZSwgwqkgPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtp + cGVkaWEub3JnL3dpa2kvSUJNXzcwOTAjL21lZGlhL0ZpbGU6SUJNXzcwOTRf + Y29uc29sZTIuYWdyLkpQRyI+V2lraW1lZGlhIEZvdW5kYXRpb248L2E+PC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPkFub3RoZXIgZWFybHkgcmVmZXJlbmNl + IHRvIGp1c3QtaW4tdGltZSBjb21waWxlcnMgYXBwZWFycyBpbiAxOTY2LCBp + biB0aGUgbWFudWFsIGZvciB0aGUgVW5pdmVyc2l0eSBvZiBNaWNoaWdhbuKA + mXMgRXhlY3V0aXZlIFN5c3RlbSBmb3IgdGhlIElCTSA3MDkwLiBUaGUgbWFu + dWFsIGZvciB0aGlzIHBhcnRpY3VsYXIgbWFjaGluZeKAmXMgc3lzdGVtIGV4 + cGxhaW5zIGhvdyBpdCBpcyBwb3NzaWJsZSB0byBib3RoIHRyYW5zbGF0ZSBh + bmQgbG9hZCBjb2RlIHdoaWxlIGV4ZWN1dGluZyBpdCwgYSBjbHVlIHRoYXQg + anVzdC1pbi10aW1lIGNvbXBpbGVycyB3ZXJlIGFscmVhZHkgc3RhcnRpbmcg + dG8gYmUgaW1wbGVtZW50ZWQgb24gYSBtb3JlIHByYWN0aWNhbCBsZXZlbCBi + eSB0aGUgbWlkwqA2MOKAmXMhPC9wPjxwPk9rYXksIGJ1dCBoYW5nIG9uIGEg + c2Vjb25k4oCK4oCU4oCKd2hhdCBleGFjdGx5IGRpZCB0aGF0IG1hbnVhbCBt + ZWFuPyBXZeKAmXZlIGxvb2tlZCBhdCB3aGVuIGFuZCB3aGVyZSB0aGUganVz + dC1pbi10aW1lIGNvbXBpbGVyIGZpcnN0IHNob3dlZCB1cOKApmJ1dCB3aGF0 + IGV2ZW4gPGVtPmlzPC9lbT4gYSBqdXN0LWluLXRpbWUgY29tcGlsZXIgdG8g + YmVnaW7CoHdpdGg/PC9wPjxwPldlbGwsIGEgc2ltcGxlIHdheSB0byB0aGlu + ayBhYm91dCBpdCBpcyB0aGlzOiB0aGUgPHN0cm9uZz48ZW0+anVzdC1pbi10 + aW1lIGNvbXBpbGVyPC9lbT48L3N0cm9uZz4gKG9yIDxzdHJvbmc+PGVtPkpJ + VDwvZW0+PC9zdHJvbmc+IGZvciBzaG9ydCkgaXMgdGhlIGNoaWxkIG9mIGl0 + 4oCZcyBwYXJlbnRzLCB0aGUgY29tcGlsZXIgYW5kIHRoZSBpbnRlcnByZXRl + ci48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpzclhfc3BkMnF6WjJhSDFF + b182VDdnLmpwZWciIC8+PGZpZ2NhcHRpb24+SnVzdC1pbi10aW1lIGNvbXBp + bGVyczogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5U + aGUgSklUIGlzIGEgZnVzaW9uIG9yIGNvbWJpbmF0aW9uIG9mIHRoZSBpbnRl + cnByZXRlciBhbmQgdGhlIGNvbXBpbGVyLCB3aGljaCBhcmUgZWFjaCB0d28g + dHlwZXMgb2YgdHJhbnNsYXRvcnMgaW4gdGhlaXIgb3duIHJpZ2h0LiBBIGp1 + c3QtaW4tdGltZSBjb21waWxlciBoYXMgbWFueSBvZiB0aGUgYmVuZWZpdHMg + b2YgYm90aCBvZiB0aGVzZSB0d28gdHJhbnNsYXRpb24gdGVjaG5pcXVlcywg + YWxsIHJvbGxlZCB1cCBpbnRvwqBvbmUuPC9wPjxwPldl4oCZbGwgcmVjYWxs + IHRoYXQgYm90aCB0aGUgY29tcGlsZXIgYW5kIHRoZSBpbnRlcnByZXRlciBk + byB0aGUgd29yayBvZiB0cmFuc2xhdGluZyBhIHByb2dyYW1tZXLigJlzIHNv + dXJjZSBjb2RlIGludG8gZXhlY3V0YWJsZSBtYWNoaW5lIGNvZGUsIGVpdGhl + ciBieSB0cmFuc2xhdGluZyBpdCBpbiBvbmUgc2hvdCAoY29tcGlsZXIpLCBv + ciBieSBpbnRlcnByZXRpbmcgYW5kIHJ1bm5pbmcgdGhlIGNvZGUgbGluZS1i + eS1saW5lIChpbnRlcnByZXRlcikuPC9wPjxwPkEgY29tcGlsZXIgY2FuIGFj + dCBhcyBhIGdyZWF0IHRyYW5zbGF0b3IgYmVjYXVzZSBpdCBtYWtlcyBjb2Rl + IGZhc3QgdG8gZXhlY3V0ZTsgaG93ZXZlciwgaXQgaGFzIHRvIHRyYW5zbGF0 + ZSBhbGwgb2YgdGhlIHNvdXJjZSBjb2RlIGludG8gYSBiaW5hcnkgZmlsZSBm + aXJzdCwgYmVmb3JlIGl0IGNhbiBleGVjdXRlIGFueSBvZiBpdCwgd2hpY2gg + Y2FuIG1ha2UgaXQgcGFpbmZ1bCB0byBkZWJ1ZyBzb21ldGhpbmcgZnJvbSB0 + aGUgc291cmNlIHdoZW4gd2Ugb25seSBoYXZlIG1hY2hpbmUgY29kZSB0byB3 + b3JrwqB3aXRoLjwvcD48cD5PbiB0aGUgb3RoZXIgaGFuZCwgdGhlIGludGVy + cHJldGVyIGNhbiBkaXJlY3RseSBleGVjdXRlIHBpZWNlcyBvZiBjb2RlIGR1 + cmluZyBydW50aW1lLCB3aGljaCBtZWFucyB0aGF0IGlmIHNvbWV0aGluZyBn + b2VzIHdyb25nLCBpdCBjYW4gbWFpbnRhaW4gdGhlIGNvbnRleHQgb2Ygd2hl + cmUgdGhlIGV4ZWN1dGVkIGNvZGUgd2FzIGNhbGxlZCB3aGVuIGl0IGlzIHJ1 + bi4gSG93ZXZlciwgdGhlIGludGVycHJldGVyIGhhcyB0byByZXRyYW5zbGF0 + ZSBjb2RlIG11bHRpcGxlIHRpbWVzLCB3aGljaCBjYW4gbWFrZSBpdCBzbG93 + IGFuZCBsZXNzIGVmZmljaWVudC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpiUmZCOWF2R0dCaEIwWFlXeW81djlRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + QSBKSVQgY29tcGFyZWQgdG8gaXRzIHBhcmVudHM6IHRoZSBjb21waWxlciBh + bmQgdGhlIGludGVycHJldGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5T + byB3aGVyZSBkb2VzIHRoZSBKSVQgZml0IGludG8gdGhpcz8gV2VsbCwgdG8g + c3RhcnQgb2ZmLCB0aGUgSklUIGFjdHMgbGlrZSBvbmUgb2YgaXRzIHBhcmVu + dHPigIrigJTigIpuYW1lbHksIGl0IGFjdHMgbGlrZSBhbiA8ZW0+aW50ZXJw + cmV0ZXI8L2VtPiBhdCBmaXJzdCwgZXhlY3V0aW5nIGFuZCByZS1ydW5uaW5n + IGNvZGUgYXMgaXQgaXMgY2FsbGVkLiBIb3dldmVyLCBpZiB0aGUgSklUIGZp + bmRzIGNvZGUgdGhhdCBpcyBjYWxsZWQgbWFueSB0aW1lcyBhbmQgaW52b2tl + ZCByZXBlYXRlZGx5LCBpdCBiZWhhdmVzIGxpa2UgaXRzIG90aGVyIHBhcmVu + dDogdGhlIGNvbXBpbGVyLjwvcD48cD5UaGUgSklUIGFjdHMgbGlrZSBhbiBp + bnRlcnByZXRlciB1bnRpbCBpdCBub3RpY2VzIHRoYXQgaXQgaXMgZG9pbmcg + YSBidW5jaCBvZiByZXBlYXRlZCB3b3JrLiBBdCB0aGF0IHBvaW50LCBpdCBi + ZWhhdmVzIG1vcmUgbGlrZSBhIGNvbXBpbGVyLCBhbmQgd2lsbCBvcHRpbWl6 + ZSB0aGUgcmVwZWF0ZWRseS1jYWxsZWQgY29kZSBieSBjb21waWxpbmcgaXQg + ZGlyZWN0bHkuIFRoaXMgYWxsb3dzIGEgSklUIHRvIHB1bGwgaW4gdGhlIGJl + c3Qgb2YgYm90aCBvZiBpdHMg4oCccGFyZW504oCdIHRyYW5zbGF0b3Jz4oCK + 4oCU4oCKdGhlIGNvbXBpbGVyIGFuZCB0aGUgaW50ZXJwcmV0ZXIuIFdoaWxl + IGl0IGRvZXMgYmVnaW4gYnkgaW50ZXJwcmV0aW5nIHRoZSBzb3VyY2UgdGV4 + dCwgaXQgZG9lcyBzbyBpbiBhIHNwZWNpYWwgd2F5LiBUaGUgSklUIGhhcyB0 + byBrZWVwIGEgY2FyZWZ1bCB3YXRjaCBvbiB0aGUgY29kZSB0aGF0IGl0IGlz + IHJ1bm5pbmcgaW5saW5lIGR1cmluZyBpbnRlcnByZXRhdGlvbi48L3A+PHA+ + QSBKSVQgbmVlZHMgdG8gYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHF1ZXN0aW9u + OjwvcD48YmxvY2txdW90ZT5DYW4gSSBrZWVwIGludGVycHJldGluZyB0aGlz + IGNvZGUgZGlyZWN0bHksIG9yIHNob3VsZCBJIGp1c3QgZ28gYWhlYWQgYW5k + IGNvbXBpbGUgdGhpcyBzbyBJIGRvbuKAmXQgbmVlZCB0byBrZWVwIHJlcGVh + dGluZyB0aGUgd29yayBvZiB0cmFuc2xhdGluZz88L2Jsb2NrcXVvdGU+PHA+ + U28gaG93IGRvZXMgaXQgYW5zd2VyIHRoaXMgc29tZXRpbWVzIGRpZmZpY3Vs + dCBxdWVzdGlvbj8gV2VsbCwgdGhlIEpJVCBrZWVwcyBhIGNsb3NlIGV5ZSBv + biB3aGF04oCZcyBoYXBwZW5pbmcsIGFuZCA8c3Ryb25nPjxlbT5tb25pdG9y + czwvZW0+PC9zdHJvbmc+IG9yIDxzdHJvbmc+PGVtPnByb2ZpbGVzPC9lbT48 + L3N0cm9uZz4gdGhlIGNvZGUgdGhhdCBpdCBpcyBleGVjdXRpbmcuPC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqQkVaLVBXZ2wyVXZkTVVQMEtBREZ5Zy5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhvdyB0aGUgSklUIGluaXRpYWxseSBpbnRl + cnByZXRzIHRoZSBjb2RlIGluIGEgc291cmNlwqB0ZXh0LjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5XaGlsZSB0aGUgSklUIGlzIGludGVycHJldGluZyB0 + aGUgY29kZSwgaXQgc2ltdWx0YW5lb3VzbHkgbW9uaXRvcnMgaXQuIFdoZW4g + aXQgbm90aWNlcyByZXBlYXRlZCB3b3JrLCBpdCB0aGlua3MgdG8gaXRzZWxm + OiA8ZW0+4oCcSGV5ISBUaGlzIGlzIHNpbGx5LiBJIGRvbuKAmXQgbmVlZCB0 + byBkbyB0aGlzIHVubmVjY2VzYXJ5IHdvcmsuIExldCBtZSBiZSBzbWFydCBh + Ym91dCBob3cgSSBkZWFsIHdpdGggdGhpc8KgY29kZS7igJ08L2VtPjwvcD48 + cD5Ob3csIHRoaXMgc2VlbXMgZ3JlYXQgaW4gdGhlb3J5LiBCdXQgaG93IGRv + ZXMgdGhlIEpJVCBrbm93IGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiBp + biBwcmFjdGljZSwgZXhhY3RseT8gVGltZSB0byBmaW5kwqBvdXQhPC9wPjxo + Mz5TbW9rZSBsZWFkcyB0byBmaXJlLCBmaXJlIGxlYWRzIHRvIGNvbXBpbGF0 + aW9uPC9oMz48cD5XZSBrbm93IHRoYXQgYSBKSVQgaGFzIHRvIGtlZXAgYSBj + bG9zZSBleWUgb24gdGhlIGNvZGUgdGhhdCBpdCBydW5zLiBCdXQgaG93IGV4 + YWN0bHkgZG9lcyBpdCBtb25pdG9yIHdoYXTigJlzIGdvaW5nIG9uPyBXZWxs + LCB3ZSBtaWdodCBpbWFnaW5lIHdoYXQgd2Ugd291bGQgZG8gaWYgd2Ugd2Vy + ZSBtb25pdG9yaW5nIHNvbWV0aGluZyBmcm9tIHRoZSBvdXRzaWRlOiB3ZeKA + mWQgcHJvYmFibHkgaGF2ZSBhIHBpZWNlIG9mIHBhcGVyIG9yIGEgbm90ZXBh + ZCBhbmQgbWFyayB0aGluZ3MgYXMgdGhleSBoYXBwZW5lZCBpbiBvcmRlciB0 + byBrZWVwIHRyYWNrIG9mIGV2ZW50cyBhcyB0aGV5wqBoYXBwZW4uPC9wPjxw + PlRoZSBKSVQgZG9lcyBleGFjdGx5IHRoYXQuIEl0IHVzdWFsbHkgaGFzIGFu + IGludGVybmFsIG1vbml0b3IgdGhhdCDigJxtYXJrc+KAnSBjb2RlIHRoYXQg + c2VlbXMgc3VzcGVjdC4gRm9yIGV4YW1wbGUsIGlmIGEgc2VjdGlvbiBvZiBv + dXIgc291cmNlIGNvZGUgaXMgY2FsbGVkIGEgZmV3IHRpbWVzLCB0aGUgSklU + IHdpbGwgbWFrZSBhIG5vdGUgb2YgdGhlIGZhY3QgdGhhdCB0aGlzIGNvZGUg + aXMgY2FsbGVkIG9mdGVuOyB0aGlzIGlzIG9mdGVuIHJlZmVycmVkIHRvIGFz + IDxzdHJvbmc+PGVtPuKAnHdhcm3igJ3CoGNvZGU8L2VtPjwvc3Ryb25nPi48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSowbG12UVg5RDFXU280Q1VKNTdv + ZEp3LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIEpJVCB1c2VzIHdhcm10aCBh + bmQgaGVhdCB0byBkZXRlcm1pbmUgaG93IHRvIG9wdGltaXplIG91csKgY29k + ZSE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QnkgdGhlIHNhbWUgdG9rZW4s + IGlmIHNvbWUgbGluZXMgaW4gb3VyIHNvdXJjZSBjb2RlIGFyZSBydW4gbWFu + eSwgbWFueSB0aW1lcywgdGhlIEpJVCB3aWxsIG1ha2UgYSBub3RlIG9mIGl0 + IGJ5IG1hcmtpbmcgdGhhdCBzZWN0aW9uIGFzIDxzdHJvbmc+PGVtPuKAnGhv + dOKAnSBjb2RlPC9lbT48L3N0cm9uZz4uIEJ5IHVzaW5nIHRoZXNlIGRlbGlt + aXRlcnMsIHRoZSBKSVQgY2FuIGVhc2lseSBmaWd1cmUgb3V0IHdoaWNoIGxp + bmVzIGFuZCBzZWN0aW9ucyBvZiBjb2RlIGNvdWxkIGJlIG9wdGltaXplZOKA + iuKAlOKAimluIG90aGVyIHdvcmRzLCBjb3VsZCBiZSA8ZW0+Y29tcGlsZWQ8 + L2VtPiByYXRoZXIgdGhhbiA8ZW0+aW50ZXJwcmV0ZWQ8L2VtPuKAlCBsYXRl + csKgb24uPC9wPjxwPlVuZGVyc3RhbmRpbmcgdGhlIHZhbHVlIGFuZCB1c2Vm + dWxuZXNzIG9mIOKAnHdhcm3igJ0gYW5kIOKAnGhvdOKAnSBjb2RlIG1ha2Vz + IGEgbG90IG1vcmUgc2Vuc2Ugd2l0aCBhbiBleGFtcGxlLiBTbywgbGV04oCZ + cyB0YWtlIGEgbG9vayBhdCBhbiBhYnN0cmFjdGVkIHZlcnNpb24gb2Ygc29t + ZSBzb3VyY2UgdGV4dCwgd2hpY2ggY291bGQgYmUgaW4gYW55IGxhbmd1YWdl + LCBhbmQgb2YgYW55IHNpemUuIEZvciBvdXIgcHVycG9zZXMsIHdlIGNhbiBp + bWFnaW5lIHRoYXQgdGhpcyBpcyBhIHZlcnkgc2hvcnQgcHJvZ3JhbSB0aGF0 + IGlzIG9ubHkgNiBsaW5lcyBvZiBjb2RlwqBsb25nLjwvcD48ZmlndXJlPjxp + bWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNv + bS9tYXgvMTAyNC8xKjdVNWxYbUdDNlY5TjJKMmVkU21nUFEuanBlZyIgLz48 + ZmlnY2FwdGlvbj5Ib3cgZG9lcyB0aGUgSklUIGtub3cgd2hhdCB0byBkbyB3 + aXRoIGEgaG90IGxpbmUgb2YgY29kZSwgYSB3YXJtIGxpbmUsIGFuZCBhIGxp + bmUgdGhhdCBpcyBuZXZlciBldmVuwqBjYWxsZWQ/PC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPkxvb2tpbmcgYXQgdGhlIGlsbHVzdHJhdGlvbiBzaG93biBo + ZXJlLCB3ZSBjYW4gc2VlIHRoYXQgbGluZSAxIGlzIGNhbGxlZCB2ZXJ5LCB2 + ZXJ5IG9mdGVuLiBUaGUgSklUIHdpbGwgcmVjb2duaXplIHByZXR0eSBxdWlj + a2x5IHRoYXQgbGluZSAxIGlzIOKAnGhvdOKAncKgY29kZS48L3A+PHA+TGlu + ZSA0LCBvbiB0aGUgb3RoZXIgaGFuZCwgaXMgbmV2ZXIgYWN0dWFsbHkgY2Fs + bGVkOyBwZXJoYXBzIGl0IGlzIHNldHRpbmcgYSB2YXJpYWJsZSB0aGF0IGlz + IG5ldmVyIHVzZWQsIG9yIGlzIGEgbGluZSBvZiBjb2RlIHRoYXQgbmV2ZXIg + ZW5kcyB1cCBiZWluZyBpbnZva2VkLiBUaGlzIGlzIHdoYXQgaXMgc29tZXRp + bWVzIGNhbGxlZCA8c3Ryb25nPjxlbT7igJxkZWFk4oCdwqBjb2RlPC9lbT48 + L3N0cm9uZz4uPC9wPjxwPkZpbmFsbHksIGxpbmUgNSBpcyBzb21ldGltZXMg + Y2FsbGVkIG9mdGVuLCBidXQgbm90IG5lYXJseSBhcyBtdWNoIGFzIGxpbmUg + MS4gVGhlIEpJVCB3aWxsIHJlY29nbml6ZSB0aGF0IHRoaXMgaXMg4oCcd2Fy + beKAnSBjb2RlLCBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgb3B0aW1pemVk + IGluIHNvbWXCoHdheS48L3A+PHA+VGhlIEpJVCBuZWVkcyB0byBjb25zaWRl + ciB3aGF0IGl0IHNob3VsZCBkbyB3aXRoIGFsbCBvZiB0aGVzZSBsaW5lcyBv + ZiBjb2RlIHNvIHRoYXQgaXQgY2FuIGZpZ3VyZSBvdXQgd2hhdCBpcyB0aGUg + YmVzdCB3YXkgdG8gb3B0aW1pemUuIFRoZSByZWFzb24gdGhhdCB0aGlzIGNv + bnNpZGVyYXRpb24gbmVlZHMgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IGlz + IHRoYXQgPGVtPm5vdCBhbGwgb3B0aW1pemF0aW9uIGlzIGFjdHVhbGx5IGdv + b2Q8L2VtPi4gRGVwZW5kaW5nIG9uIHRoZSBlZmZpY2llbmN5IHdpdGggd2hp + Y2ggdGhlIEpJVCBkZWNpZGVzIHRvIG9wdGltaXplLCB0aGUgb3B0aW1pemF0 + aW9uIG1pZ2h0IG5vdCBhY3R1YWxseSBiZSBhbGwgdGhhdMKgaGVscGZ1bCE8 + L3A+PHA+TGV04oCZcyBsb29rIGF0IHNvbWUgb2YgdGhlc2UgbGluZXMgdG8g + c2VlIGhvdyBleGFjdGx5IHRoZSBKSVQgY291bGQgZW5kIHVwIG1ha2luZyBh + IHBvb3Igb3B0aW1pemF0aW9uIGNob2ljZSBpZiBpdCBpc27igJl0IGNsZXZl + csKgZW5vdWdoLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkR0dHY3M1p3 + UXdJZWhxWFF1NzhpSWcuanBlZyIgLz48ZmlnY2FwdGlvbj5CYXNlbGluZSBj + b21waWxhdGlvbjogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3Vy + ZT48cD5XZeKAmWxsIHN0YXJ0IHdpdGggbGluZSAxLiBJbiB0aGlzIHNpdHVh + dGlvbiwgdGhlIGNvZGUgb24gbGluZSAxIGlzIGV4ZWN1dGVkIHZlcnksIHZl + cnkgb2Z0ZW4uIExldOKAmXMgc2F5IHRoYXQgdGhlIEpJVCBub3RpY2VzICht + b25pdG9ycykgdGhhdCB0aGlzIGxpbmUgaXMgYmVpbmcgcmVwZWF0ZWQgb2Z0 + ZW4uIEl0IHdpbGwgaW5ldml0YWJseSB0YWtlIHRoYXQg4oCcaG904oCdIGxp + bmUgb2YgY29kZSBhbmQgZGVjaWRlIHRvIGNvbXBpbGXCoGl0LjwvcD48cD5C + dXQgdGhlIHdheSB0aGF0IHRoZSBKSVQgZGVjaWRlcyB0byBjb21waWxlIHRo + aXMgY29kZSBpcyBqdXN0IGFzIGltcG9ydGFudCBhcyB0aGUgZmFjdCB0aGF0 + IGl0IGlzIGNvbXBpbGluZyBpdCB0byBiZWdpbsKgd2l0aC48L3A+PHA+QSBK + SVQgY2FuIHBlcmZvcm0gZGlmZmVyZW50IGtpbmRzIG9mIGNvbXBpbGF0aW9u + cywgc29tZSBvZiB0aGVtIHF1aWNrLCBhbmQgc29tZSBvZiB0aGVtIG1vcmUg + Y29tcGxleC4gQSBxdWljayBjb21waWxhdGlvbiBvZiBjb2RlIGlzIG9mdGVu + IGEgbG93ZXItcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBhbmQgaW52b2x2 + ZXMgY29tcGlsaW5nIHRoZSBjb2RlIGFuZCB0aGVuIHN0b3JpbmcgdGhlIGNv + bXBpbGVkIHJlc3VsdCB3aXRob3V0IHRha2luZyB0b28gbXVjaCB0aW1lLiBU + aGlzIGZvcm0gb2YgcXVpY2sgb3B0aW1pemF0aW9uIGlzIGtub3duIGFzIDxz + dHJvbmc+PGVtPmJhc2VsaW5lIG9wdGltaXphdGlvbjwvZW0+PC9zdHJvbmc+ + LjwvcD48cD5Ib3dldmVyLCBpZiB0aGUgSklUIGNob3NlIHRvIGRvIGEgYmFz + ZWxpbmUgb3B0aW1pemF0aW9uIG9mIGxpbmUgMSwgaG93IHdvdWxkIHRoYXQg + YWZmZWN0IHRoZSBydW50aW1lIG9mIG91ciBjb2RlIG92ZXJhbGw/IFdlbGws + IHRoZSByZXN1bHQgb2YgYSBwb29yIG9wdGltaXphdGlvbiBjaG9pY2Ugb24g + bGluZSAxIHdvdWxkIHJlc3VsdCBpbiBvdXIgcnVudGltZSBpbmNyZWFzaW5n + IGFuZCByaXNpbmcgbGluZWFybHkgKDxlbT5PKG4pPC9lbT4pIGFzIHRoZSBu + dW1iZXIgb2YgY2FsbHMgdG8gdGhlIG1ldGhvZCBvbiBsaW5lIDEgaW5jcmVh + c2VkLjwvcD48cD5BbHRlcm5hdGl2ZWx5LCB0aGUgSklUIGNvdWxkIGFsc28g + cGVyZm9ybSBhIGxvbmdlciwgbW9yZSBpbi1kZXB0aCBraW5kIG9mIHBlcmZv + cm1hbmNlIG9wdGltaXphdGlvbiBjYWxsZWQgPHN0cm9uZz48ZW0+b3B0aW1p + emluZyBjb21waWxhdGlvbjwvZW0+PC9zdHJvbmc+LCBvciA8c3Ryb25nPjxl + bT5vcHQtY29tcGlsaW5nPC9lbT48L3N0cm9uZz4uIE9wdC1jb21waWxpbmcg + aW52b2x2ZXMgc3BlbmRpbmcgdGltZSB1cCBmcm9udCBhbmQgaW52ZXN0aW5n + IGluIG9wdGltaXppbmcgYSBwaWVjZSBvZiBjb2RlIGJ5IGNvbXBpbGluZyBh + cyBlZmZpY2llbnQgYXMgcG9zc2libGUsIGFuZCB0aGVuIHVzaW5nIHRoZSBz + dG9yZWQgdmFsdWUgb2YgdGhhdCBvcHRpbWl6YXRpb24uPC9wPjxibG9ja3F1 + b3RlPldlIGNhbiB0aGluayBvZiBiYXNlbGluZSBjb21waWxhdGlvbiB2ZXJz + dXMgb3B0LWNvbXBpbGluZyBhcyB0d28gZGlmZmVyZW50IGFwcHJvYWNoZXMg + dG8gZWRpdGluZyBhbsKgZXNzYXkuPC9ibG9ja3F1b3RlPjxwPkJhc2VsaW5l + IGNvbXBpbGF0aW9uIGlzIGEgbGl0dGxlIGJpdCBsaWtlIGVkaXRpbmcgYW4g + ZXNzYXkgZm9yIHNwZWxsaW5nLCBwdW5jdHVhdGlvbiwgYW5kIGdyYW1tYXI7 + IHdl4oCZcmUgbm90IGRvaW5nIGFuIGluLWRlcHRoIGltcHJvdmVtZW50IG9m + IHRoZSBlc3NheSwgYnV0IHdlIGFyZSBtYWtpbmcgYSBmZXcgaW1wcm92ZW1l + bnRzLiBPbiB0aGUgb3RoZXIgaGFuZCwgb3B0LWNvbXBpbGluZyBpcyBha2lu + IHRvIGVkaXRpbmcgYW4gZXNzYXkgZm9yIGNvbnRlbnQsIGNsYXJpdHksIGFu + ZCByZWFkYWJpbGl0eeKAiuKAlOKAimluIGFkZGl0aW9uIHRvIHNwZWxsaW5n + IGFuZCBncmFtbWFyLiBPcHQtY29tcGlsaW5nIHRha2VzIG1vcmUgdXAtZnJv + bnQgd29yaywgYnV0IGxlYWRzIHRvIGEgYmV0dGVyIGVuZMKgcmVzdWx0Ljwv + cD48cD5UaGUgbmljZSB0aGluZyBhYm91dCBvcHQtY29tcGlsaW5nIGlzIHRo + YXQsIG9uY2Ugd2XigJl2ZSBjb21waWxlZCBhIHNlY3Rpb24gb2YgY29kZSBp + biB0aGUgbW9zdCBvcHRpbWl6ZWQgd2F5IHBvc3NpYmxlLCB3ZSBjYW4gc3Rv + cmUgdGhlIHJlc3VsdCBvZiB0aGF0IG9wdGltaXplZCBjb2RlIGFuZCBwZXJw + ZXR1YWxseSBydW4gdGhhdCBjb21waWxlZCBjb2RlIGFnYWluIGFuZCBhZ2Fp + bi4gVGhpcyBtZWFucyB0aGF0IG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB3 + ZSBjYWxsIGEgbWV0aG9kIGluIHRoZSBzZWN0aW9uIG9mIGNvZGUgdGhhdCB3 + ZeKAmXZlIG9wdGltaXplZCwgaXQgd2lsbCB0YWtlIGNvbnN0YW50IHRpbWUg + dG8gcnVuIHRoYXQgY29kZSBzaW5jZSB3ZeKAmXJlIHJlYWxseSBqdXN0IHJ1 + bm5pbmcgdGhlIHNhbWUgY29tcGlsZWQgZmlsZSBlYWNoIHRpbWUuIEV2ZW4g + YXMgdGhlIG51bWJlciBvZiBtZXRob2QgY2FsbHMgZ29lcyB1cCwgdGhlIHJ1 + bnRpbWUgZm9yIGNvZGUgZXhlY3V0aW9uIHN0YXlzIHRoZSBzYW1lOyB0aGlz + IHJlc3VsdHMgaW4gY29uc3RhbnQgdGltZSAoPGVtPk8oMSk8L2VtPikgZm9y + IGNvZGUgdGhhdCBoYXMgYmVlbiBvcHQtY29tcGlsZWQuPC9wPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqUS1GR1NNSjVfX2pRME1uVzZlTm1tUS5qcGVnIiAv + PjxmaWdjYXB0aW9uPk9wdGltaXppbmcgY29tcGlsYXRpb246IGEgZGVmaW5p + dGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QmFzZWQgb24gdGhlIEJp + ZyBPIE5vdGF0aW9uIG9mIG9wdC1jb21waWxpbmcgYWxvbmUsIGl0IG1pZ2h0 + IHNvdW5kIGxpa2Ugb3B0LWNvbXBpbGluZyBzaG91bGQgYWx3YXlzIGJlIHRo + ZSB3YXkgdG8gZ28hIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIGluc3RhbmNl + cyB3aGVuIG9wdC1jb21waWxpbmcgY2FuIGJlIHdhc3RlZMKgZWZmb3J0Ljwv + cD48cD5Gb3IgZXhhbXBsZSwgd2hhdCB3b3VsZCBoYXBwZW4gaWYgb3VyIEpJ + VCB3ZW50IGFoZWFkIGFuZCBzdGFydGVkIG9wdC1jb21waWxpbmcgZXZlcnl0 + aGluZz8gV2XigJlsbCByZWNhbGwgdGhhdCBsaW5lIDQgaXMgbmV2ZXIgYWN0 + dWFsbHkgY2FsbGVkIGFuZCBpcyDigJxkZWFk4oCdIGNvZGUuIElmIG91ciBK + SVQgdG9vayB0aGUgdGltZSB1cCBmcm9udCB0byBvcHQtY29tcGlsZSBsaW5l + IDQsIHdoaWNoIGlzIG5ldmVyIGV2ZW4gcnVuLCB0aGVuIGl0IHdpbGwgc3Bl + bmQgYW4gdW5uZWNlc3NhcnkgYW1vdW50IG9mIHRpbWUgaW4gb3JkZXIgdG8g + cHJlbWF0dXJlbHkgb3B0aW1pemUgYSBsaW5lIG9mIGNvZGUgdGhhdCBpcyBu + ZXZlciBpbnZva2VkLiBJbiB0aGlzIHNjZW5hcmlvLCBvcHQtY29tcGlsaW5n + IGJsaW5kbHksIHdpdGhvdXQgdGFraW5nIGEgZGVlcGVyIGxvb2sgYXQgd2hh + dOKAmXMgYWN0dWFsbHkgZ29pbmcgb24gaW4gdGhlIGNvZGUgYW5kIHdpdGhv + dXQgcmVseWluZyBvbiB0aGUgaG90bmVzcyBvZiB0aGUgY29kZSBpdHNlbGYg + ZW5kcyB1cCBiZWluZyByYXRoZXIgd2FzdGVmdWwhPC9wPjxwPlNvLCB3aGF0 + 4oCZcyBhIEpJVCBjb21waWxlciB0byBkbz8gV2VsbCwgdWx0aW1hdGVseSwg + aXQgbmVlZHMgdG8gZmluZCBhIGhhcHB5IG1lZGl1bSBiZXR3ZWVuIGJhc2Vs + aW5lIGNvbXBpbGF0aW9uIGFuZCBvcHQtY29tcGlsaW5nLiBUaGlzIGlzIGV4 + YWN0bHkgd2hlcmUgdGhlIOKAnGhvdG5lc3PigJ0gb2YgY29kZSBjb21lcyBp + bnRvwqBwbGF5LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKl9ObllTMDRs + N2s5aXFNVzVkdW1rbUEuanBlZyIgLz48ZmlnY2FwdGlvbj5GaW5kaW5nIGEg + aGFwcHkgbWVkaXVtIGJldHdlZW4gYmFzZWxpbmUgYW5kIG9wdC1jb21waWxp + bmcuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoZSBKSVQgdXNlcyB0aGUg + 4oCcaG90bmVzc+KAnSBvZiBhIGxpbmUgb2YgY29kZSBpbiBvcmRlciB0byBk + ZWNpZGUgbm90IGp1c3QgaG93IGltcG9ydGFudCBpdCBpcyBmb3IgdGhhdCBj + b2RlIHRvIGJlIGNvbXBpbGVkLCBidXQgYWxzbyB3aGljaCBzdHJhdGVneeKA + iuKAlOKAimVpdGhlciA8ZW0+YmFzZWxpbmU8L2VtPiBvciA8ZW0+b3B0LWNv + bXBpbGluZzwvZW0+4oCUdG8gdXNlIHdoZW4gaXQgY29tcGlsZXMuPC9wPjxo + Mz5BIGhhcHB5LCBob3QgcGF0aCBsZWFkcyB0byBvcHRpbWFsIEpJVCBjb21w + aWxpbmc8L2gzPjxwPldlIGFscmVhZHkga25vdyB0aGF0IHRoZSBKSVQgdXNl + cyB0aGUg4oCcaG90bmVzc+KAnSBvZiBjb2RlIGluIG9yZGVyIHRvIGRlY2lk + ZSB3aGljaCBraW5kIG9mIGNvbXBpbGF0aW9uIHN0cmF0ZWd5IHRvIHVzZS4g + QnV0IGhvdyBkb2VzIGl0IG1ha2UgaXRzIGRlY2lzaW9uLCBleGFjdGx5Pzwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh1WjNuZHVSU3hGazhoRlRkV1lR + Y2cuanBlZyIgLz48ZmlnY2FwdGlvbj5Db21iaW5pbmcgaG90bmVzcyBhbmQg + b3B0aW1hbCBjb21waWxhdGlvbiBzdHJhdGVnaWVzITwvZmlnY2FwdGlvbj48 + L2ZpZ3VyZT48cD5Gb3IgY29kZSB0aGF0IGlzIG5laXRoZXIg4oCcaG904oCd + IG5vciDigJx3YXJt4oCd4oCK4oCU4oCKaW5jbHVkaW5nIGNvZGUgdGhhdCBp + cyDigJxkZWFk4oCd4oCK4oCU4oCKdGhlIEpJVCB3aWxsIGJlaGF2ZSBqdXN0 + IGxpa2UgYW4gaW50ZXJwcmV0ZXIsIGFuZCB3b27igJl0IGV2ZW4gYm90aGVy + IG1ha2luZyBhbnkgY29tcGlsZXIgb3B0aW1pemF0aW9ucyB3aGF0c29ldmVy + LjwvcD48cD5CdXQsIGZvciBjb2RlIHRoYXQgaXMg4oCcd2FybeKAnSBidXQg + bm90IOKAnGhvdOKAnSwgdGhlIEpJVCB3aWxsIHVzZSB0aGUgcXVpY2tlciwg + YmFzZWxpbmUgZm9ybSBvZiBjb21waWxhdGlvbiBkdXJpbmcgcHJvZ3JhbSBl + eGVjdXRpb24uIEluIG90aGVyIHdvcmRzLCBhcyBpdCBpbnRlcnByZXRzIHRo + aXMgY29kZSBhbmQgbm90aWNlcyB0aGF0IGlzIGlzIOKAnHdhcm3igJ0sIGl0 + IHNlbmRzIGl0IG9mZiB0byBiZSBjb21waWxlZCB3aGlsZSB0aGUgY29kZSBp + cyBzdGlsbCBiZWluZyBleGVjdXRlZC4gSXQgd2lsbCBjb21waWxlIHRoYXQg + 4oCcd2FybeKAnSBjb2RlIGluIGEgc2ltcGxlIHdheeKAiuKAlOKAinRoZSBx + dWlja2VzdCwgbG93LXBlcmZvcm1hbmNlIHdheSBwb3NzaWJsZS4gVGhpcyBt + ZWFucyB0aGF0IGl0IG1ha2VzIGEgc2xpZ2h0IGltcHJvdmVtZW50IGJlY2F1 + c2UgZXZlbiBiYXNlbGluZSBjb21waWxhdGlvbiBpcyBiZXR0ZXIgdGhhbiBu + b3RoaW5nIGZvciDigJx3YXJt4oCdwqBjb2RlLjwvcD48cD5Ib3dldmVyLCBm + b3IgY29kZSB0aGF0IGlzIOKAnGhvdOKAnSBhbmQgY2FsbGVkIHVwb24gZnJl + cXVlbnRseSwgdGhlIEpJVCB3aWxsIG1ha2UgYSBub3RlIG9mIHRoaXMsIGFu + ZCB3aGVuIGl0IGlzIGNhbGxlZCBlbm91Z2ggdGltZXMsIGl0IHdpbGwgaW50 + ZXJydXB0IHByb2dyYW0gZXhlY3V0aW9uIChpbnRlcnByZXRhdGlvbiksIGFu + ZCBzZW5kIHRoYXQgY29kZSB0byBiZSBvcHQtY29tcGlsZWTigIrigJTigIpv + cHRpbWl6ZWQgaW4gdGhlIGJlc3QgcG9zc2libGUgd2F5LCB3aGljaCBhbHNv + IG1lYW5zIG1vcmUgdGltZSBpbnZlc3RlZCBpbiBjb21waWxhdGlvbiB1cCBm + cm9udC4gVGhlIGJlbmVmaXQgdG8gdGhpcyBpcyB0aGF0IHRoZSDigJxob3Ti + gJ0gY29kZSBvbmx5IG5lZWRzIHRvIGJlIG9wdGltaXplZCB0aGUgb25lIHRp + bWUsIGV2ZW4gdGhvdWdoIGl0IGlzIHNsaWdodGx5IG1vcmUgd29yayB0byBk + byBzby4gT25jZSB0aGUg4oCcaG904oCdIGNvZGUgaGFzIGJlZW4gb3B0aW1p + emVkLCB0aGUgSklUIHdpbGwganVzdCBrZWVwIHJldXNpbmcgYW5kIHJlcnVu + bmluZyB0aGUgbWFjaGluZSBjb2RlIGZvciB0aGUgb3B0aW1pemVkIHZlcnNp + b24gYWdhaW4gYW5kIGFnYWluIGR1cmluZyBydW50aW1lLCB3aXRob3V0IGV2 + ZXIgaGF2aW5nIHRvIG5lZWQgdG8gc2VuZCBpdCBvZmYgdG8gYmUgcmVjb21w + aWxlZCBhZ2FpbiBhbmTCoGFnYWluLjwvcD48cD5UaGUgYmFzaWMgcnVsZSBv + ZiB0aHVtYiB0byByZW1lbWJlciBpc8KgdGhpczo8L3A+PGJsb2NrcXVvdGU+ + Rm9yIGNvZGUgdGhhdCBpcyBub3QgY2FsbGVkIG9mdGVuLCB0aGUgSklUIHdp + bGwgdXNlIGJhc2VsaW5lIGNvbXBpbGF0aW9uLCB3aGljaCBpcyBmYXN0ZXIu + IEhvd2V2ZXIsIGZvciBjb2RlIHRoYXQgaXMgY2FsbGVkIGZyZXF1ZW50bHks + IHRoZSBKSVQgd2lsbCB1c2UgdGhlIGxvbmdlciBvcHQtY29tcGlsZSBtZXRo + b2QsIGJlY2F1c2UgaXQga25vd3MgdGhhdCBpdCBpcyB3b3J0aCB0aGXCoGVm + Zm9ydC48L2Jsb2NrcXVvdGU+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpMRVRr + T1p0RkxYcWdrR0ZReG1zVzdnLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIHJp + c2sgb2YgZHluYW1pYyB0cmFuc2xhdGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1 + cmU+PHA+RXZlciBzbyByYXJlbHksIHRoZSBKSVQgd2lsbCBtYWtlIGEgY2Fs + bCB0aGF0IGlzIGluY29ycmVjdC4gVGhhdCBpcyB0byBzYXksIGl0IHdpbGwg + ZGV0ZXJtaW5lIHRoYXQgc29tZSBwaWVjZSBvZiBjb2RlIGlzIGNhbGxlZCBl + bm91Z2ggdG8gYmUgb3B0LWNvbXBpbGVkLCBidXQgYXMgaXQgdHVybnMgb3V0 + LCBtYXliZSBpdCBpc27igJl0ISBGb3IgZXhhbXBsZSwgaWYgb3VyIEpJVCBs + b29rcyBmb3IgbGluZXMgb2YgY29kZSBjYWxsZWQgNSB0aW1lcyBiZWZvcmUg + aXQgaXMgb3B0LWNvbXBpbGVkLCBhbmQgaXQgc2VlcyBhIGxpbmUgb2YgY29k + ZSB0aGF0IGlzIGNhbGxlZCA0IHRpbWVzLCBvbiB0aGUgNXRoIHRpbWUsIGl0 + IHdpbGwgbGlrZWx5IHNlbmQgaXQgb2ZmIHRvIGJlIG9wdC1jb21waWxlZC4g + SW4gdmVyeSByYXJlIG9jY3VycmVuY2VzLCBpdCBtaWdodCBzbyBoYXBwZW4g + dGhhdCB0aGUgbGluZSBvZiBjb2RlIHRoYXQgaXQgb3B0LWNvbXBpbGVkIGlz + IG5ldmVyIGV2ZXIgY2FsbGVkIGFnYWluISBJbiB3aGljaCBjYXNlLCBhbGwg + dGhlIHdvcmsgaXQgcHV0IGludG8gY29tcGlsaW5nIHRoYXQgbGluZSB3ZW50 + IHRvwqB3YXN0ZS48L3A+PHA+VGhpcyBpcyBqdXN0IGEgcGFydCBvZiB0aGUg + c3Rvcnkgd2hlbiBpdCBjb21lcyB0byA8c3Ryb25nPjxlbT5keW5hbWljIHRy + YW5zbGF0aW9uPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIHdoYXQganVzdC1p + bi10aW1lLWNvbXBpbGlhdGlvbiBoYXBwZW5zIHRvIGJlLiBFdmVyeSBzbyBv + ZnRlbiwgdGhlIEpJVCBjb3VsZCBkZWNpZGUgdG8gcHJlLW9wdGltaXplIGEg + cGllY2Ugb2YgY29kZSB0aGF0IHdvbuKAmXQgYWN0dWFsbHkgZXZlciBiZSBj + YWxsZWQgYWdhaW4uIFRoaXMgaXMgcHJldHR5IHJhcmUgdGhvdWdoLCBiZWNh + dXNlIG1vc3QgbGluZXMgb2YgY29kZSBhcmUgZWl0aGVyIGNhbGxlZCB2ZXJ5 + IGZyZXF1ZW50bHksIG9yIG9ubHkgYSBoYW5kZnVsIG9mIHRpbWVzLiBJdOKA + mXMgbGlrZWx5IHRoYXQgbW9zdCBtb2Rlcm4tZGF5IEpJVHMgY2FuIGFjY291 + bnQgZm9yIHRoaXMgdmVyeSB3ZWxsLCBidXQgaXQgaXMgcG9zc2libGUgZm9y + IGEgSklUIHRvIGJlIHdyb25nIGV2ZXJ5IG9uY2UgaW7CoGF3aGlsZS48L3A+ + PHA+TW9zdCBvZiB0aGUgdGltZSwgYSBKSVQgaXMgcHJldHR5IGdvb2QgYWJv + dXQga25vd2luZyB3aGVuIGl0IHNob3VsZCBiZWhhdmUgbGlrZSBhbiBpbnRl + cnByZXRlciBhbmQgd2hlbiBpdCBzaG91bGQgdGFrZSBhIHBpZWNlIG9mIGNv + ZGUgYW5kIGNvbXBpbGUgaXQuIFRoZSBuaWNlIHRoaW5nIGFib3V0IHRoaXMg + aXMgdGhhdCBvdXIgSklUIGFsbG93cyB1cyBzcGVlZCB1cCBvbmx5IHRoZSB0 + aGluZ3MgdGhhdCA8ZW0+bmVlZDwvZW0+IHRvIGJlIHNwZWQgdXAuIEp1c3Qt + aW4tdGltZSBjb21wbGlhdGlvbiBhbGxvd3MgdXMgdG8gb3B0aW1pemUgYW5k + IGNvbXBpbGUgdGhlIGNvZGUgdGhhdCB3ZSBydW4gdGhlIG1vc3TCoG9mdGVu + LjwvcD48cD5GdXJ0aGVybW9yZSwgaXQgYWxsb3dzIHVzIHRvIGNvbnRpbnVl + IHRvIGhvbGQgb250byB0aGUgcGxhY2UgaW4gb3VyIHNvdXJjZSBjb2RlIHdo + ZXJlIHRoYXQgY29tcGlsZWQgY29kZSB3YXMgcnVuIGluIHRoZSBmaXJzdCBw + bGFjZSEgSW4gb3RoZXIgd29yZHMsIHdlIGNhbiBzdGlsbCByZWZlcmVuY2Ug + d2hlcmUgc29tZSBjb21waWxlZCBjb2RlIHdhc8KgcnVuLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKmRkd2w2cUt0c0w5UjFSc0VQZDJFTUEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5UaGUgYmVuZWZpdHMgb2YgdGhlIGp1c3QtaW4tdGlt + ZSBjb21waWxlciE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIGV4YW1w + bGUsIGluIHRoZSBpbWFnZSBhYm92ZSwgb3VyIEpJVCBkZXRlcm1pbmVkIHRo + YXQgZnVuY3Rpb24gb25lKCkgaXMgYSBoaWdoIOKAnGhvdG5lc3PigJ0sIGFu + ZCBjYW4gYmUgb3B0LWNvbXBpbGVkIHRvIGJlIG1vcmUgZWZmaWNpZW50LiBF + dmVuIHRob3VnaCBmdW5jdGlvbiBvbmUoKSB3YXMgY29tcGlsZWQsIHdlIGNh + biBzdGlsbCByZWZlcmVuY2Ugd2hlcmUgdGhhdCBjb21waWxlZCBjYW1lIGZy + b20gaW4gb3VyIHNvdXJjZSB0ZXh0LiBFZmZlY3RpdmVseSwgaWYgdGhlcmUg + YXJlIGFueSBlcnJvcnMgaW4gdGhpcyBjb21waWxlZCBjb2RlLCB3ZSBub3cg + a25vdyB3aGVyZSBleGFjdGx5IGl0IGNhbWUgZnJvbSBpbiB0aGUgc291cmNl + IHRleHQuIFNpbmNlIHRoZSBjb21waWxhdGlvbiBoYXBwZW5zIGR1cmluZyBy + dW50aW1lLCB3ZSBjYW4gZWFzaWx5IGRlYnVnIGFueSBlcnJvcnMgb3IgcHJv + YmxlbXMsIGJlY2F1c2Ugd2Uga25vdyB0byBsb29rIGF0IGZ1bmN0aW9uIG9u + ZSgpIGZvciBjbHVlcywgc2luY2UgdGhlIGVycm9yIGlzIGNvbWluZyBmcm9t + IHRoZSBjb21waWxlZCBjb2RlIGdlbmVyYXRlZCBieSB0aGlzIHBhcnRpY3Vs + YXIgbGluZS48L3A+PHA+VGhlIGp1c3QtaW4tdGltZSBjb21waWxlciBnaXZl + cyB1cyB0aGUgYmVuZWZpdHMgb2YgYm90aCB3b3JsZHM6IGl0IGFsbG93cyB1 + cyB0byBydW4gZmFzdCBjb2RlIHRoYXQgY2FuIGJlIG9wdGltaXplZCBhbmQg + ZXhlY3V0ZWQgdmlhIGNvbXBpbGF0aW9uLCB3aGlsZSBzdGlsbCByZXRhaW5p + bmcgdGhlIG1haW50YWluZWQgY29udGV4dCBmcm9tIHRoZSBpbnRlcHJldGVy + LCB3aGljaCBwcm9ncmFtbWVycyBsb3ZlIHRvIGhhdmUgd2hpbGUgZGVidWdn + aW5nLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKjdCVW0tRnZHOGpYd2Zs + b0tnRUVCTHcuanBlZyIgLz48ZmlnY2FwdGlvbj5BIEpJVCBnaXZlcyB1cyB0 + aGUgYmVzdCBvZiB0aGUgaW50ZXJwcmV0ZXIgYW5kIHRoZSBjb21waWxlci48 + L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhlIEpJVCBpcyBhIHBlcmZlY3Qg + ZXhhbXBsZSBvZiBldmVyeSBvbmNlIGluIGF3aGlsZSB3ZSBnZXQgbHVja3kg + aW4gY29tbnB1dGVyIHNjaWVuY2UsIGFuZCBkb27igJl0IGhhdmUgdG8gY2hv + b3NlIGJldHdlZW4gdHJhZGVvZmZzLiBFdmVyeSBzbyBvZnRlbiwgaXQgdHVy + bnMgb3V0IHdlIGNhbiBoYXZlIG91ciBjb21waWxlciBhbmQgaW50ZXJwcmV0 + ZXIgb3VyIGNvZGUswqB0b28hPC9wPjxoMz5SZXNvdXJjZXM8L2gzPjxwPkV2 + ZW4gdGhvdWdoIHRoZSBKSVQgY29tcGlsZXIgaXMgaW1wbGVtZW50ZWQgd2l0 + aGluIGxhbmd1YWdlcyB0aGF0IGFyZSBjb21tb25seS11c2VkIGluIGNvbXB1 + dGluZyB0b2RheSwgaXQgY2FuIGJlIGhhcmQgdG8gZmluZCBnb29kIHJlc291 + cmNlcyB0aGF0IHJlYWxseSBleHBsYWluIHdoYXQgdGhleSBhcmUsIGhvdyB0 + aGV5IHdvcmssIGFuZCB3aHkgdGhleSBhcmUgaW1wb3J0YW50LiBUaGVyZSBh + cmUsIG9mIGNvdXJzZSwgc29tZSB2aWRlb3MgYW5kIGFydGljbGVzIHRoYXQg + ZG8gYSBnb29kIGpvYiBvZiBhbnN3ZXJpbmcgdGhlc2UgcXVlc3Rpb25zLCBi + dXQgeW91IGhhdmUgdG8gZGlnIGEgbGl0dGxlIGJpdCB0byBmaW5kIHRoZW0u + IEx1Y2tpbHksIEkgZGlkIHRoZSBkaWdnaW5nIGZvciB5b3UhIEhlcmUgYXJl + IHNvbWUgZ29vZCBwbGFjZXMgdG8gc3RhcnQgaWYgeW914oCZcmUgbG9va2lu + ZyBmb3IgZnVydGhlciBKSVQtcmVsYXRlZCByZWFkaW5nLjwvcD48b2w+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vaGFja3MubW96aWxsYS5vcmcvMjAxNy8wMi9h + LWNyYXNoLWNvdXJzZS1pbi1qdXN0LWluLXRpbWUtaml0LWNvbXBpbGVycy8i + PkEgY3Jhc2ggY291cnNlIGluIGp1c3QtaW4tdGltZSAoSklUKSBjb21waWxl + cnM8L2E+LCBMaW7CoENsYXJrPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93 + d3cueW91dHViZS5jb20vd2F0Y2g/dj1zdkplcml4YXdWMCI+V2hhdCBhcmUg + SW50ZXJwcmV0ZXJzLCBDb21waWxlcnMgJmFtcDsgSklUIGNvbXBpbGVycz88 + L2E+LCBBdmVseDwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1 + YmUuY29tL3dhdGNoP3Y9eVEyN0RqS254d28iPkp1c3QgaW4gVGltZSBDb21w + aWxhdGlvbjwvYT4sIFNFUEwgR29ldGhlIFVuaXZlcnNpdHkgRnJhbmtmdXJ0 + PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9hYm91bGxhaXRlLm1lL3VuZGVy + c3RhbmRpbmctaml0LWNvbXBpbGVyLWp1c3QtaW4tdGltZS1jb21waWxlci8i + PlVuZGVyc3RhbmRpbmcgSklUIGNvbXBpbGVyIChqdXN0LWluLXRpbWUgY29t + cGlsZXIpPC9hPiwgQWJvdWxsYWl0ZSBNb2hhbW1lZDwvbGk+PGxpPjxhIGhy + ZWY9Imh0dHA6Ly93d3cuY3MuY29sdW1iaWEuZWR1L35haG8vY3M2OTk4L0xl + Y3R1cmVzLzE0LTA5LTIyX0Nyb2NlX0pJVC5wZGYiPkp1c3QgaW4gVGltZSBD + b21waWxhdGlvbjwvYT4sIFByb2Zlc3NvciBMb3Vpc8KgQ3JvY2U8L2xpPjxs + aT48YSBocmVmPSJodHRwOi8vd3d3LmNzLnR1ZnRzLmVkdS9jb21wLzE1MElQ + TC9wYXBlcnMvYXljb2NrMDNqaXQucGRmIj5BIEJyaWVmIEhpc3Rvcnkgb2Yg + SnVzdC1Jbi1UaW1lPC9hPiwgUHJvZmVzc29yIEpvaG7CoEF5Y29jazwvbGk+ + PC9vbD48aW1nIHNyYz0iaHR0cHM6Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVu + dD1wb3N0LmNsaWVudFZpZXdlZCZyZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZw + b3N0SWQ9MjkzODcxMmE5ZjZhIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48aHI+ + PHA+PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9hLW1vc3Qt + cGVyZmVjdC11bmlvbi1qdXN0LWluLXRpbWUtY29tcGlsZXJzLTI5Mzg3MTJh + OWY2YSI+QSBNb3N0IFBlcmZlY3QgVW5pb246IEp1c3QtSW4tVGltZSBDb21w + aWxlcnM8L2E+IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBpbiA8YSBocmVm + PSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8L2E+IG9uIE1l + ZGl1bSwgd2hlcmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRoZSBjb252ZXJz + YXRpb24gYnkgaGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5nIHRvIHRoaXMg + c3RvcnkuPC9wPl1dPjwvY29udGVudDplbmNvZGVkPgogICAgICAgIDwvaXRl + bT4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxlPjwhW0NEQVRB + W0EgRGVlcGVyIEluc3BlY3Rpb24gSW50byBDb21waWxhdGlvbiBBbmQgSW50 + ZXJwcmV0YXRpb25dXT48L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2EtZGVlcGVyLWluc3BlY3Rpb24taW50 + by1jb21waWxhdGlvbi1hbmQtaW50ZXJwcmV0YXRpb24tZDk4OTUyZWJjODQy + P3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAgICAg + ICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwczovL21lZGl1 + bS5jb20vcC9kOTg5NTJlYmM4NDI8L2d1aWQ+CiAgICAgICAgICAgIDxjYXRl + Z29yeT48IVtDREFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtpbnRlcnByZXRlcnNdXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29kZV1d + PjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtj + b21waWxlcnNdXT48L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbY29tcHV0ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxkYzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48 + L2RjOmNyZWF0b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPldlZCwgMTMgRGVj + IDIwMTcgMTc6MDU6MjAgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRv + bTp1cGRhdGVkPjIwMTctMTItMTRUMDI6NTA6MDAuMzY0WjwvYXRvbTp1cGRh + dGVkPgogICAgICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqYm9DMDZFQzJQR21NWU5qcEh0ckw0QS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkEgZGVlcGVyIGluc3BlY3Rpb24gaW50byBj + b21waWxhdGlvbiB2cy4gaW50ZXJwcmV0YXRpb248L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+VGhlcmUgaXMgcGVyaGFwcyBub3RoaW5nIG1vcmUgc2F0aXNm + eWluZyB0aGFuIHNlZWluZyB0aGUgcGllY2VzIG9mIGEgcHV6emxlIGNvbWUg + dG9nZXRoZXIuIFRoaXMgaXMgdGhlIGNhc2UgZm9yIGFjdHVhbCBwdXp6bGVz + LCB3aGljaCBJIGFtIHByZXR0eSBiYWQgYXQgYmVjYXVzZSBJIGFsd2F5cyBz + ZWVtIHRvIGxvc2UgcGllY2VzIHVuZGVyIHRoZSBjb3VjaCwgYW5kIG1vcmUg + bWV0YXBob3JpY2FsIHB1enpsZXMsIHdoaWNoIEkgYW0gZ2VuZXJhbGx5IGJl + dHRlciBhdCB3aGF0IHdpdGggbm8gcGllY2VzIHRvIGxvc2UgaW4gc3RyYW5n + ZcKgcGxhY2VzLjwvcD48cD5UaGUgcHV6emxlIG9mIGxlYXJuaW5nIGlzIGNl + cnRhaW5seSBvbmUgb2YgdGhlIG1vcmUgY29tcGxpY2F0ZWQgZW5pZ21hcyBv + dXQgdGhlcmUuIExlYXJuaW5nIGEgbmV3IHRoaW5nIGlzIGhhcmQgYmVjYXVz + ZSB5b3XigJlyZSB0cnlpbmcgdG8gY29uc3RhbnRseSBwaWVjZSB0b2dldGhl + ciBpZGVhcyBhbmQgY29uc3RydWN0IGNvbmNlcHRzIHdpdGhvdXQgYWx3YXlz + IG5lY2Vzc2FyaWx5IGtub3dpbmcgaG93IHRob3NlIHBhcnRzIGZpdCBpbnRv + IHRoZSBsYXJnZXIgd2hvbGUuIEl0IGNhbiBiZSBkaWZmaWN1bHQgdG8gdHJ5 + IHRvIHdyYXAgeW91ciBoZWFkIGFyb3VuZCBzb21ldGhpbmcgbmV3IHdoZW4g + eW91IGNvbnN0YW50bHkgZmluZCB5b3Vyc2VsZiB3b25kZXJpbmcgd2hhdCB0 + aGlzIG5ldyB0aGluZyBoYXMgdG8gZG8gd2l0aCB0aGUgYnJvYWRlciBwaWN0 + dXJlIHRoYXQgeW914oCZcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoLiBJdOKA + mXMgYSBsaXR0bGUgYml0IGxpa2UgZmluZGluZyBhIHJhbmRvbSBwdXp6bGUg + cGllY2UgYW5kIHRoZW4gdHJ5aW5nIHRvIGZpbmQgdGhlIHBpZWNlcyB0aGF0 + IGZpdCBhcm91bmQgaXQsIGJ1dCBub3QgbmVjZXNzYXJpbHkga25vd2luZyBo + b3cgdGhvc2UgcGllY2VzIGZpdCBpbnRvIHRoZSBiaWfCoHBpY3R1cmUuPC9w + PjxwPlRoZSBzYW1lIGlzIHRydWUgZm9yIGxlYXJuaW5nIGEgc3BlY2lmaWMg + dG9waWMsIGxpa2UgY29tcHV0ZXIgc2NpZW5jZS4gT2Z0ZW50aW1lcywgaXQg + Y2FuIGZlZWwgbGlrZSB5b3XigJlyZSBwaWNraW5nIHVwIGxpdHRsZSBiaXQg + b2YgaW5mb3JtYXRpb27igIrigJTigIphIGRhdGEgc3RydWN0dXJlIGhlcmUs + IGFuIGFsZ29yaXRobSB0aGVyZeKAiuKAlOKAindpdGhvdXQgYWx3YXlzIGtu + b3dpbmcgaG93IG9uZSBwaWVjZSBjb25uZWN0cyB0byBhbm90aGVyLiBJIHRl + bmQgdG8gdGhpbmsgdGhhdCB0aGlzIGlzIHRoZSByZWFzb24gdGhhdCBsZWFy + bmluZyBjb21wdXRlciBzY2llbmNlIGlzIHNvIGhhcmQ6IHRoZXJlIGp1c3Qg + YXJlbuKAmXQgdmVyeSBtYW55IHJlc291cmNlcyB0aGF0IGNhbiBjb25zdHJ1 + Y3QgdGhlIHBpY3R1cmUgb2YgdGhlIGZpZWxkIHdpdGggYWxsIG9mIHRoZXNl + IHBlcmZlY3RseSBwaWVjZXMgZml0IGludG8gb25lwqBhbm90aGVyLjwvcD48 + cD5Ib3dldmVyLCBldmVyeSBzbyBvZnRlbiwgaWYgeW91IHJlYWxseSBzdGlj + ayB3aXRoIGEgdG9waWMgZm9yIGxvbmcgZW5vdWdoLCB5b3XigJlsbCBmaW5k + IHRoYXQgc29tZSBwaWVjZXMgd2lsbCBzdGFydCB0byBjb21lIHRvZ2V0aGVy + LiBBbmQgYXMgd2Ugcm91bmQgb3V0IHRoaXMgc2VyaWVzIHRvZ2V0aGVyLCBp + dOKAmXMgdGltZSBmb3IgdGhhdCB0byBmaW5hbGx5wqBoYXBwZW4hPC9wPjxo + Mz5BIHRyYW5zbGF0b3Igd2Uga25vdyBhbmTCoGxvdmU8L2gzPjxwPldoZW4g + d2UgZmlyc3Qgc3RhcnRlZCB0aGlzIHNlcmllcyBuZWFybHkgYSB5ZWFyIGFn + bywgdGhlIHZlcnkgZmlyc3QgdG9waWMgdGhhdCB3ZSBleHBsb3JlZCB3YXMg + c29tZXRoaW5nIHRoYXQgaXMgb2Z0ZW4gdGhvdWdodCBvZiBhcyB0aGUg4oCc + Y29ybmVyc3RvbmXigJ0gb2YgY29tcHV0ZXIgc2NpZW5jZTogPGEgaHJlZj0i + aHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9iaXRzLWJ5dGVzLWJ1aWxkaW5n + LXdpdGgtYmluYXJ5LTEzY2I0Mjg5YWFmYSI+YmluYXJ5PC9hPi4gV2UgbGVh + cm5lZCB0aGF0LCBhdCB0aGVpciB2ZXJ5IGNvcmUsIGJpbmFyeSBpcyB0aGUg + bGFuZ3VhZ2UgdGhhdCBldmVyeSBjb21wdXRlciBzcGVha3MgYW5kIHVuZGVy + c3RhbmRzLiBPdXIgbWFjaGluZXMsIGF0IHRoZSBlbmQgb2YgdGhlIGRheSwg + ZWFjaCBydW4gb24gb25lcyBhbmTCoHplcm9zLjwvcD48cD5TaW5jZSB0aGVu + LCB3ZeKAmXZlIGV4cGxvcmVkIGRpZmZlcmVudCBkYXRhIHN0cnVjdHVyZXMs + IGxpa2UgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ob3ct + dG8tbm90LWJlLXN0dW1wZWQtYnktdHJlZXMtNWYzNjIwOGY2OGE3Ij50cmVl + czwvYT4sIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvYS1n + ZW50bGUtaW50cm9kdWN0aW9uLXRvLWdyYXBoLXRoZW9yeS03Nzk2OTgyOWVh + ZDgiPmdyYXBoczwvYT4sIGFuZCA8YSBocmVmPSJodHRwczovL21lZGl1bS5j + b20vYmFzZWNzL3doYXRzLWEtbGlua2VkLWxpc3QtYW55d2F5LXBhcnQtMS1k + OGI3ZTY1MDhiOWQiPmxpbmtlZCBsaXN0czwvYT4sIGFzIHdlbGwgYXMgPGEg + aHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9zb3J0aW5nLW91dC10 + aGUtYmFzaWNzLWJlaGluZC1zb3J0aW5nLWFsZ29yaXRobXMtYjBhMDMyODcz + YWRkIj5zb3J0aW5nIGFsZ29yaXRobXM8L2E+IGFuZCA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2ZpbmRpbmctdGhlLXNob3J0ZXN0LXBh + dGgtd2l0aC1hLWxpdHRsZS1oZWxwLWZyb20tZGlqa3N0cmEtNjEzMTQ5ZmJk + YzhlIj50cmF2ZXJzYWwgb3Igc2VhcmNoaW5nPC9hPiBhbGdvcml0aG1zLiBO + b3cgaXTigJlzIHRpbWUgdG8gZmluYWxseSBicmluZyBpdCBhbGwgdG9nZXRo + ZXLigIrigJTigIpvciByYXRoZXIsIGJyaW5nIGl0IGFsbCA8ZW0+YmFjazwv + ZW0+IHRvwqBiaW5hcnkuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJo + dHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqSnJ2 + c0EzcG1KQ1dxbFBNR25Jb1NZQS5qcGVnIiAvPjxmaWdjYXB0aW9uPldlIHN0 + YXJ0ZWQgd2l0aCBzb21lIHNvdXJjZSBjb2RlIGFuZCBub3cgd2XigJlyZcKg + aGVyZS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+V2XigJl2ZSBnb25lIGFy + b3VuZCB0aGUgd29ybGQgd2hlbiBpdCBjb21lcyB0byBjb3JlIGNvbmNlcHRz + IGluIGNvbXB1dGluZyBhcyB3ZWxsIGFzIGNvbXB1dGVyIHNjaWVuY2UuIEJ1 + dCB0aGVyZeKAmXMgb25lIHF1ZXN0aW9uIHRoYXQgd2UgaGF2ZW7igJl0IHJl + YWxseSBhbnN3ZXJlZCB5ZXQsIGV2ZW4gdGhvdWdoIGl04oCZcyBwb3NzaWJs + ZSB0aGF0IHdl4oCZdmUgYmVlbiB0aGlua2luZyBhYm91dCBpdCB0aGlzIHdo + b2xlIHllYXI6IEhvdyBvbiBlYXJ0aCBkbyB3ZSBnbyBmcm9tIG91ciBjb2Rl + IGludG8gdGhlIG9uZeKAmXMgYW5kIHplcm/igJlzIG9mIG91ciBjb21wdXRl + cj88L3A+PHA+V2VsbCwgYmVmb3JlIHdlIGdldCB0b28gZmFyIGludG8gPGVt + PmhvdzwvZW0+IHRoZSBjb2RlIHdlIHdyaXRlIGdldHMgdHVybmVkIGludG8g + YmluYXJ5LCBsZXTigJlzIGNsYXJpZnkgd2hhdCB3ZSByZWFsbHkgbWVhbiB3 + aGVuIHdlIHVzZSB0aGUgdGVybSBiaW5hcnkgaW4gdGhpcyBjb250ZXh0LiBU + aGUg4oCcYmluYXJ54oCdIGNvZGUgdGhhdCBhIGNvbXB1dGVyIHJlYWRzIGFu + ZCB1bmRlcnN0YW5kcyBpcyBnZW5lcmFsbHkgcmVmZXJyZWQgdG8gYXMgPHN0 + cm9uZz48ZW0+bWFjaGluZSBsYW5ndWFnZTwvZW0+PC9zdHJvbmc+IG9yIDxz + dHJvbmc+PGVtPm1hY2hpbmUgY29kZTwvZW0+PC9zdHJvbmc+LCB3aGljaCBp + cyBhIHNldCBvZiBpbnN0cnVjdGlvbnMgZ2l2ZW4gdG8gYSBtYWNoaW5lIGFu + ZCBydW4gYnkgYSBpdHMgPHN0cm9uZz48ZW0+Y2VudHJhbCBwcm9jZXNzaW5n + IHVuaXQ8L2VtPjwvc3Ryb25nPiAob3LCoDxzdHJvbmc+PGVtPkNQVTwvZW0+ + PC9zdHJvbmc+KS48L3A+PHA+QW4gaW1wb3J0YW50IHRoaW5nIHRvIG5vdGUg + aXMgdGhhdCB0aGVyZSBhcmUgZGlmZmVyZW50IGtpbmRzIG9mIG1hY2hpbmUg + Y29kZSwgc29tZSBvZiB3aGljaCBhcmUgbGl0ZXJhbGx5IDDigJlzIGFuZCAx + 4oCZcywgYW5kIG90aGVycyBvZiB3aGljaCBhcmUgZGVjaW1hbHMgb3IgPGEg + aHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9oZXhzLWFuZC1vdGhl + ci1tYWdpY2FsLW51bWJlcnMtOTc4NWJjMjZiN2VlIj5oZXhhZGVjaW1hbHM8 + L2E+ICh3aGljaCB3ZSBhbHJlYWR5IGtub3cgYSBsb3QgYWJvdXQhKS4gUmVn + YXJkbGVzcyBvZiB3aGljaCBleGFjdCBmb3JtYXQgYSBtYWNoaW5lIGxhbmd1 + YWdlIGlzIHdyaXR0ZW4gaW4sIGl0IGhhcyB0byBiZSBmYWlybHkgcnVkaW1l + bnRhcnkgYmVjYXVzZSBpdCBuZWVkcyB0byBiZSB1bmRlcnN0b29kIGJ5IG9y + IGNvbXB1dGVyLiBUaGlzIGlzIHdoeSBtYWNoaW5lIGxhbmd1YWdlcyBhcmUg + cmVmZXJyZWQgdG8gYXMgbG93IGxldmVsIGxhbmd1YWdlcywgYmVjYXVzZSB0 + aGV5IG5lZWQgdG8gYmUgc2ltcGxpZmllZCBlbm91Z2ggdG8gYmUgcHJvY2Vz + c2VkIGJ5IG91ciBtYWNoaW5l4oCZcyBDUFUsIHdoaWNoIHdlIGFscmVhZHkg + a25vdyBpcyBqdXN0IGEgYnVuY2ggb2Ygc3dpdGNoZXMsIGludGVybmFsbHku + PC9wPjxibG9ja3F1b3RlPldlIGNhbiB0aGluayBvZiBsb3cgbGV2ZWwgbGFu + Z3VhZ2VzIGFzIHRoZSDigJxtb3RoZXItdG9uZ3Vlc+KAnSBvZiBvdXIgY29t + cHV0ZXI7IG1hY2hpbmUgY29kZSBzaG91bGQgYmUgZGlyZWN0bHkgcmVhZGFi + bGUgYnkgb3VyIG1hY2hpbmUsIGFuZCBzaG91bGRu4oCZdCBldmVyIG5lZWQg + dG8gYmUgdHJhbnNsYXRlZCBiecKgdGhlbS48L2Jsb2NrcXVvdGU+PHA+QnV0 + IGhvdyBkbyB3ZSBnbyBmcm9tIDxlbT5vdXIgPC9lbT5jb2RlIHRvIGEgbWFj + aGluZS1mcmllbmRseSAoPGVtPm1hY2hpbmUgY29kZTwvZW0+KSB2ZXJzaW9u + IG9mIHRoZSBleGFjdCBzYW1lIHRoaW5nPyBXZWxsLCB0aGUgY29kZSB0aGF0 + IHdlIHdyaXRlIGFzIHByb2dyYW1tZXJzIGFuZCB0aGUgbWFjaGluZSBjb2Rl + IHRoYXQgYSBjb21wdXRlcuKAmXMgcHJvY2Vzc29yIHJlYWRzIGFyZSBub3Ro + aW5nIG1vcmUgdGhhbiB0d28gZGlmZmVyZW50IHR5cGVzIG9mIDxlbT5sYW5n + dWFnZXM8L2VtPi4gSWYgd2UgdGhpbmsgYWJvdXQgaXQsIGFsbCB3ZSByZWFs + bHkgbmVlZCB0byBkbyBpcyB0cmFuc2xhdGUgYmV0d2VlbiB0aGVzZSB0d28g + bGFuZ3VhZ2VzLjwvcD48cD5Ob3cgY29tZXMgYW5vdGhlciBwcm9ibGVtOiB3 + ZSBoYXZlIG5vIGlkZWEgaG93IHRvIHRyYW5zbGF0ZSBiZXR3ZWVuIG91ciBj + b2RlIGFuZCBtYWNoaW5lIGNvZGUhIE9rYXksIGp1c3Qga2lkZGluZ+KAiuKA + lOKAinRoaXMgaXNu4oCZdCA8ZW0+cmVhbGx5PC9lbT4gYSBwcm9ibGVtLiBC + ZWNhdXNlIHdlIGhhdmUgdHdvIGhlbHBmdWwgZnJpZW5kcyB3aG8gY2FuIGhl + bHAgdXMgb3V0wqBoZXJlLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0i + aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmk2 + SWtYdXRxS1lXcG0wSndsdnpQVUEuanBlZyIgLz48ZmlnY2FwdGlvbj5UcmFu + c2xhdG9ycyBtYWtlIG91ciBzb3VyY2UgdGV4dCB1bmRlcnN0YW5kYWJsZSB0 + byBvdXIgbWFjaGluZXMhPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkluIG9y + ZGVyIGZvciB1cyB0byB0cmFuc2Zvcm0gb3VyIHNvdXJjZSBjb2RlIGludG8g + c29tZSBjb21wdXRlci1yZWFkYWJsZSBtYWNoaW5lIGNvZGUgaW4gYSBiaW5h + cnkgZm9ybWF0LCB3ZeKAmWxsIG5lZWQgdG8gcmVseSBvbiB0cmFuc2xhdG9y + cyB0byBoZWxwIHVzIG1ha2Ugb3VyIHNvdXJjZSB0ZXh0IHVuZGVyc3RhbmRh + YmxlIHRvIG91ciBtYWNoaW5lcy48L3A+PHA+QSA8c3Ryb25nPjxlbT50cmFu + c2xhdG9yPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIGFsc28gc29tZXRpbWVz + IGNhbGxlZCBhIHByb2dyYW1taW5nIGxhbmd1YWdlIHByb2Nlc3NvciwgaXMg + bm90aGluZyBtb3JlIHRoYW4gYSBwcm9ncmFtIHRoYXQgdHJhbnNsYXRlcyBh + IDxzdHJvbmc+PGVtPnNvdXJjZTwvZW0+PC9zdHJvbmc+IGxhbmd1YWdlIGlu + dG8gYSA8c3Ryb25nPjxlbT50YXJnZXQ8L2VtPjwvc3Ryb25nPiBsYW5ndWFn + ZSwgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIGxvZ2ljYWwgc3RydWN0dXJlIG9m + IHRoZSBjb2RlIHRoYXQgaXQgaXMgdHJhbnNsYXRpbmcuPC9wPjxwPldl4oCZ + cmUgYWxyZWFkeSBhIGxpdHRsZSBiaXQgZmFtaWxpYXIgd2l0aCBvbmUga2lu + ZCBvZiB0cmFuc2xhdG9yIGFscmVhZHksIGV2ZW4gdGhvdWdoIHdlIG1pZ2h0 + IG5vdCBrbm93IGl0IGp1c3QgeWV0LiBQcmV2aW91c2x5IGluIHRoaXMgc2Vy + aWVzLCB3ZeKAmXZlIGxvb2tlZCBhdCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9sZXZlbGluZy11cC1vbmVzLXBhcnNpbmctZ2Ft + ZS13aXRoLWFzdHMtZDdhNmZjMjQwMGZmIj5sZXhpY2FsIGFuZCBzeW50YXgg + YW5hbHlzaXM8L2E+IHBoYXNlcyAodGhlIGZyb250IGVuZCkgb2YgdGhlIGNv + bXBpbGVyLCBhbmQgdGhlIGRpZmZlcmVudCBkYXRhIHN0cnVjdHVyZXMgaW52 + b2x2ZWQgaW4gdGhlwqBwcm9jZXNzLjwvcD48cD5BcyBpdCB0dXJucyBvdXQs + IHRoZSBjb21waWxlciBpcyBhIDxlbT5raW5kPC9lbT4gb2YgdHJhbnNsYXRv + ciEgVGhlcmUgaXMgYW5vdGhlciB0cmFuc2xhdG9yLCB0b28sIHdob3NlIG5h + bWUgb2Z0ZW4gZ2V0cyB0aHJvd24gYXJvdW5kIGluIGNvbmp1bmN0aW9uIHdp + dGggdGhlIGNvbXBpbGVy4oCZcywgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5p + bnRlcnByZXRlcjwvZW0+PC9zdHJvbmc+LiBCb3RoIHRoZSBjb21waWxlciBh + bmQgdGhlIGludGVycHJldGVyIG1ha2Ugb3IgY29kZSByZWFkYWJsZSB0byBv + dXIgY29tcHV0ZXJzLCBidXQgaW4gdmVyeSBkaWZmZXJlbnQgd2F5cy48L3A+ + PHA+QnV0IGxldOKAmXMgZmlyc3Qgc3RhcnQgd2l0aCB3aGF0IHdlIGFscmVh + ZHkga25vdywgZmlyc3Q6IHRoZSBjb21waWxlci48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpobU9jWE1oRGdaM0ZpWlRVUmJTZ2lBLmpwZWciIC8+PGZp + Z2NhcHRpb24+VGhlIGNvbXBpbGVyOiBhIGRlZmluaXRpb24uPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlRoZSA8c3Ryb25nPjxlbT5jb21waWxlcjwvZW0+ + PC9zdHJvbmc+IGlzIG5vdGhpbmcgbW9yZSB0aGFuIGEgcHJvZ3JhbSB0aGF0 + IHRha2VzIGEgaGlnaCBsZXZlbCBsYW5ndWFnZeKAiuKAlOKAinRoZSBsYW5n + dWFnZSB0aGF0IHdlIHdyaXRlIG91ciBjb2RlIGlu4oCK4oCU4oCKYW5kIGNv + bnZlcnRzIGl0IGludG8gbWFjaGluZSBjb2RlLiBUaGUgY29tcGlsZXIgaGFz + IG1hbnkgbW92aW5nIHBhcnRzIHRvIGl0IChvciByYXRoZXIsIHdpdGhpbiBp + dCksIGluY2x1ZGluZywgcG90ZW50aWFsbHksIGEgc2Nhbm5lciwgYSBsZXhl + ci90b2tlbml6ZXIsIGFuZCBhIHBhcnNlci4gQnV0IGF0IHRoZSBlbmQgb2Yg + dGhlIGRheSwgZXZlbiB3aXRoIGl0cyBjb21wbGV4aXR5LCBpdOKAmXMganVz + dCBhIHByb2dyYW0gdGhhdCB0dXJucyBvdXIgY29kZSBpbnRvIG1hY2hpbmUt + cmVhZGFibGUgY29kZS48L3A+PHA+SG93ZXZlciwgZXZlbiB0aG91Z2ggaXRz + IGpvYiBtaWdodCBzZWVtIHNpbXBsZSB3aGVuIHdlIHB1dCBpdCBsaWtlIHRo + aXMsIHRoZSB3YXkgdGhhdCBhIGNvbXBpbGVyIGRvZXMgdGhpcyBpbXBvcnRh + bnQgdGFzayBpcyB3b3J0aCBoaWdobGlnaHRpbmcuPC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqVVMyNjdWYndLd1NWYUxhLTJNSUdPdy5qcGVnIiAvPjxm + aWdjYXB0aW9uPkhvdyB0aGUgY29tcGlsZXIgZG9lcyBpdHPCoGpvYi48L2Zp + Z2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIG1vc3QgY2FzZXMsIHRoZSBjb21w + aWxlciBkb2VzIHRoZSBqb2Igb2YgdHJhbnNsYXRpbmcgb3VyIGNvZGUgaW50 + byBtYWNoaW5lIGNvZGUgaW4gb25lIGZlbGwgc3dvb3AuIEluIG90aGVyIHdv + cmRzLCB0aGUgY29tcGlsZXIgdHJhbnNsYXRlcyBhbGwgb2YgYSBwcm9ncmFt + bWVy4oCZcyBzb3VyY2UgY29kZSBiZWZvcmUgdGhlIHNvdXJjZSBjb2RlIGNh + biBldmVyIGJlIGV4ZWN1dGVkIG9yIHJ1bi4gSXQgdGFrZXMgb3VyIHNvdXJj + ZSBjb2RlIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGEgc2luZ2xlIGZpbGUgdGhh + dCBpcyB3cml0dGVuIGluIG1hY2hpbmUgY29kZS4gSXQgaXMgdGhhdCB2ZXJ5 + IG1hY2hpbmUgY29kZSBmaWxl4oCK4oCU4oCKY2FsbGVkIGFuIDxzdHJvbmc+ + PGVtPmV4ZWN1dGFibGU8L2VtPjwvc3Ryb25nPiBmaWxlIGFuZCBvZnRlbiBl + bmRpbmcgd2l0aCBhbsKgLmV4ZSBleHRlbnNpb27igIrigJTigIp3aGljaCBh + Y3R1YWxseSBhbGxvd3MgdXMgdG8gcnVuIHRoZSBvcmlnaW5hbCBjb2RlIHRo + YXQgd2XCoHdyb3RlLjwvcD48cD5UaGUgbW9zdCBpbXBvcnRhbnQgaWRpb3N5 + bmNyYXN5IG9mIGEgY29tcGlsZXIgaXMgdGhlIGZhY3QgdGhhdCBpdCB0YWtl + cyBhIHNvdXJjZSB0ZXh0LCBhbmQgdHJhbnNsYXRlcyBpdCBpbnRvIG1hY2hp + bmUgY29kZSBiaW5hcnkgaW4g4oCcb25lIHNob3TigJ0uIEl0IHJldHVybnMg + dGhlIHRyYW5zbGF0ZWQsIGNvbXBpbGVkIGZpbGUgdG8gdGhlIHByb2dyYW1t + ZXIsIHdobyB3aWxsIGJlIGFibGUgdG8gcnVuIHRoZWlyIGNvZGUgdmlhIHRo + ZSBvdXRwdXR0ZWQgZXhlY3V0YWJsZS48L3A+PGJsb2NrcXVvdGU+VGhlIGV4 + ZWN1dGFibGUgZmlsZSByZXR1cm5lZCBieSB0aGUgY29tcGlsZXIgY2FuIGJl + IHJ1biBhZ2FpbiBhbmQgYWdhaW4gb25jZSBpdCBoYXMgYmVlbiB0cmFuc2xh + dGVkOyB0aGUgY29tcGlsZXIgZG9lc27igJl0IG5lZWQgdG8gYmUgYXJvdW5k + IGZvciBhbnkgc3Vic2VxdWVudCByZXJ1bnMhPC9ibG9ja3F1b3RlPjxwPk9u + Y2UgdGhlIGNvbXBpbGVyIHRyYW5zbGF0ZXMgYWxsIHRoZSBzb3VyY2UgY29k + ZSBpbnRvIG1hY2hpbmUgY29kZSwgdGhlIGNvbXBpbGVy4oCZcyBqb2IgaXMg + ZG9uZS4gVGhlIHByb2dyYW1tZXIgY2FuIHJ1biB0aGUgY29tcGlsZWQgY29k + ZSBhcyBtYW55IHRpbWVzIGFzIHRoZXkgd2FudCwgd2l0aCB3aGljaGV2ZXIg + aW5wdXRzIHRoYXQgdGhleeKAmWQgbGlrZSB0byB1c2UuIFRoZXkgY2FuIGFs + c28gc2hhcmUgdGhpcyBjb21waWxlZCBjb2RlIHdpdGggb3RoZXJzLCB3aXRo + b3V0IGV2ZXIgaGF2aW5nIHRvIHNoYXJlIHRoZWlyIG9yaWdpbmFsIHNvdXJj + ZcKgY29kZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjVjBCWVdCRFRG + WmJVcjZpRmpGTnJnLmpwZWciIC8+PGZpZ2NhcHRpb24+R3JhY2UgSG9wcGVy + LCDCqSA8YSBocmVmPSJodHRwczovL3RlY2hjcnVuY2guY29tLzIwMTYvMTEv + MTcvZ3JhY2UtaG9wcGVyLWFuZC1tYXJnYXJldC1oYW1pbHRvbi1hd2FyZGVk + LXByZXNpZGVudGlhbC1tZWRhbC1vZi1mcmVlZG9tLWZvci1jb21wdXRpbmct + YWR2YW5jZXMvIj5UZWNoQ3J1bmNoPC9hPjwvZmlnY2FwdGlvbj48L2ZpZ3Vy + ZT48cD5UaGUgY29uY2VwdCBiZWhpbmQgdGhpcyBzcGVjaWZpYyB0cmFuc2xh + dG9y4oCUIGFzIHdlbGwgYXMgdGhlIHRlcm0g4oCcY29tcGlsZXLigJ0gaXRz + ZWxm4oCK4oCU4oCKd2FzIGNvaW5lZCBieSB0aGUgaWxsdXN0cmlvdXMgPHN0 + cm9uZz48ZW0+R3JhY2UgSG9wcGVyPC9lbT48L3N0cm9uZz4sIGJhY2sgaW4g + MTk1MiwgaW4gdGhlIG1vc3QgaW50ZXJlc3Rpbmcgb2YgY2lyY3Vtc3RhbmNl + cy48L3A+PHA+QXQgdGhlIHRpbWUsIEhvcHBlciBoYWQgYmVlbiB3b3JraW5n + IGF0IHRoZSBFY2tlcnQtTWF1Y2hseSBDb21wdXRlciBDb3Jwb3JhdGlvbiwg + aGVscGluZyBkZXZlbG9wIHRoZSBVTklWQUMgSSBjb21wdXRlciBhcyBhIG1h + dGhlbWF0aWNpYW4gb24gdGhlIHRlYW0uIEVmZmVjdGl2ZWx5LCBzaGUgd2Fz + IHdvcmtpbmcgb24gdHVybmluZyBtYXRoZW1hdGljYWwgY29kZSBpbnRvIGl0 + cyBvd24gbGFuZ3VhZ2UgKEEtMCBTeXN0ZW0gbGFuZ3VhZ2UpLjwvcD48cD5I + b3dldmVyLCBzaGUgaGFkIGJpZ2dlciBpZGVhcy4gU2hlIHdhbnRlZCB0byB3 + cml0ZSBhbiBlbnRpcmVseSBuZXcgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgdGhh + dCB3b3VsZCB3b3JkcyBpbiBFbmdsaXNoLCByYXRoZXIgdGhhbiB0aGUgbGlt + aXRlZCBudW1iZXIgb2YgbWF0aGVtYXRpY2FsIHN5bWJvbHMuIEhvd2V2ZXIs + IHdoZW4gc2hlIHNoYXJlZCB0aGlzIGlkZWEgd2l0aCBoZXIgY29sbGVhZ2Vz + LiBUaGV5IHNob3QgaGVyIGRvd24sIGFuZCB0b2xkIGhlciB0aGF0IGhlciBp + ZGVhIHdhc27igJl0IHBvc3NpYmxlIGJlY2F1c2Ug4oCcY29tcHV0ZXJzIGRp + ZG7igJl0IHVuZGVyc3RhbmQgRW5nbGlzaOKAnS4gQnV0IHNoZSB3YXMgbm90 + IGRldGVycmVkLjwvcD48cD5BZnRlciB0aHJlZSB5ZWFycyBvZiB3b3JraW5n + IG9uIHRoaXMgdGVhbSwgSG9wcGVyIGhhZCBoZXIgdmVyeSBmaXJzdCB3b3Jr + aW5nIGNvbXBpbGVyLiBCdXQgbm8gb25lIGJlbGlldmVkIHRoYXQgc2hlIGhh + ZCBhY3R1YWxseSBkb25lIGl0ISBJbiBoZXIgYmlvZ3JhcGh5LCA8ZW0+R3Jh + Y2UgSG9wcGVywqA6IE5hdnkgQWRtaXJhbCBhbmQgQ29tcHV0ZXIgUGlvbmVl + cjwvZW0+LCBzaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5wdWJsaWMubmF2eS5t + aWwvc3VyZm9yL2RkZzcwL1BhZ2VzL25hbWVzYWtlLmFzcHgjLldqQTc2MHpH + eEU0Ij5leHBsYWluczwvYT46PC9wPjxibG9ja3F1b3RlPkkgaGFkIGEgcnVu + bmluZyBjb21waWxlciBhbmQgbm9ib2R5IHdvdWxkIHRvdWNoIGl0LsKg4oCm + IHRoZXkgY2FyZWZ1bGx5IHRvbGQgbWUsIGNvbXB1dGVycyBjb3VsZCBvbmx5 + IGRvIGFyaXRobWV0aWM7IHRoZXkgY291bGQgbm90IGRvIHByb2dyYW1zLjwv + YmxvY2txdW90ZT48cD5JdOKAmXMgYSBnb29kIHRoaW5nIHRoYXQgR3JhY2Ug + SG9wcGVyIGRpZG7igJl0IGxpc3RlbiB0byBhbnkgb2YgdGhvc2Ugbm9uYmVs + aWV2ZXJzLCBiZWNhdXNlIHNoZSBlbmRlZCB1cCBjb250aW51aW5nIGhlciB3 + b3JrIGFuZCBkZXZlbG9waW5nIG9uZSBvZiB0aGUgZWFybGllc3QgaGlnaCBs + ZXZlbCBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIGNhbGxlZCBDT0JPTC4gU2hl + IGFsc28gd29uIHRoZSA8YSBocmVmPSJodHRwczovL3RlY2hjcnVuY2guY29t + LzIwMTYvMTEvMTcvZ3JhY2UtaG9wcGVyLWFuZC1tYXJnYXJldC1oYW1pbHRv + bi1hd2FyZGVkLXByZXNpZGVudGlhbC1tZWRhbC1vZi1mcmVlZG9tLWZvci1j + b21wdXRpbmctYWR2YW5jZXMvIj5QcmVzaWRlbnRpYWwgTWVkYWwgb2YgRnJl + ZWRvbTwvYT4sIGFtb25nIG1hbnksIG1hbnksIG1hbnkgb3RoZXIgYWNjb21w + bGlzaG1lbnRzLjwvcD48cD5JbmRlZWQsIGlmIHNoZSA8ZW0+aGFkPC9lbT4g + bGlzdGVuZWQgdG8gYWxsIG9mIHRob3NlIHBlcG9sZSwgc2hlIHdvdWxkIGhh + dmUgbGlrZWx5IG5ldmVyIHRha2VuIGNvbXB1dGluZyB0byBhbiBlbnRpcmVs + eSBuZXcgbGV2ZWwgd2l0aCBoZXIgZWFybHkgd29yayBpbiBjb25zdHJ1Y3Rp + bmcgYW5kIGRlc2lnbmluZyB0aGUgdmVyeSBmaXJzdCBjb21waWxlci4gR3Jh + Y2UgSG9wcGVy4oCZcyB3b3JrIG9uIHRoZSBmaXJzdCBjb21waWxlciBsYWlk + IHRoZSBncm91bmR3b3JrIGZvciB0aGUgYW5vdGhlciB0cmFuc2xhdG9yIHRo + YXQgY2FtZSBpbnRvIGV4aXN0ZW5jZSBhIGZldyB5ZWFycyBsYXRlcjogdGhl + IGludGVycHJldGVyLjwvcD48aDM+U3RlcC1ieS1zdGVwIHRyYW5zbGF0aW9u + PC9oMz48cD5JbiAxOTU4LCBhIGZldyB5ZWFycyBhZnRlciBHcmFjZSBIb3Bw + ZXLigJlzIHdvcmsgb24gdGhlIGNvbXBpbGVyLCBzb21lIHN0dWRlbnRzIGF0 + IE1JVCB3ZXJlIGluIGEgbGFiLCB3b3JraW5nIHdpdGggYW4gPGEgaHJlZj0i + aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSUJNXzcwNCI+SUJNIDcw + NDwvYT4gY29tcHV0ZXIsIGEgZmFpcmx5IG5ldyB0ZWNobm9sb2d5IHRoYXQg + aGFkIGJlZW4gaW50cm9kdWNlZCBqdXN0IGZvdXIgeWVhcnMgZWFybGllci4g + T25lIG9mIHRoZXNlIHN0dWRlbnRzLCBuYW1lZCBTdGV2ZSBSdXNzZWxsLCB3 + YXMgd29ya2luZyBvbiBhIHByb2plY3QgY2FsbGVkIHRoZSBNSVQgQXJ0aWZp + Y2lhbCBJbnRlbGxpZ2VuY2UgUHJvamVjdCwgd2l0aCBoaXMgcHJvZmVzc29y + LCBKb2huIE1jQ2FydGh5LjwvcD48cD5SdXNzZWxsIHdhcyB3b3JraW5nIHdp + dGggdGhlIExpc3AgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgYXQgdGhlIHRpbWUs + IGFuZCBoZSBoYWQgcmVhZCBhIHBhcGVyIHdyaXR0ZW4gYnkgaGlzIHByb2Zl + c3NvciBvbiB0aGUgc3ViamVjdC4gSGUgY2FtZSB1cCB3aXRoIHRoZSBpZGVh + IHRvIHRyYW5zZm9ybSB0aGUgZXZhbCBmdW5jdGlvbiBpbiBMaXNwIGludG8g + bWFjaGluZSBjb2RlLCB3aGljaCBzZXQgaGltIG9uIHRoZSBwYXRoIHRvIGNy + ZWF0aW5nIHRoZSBmaXJzdCBMaXNwIGludGVycHJldGVyLCB3aGljaCB3YXMg + dXNlZCB0byBldmFsdWF0ZSBleHByZXNzaW9ucyBpbiB0aGUgbGFuZ3VhZ2Xi + gIrigJTigIp0aGUgZXF1aXZhbGVudCBvZiBydW5uaW5nIGEgcHJvZ3JhbSBp + biBMaXNwIGF0IHRoZcKgdGltZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzYwMC8x + KmhxbDZIbW5JYjVKbHc2eEJWaE1ITVEuanBlZyIgLz48ZmlnY2FwdGlvbj5T + dGV2ZSBSdXNzZWxsLCDCqSA8YSBocmVmPSJodHRwOi8vd3d3Lm1hc3N3ZXJr + LmF0L3NwYWNld2FyL1NwYWNld2FyT3JpZ2luLmh0bWwiPm1hc3M6d2Vyazwv + YT48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+SW5kZWVkLCBIb3BwZXLigJlz + IHdvcmsgZGlyZWN0bHkgaW1wYWN0ZWQgUnVzc2VsbOKAmXMgaW52ZW50aW9u + LiBUaGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgTGlzcCBpbnRlcnByZXRlciB3 + YXMgY29tcGlsZWQgYnkgaGFuZC4gSW4gYW4gaW50ZXJ2aWV3IHdpdGggdGhl + IENvbXB1dGVyIEhpc3RvcnkgTXVzZXVtIGluIDIwMDgsIFJ1c3NlbGwgPGEg + aHJlZj0iaHR0cDovL2FyY2hpdmUuY29tcHV0ZXJoaXN0b3J5Lm9yZy9yZXNv + dXJjZXMvYWNjZXNzL3RleHQvMjAxMi8wOC8xMDI3NDY0NTMtMDUtMDEtYWNj + LnBkZiI+ZXhwbGFpbnM8L2E+IGhvdyBjb21waWxlcnMgcGxheWVkIGludG8g + aGlzIHdvcmsgYXTCoE1JVDo8L3A+PGJsb2NrcXVvdGU+QW5kIG15IHJlbWVt + YnJhbmNlIGlzIHRoYXQgSm9obiBbTWNDYXJ0aHldIHNvcnQgb2YgY2FtZSBp + biBvbmUgZGF5LCBpbiBsYXRlIFNlcHRlbWJlciBvciBPY3RvYmVyIG9yIHNv + bWV0aGluZyBsaWtlLCB0aGF0IHdpdGggdGhlIHVuaXZlcnNhbCBNLWV4cHJl + c3Npb24sIHRoYXQgaXMgdGhlIExpc3AgaW50ZXJwcmV0ZXIgd3JpdHRlbiBv + dXQgYXMgYW4gTS1leHByZXNzaW9uLCBhbmQgd2Ugc29ydCBvZiBsb29rZWQg + YXQgaXQgYW5kIHNhaWQsIOKAnE9oIHllYWgsIHRoYXTigJlsbCB3b3JrLOKA + nSBhbmQgSSBsb29rZWQgYXQgaXQgYW5kIHNhaWQsIOKAnE9oLCB0aGF04oCZ + cyBqdXN0IGEgbWF0dGVyIG9mIGRvaW5nIG1vcmUgaGFuZCBjb21waWxpbmcs + IGxpa2UgSeKAmXZlIGJlZW4gZG9pbmcuIEkgY2FuIGRvwqB0aGF0LuKAnTwv + YmxvY2txdW90ZT48YmxvY2txdW90ZT7igKZJIGdvdCBzb21ldGhpbmcgd29y + a2luZyBiZWZvcmUgQ2hyaXN0bWFzLCB3aGljaCB3YXMgYSB1c2VhYmxlIGlu + dGVycHJldGVyOyBubyBnYXJiYWdlIGNvbGxlY3RvciwgYnV0IHRoZXJlIHdl + cmVu4oCZdCBhbnkgYmlnIHByb2dyYW1zwqB5ZXQuPC9ibG9ja3F1b3RlPjxw + PlJ1c3NlbGwgYW5kIGhpcyBjb2xsZWFndWVzIHdvdWxkIGdvIG9uIHRvIDxh + IGhyZWY9Imh0dHA6Ly93d3cuY29tcHV0ZXJoaXN0b3J5Lm9yZy9wZHAtMS9z + dGV2ZS1zbHVnLXJ1c3NlbGwvIj5oYW5kLWNvbXBpbGU8L2E+IHRoZSBmaXJz + dCB0d28gdmVyc2lvbiBvZiB0aGUgTGlzcCBpbnRlcnByZXRlci4gVG9kYXks + IG1vc3QgcHJvZ3JhbW1lcnMgd291bGRu4oCZdCBldmVuIGRyZWFtIG9mIGhh + bmQtY29tcGlsaW5nIGFueSBvZiB0aGVpciBjb2RlISBJbmRlZWQsIG1hbnkg + b2YgdXMgaW50ZXJhY3Qgd2l0aCBhbiBpbnRlcnByZXRlciBhbmQgdXNlIGl0 + IG11bHRpcGxlIHRpbWVzIGluIGFwcGxpY2F0aW9uIGRldmVsb3BtZW504oCK + 4oCU4oCKd2UganVzdCBtaWdodCBub3QgYWx3YXlzIGJlIGF3YXJlIG9mwqBp + dC48L3A+PHA+U28sIHdoYXQgZXhhY3RseSA8ZW0+aXM8L2VtPiBhbiBpbnRl + cnByZXRlcj8gSXTigJlzIGFib3V0IHRpbWUgZm9yIGFuIG9mZmljaWFsIGRl + ZmluaXRpb24hPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczov + L2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqVzNiM3pFRGxz + bTNFQ3JsNlpjc3VLZy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBpbnRlcnBy + ZXRlcjogYSBkZWZpbml0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5B + biA8c3Ryb25nPjxlbT5pbnRlcnByZXRlcjwvZW0+PC9zdHJvbmc+IGlzIGFs + c28gYSB0cmFuc2xhdG9yLCBqdXN0IGxpa2UgYSBjb21waWxlciwgaW4gdGhh + dCBpdCB0YWtlcyBhIGhpZ2ggbGV2ZWwgbGFuZ3VhZ2UgKG91ciBzb3VyY2Ug + dGV4dCkgYW5kIGNvbnZlcnRzIGl0IGludG8gbWFjaGluZSBjb2RlLiBIb3dl + dmVyLCBpdCBkb2VzIHNvbWV0aGluZyBzbGlnaHRseSBkaWZmZXJlbnQ6IGl0 + IGFjdHVhbGx5IHJ1bnMgYW5kIDxlbT5leGVjdXRlczwvZW0+IHRoZSBjb2Rl + IHRoYXQgaXQgdHJhbnNsYXRlcyBpbW1lZGlhdGVseSAoaW5saW5lKSBhcyBp + dCB0cmFuc2xhdGVzLjwvcD48YmxvY2txdW90ZT5XZSBjYW4gdGhpbmsgb2Yg + YW4gaW50ZXJwcmV0ZXIgYXMgdGhlIG1vcmUg4oCcbWV0aG9kaWNhbOKAnSB0 + cmFuc2xhdG9yIGluIHRoZSBmYW1pbHkuIFJhdGhlciB0aGFuIGRvaW5nIHRo + ZSB3b3JrIG9mIHRyYW5zbGF0aW5nIG91ciBjb2RlIGludG8gbWFjaGluZSBs + YW5ndWFnZSBpbiBvbmUgc2luZ2xlIHNob3QsIGl04oCZcyBmYXIgbW9yZSBz + eXN0ZW1hdGljIGFib3V0IGhvdyBpdMKgd29ya3MuPC9ibG9ja3F1b3RlPjxw + PkFuIGludGVycHJldGVyIGRvZXMgaXRzIGpvYiBwaWVjZSBieSBwaWVjZS4g + SXQgd2lsbCB0cmFuc2xhdGUgYSBzZWN0aW9uIG9mIG91ciBzb3VyY2UgdGV4 + dCBhdCBhIHRpbWUsIHJhdGhlciB0aGFuIHRyYW5zbGF0aW5nIGl0IGFsbCBh + dMKgb25jZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjQjJaeGNYejFa + S3U3Q3hmZGpJY053LmpwZWciIC8+PGZpZ2NhcHRpb24+SG93IHRoZSBpbnRl + cnByZXRlciBkb2VzIGl0c8Kgam9iLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5Vbmxpa2UgYSBjb21waWxlciwgaXQgZG9lc27igJl0IHRyYW5zbGF0ZSBl + dmVyeXRoaW5nIGFuZCBoYW5kIG92ZXIgYSBmaWxlIHRvIHVzLCB0aGUgcHJv + Z3JhbW1lcnMsIHRvIGV4ZWN1dGUuIEluc3RlYWQsIGFuIGludGVycHJldGVy + IHdpbGwgdHJhbnNsYXRlIGEgc2luZ2xlIGxpbmUvc2VjdGlvbiBvZiBjb2Rl + IGF0IGEgdGltZS4gT25jZSBpdCBoYXMgZmluaXNoZWQgdHJhbnNsYXRpbmcg + b25lIGxpbmUsIGl0IHdpbGwgdGFrZSB0aGUgbWFjaGluZSBjb2RlIHZlcnNp + b24gb2YgaXQsIGFuZCBydW4gaXQgaW1tZWRpYXRlbHkuPC9wPjxwPkFub3Ro + ZXIgd2F5IG9mIHRoaW5raW5nIGFib3V0IGl0IGlzIHRoYXQgb25jZSBhIHBp + ZWNlIG9mIGNvZGUgaGFzIGJlZW4gdHJhbnNsYXRlZCBieSB0aGUgaW50ZXJw + cmV0ZXIsIG9ubHkgdGhlbiBjYW4gaXQgYmUgcnVuLiBUaGlzIHNlZW1zIGZh + aXJseSBpbnR1aXRpdmUgYXQgZmlyc3QgdGhvdWdodCwgYmVjYXVzZSBvZiBj + b3Vyc2UgaG93IGNhbiBhbiBpbnRlcnByZXRlciBydW4gYSBsaW5lIG9mIGNv + ZGUgd2l0aG91dCBrbm93aW5nIHdoYXQgaXQgbWVhbnMgaW4gYmluYXJ5L21h + Y2hpbmUgY29kZT8gQnV0LCBpZiB3ZSB0aGluayBhYm91dCBpdCBtb3JlIGRl + ZXBseSwgdGhlcmUgYXJlIG90aGVyIGltcGxpY2F0aW9ucy4gT25seSBvbmNl + IHRoZSBpbnRlcnByZXRlciBmaW5pc2hlcyBydW5uaW5nIG9uZSBsaW5lIG9m + IGNvZGUgc3VjY2Vzc2Z1bGx5IHdpbGwgaXQgYWN0dWFsbHkgbW92ZSBvbnRv + IHRoZSBuZXh0IGxpbmUuIFdlIGNhbiBpbWFnaW5lIGhvdyB0aGlzIG1heSBv + ciBtYXkgbm90IGJlIGEgZ29vZCB0aGluZywgZGVwZW5kaW5nIG9uIHdoYXQg + d2XigJlyZSB0cnlpbmcgdG/CoGRvLjwvcD48cD5Gb3IgZXhhbXBsZSwgaW1h + Z2luZSB3ZSB3YW50IHRvIHJ1biBvdXIgcHJvZ3JhbSB3aXRoIDEwIGRpZmZl + cmVudCBpbnB1dHMuIE91ciBpbnRlcnByZXRlciB3b3VsZCBoYXZlIHRvIHJ1 + biBvdXIgcHJvZ3JhbSAxMCB0aW1lcywgaW50ZXJwcmV0aW5nIGl0IGxpbmUg + YnkgbGluZSwgZm9yIGVhY2ggb2Ygb3VyIGlucHV0cy4gSG93ZXZlciwgaWYg + d2UgbWFkZSBhIGZhdGFsIGZsYXcgaW4gb3VyIGNvZGUsIG91ciBpbnRlcnBy + ZXRlciBjb3VsZCBjYXRjaCBpdCBmb3IgdXMgdGhlIG1vbWVudCB0aGF0IGl0 + IGhhcHBlbnMgYmVjYXVzZSBpdCBoYXMgbGl0ZXJhbGx5IGp1c3QgdHJpZWQg + dG8gcnVuIG91ciAoYnJva2VuKSBsaW5lIG9mIGNvZGUgYWZ0ZXIgaXQgdHJh + bnNsYXRlZCBpdCE8L3A+PHA+Qnkgbm93LCB3ZSBtaWdodCBzdGFydCB0byBi + ZSBhYmxlIHRvIHNlZSBob3cgYm90aCB0aGUgaW50ZXJwcmV0ZXIgYW5kIHRo + ZSBjb21waWxlciBoYXZlIHRyYWRlb2Zmcy4gV2XigJl2ZSBzZWVuIGhvdyBk + aWZmZXJlbnQgdG9vbHMgaGF2ZSBwcm9zIGFuZCBjb25zIHRvIHRoZW0gdGlt + ZSBhbmQgYWdhaW4gaW4gdGhpcyBzZXJpZXMsIGFuZCBpdOKAmXMgcHJvYmFi + bHkgYSBoYWxsbWFyayB0cmFpdCB3aXRoaW4gdGhlIHdvcmxkIG9mIGNvbXB1 + dGVyIHNjaWVuY2UuIEtlZXBpbmcgd2l0aCB0aGlzIHRoZW1lLCBsZXTigJlz + IHdlaWdoIHRoZSBmdW5kYW1lbnRhbCBkaWZmZXJlbmNlcyBiZXR3ZWVuIGlu + dGVycHJldGF0aW9uIGFuZCBjb21waWxhdGlvbiBhcyB0cmFuc2xhdGlvbiB0 + ZWNobmlxdWVzLjwvcD48aDM+VHdvIHRyYW5zbGF0b3JzLCBib3RoIGFsaWtl + IGluwqBkaWduaXR5PC9oMz48cD5UaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBp + bnRlcnByZXRhdGlvbiBhbmQgY29tcGlsYXRpb24gYW5kIHRoZWlyIHJlc3Bl + Y3RpdmUgdHJhbnNsYXRvcnMgdGVsbHMgdXMgYSBsb3QgYWJvdXQgaG93IHRo + ZXNlIHR3byBwcm9ncmFtcyBhcmUgaW1wbGVtZW50ZWQuIElmIHdlIGNvbXBh + cmUgdGhlc2UgdHdvIG1ldGhvZG9sb2dpZXMsIHdl4oCZbGwgc3RhcnQgdG8g + c2VlIGhvdyB0aGV5IGJvdGggYWNjb21wbGlzaCB0aGUgc2FtZSB0YXNrLCBi + dXQgaW4gZnVuZGFtZW50YWxseSB2ZXJ5IGRpZmZlcmVudCB3YXlzLjwvcD48 + cD5UaGUgaWxsdXN0cmF0aW9uIGJlbG93IGlsbHVzdHJhdGVzIHRoaXMgaW4g + YSBtb3JlIG9idmlvdXPCoHdheS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpaeFhHZTNmdjFwelRRaThRTHVjWWNRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + Q29tcGlsYXRpb24gdnMuIGludGVycHJldGF0aW9uOiB0aGUgdHJhZGVvZmZz + LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48b2w+PGxpPjxzdHJvbmc+PGVtPlJl + dHVybmVkIHJlc3VsdC48L2VtPjwvc3Ryb25nPiBXaGlsZSBhIGNvbXBpbGVy + IHdpbGwgdGFrZSBzb21lIHNvdXJjZSBjb2RlIGFuZCByZXR1cm4gYSBjb21w + aWxlZCwgZXhlY3V0YWJsZSBmaWxlLCBhbiBpbnRlcnByZXRlciB3aWxsIGFj + dHVhbGx5IHRyYW5zbGF0ZSBhbmQgdGhlbiBleGVjdXRlIHRoZSBzb3VyY2Ug + Y29kZSBpdHNlbGYsIHJldHVybmluZyB0aGUgcmVzdWx0IG9mIHRoZSB0cmFu + c2xhdGlvbiBkaXJlY3RseS48L2xpPjxsaT48c3Ryb25nPjxlbT5SdW4gZnJl + cXVlbmN5LiA8L2VtPjwvc3Ryb25nPkEgY29tcGlsZXIgd2lsbCBydW4gb25s + eSBvbmNlLCBhbmQgd2lsbCBuZWVkIHRvIGJlIGNhbGxlZCBhZ2FpbiB0byBy + ZS10cmFuc2xhdGUgc291cmNlIGNvZGUgaWYgaXQgY2hhbmdlcy4gT24gdGhl + IG90aGVyIGhhbmQsIGFuIGludGVycHJldGVyIHdpbGwgcnVuIGFnYWluIGFu + ZCByZWludGVycHJldCBzb3VyY2UgY29kZSB3aGVuIGl0IGNoYW5nZXM7IHRo + ZSBpbnRlcnByZXRlciDigJxzdGlja3MgYXJvdW5k4oCdIHRvIGNvbnRpbnVh + bGx5IHRyYW5zbGF0ZS48L2xpPjxsaT48c3Ryb25nPjxlbT5GbGV4aWJpbGl0 + eS4gPC9lbT48L3N0cm9uZz5UaGUgY29tcGlsZXIgdHJhbnNsYXRlcyB0aGUg + c291cmNlIGNvZGUgaW4gb25lIHNob3QsIHdoaWNoIG1lYW5zIHRoYXQgdGhl + IHNvdXJjZSBjb2RlIGlzbuKAmXQgcmVxdWlyZWQgYWdhaW4gYWZ0ZXIgY29t + cGlsYXRpb24uIEhvd2V2ZXIsIHRoZSBpbnRlcnByZXRlciBkb2VzIHJlcXVp + cmUgdGhlIHNvdXJjZSBjb2RlIGluIG9yZGVyIHRvIHRyYW5zbGF0ZSBhbmQg + ZXhlY3V0ZSB0aGUgcHJvZ3JhbSwgZXZlcnkgc2luZ2xlIHRpbWUgdGhhdCBp + dCBpcyBldmVywqBydW4uPC9saT48bGk+PHN0cm9uZz48ZW0+RGVidWdnaW5n + LjwvZW0+PC9zdHJvbmc+IFRoZSBjb21waWxlciBnZW5lcmFsbHkgbWFrZXMg + aXQgbW9yZSBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIHdoZXJlIG1pc3Rha2Vz + IG9jY3VyIGluIHRoZSBzb3VyY2UgY29kZSwgYmVjYXVzZSB0aGUgZW50aXJl + IHByb2dyYW0gaGFzIGFscmVhZHkgYmVlbiB0cmFuc2xhdGVkLCBhbmQgdGhl + IGVycm9y4oCZcyBsb2NhdGlvbiBtaWdodCBub3QgYmUgZWFzaWx5IGlkZW50 + aWZ5YWJsZSBpbiB0aGUgbWFjaGluZSBjb2RlLiBIb3dldmVyLCBpZGVudGlm + eWluZyBlcnJvcnMgaXMgZWFzaWVyIHdpdGggYW4gaW50ZXJwcmV0ZXIgYmVj + YXVzZSBpdCBjYW4gbWFpbnRhaW4gdGhlIGxvY2F0aW9uIG9mIGFuIGVycm9y + IG9yIGJ1ZywgYW5kIHN1cmZhY2UgdGhhdCBpc3N1ZSB0byB0aGUgcHJvZ3Jh + bW1lciB3aG8gd3JvdGUgdGhlwqBjb2RlLjwvbGk+PC9vbD48cD5CZWNhdXNl + IG9mIHRoZXNlIG1ham9yIGRpZmZlcmVuY2VzLCBjb21waWxlZCBjb2Rl4oCK + 4oCU4oCKY29kZSB0aGF0IGlzIHRyYW5zbGF0ZWQgYW5kIHJ1biB1c2luZyB0 + aGUgY29tcGlsYXRpb24gcHJvY2Vzc+KAiuKAlOKAinRlbmRzIHRvIHJ1biBh + IGJpdCA8c3Ryb25nPjxlbT5mYXN0ZXI8L2VtPjwvc3Ryb25nPiB0aGFuIGlu + dGVycHJldGVkIGNvZGUuIFRoaXMgaXMgYmVjYXVzZSB0aGUgd29yayBvZiB0 + cmFuc2xhdGluZyB0aGUgc291cmNlIHRleHQgaW50byBtYWNoaW5lIGNvZGUg + aGFzIGFscmVhZHkgYmVlbiBkb25lLCBiZWZvcmUgdGhlIGNvZGUgaXMgZXZl + ciBleGVjdXRlZC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp0RWFITlRj + Z0gza3NSVG5fUFB2VUlBLmpwZWciIC8+PGZpZ2NhcHRpb24+Q29tcGlsZWQg + Y29kZSBhcyBjb21wYXJlZCB0byBpbnRlcnByZXRlZCBjb2RlLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5PbiB0aGUgZmxpcCBzaWRlLCBpbnRlcnByZXRl + ZCBjb2RlIGlzIGZhciBtb3JlIDxzdHJvbmc+PGVtPmZsZXhpYmxlPC9lbT48 + L3N0cm9uZz4sIHNpbmNlIHRoZSBpbnRlcnByZXRlciBzdGF5cyBhcm91bmQg + Zm9yIHRoZSBjb3Vyc2Ugb2YgdGhlIHRyYW5zbGF0aW9uIOKAnHByb2Nlc3Pi + gJ0gdG8gcmVhZCBhbmQgcHJvY2VzcyBvdXLCoGNvZGUuPC9wPjxwPkZsZXhp + YmlsaXR5IGluIHRoaXMgY29udGV4dCBtZWFucyBiZWluZyBhYmxlIHRvIGNo + YW5nZSBvdXIgY29kZSBhbmQgYmVpbmcgYWJsZSB0byBpbW1lZGlhdGVseSBy + dW4gaXQgYWZ0ZXJ3YXJkcy4gVGhlcmUgaXMgbm8gbmVlZCB0byByZWNvbXBp + bGUgb3VyIGNvZGUgaWYgd2UgbWFrZSBhIGNoYW5nZTsgdGhlIGludGVycHJl + dGVyIHdpbGwganVzdCBwaWNrIHVwIG9uIHRoYXQgY2hhbmNlLCBhbmQgcmVp + bnRlcnByZXQgdGhlIGNvZGUsIG1ha2luZyBpdCBhIG11Y2ggbW9yZSA8ZW0+ + aW50ZXJhY3RpdmU8L2VtPiBmb3JtIG9mIHRyYW5zbGF0aW9uLiBVc2luZyBh + biBpbnRlcnByZXRlciBtYWtlcyBpdCBtdWNoIGVhc2llciB0byB0ZXN0IG91 + dCBzbWFsbCAob3IgYmlnISkgY2hhbmdlcyBpbiBhIHNvdXJjZcKgZmlsZS48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpiRWpJT1NSbFZvcW1lMWgydWRk + U1VRLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGJlbmVmaXRzIG9mIGNvbXBp + bGF0aW9uIGFzIGNvbXBhcmVkIHRvIGludGVycHJldGF0aW9uLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5Ib3dldmVyLCB3aGVuIGl0IGNvbWVzIHRvIGlu + dGVycHJldGF0aW9uLCB3ZSBhY3R1YWxseSBuZWVkIHRoZSBzb3VyY2UgY29k + ZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGRvIGFueXRoaW5nLiBJdCBkZWZp + bml0ZWx5IGlzIGVhc2llciB0byB0ZXN0IG91dCBjaGFuZ2VzIGFuZCBkZWJ1 + ZyBpc3N1ZXMsIGJ1dCB0aGUgc291cmNlIHRleHQgaGFzIHRvIGJlIGFjY2Vz + c2libGUsIGZpcnN0IGFuZCBmb3JlbW9zdC4gV2l0aCBjb21waWxhdGlvbiwg + dGhpcyBpc27igJl0IHRoZSBjYXNlLiBPbmNlIHdlIGhhdmUgY29tcGlsZWQg + b3VyIGNvZGUgaW50byBhbiBleGVjdXRhYmxlIGZpbGUsIHdlIGRvbuKAmXQg + ZXZlciBoYXZlIHRvIHdvcnJ5IGFib3V0IHRoZSBzb3VyY2UgY29kZSBhZ2Fp + buKAiuKAlOKAinVubGVzcywgb2YgY291cnNlLCB3ZSBuZWVkIHRvIHJlY29t + cGlsZS48L3A+PHA+VGhpcyBjYW4gb2Z0ZW4gbWFrZSBhIGNvbXBpbGVyIHRo + ZSDigJxzYWZlcuKAnSBjaG9pY2UsIGJlY2F1c2Ugb3VyIHNvdXJjZSBjb2Rl + IGlzIG5vdCBleHBvc2VkOyByYXRoZXIsIHRoZSBvbmx5IG91dHB1dCBpcyB0 + aGUgZXhlY3V0YWJsZSBmaWxlIGl0c2VsZiwgd2hpY2ggaXMganVzdCAx4oCZ + cyBhbmQgMOKAmXMsIGFuZCBkb2VzbuKAmXQgZXZlciBzaG93IGFueW9uZSA8 + ZW0+aG93PC9lbT4gd2Ugd3JvdGUgb3VyIGNvZGUgb3Igd2hhdCBpdCBhY3R1 + YWxseSBldmVyIDxlbT5zYWlkPC9lbT4sIHNpbmNlIGl04oCZcyBhbGwgbWFj + aGluZSBsYW5ndWFnZSBhdCB0aGF0wqBwb2ludC48L3A+PGJsb2NrcXVvdGU+ + Q29tcGlsYXRpb24gYW5kIGludGVycHJldGF0aW9uIHBsYXkgaW50byBvdXIg + cm9sZXMgbm90IGp1c3QgYXMgZGV2ZWxvcGVycyBvZiBzb2Z0d2FyZSwgYnV0 + IGFsc28gYXMgY29uc3VtZXJzIG9mwqBpdC48L2Jsb2NrcXVvdGU+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSpHX01LVG5SZXZOUGtOVmVoN1h1OGh3LmpwZWci + IC8+PGZpZ2NhcHRpb24+VGhlIGVhc3kgYW5kIHNwZWVkIG9mIGNvbXBpbGF0 + aW9uLCBpbsKgYWN0aW9uLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Gb3Ig + ZXhhbXBsZSwgd2hlbmV2ZXIgd2UgZG93bmxvYWQgYSBmaWxlLCBvciBydW4g + YSBwcm9ncmFtIGZyb20gYW7CoC5leGUgZmlsZSwgd2XigJlyZSByZWx5aW5n + IG9uIHRoZSBjcmVhdG9ycyBvZiBzb21lIHNvZnR3YXJlIHRvIGhhdmUgY29t + cGlsZWQgYW4gZXhlY3V0YWJsZSBmb3LCoHVzLjwvcD48cD5Vc2luZyBjb21w + aWxhdGlvbiwgd2UgY2FuIGVhc2lseSBkaXN0cmlidXRlIGEgcHJvZ3JhbSBh + cyBhbiBleGVjdXRhYmxlIGZpbGUuIFRoaXMgd2lsbCBhbGxvdyBzb21lb25l + IGVsc2UgdG8gcnVuIHRoZSBleGFjdCBzYW1lIGNvZGUgYXMgdXMsIGJ1dCB3 + aXRob3V0IGV2ZXIgYWN0dWFsbHkgc2hvd2luZyB0aGVtIG9yIGdpdmluZyB0 + aGVtIG91ciBsaXRlcmFsIGNvZGUgaXRzZWxmLiBBIGNvbnN1bWVyIG9mIGEg + Y29tcGlsZWQgZmlsZSBuZXZlciBuZWVkcyB0byBzZWUgYSBzb3VyY2UgdGV4 + dCwgYmVjYXVzZSB0aGV5IGNhbiBzaW1wbHkgYmUgZ2l2ZW4gYW4gZXhlY3V0 + YWJsZSBmaWxlIHRvIHJ1biBvbiB0aGVpciBvd24sIGxvY2FswqBtYWNoaW5l + LjwvcD48cD5Ib3dldmVyLCB0aGUgaXNzdWUgd2l0aCBkaXN0cmlidXRpbmcg + YSBjb21waWxlZCBmaWxlIGlzIGNyZWF0aW5nIGZpbGVzIHRoYXQgYXJlIGNv + bXBhdGlibGUgb24gZGlmZmVyZW50IHBsYXRmb3JtcyAobGlrZSBhIFdpbmRv + d3Mgb3BlcmF0aW5nIHN5c3RlbSB2ZXJzdXMgT1MgWCkuIEFzIHByb2dyYW1t + ZXJzLCBpdOKAmXMgb3VyIGpvYiB0byBtYWtlIHN1cmUgb3VyIGNvbXBpbGVk + IGV4ZWN1dGFibGVzIHJ1biBzdWNjZXNzZnVsbHkgb24gdmFyaW91cyBwbGF0 + Zm9ybXMsIGFuZCBzb21ldGltZXMsIHRoaXMgbWVhbnMgcmVjb21waWxpbmcg + b3VywqBjb2RlITwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnJxcnFzZDJf + U1pBcHViQ3VsRjBqd2cuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgZWZmaWNp + ZW5jeSBhbmQgYmVuZWZpdHMgb2YgaW50ZXJwcmV0YXRpb24sIGluwqBhY3Rp + b24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk9uIHRoZSBvdGhlciBoYW5k + LCB3aGVuIHdlIHVzZSBpbnRlcnByZXRhdGlvbiwgd2UgY2FuIGRpc3RyaWJ1 + dGUgb3VyIHNvdXJjZSBjb2RlIGRpcmVjdGx5LCByYXRoZXIgdGhhbiB3b3Jy + eWluZyBhYm91dCBwbGF0Zm9ybS1zcGVjaWZpYyBleGVjdXRhYmxlcywgb3Ig + dGhpbmtpbmcgYWJvdXQgaG93IHdl4oCZbGwgZ28gYWJvdXQgY29tcGlsaW5n + IGJpbmFyaWVzIGZvciBldmVyeW9uZSB0b8KgdXNlLjwvcD48cD5Ib3dldmVy + LCBpbiB0aGlzIGNhc2UsIHdl4oCZbGwgbmVlZCB0aGUgY29uc3VtZXIgb2Yg + b3VyIHByb2dyYW0gdG8gZG93bmxvYWQgYW4gaW50ZXJwcmV0ZXLigIrigJTi + gIp3aGljaCBvZnRlbiBhY3R1YWxseSBqdXN0IGNvbWVzIGFsb25nIHdpdGgg + YSBsYW5ndWFnZeKAiuKAlOKAimFuZCBiZSBzdXJlIHRoYXQgdGhlIGludGVy + cHJldGVyIGV4aXN0cyBvbiB0aGVpciBtYWNoaW5lKHMpLiBPbmNlIHRoZXkg + aGF2ZSB0aGUgaW50ZXJwcmV0ZXIsIHRoZXkgY2FuIHNlZSBvdXIgb3JpZ2lu + YWwgc291cmNlIGNvZGUsIHRha2UgdGhhdCBjb2RlLCBhbmQgdGhlbiByZWx5 + IG9uIHRoZWlyIG93biB2ZXJzaW9uIG9mIHRoZSBpbnRlcnByZXRlciB0byBy + dW4gaXTCoGxvY2FsbHkuPC9wPjxwPkluIHRoaXMgc2NlbmFyaW8sIHdlIHJl + bHkgb24gdGhlIGludGVycHJldGVyIHRvIG1ha2UgdGhlIGNvbXBhdGlibGUg + b24gYWxsIHBsYXRmb3JtcywgYW5kIHdlLCBhcyBwcm9ncmFtbWVycyBhbmQg + Y29uc3VtZXJzLCBkb27igJl0IG5lZWQgdG8gdGhpbmsgYWJvdXQgaXQuIEFs + c28sIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIChlaXRoZXIgc29tZXRoaW5n + IGluIHRoZSBzb3VyY2UgdGhhdCB3ZSB3cm90ZSwgb3Igc29tZXRoaW5nIHJl + bGF0aW5nIHRvIHRoZWlyIG93biBwbGF0Zm9ybSksIHRoZSBjb25zdW1lciBv + ZiBvdXIgY29kZSBjYW4gZmlndXJlIG91dCB3aGF0IHRoZSBpc3N1ZSBpcyBt + dWNoIG1vcmUgZWFzaWx5IHRoYW4gd2l0aCBhIGNvbXBpbGVkIGZpbGUuIFRo + ZSBpbnRlcnByZXRlciB3aWxsIG1ha2UgaXQgZWFzeSB0byBkZWJ1ZyBhbnkg + cHJvYmxlbXMsIHJlZ2FyZGxlc3Mgb2Ygd2hvIGlzIHJ1bm5pbmcgb3VywqBj + b2RlLjwvcD48cD5CdXQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB3ZSBjaG9v + c2UgY29tcGlsYXRpb24gb3IgaW50ZXJwcmV0YXRpb24sIHRoZSBlbmQgZ29h + bCBpcyB0aGUgc2FtZTogdG8gc3BlYWsgYSBsYW5ndWFnZSB0aGF0IG91ciBj + b21wdXRlcnMgY2FuIHVuZGVyc3RhbmQhIEFzIGl0IHR1cm5zIG91dCwgYXQg + dGhlIGVuZCBvZiB0aGUgZGF5LCBpdCByZWFsbHkganVzdCBhbGwgPGVtPmlz + PC9lbT7CoGJpbmFyeS48L3A+PGgzPlJlc291cmNlczwvaDM+PHA+QmVjYXVz + ZSBib3RoIGludGVycHJldGVycyBhbmQgY29tcGlsZXJzIGhhdmUgYmVlbiBh + cm91bmQgZm9yIG1hbnkgeWVhcnMgbm93LCB0aGVyZSBhcmUgYSBnb29kIGFt + b3VudCBvZiByZXNvdXJjZXMgb3V0IHRoZXJlIG9uIGJvdGggb2YgdGhlc2Ug + dHlwZXMgb2YgdHJhbnNsYXRvcnMuIEZyb20gYW4gaW1wbGVtZW50YXRpb24g + cGVyc3BlY3RpdmUsIHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBhcHByb2Fj + aGVzIHRvIHdyaXRpbmcgYSBjb21waWxlciB2ZXJzdXMgYW4gaW50ZXJwcmV0 + ZXIuIEJ1dCwgaWYgeW914oCZcmUgbG9va2luZyB0byBzaW1wbHkgbGVhcm4g + bW9yZSBvciBkaWcgYSBsaXR0bGUgZGVlcGVyLCB0aGVzZSByZXNvdXJjZXMg + YXJlIGEgZ29vZCBwbGFjZSB0b8Kgc3RhcnQuPC9wPjxvbD48bGk+PGEgaHJl + Zj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1fQzVBSGFTMW1P + QSI+SW50ZXJwcmV0ZXJzIGFuZCBDb21waWxlcnMgKEJpdHMgYW5kIEJ5dGVz + LCBFcGlzb2RlIDYpPC9hPiwgQml0cyBhbmQgQnl0ZXPCoFRWTzwvbGk+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vdG9tYXNzZXR0aS5tZS9kaWZmZXJlbmNlLWJl + dHdlZW4tY29tcGlsZXItaW50ZXJwcmV0ZXIvIj5UaGUgZGlmZmVyZW5jZSBi + ZXR3ZWVuIGEgY29tcGlsZXIgYW5kIGFuIGludGVycHJldGVyPC9hPiwgR2Fi + cmllbGUgVG9tYXNzZXR0aTwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3 + LnlvdXR1YmUuY29tL3dhdGNoP3Y9Sk5NeTk2OVNqeVUiPkNvbXBpbGF0aW9u + IHZzIEludGVycHJldGF0aW9uPC9hPiwgQm9nZXlzRGV2VGlwczwvbGk+PGxp + PjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MU91 + a3BEZnN1WEUiPk1hY2hpbmUgQ29kZSBhbmQgSGlnaCBsZXZlbCBMYW5ndWFn + ZXMgVXNpbmcgSW50ZXJwcmV0ZXJzIGFuZCBDb21waWxlcnM8L2E+LCBCYW5j + aG9yeSBBY2FkZW15IENvbXB1dGluZyBTY2llbmNlPC9saT48bGk+PGEgaHJl + Zj0iaHR0cDovL3d3dzIuaGF3YWlpLmVkdS9+dGFrZWJheWEvaWNzMTExL3By + b2Nlc3Nfb2ZfcHJvZ3JhbW1pbmcvcHJvY2Vzc19vZl9wcm9ncmFtbWluZy5o + dG1sIj5UaGUgUHJvZ3JhbW1pbmcgUHJvY2VzczwvYT4sIFByb2Zlc3NvciBW + ZXJuIFRha2ViYXlhc2hpPC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy8y + NTE0MzEvd2h5LXdhcy10aGUtZmlyc3QtY29tcGlsZXItd3JpdHRlbi1iZWZv + cmUtdGhlLWZpcnN0LWludGVycHJldGVyIj5XaHkgd2FzIHRoZSBmaXJzdCBj + b21waWxlciB3cml0dGVuIGJlZm9yZSB0aGUgZmlyc3QgaW50ZXJwcmV0ZXI/ + PC9hPiwgU3RhY2tPdmVyZmxvdzwvbGk+PC9vbD48aW1nIHNyYz0iaHR0cHM6 + Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVudD1wb3N0LmNsaWVudFZpZXdlZCZy + ZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZwb3N0SWQ9ZDk4OTUyZWJjODQyIiB3 + aWR0aD0iMSIgaGVpZ2h0PSIxIj48aHI+PHA+PGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9hLWRlZXBlci1pbnNwZWN0aW9uLWludG8tY29t + cGlsYXRpb24tYW5kLWludGVycHJldGF0aW9uLWQ5ODk1MmViYzg0MiI+QSBE + ZWVwZXIgSW5zcGVjdGlvbiBJbnRvIENvbXBpbGF0aW9uIEFuZCBJbnRlcnBy + ZXRhdGlvbjwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVkIGluIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2VjczwvYT4gb24g + TWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZl + cnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhp + cyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9p + dGVtPgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RB + VEFbTGV2ZWxpbmcgVXAgT25l4oCZcyBQYXJzaW5nIEdhbWUgV2l0aCBBU1Rz + XV0+PC90aXRsZT4KICAgICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9sZXZlbGluZy11cC1vbmVzLXBhcnNpbmctZ2FtZS13aXRo + LWFzdHMtZDdhNmZjMjQwMGZmP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0t + LS0tMjwvbGluaz4KICAgICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZh + bHNlIj5odHRwczovL21lZGl1bS5jb20vcC9kN2E2ZmMyNDAwZmY8L2d1aWQ+ + CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtjb21waWxlcnNdXT48 + L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29t + cHV0ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRl + Z29yeT48IVtDREFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAg + ICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVthc3RdXT48L2NhdGVnb3J5Pgog + ICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbZGF0YS1zdHJ1Y3R1cmVz + XV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+PCFbQ0RB + VEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAgICAgICAg + PHB1YkRhdGU+VHVlLCAwNSBEZWMgMjAxNyAwMzo1OTozMSBHTVQ8L3B1YkRh + dGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMi0wNVQwMzo1 + OTozMS4wODhaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0 + dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpreHFO + dEtOYV9Zek1wejFhYWh2SlVRLmpwZWciIC8+PGZpZ2NhcHRpb24+TGV2ZWxp + bmcgdXAgb25l4oCZcyBwYXJzaW5nIGdhbWUgd2l0aMKgQVNUcyE8L2ZpZ2Nh + cHRpb24+PC9maWd1cmU+PHA+QmVmb3JlIEkgc3RhcnRlZCBvbiB0aGlzIGpv + dXJuZXkgb2YgdHJ5aW5nIHRvIGxlYXJuIGNvbXB1dGVyIHNjaWVuY2UsIHRo + ZXJlIHdlcmUgY2VydGFpbiB0ZXJtcyBhbmQgcGhyYXNlcyB0aGF0IG1hZGUg + bWUgd2FudCB0byBydW4gdGhlIG90aGVyIGRpcmVjdGlvbi48L3A+PHA+QnV0 + IGluc3RlYWQgb2YgcnVubmluZywgSSBmZWlnbmVkIGtub3dsZWRnZSBvZiBp + dCwgbm9kZGluZyBhbG9uZyBpbiBjb252ZXJzYXRpb25zLCBwcmV0ZW5kaW5n + IGxpa2UgSSBrbmV3IHdoYXQgc29tZW9uZSB3YXMgcmVmZXJlbmNpbmcgZXZl + biB0aG91Z2ggdGhlIHRydXRoIHdhcyB0aGF0IEkgaGFkIG5vIGlkZWEgYW5k + IGhhZCBhY3R1YWxseSBzdG9wcGVkIGxpc3RlbmluZyBlbnRpcmVseSB3aGVu + IEkgaGVhcmQgVGhhdCBTdXBlciBTY2FyeSBDb21wdXRlciBTY2llbmNlIFRl + cm3ihKIuIFRocm91Z2hvdXQgdGhlIGNvdXJzZSBvZiB0aGlzIHNlcmllcywg + SeKAmXZlIG1hbmFnZWQgdG8gY292ZXIgYSBsb3Qgb2YgZ3JvdW5kIGFuZCBt + YW55IG9mIHRob3NlIHRlcm1zIGhhdmUgYWN0dWFsbHkgYmVjb21lIGEgd2hv + bGUgbG90IGxlc3PCoHNjYXJ5ITwvcD48cD5UaGVyZSBpcyBvbmUgYmlnIG9u + ZSwgdGhvdWdoLCB0aGF0IEnigJl2ZSBiZWVuIGF2b2lkaW5nIGZvciBhd2hp + bGUuIFVwIHVudGlsIG5vdywgd2hlbmV2ZXIgSSBoYWQgaGVhcmQgdGhpcyB0 + ZXJtLCBJIGZlbHQgcGFyYWx5emVkLiBJdCBoYXMgY29tZSB1cCBpbiBjYXN1 + YWwgY29udmVyc2F0aW9uIGF0IG1lZXQgdXBzIGFuZCBzb21ldGltZXMgaW4g + Y29uZmVyZW5jZSB0YWxrcy4gRXZlcnkgc2luZ2xlIHRpbWUsIEkgdGhpbmsg + b2YgbWFjaGluZXMgc3Bpbm5pbmcgYW5kIGNvbXB1dGVycyBzcGl0dGluZyBv + dXQgc3RyaW5ncyBvZiBjb2RlIHRoYXQgYXJlIGluZGVjaXBoZXJhYmxlIGV4 + Y2VwdCB0aGF0IGV2ZXJ5b25lIGVsc2UgYXJvdW5kIG1lIDxlbT5jYW48L2Vt + PiA8ZW0+YWN0dWFsbHk8L2VtPiA8ZW0+ZGVjaXBoZXI8L2VtPiA8ZW0+dGhl + bTwvZW0+IHNvIGl04oCZcyBhY3R1YWxseSBqdXN0IG1lIHdobyBkb2VzbuKA + mXQga25vdyB3aGF04oCZcyBnb2luZyBvbiAod2hvb3BzIGhvdyBkaWQgdGhp + cyBoYXBwZW4/ISkuPC9wPjxwPlBlcmhhcHMgSeKAmW0gbm90IHRoZSBvbmx5 + IG9uZSB3aG8gaGFzIGZlbHQgdGhhdCB3YXkuIEJ1dCwgSSBzdXBwb3NlIEkg + c2hvdWxkIHRlbGwgeW91IHdoYXQgdGhpcyB0ZXJtIGFjdHVhbGx5IGlzLCBy + aWdodD8gV2VsbCwgZ2V0IHJlYWR5LCBiZWNhdXNlIEnigJltIHJlZmVycmlu + ZyB0byBldmVyLWVsdXNpdmUgYW5kIHNlZW1pbmdseSBjb25mdXNpbmcgPGVt + PmFic3RyYWN0IHN5bnRheCB0cmVlPC9lbT4sIG9yIDxlbT5BU1Q8L2VtPiBm + b3Igc2hvcnQuIEFmdGVyIG1hbnkgeWVhcnMgb2YgYmVpbmcgaW50aW1pZGF0 + ZWQsIEnigJltIGV4Y2l0ZWQgdG8gZmluYWxseSBzdG9wIGJlaW5nIGFmcmFp + ZCBvZiB0aGlzIHRlcm0gYW5kIHRydWx5IHVuZGVyc3RhbmQgd2hhdCBvbiBl + YXJ0aCBpdMKgaXMuPC9wPjxwPkl04oCZcyB0aW1lIHRvIGZhY2UgdGhlIHJv + b3Qgb2YgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGhlYWQgb27igIrigJTi + gIphbmQgbGV2ZWwgdXAgb3VyIHBhcnNpbmfCoGdhbWUhPC9wPjxoMz5Gcm9t + IGNvbmNyZXRlIHRvwqBhYnN0cmFjdDwvaDM+PHA+RXZlcnkgZ29vZCBxdWVz + dCBzdGFydHMgd2l0aCBhIHNvbGlkIGZvdW5kYXRpb24sIGFuZCBvdXIgbWlz + c2lvbiB0byBkZW15c3RpZnkgdGhpcyBzdHJ1Y3R1cmUgc2hvdWxkIGJlZ2lu + IGluIHRoZSBleGFjdCBzYW1lIHdheTogd2l0aCBhIGRlZmluaXRpb24sIG9m + wqBjb3Vyc2UhPC9wPjxwPkFuPHN0cm9uZz48ZW0+IGFic3RyYWN0IHN5bnRh + eCB0cmVlPC9lbT48L3N0cm9uZz4gKHVzdWFsbHkganVzdCByZWZlcnJlZCB0 + byBhcyBhbiA8c3Ryb25nPjxlbT5BU1Q8L2VtPjwvc3Ryb25nPikgaXMgcmVh + bGx5IG5vdGhpbmcgbW9yZSB0aGFuIGEgc2ltcGxpZmllZCwgY29uZGVuc2Vk + IHZlcnNpb24gb2YgYSBwYXJzZSB0cmVlLiBJbiB0aGUgY29udGV4dCBvZiBj + b21waWxlciBkZXNpZ24sIHRoZSB0ZXJtIOKAnDxlbT5BU1TigJ08L2VtPiBp + cyB1c2VkIGludGVyY2hhbmdlYWJseSB3aXRoIDxzdHJvbmc+PGVtPnN5bnRh + eMKgdHJlZTwvZW0+PC9zdHJvbmc+LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKm1oSWJ4eGxyMWh5dlVlbUFNTWVOQ3cuanBlZyIgLz48ZmlnY2FwdGlv + bj5BYnN0cmFjdCBzeW50YXggdHJlZTogYSBkZWZpbml0aW9uPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPldlIG9mdGVuIHRoaW5rIGFib3V0IHN5bnRheCB0 + cmVlcyAoYW5kIGhvdyB0aGV5IGFyZSBjb25zdHJ1Y3RlZCkgaW4gY29tcGFy + aXNvbiB0byB0aGVpciBwYXJzZSB0cmVlIGNvdW50ZXJwYXJ0cywgd2hpY2gg + PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ncmFtbWF0aWNh + bGx5LXJvb3Rpbmctb25lc2VsZi13aXRoLXBhcnNlLXRyZWVzLWVjOWRhZWRh + N2RhZCI+d2XigJlyZSBhbHJlYWR5IHByZXR0eSBmYW1pbGlhciB3aXRoPC9h + Pi4gV2Uga25vdyB0aGF0IDxlbT5wYXJzZSB0cmVlcyA8L2VtPmFyZSB0cmVl + IGRhdGEgc3RydWN0dXJlcyB0aGF0IGNvbnRhaW4gdGhlIGdyYW1tYXRpY2Fs + IHN0cnVjdHVyZSBvZiBvdXIgY29kZTsgaW4gb3RoZXIgd29yZHMsIHRoZXkg + Y29udGFpbiBhbGwgdGhlIHN5bnRhY3RpYyBpbmZvcm1hdGlvbiB0aGF0IGFw + cGVhcnMgaW4gYSBjb2RlIOKAnHNlbnRlbmNl4oCdLCBhbmQgaXMgZGVyaXZl + ZCBkaXJlY3RseSBmcm9tIHRoZSBncmFtbWFyIG9mIHRoZSBwcm9ncmFtbWlu + ZyBsYW5ndWFnZcKgaXRzZWxmLjwvcD48cD5BIDxlbT5hYnN0cmFjdCBzeW50 + YXggdHJlZTwvZW0+LCBvbiB0aGUgb3RoZXIgaGFuZCwgaWdub3JlcyBhIHNp + Z25pZmljYW50IGFtb3VudCBvZiB0aGUgc3ludGF0aWMgaW5mb3JtYXRpb24g + dGhhdCBhIHBhcnNlIHRyZWUgd291bGQgb3RoZXJ3aXNlIGNvbnRhaW4uPC9w + PjxibG9ja3F1b3RlPkJ5IGNvbnRyYXN0LCBhbiBBU1Qgb25seSBjb250YWlu + cyB0aGUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBhbmFseXppbmcgdGhlIHNv + dXJjZSB0ZXh0LCBhbmQgc2tpcHMgYW55IG90aGVyIGV4dHJhIGNvbnRlbnQg + dGhhdCBpcyB1c2VkIHdoaWxlIHBhcnNpbmcgdGhlwqB0ZXh0LjwvYmxvY2tx + dW90ZT48cD5UaGlzIGRpc3RpbmN0aW9uIHN0YXJ0cyB0byBtYWtlIGEgd2hv + bGUgbG90IG1vcmUgc2Vuc2UgaWYgd2UgZm9jdXMgaW4gb24gdGhlIOKAnGFi + c3RyYWN0bmVzc+KAnSBvZiBhbsKgQVNULjwvcD48cD5XZeKAmWxsIHJlY2Fs + bCB0aGF0IGEgPHN0cm9uZz48ZW0+cGFyc2UgdHJlZTwvZW0+PC9zdHJvbmc+ + IGlzIGFuIGlsbHVzdHJhdGVkLCBwaWN0b3JpYWwgdmVyc2lvbiBvZiB0aGUg + Z3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIGEgc2VudGVuY2UuIEluIG90aGVy + IHdvcmRzLCB3ZSBjYW4gc2F5IHRoYXQgYSBwYXJzZSB0cmVlIHJlcHJlc2Vu + dHMgZXhhY3RseSB3aGF0IGFuIGV4cHJlc3Npb24sIHNlbnRlbmNlLCBvciB0 + ZXh0IGxvb2tzIGxpa2UuIEl04oCZcyBiYXNpY2FsbHkgYSBkaXJlY3QgdHJh + bnNsYXRpb24gb2YgdGhlIHRleHQgaXRzZWxmOyB3ZSB0YWtlIHRoZSBzZW50 + ZW5jZSBhbmQgdHVybiBldmVyeSBsaXR0bGUgcGllY2Ugb2YgaXTigIrigJTi + gIpmcm9tIHRoZSBwdW5jdHVhdGlvbiB0byB0aGUgZXhwcmVzc2lvbnMgdG8g + dGhlIHRva2Vuc+KAiuKAlOKAimludG8gYSB0cmVlIGRhdGEgc3RydWN0dXJl + LiBJdCByZXZlYWxzIHRoZSBjb25jcmV0ZSBzeW50YXggb2YgYSB0ZXh0LCB3 + aGljaCBpcyB3aHkgaXQgaXMgYWxzbyByZWZlcnJlZCB0byBhcyBhIDxzdHJv + bmc+PGVtPmNvbmNyZXRlIHN5bnRheCB0cmVlPC9lbT48L3N0cm9uZz4sIG9y + IDxzdHJvbmc+PGVtPkNTVDwvZW0+PC9zdHJvbmc+LiBXZSB1c2UgdGhlIHRl + cm0gY29uY3JldGUgdG8gZGVzY3JpYmUgdGhpcyBzdHJ1Y3R1cmUgYmVjYXVz + ZSBpdOKAmXMgYSBncmFtbWF0aWNhbCBjb3B5IG9mIG91ciBjb2RlLCB0b2tl + biBieSB0b2tlbiwgaW4gdHJlZcKgZm9ybWF0LjwvcD48cD5CdXQgd2hhdCBt + YWtlcyBzb21ldGhpbmcgY29uY3JldGUgdmVyc3VzIGFic3RyYWN0PyBXZWxs + LCBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSBkb2VzbuKAmXQgc2hvdyB1cyA8 + ZW0+ZXhhY3RseTwvZW0+IHdoYXQgYW4gZXhwcmVzc2lvbiBsb29rcyBsaWtl + LCB0aGUgd2F5IHRoYXQgYSBwYXJzZSB0cmVlwqBkb2VzLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKk9PSHUzNWs2aXZrOGYzczNDTV9ZUmcuanBlZyIg + Lz48ZmlnY2FwdGlvbj5Db25jcmV0ZSB2ZXJzdXMgYWJzdHJhY3Qgc3ludGF4 + wqB0cmVlczwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5SYXRoZXIsIGFuIGFi + c3RyYWN0IHN5bnRheCB0cmVlIHNob3dzIHVzIHRoZSDigJxpbXBvcnRhbnTi + gJ0gYml0c+KAiuKAlOKAinRoZSB0aGluZ3MgdGhhdCB3ZSByZWFsbHkgY2Fy + ZSBhYm91dCwgd2hpY2ggZ2l2ZSBtZWFuaW5nIHRvIG91ciBjb2RlIOKAnHNl + bnRlbmNl4oCdIGl0c2VsZi4gU3ludGF4IHRyZWVzIHNob3cgdXMgdGhlIHNp + Z25pZmljYW50IHBpZWNlcyBvZiBhbiBleHByZXNzaW9uLCBvciB0aGUgPGVt + PmFic3RyYWN0ZWQ8L2VtPiBzeW50YXggb2Ygb3VyIHNvdXJjZSB0ZXh0LiBI + ZW5jZSwgaW4gY29tcGFyaXNvbiB0byBjb25jcmV0ZSBzeW50YXggdHJlc3Ms + IHRoZXNlIHN0cnVjdHVyZXMgYXJlIGFyZSBhYnN0cmFjdCByZXByZXNlbnRh + dGlvbnMgb2Ygb3VyIGNvZGUgKGFuZCBpbiBzb21lIHdheXMsIGxlc3MgZXhh + Y3QpLCB3aGljaCBpcyBleGFjdGx5IGhvdyB0aGV5IGdvdCB0aGVpcsKgbmFt + ZS48L3A+PHA+Tm93IHRoYXQgd2UgdW5kZXJzdGFuZCB0aGUgZGlzdGluY3Rp + b24gYmV0d2VlbiB0aGVzZSB0d28gZGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUg + ZGlmZmVyZW50IHdheXMgdGhhdCB0aGV5IGNhbiByZXByZXNlbnQgb3VyIGNv + ZGUsIGl04oCZcyB3b3J0aCBhc2tpbmcgdGhlIHF1ZXN0aW9uOiB3aGVyZSBk + b2VzIGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGZpdCBpbnRvIHRoZSBjb21w + aWxlcj8gRmlyc3QsIGxldOKAmXMgcmVtaW5kIG91cnNlbHZlcyBvZiBldmVy + eXRoaW5nIHRoYXQgd2Uga25vdyBhYm91dCB0aGUgY29tcGlsYXRpb24gcHJv + Y2VzcyBhcyB3ZSBrbm93IGl0IHNvwqBmYXIuPC9wPjxmaWd1cmU+PGltZyBh + bHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21h + eC8xMDI0LzEqMldZejZ3NDcwYU15bVd6bVFLWUxIUS5qcGVnIiAvPjxmaWdj + YXB0aW9uPlJldmlzaXRpbmcgdGhlIGV2ZW50cyBsZWFkaW5nIHVwIHRvwqBw + YXJzaW5nITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5MZXTigJlzIHNheSB3 + ZSBoYXZlIGEgc3VwZXIgc2hvcnQgYW5kIHN3ZWV0IHNvdXJjZSB0ZXh0LCB3 + aGljaCBsb29rcyBsaWtlIHRoaXM6IDUgKyAoMSB4wqAxMikuPC9wPjxwPldl + 4oCZbGwgcmVjYWxsIHRoYXQgdGhlIGZpcnN0IHRoaW5nIHRoYXQgaGFwcGVu + cyBpbiB0aGUgY29tcGlsYXRpb24gcHJvY2VzcyBpcyB0aGUgPGVtPnNjYW5u + aW5nPC9lbT4gb2YgdGhlIHRleHQsIGEgam9iIHBlcmZvcm1lZCBieSB0aGUg + PGVtPnNjYW5uZXI8L2VtPiwgd2hpY2ggcmVzdWx0cyBpbiB0aGUgdGV4dCBi + ZWluZyBicm9rZW4gdXAgaW50byBpdHMgc21hbGxlc3QgcG9zc2libGUgcGFy + dHMsIHdoaWNoIGFyZSBjYWxsZWQgPGVtPmxleGVtZXM8L2VtPi4gVGhpcyBw + YXJ0IHdpbGwgYmUgbGFuZ3VhZ2UgYWdub3N0aWMsIGFuZCB3ZeKAmWxsIGVu + ZCB1cCB3aXRoIHRoZSBzdHJpcHBlZC1vdXQgdmVyc2lvbiBvZiBvdXIgc291 + cmNlwqB0ZXh0LjwvcD48cD5OZXh0LCB0aGVzZSB2ZXJ5IGxleGVtZXMgYXJl + IHBhc3NlZCBvbiB0byB0aGUgbGV4ZXIvdG9rZW5pemVyLCB3aGljaCB0dXJu + cyB0aG9zZSBzbWFsbCByZXByZXNlbnRhdGlvbnMgb2Ygb3VyIHNvdXJjZSB0 + ZXh0IGludG8gPGVtPnRva2VuczwvZW0+LCB3aGljaCB3aWxsIGJlIHNwZWNp + ZmljIHRvIG91ciBsYW5ndWFnZS4gT3VyIHRva2VucyB3aWxsIGxvb2sgc29t + ZXRoaW5nIGxpa2UgdGhpczogWzUsICssICgsIDEsIHgsIDEyLCApXS4gVGhl + IGpvaW50IGVmZm9ydCBvZiB0aGUgc2Nhbm5lciBhbmQgdGhlIHRva2VuaXpl + ciBtYWtlIHVwIHRoZSA8ZW0+bGV4aWNhbCBhbmFseXNpczwvZW0+IG9mIGNv + bXBpbGF0aW9uLjwvcD48cD5UaGVuLCBvbmNlIG91ciBpbnB1dCBoYXMgYmVl + biB0b2tlbml6ZWQsIGl0cyByZXN1bHRpbmcgdG9rZW5zIGFyZSBpcyBwYXNz + ZWQgYWxvbmcgdG8gb3VyIHBhcnNlciwgd2hpY2ggdGhlbiB0YWtlcyB0aGUg + c291cmNlIHRleHQgYW5kIGJ1aWxkcyBhIHBhcnNlIHRyZWUgb3V0IG9mIGl0 + LiBUaGUgaWxsdXN0cmF0aW9uIGJlbG93IGV4ZW1wbGlmaWVzIHdoYXQgb3Vy + IHRva2VuaXplZCBjb2RlIGxvb2tzIGxpa2UsIGluIHBhcnNlIHRyZWXCoGZv + cm1hdC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2Ru + LWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpoeTBOalE0cGU0NHlz + YlVfZUtGYVhnLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIHN5bnRheCBhbmFs + eXNpcyBwaGFzZSBnZW5lcmF0ZXMgdGhlIHBhcnNlwqB0cmVlPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlRoZSB3b3JrIG9mIHR1cm5pbmcgdG9rZW5zIGlu + dG8gYSBwYXJzZSB0cmVlIGlzIGFsc28gY2FsbGVkIHBhcnNpbmcsIGFuZCBp + cyBrbm93biBhcyB0aGUgPGVtPnN5bnRheCBhbmFseXNpczwvZW0+IHBoYXNl + LiBUaGUgc3ludGF4IGFuYWx5c2lzIHBoYXNlIGRlcGVuZHMgZGlyZWN0bHkg + b24gdGhlIGxleGljYWwgYW5hbHlzaXMgcGhhc2U7IHRodXMsIGxleGljYWwg + YW5hbHlzaXMgbXVzdCBhbHdheXMgY29tZSBmaXJzdCBpbiB0aGUgY29tcGls + YXRpb24gcHJvY2VzcywgYmVjYXVzZSBvdXIgY29tcGlsZXLigJlzIHBhcnNl + ciBjYW4gb25seSBkbyBpdHMgam9iIG9uY2UgdGhlIHRva2VuaXplciBkb2Vz + IGl04oCZc8Kgam9iITwvcD48YmxvY2txdW90ZT5XZSBjYW4gdGhpbmsgb2Yg + dGhlIHBhcnRzIG9mIHRoZSBjb21waWxlciBhcyBnb29kIGZyaWVuZHMsIHdo + byBhbGwgZGVwZW5kIG9uIGVhY2ggb3RoZXIgdG8gbWFrZSBzdXJlIHRoYXQg + b3VyIGNvZGUgaXMgY29ycmVjdGx5IHRyYW5zZm9ybWVkIGZyb20gYSB0ZXh0 + IG9yIGZpbGUgaW50byBhIHBhcnNlwqB0cmVlLjwvYmxvY2txdW90ZT48cD5C + dXQgYmFjayB0byBvdXIgb3JpZ2luYWwgcXVlc3Rpb246IHdoZXJlIGRvZXMg + dGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGZpdCBpbnRvIHRoaXMgZnJpZW5k + IGdyb3VwPyBXZWxsLCBpbiBvcmRlciB0byBhbnN3ZXIgdGhhdCBxdWVzdGlv + biwgaXQgaGVscHMgdG8gdW5kZXJzdGFuZCB0aGUgPGVtPm5lZWQ8L2VtPiBm + b3IgYW4gQVNUIGluIHRoZSBmaXJzdMKgcGxhY2UuPC9wPjxoMz5Db25kZW5z + aW5nIG9uZSB0cmVlIGludG/CoGFub3RoZXI8L2gzPjxwPk9rYXksIHNvIG5v + dyB3ZSBoYXZlIHR3byB0cmVlcyB0byBrZWVwIHN0cmFpZ2h0IGluIG91ciBo + ZWFkcy4gV2UgYWxyZWFkeSBoYWQgYSBwYXJzZSB0cmVlLCBhbmQgaG93IHRo + ZXJl4oCZcyB5ZXQgYW5vdGhlciBkYXRhIHN0cnVjdHVyZSB0byBsZWFybiEg + QW5kIGFwcGFyZW50bHksIHRoaXMgQVNUIGRhdGEgc3RydWN0dXJlIGlzIGp1 + c3QgYSBzaW1wbGlmaWVkIHBhcnNlIHRyZWUuIFNvLCB3aHkgZG8gd2UgbmVl + ZCBpdD8gV2hhdCBldmVuIGlzIHRoZSBwb2ludCBvZsKgaXQ/PC9wPjxwPldl + bGwsIGxldOKAmXMgdGFrZSBhIGxvb2sgYXQgb3VyIHBhcnNlIHRyZWUsIHNo + YWxswqB3ZT88L3A+PHA+V2UgYWxyZWFkeSBrbm93IHRoYXQgcGFyc2UgdHJl + ZXMgcmVwcmVzZW50IG91ciBwcm9ncmFtIGF0IGl0cyBtb3N0IGRpc3RpbmN0 + IHBhcnRzOyBpbmRlZWQsIHRoaXMgd2FzIHdoeSB0aGUgc2Nhbm5lciBhbmQg + dGhlIHRva2VuaXplciBoYXZlIHN1Y2ggaW1wb3J0YW50IGpvYnMgb2YgYnJl + YWtpbmcgZG93biBvdXIgZXhwcmVzc2lvbiBpbnRvIGl0cyBzbWFsbGVzdMKg + cGFydHMhPC9wPjxibG9ja3F1b3RlPldoYXQgZG9lcyBpdCBtZWFuIHRvIGFj + dHVhbGx5IHJlcHJlc2VudCBhIHByb2dyYW0gYnkgaXRzIG1vc3QgZGlzdGlu + Y3TCoHBhcnRzPzwvYmxvY2txdW90ZT48cD5BcyBpdCB0dXJucyBvdXQsIHNv + bWV0aW1lcyBhbGwgb2YgdGhlIGRpc3RpbmN0IHBhcnRzIG9mIGEgcHJvZ3Jh + bSBhY3R1YWxseSBhcmVu4oCZdCBhbGwgdGhhdCB1c2VmdWwgdG8gdXMgYWxs + IHRoZcKgdGltZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpOTkxLUWRv + a3pYYWIxbnJPT3MtRl93LmpwZWciIC8+PGZpZ2NhcHRpb24+UGFyc2UgdHJl + ZSBjYW4gb2Z0ZW4gYmUgc3VwZXLCoHZlcmJvc2UuPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPkxldOKAmXMgdGFrZSBhIGxvb2sgYXQgdGhlIGlsbHVzdHJh + dGlvbiBzaG93biBoZXJlLCB3aGljaCByZXByZXNlbnRzIG91ciBvcmlnaW5h + bCBleHByZXNzaW9uLCA1ICsgKDEgeCAxMiksIGluIHBhcnNlIHRyZWUgdHJl + ZSBmb3JtYXQuIElmIHdlIHRha2UgYSBjbG9zZSBsb29rIGF0IHRoaXMgdHJl + ZSB3aXRoIGEgY3JpdGljYWwgZXllLCB3ZeKAmWxsIHNlZSB0aGF0IHRoZXJl + IGFyZSBhIGZldyBpbnN0YW5jZXMgd2hlcmUgb25lIG5vZGUgaGFzIGV4YWN0 + bHkgb25lIGNoaWxkLCB3aGljaCBhcmUgYWxzbyByZWZlcnJlZCB0byBhcyA8 + c3Ryb25nPjxlbT5zaW5nbGUtc3VjY2Vzc29yIG5vZGVzPC9lbT48L3N0cm9u + Zz4sIGFzIHRoZXkgb25seSBoYXZlIG9uZSBjaGlsZCBub2RlIHN0ZW1taW5n + IGZyb20gdGhlbSAob3Igb25lIOKAnHN1Y2Nlc3NvcuKAnSkuPC9wPjxwPklu + IHRoZSBjYXNlIG9mIG91ciBwYXJzZSB0cmVlIGV4YW1wbGUsIHRoZSBzaW5n + bGUtc3VjY2Vzc29yIG5vZGVzIGhhdmUgYSBwYXJlbnQgbm9kZSBvZiBhbiBF + eHByZXNzaW9uLCBvciBFeHAsIHdoaWNoIGhhdmUgYSBzaW5nbGUgc3VjY2Vz + c29yIG9mIHNvbWUgdmFsdWUsIHN1Y2ggYXMgNSwgMSwgb3IgMTIuIEhvd2V2 + ZXIsIHRoZSBFeHAgcGFyZW50IG5vZGVzIGhlcmUgYXJlbuKAmXQgYWN0dWFs + bHkgYWRkaW5nIGFueXRoaW5nIG9mIHZhbHVlIHRvIHVzLCBhcmUgdGhleT8g + V2UgY2FuIHNlZSB0aGF0IHRoZXkgY29udGFpbiB0b2tlbi90ZXJtaW5hbCBj + aGlsZCBub2RlcywgYnV0IHdlIGRvbuKAmXQgcmVhbGx5IGNhcmUgYWJvdXQg + dGhlIOKAnGV4cHJlc3Npb27igJ0gcGFyZW50IG5vZGU7IGFsbCB3ZSByZWFs + bHkgd2FudCB0byBrbm93IGlzIHdoYXQ8ZW0+IGlzPC9lbT4gdGhlIGV4cHJl + c3Npb24/PC9wPjxwPlRoZSBwYXJlbnQgbm9kZSBkb2VzbuKAmXQgZ2l2ZSB1 + cyBhbnkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhdCBhbGwgb25jZSB3ZeKA + mXZlIHBhcnNlZCBvdXIgdHJlZS4gSW5zdGVhZCwgd2hhdCB3ZeKAmXJlIHJl + YWxseSBjb25jZXJuZWQgd2l0aCBpcyB0aGUgc2luZ2xlIDxlbT5jaGlsZDwv + ZW0+LCBzaW5nbGUtc3VjY2Vzc29yIG5vZGUuIEluZGVlZCwgdGhhdCBpcyB0 + aGUgbm9kZSB0aGF0IGdpdmVzIHVzIHRoZSBpbXBvcnRhbnQgaW5mb3JtYXRp + b24sIHRoZSBwYXJ0IHRoYXQgaXMgc2lnbmlmaWNhbnQgdG8gdXM6IHRoZSBu + dW1iZXIgYW5kIHZhbHVlIGl0c2VsZiEgQ29uc2lkZXJpbmcgdGhlIGZhY3Qg + dGhhdCB0aGVzZSBwYXJlbnQgbm9kZXMgYXJlIGtpbmQgb2YgdW5uZWNlc3Nh + cnkgdG8gdXMsIGl0IGJlY29tZXMgb2J2aW91cyB0aGF0IHRoaXMgcGFyc2Ug + dHJlZSBpcyBhIGtpbmQgb2bCoHZlcmJvc2UuPC9wPjxwPkFsbCBvZiB0aGVz + ZSBzaW5nbGUtc3VjY2Vzc29yIG5vZGVzIGFyZSBwcmV0dHkgc3VwZXJmbHVv + dXMgdG8gdXMsIGFuZCBkb27igJl0IGhlbHAgdXMgYXQgYWxsLiBTbywgbGV0 + 4oCZcyBnZXQgcmlkIG9mwqB0aGVtITwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKk1lVXdacW5FeG1jc0NCbVN5cjZuUmcuanBlZyIgLz48ZmlnY2FwdGlv + bj5Db21wcmVzc2luZyBhIHBhcnNlIHRyZWUgYWxsb3dzIHVzIHRvIGF2b2lk + IHJlZHVuZGFuY3kuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPklmIHdlIGNv + bXByZXNzIHRoZSBzaW5nbGUtc3VjY2Vzc29yIG5vZGVzIGluIG91ciBwYXJz + ZSB0cmVlLCB3ZeKAmWxsIGVuZCB1cCB3aXRoIGEgbW9yZSBjb21wcmVzc2Vk + IHZlcnNpb24gb2YgdGhlIHNhbWUgZXhhY3Qgc3RydWN0dXJlLiBMb29raW5n + IGF0IHRoZSBpbGx1c3RyYXRpb24gYWJvdmUsIHdl4oCZbGwgc2VlIHRoYXQg + d2XigJlyZSBzdGlsbCBtYWludGFpbmluZyB0aGUgZXhhY3Qgc2FtZSBuZXN0 + aW5nIGFzIGJlZm9yZSwgYW5kIG91ciBub2Rlcy90b2tlbnMvdGVybWluYWxz + IGFyZSBzdGlsbCBhcHBlYXJpbmcgaW4gdGhlIGNvcnJlY3QgcGxhY2Ugd2l0 + aGluIHRoZSB0cmVlLiBCdXQsIHdl4oCZdmUgbWFuYWdlZCB0byBzbGltIGl0 + IGRvd24gYcKgYml0LjwvcD48cD5BbmQgd2UgY2FuIHRyaW0gc29tZSBtb3Jl + IG9mIG91ciB0cmVlLCB0b28uIEZvciBleGFtcGxlLCBpZiB3ZSBsb29rIGF0 + IG91ciBwYXJzZSB0cmVlIGFzIGl0IHN0YW5kcyBhdCB0aGUgbW9tZW50LCB3 + ZeKAmWxsIHNlZSB0aGF0IHRoZXJl4oCZcyBhIG1pcnJvciBzdHJ1Y3R1cmUg + d2l0aGluIGl0LiBUaGUgc3ViLWV4cHJlc3Npb24gb2YgKDEgeCAxMikgaXMg + bmVzdGVkIHdpdGhpbiBwYXJlbnRoZXNlcyAoKSwgd2hpY2ggYXJlIHRva2Vu + cyBieSB0aGVpciBvd27CoHJpZ2h0LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKnpLeHhnWFRHS1RjT0ZvZ3VnaVNmRncuanBlZyIgLz48ZmlnY2FwdGlv + bj5TdXBlcmZsdW91cyBpbmZvcm1hdGlvbiB0aGF0IGlzIG9mIG5vIHVzZSB0 + byB1cyBjYW4gYmUgcmVtb3ZlZCBmcm9tIGEgcGFyc2XCoHRyZWUuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPkhvd2V2ZXIsIHRoZXNlIHBhcmVudGhlc2Vz + IGRvbuKAmXQgcmVhbGx5IGhlbHAgdXMgb25jZSB3ZeKAmXZlIGdvdCBvdXIg + dHJlZSBpbiBwbGFjZS4gV2UgYWxyZWFkeSBrbm93IHRoYXQgMSBhbmQgMTIg + YXJlIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBtdWx0 + aXBsaWNhdGlvbiB4IG9wZXJhdGlvbiwgc28gdGhlIHBhcmVudGhlc2VzIGRv + buKAmXQgdGVsbCB1cyBhbGwgdGhhdCBtdWNoIGF0IHRoaXMgcG9pbnQuIElu + IGZhY3QsIHdlIGNvdWxkIGNvbXByZXNzIG91ciBwYXJzZSB0cmVlIGV2ZW4g + ZnVydGhlciBhbmQgZ2V0IHJpZCBvZiB0aGVzZSBzdXBlcmZsdW91cyBsZWFm + wqBub2Rlcy48L3A+PHA+T25jZSB3ZSBjb21wcmVzcyBhbmQgc2ltcGxpZnkg + b3VyIHBhcnNlIHRyZWUgYW5kIGdldCByaWQgb2YgdGhlIGV4dHJhbmVvdXMg + c3ludGFjdGljIOKAnGR1c3TigJ0sIHdlIGVuZCB1cCB3aXRoIGEgc3RydWN0 + dXJlIHRoYXQgbG9va3MgdmlzaWJseSBkaWZmZXJlbnQgYXQgdGhpcyBwb2lu + dC4gVGhhdCBzdHJ1Y3R1cmUgaXMsIGluIGZhY3QsIG91ciBuZXcgYW5kIG11 + Y2gtYW50aWNpcGF0ZWQgZnJpZW5kOiB0aGUgYWJzdHJhY3Qgc3ludGF4wqB0 + cmVlLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlQwWm84WkxERG0wbTBm + U21ta2o3d0EuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgYWJzdHJhY3Rz + IGF3YXkgZnJvbSB0aGUgY29uY3JldGXCoHN5bnRheC48L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+VGhlIGltYWdlIGFib3ZlIGlsbHVzdHJhdGVzIHRoZSBl + eGFjdCBzYW1lIGV4cHJlc3Npb24gYXMgb3VyIHBhcnNlIHRyZWU6IDUgKyAo + MSB4IDEyKS4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBpdCBoYXMgYWJzdHJh + Y3RlZCBhd2F5IHRoZSBleHByZXNzaW9uIGZyb20gdGhlIGNvbmNyZXRlIHN5 + bnRheC4gV2UgZG9u4oCZdCBzZWUgYW55IG1vcmUgb2YgdGhlIHBhcmVudGhl + c2VzICgpIGluIHRoaXMgdHJlZSwgYmVjYXVzZSB0aGV54oCZcmUgbm90IG5l + Y2Vzc2FyeS4gU2ltaWxhcmx5LCB3ZSBkb27igJl0IHNlZSBub24tdGVybWlu + YWxzIGxpa2UgRXhwLCBzaW5jZSB3ZeKAmXZlIGFscmVhZHkgZmlndXJlZCBv + dXQgd2hhdCB0aGUg4oCcZXhwcmVzc2lvbuKAnSBpcywgYW5kIHdlIGFyZSBh + YmxlIHRvIHB1bGwgb3V0IHRoZSA8ZW0+dmFsdWU8L2VtPiB0aGF0IHJlYWxs + eSBtYXR0ZXJzIHRvIHVz4oCK4oCU4oCKZm9yIGV4YW1wbGUsIHRoZSBudW1i + ZXLCoDUuPC9wPjxwPlRoaXMgaXMgZXhhY3RseSB0aGUgZGlzdGluZ3Vpc2hp + bmcgZmFjdG9yIGJldHdlZW4gYW4gQVNUIGFuZCBhIENTVC4gV2Uga25vdyB0 + aGF0IGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlnbm9yZXMgYSBzaWduaWZp + Y2FudCBhbW91bnQgb2YgdGhlIHN5bnRhY3RpYyBpbmZvcm1hdGlvbiB0aGF0 + IGEgcGFyc2UgdHJlZSBjb250YWlucywgYW5kIHNraXBzIOKAnGV4dHJhIGNv + bnRlbnTigJ0gdGhhdCBpcyB1c2VkIGluIHBhcnNpbmcuIEJ1dCBub3cgd2Ug + Y2FuIHNlZSBleGFjdGx5IDxlbT5ob3c8L2VtPiB0aGF0wqBoYXBwZW5zITwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmwtZ0ZEdUhPd244S0htX0JIcjgx + blEuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgaXMgYW4gYWJzdHJhY3Qg + cmVwcmVzZW50YXRpb24gb2YgYSBzb3VyY2XCoHRleHQuPC9maWdjYXB0aW9u + PjwvZmlndXJlPjxwPk5vdyB0aGF0IHdl4oCZdmUgY29uZGVuc2VkIGEgcGFy + c2UgdHJlZSBvZiBvdXIgb3duLCB3ZeKAmWxsIGJlIG11Y2ggYmV0dGVyIGF0 + IHBpY2tpbmcgdXAgb24gc29tZSBvZiB0aGUgcGF0dGVybnMgdGhhdCBkaXN0 + aW5ndWlzaCBhbiBBU1QgZnJvbSBhwqBDU1QuPC9wPjxwPlRoZXJlIGEgZmV3 + IHdheXMgdGhhdCBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSB3aWxsIHZpc3Vh + bGx5LWRpZmZlciBmcm9tIGEgcGFyc2XCoHRyZWU6PC9wPjxvbD48bGk+QW4g + QVNUIHdpbGwgbmV2ZXIgY29udGFpbiBzeW50YWN0aWMgZGV0YWlscywgc3Vj + aCBhcyBjb21tYXMsIHBhcmVudGhlc2VzLCBhbmQgc2VtaWNvbG9ucyAoZGVw + ZW5kaW5nLCBvZiBjb3Vyc2UsIHVwb24gdGhlIGxhbmd1YWdlKS48L2xpPjxs + aT5BbiBBU1Qgd2lsbCBoYXZlIGNvbGxhcHNlZCB2ZXJzaW9uIG9mIHdoYXQg + d291bGQgb3RoZXJ3aXNlIGFwcGVhciBhcyBzaW5nbGUtc3VjY2Vzc29yIG5v + ZGVzOyBpdCB3aWxsIG5ldmVyIGNvbnRhaW4g4oCcY2hhaW5z4oCdIG9mIG5v + ZGVzIHdpdGggYSBzaW5nbGXCoGNoaWxkLjwvbGk+PGxpPkZpbmFsbHksIGFu + eSBvcGVyYXRvciB0b2tlbnMgKHN1Y2ggYXMgKywgLSwgeCwgYW5kIC8pIHdp + bGwgYmVjb21lIGludGVybmFsIChwYXJlbnQpIG5vZGVzIGluIHRoZSB0cmVl + LCByYXRoZXIgdGhhbiB0aGUgbGVhdmVzIHdoaWNoIHRlcm1pbmF0ZSBpbiBh + IHBhcnNlwqB0cmVlLjwvbGk+PC9vbD48cD5WaXN1YWxseSwgYW4gQVNUIHdp + bGwgYWx3YXlzIGFwcGVhciBtb3JlIGNvbXBhY3QgdGhhbiBhIHBhcnNlIHRy + ZWUsIHNpbmNlIGl0IGlzLCBieSBkZWZpbml0aW9uLCBhIGNvbXByZXNzZWQg + dmVyc2lvbiBvZiBhIHBhcnNlIHRyZWUsIHdpdGggbGVzcyBzeW50YWN0aWMg + ZGV0YWlsLjwvcD48YmxvY2txdW90ZT5JdCB3b3VsZCBzdGFuZCB0byByZWFz + b24sIHRoZW4sIHRoYXQgaWYgYW4gQVNUIGlzIGEgY29tcGFjdGVkIHZlcnNp + b24gb2YgYSBwYXJzZSB0cmVlLCB3ZSBjYW4gb25seSByZWFsbHkgY3JlYXRl + IGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlmIHdlIGhhdmUgdGhlIHRoaW5n + cyB0byBidWlsZCBhIHBhcnNlIHRyZWUgdG8gYmVnaW7CoHdpdGghPC9ibG9j + a3F1b3RlPjxwPlRoaXMgaXMsIGluZGVlZCwgaG93IHRoZSBhYnN0cmFjdCBz + eW50YXggdHJlZSBmaXRzIGludG8gdGhlIDxlbT5sYXJnZXI8L2VtPiBjb21w + aWxhdGlvbiBwcm9jZXNzLiBBbiBBU1QgaGFzIGEgZGlyZWN0IGNvbm5lY3Rp + b24gdG8gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9ncmFt + bWF0aWNhbGx5LXJvb3Rpbmctb25lc2VsZi13aXRoLXBhcnNlLXRyZWVzLWVj + OWRhZWRhN2RhZCI+dGhlIHBhcnNlIHRyZWVzPC9hPiB0aGF0IHdlIGhhdmUg + YWxyZWFkeSBsZWFybmVkIGFib3V0LCB3aGlsZSBzaW11bHRhbmVvdXNseSBy + ZWx5aW5nIHVwb24gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy9yZWFkaW5nLWNvZGUtcmlnaHQtd2l0aC1zb21lLWhlbHAtZnJvbS10aGUt + bGV4ZXItNjNkMGJlM2QyMWQiPnRoZSBsZXhlcjwvYT4gdG8gZG8gPGVtPml0 + czwvZW0+IGpvYiBiZWZvcmUgYW4gQVNUIGNhbiBldmVyIGJlwqBjcmVhdGVk + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKm5Tc29sLXpkS2NKbms0WDQ1 + RmtDRXcuanBlZyIgLz48ZmlnY2FwdGlvbj5BbiBBU1QgaXMgYWx3YXlzIHRo + ZSBvdXRwdXQgb2YgdGhlwqBwYXJzZXIuPC9maWdjYXB0aW9uPjwvZmlndXJl + PjxwPlRoZSBhYnN0cmFjdCBzeW50YXggdHJlZSBpcyBjcmVhdGVkIGFzIHRo + ZSBmaW5hbCByZXN1bHQgb2YgdGhlIHN5bnRheCBhbmFseXNpcyBwaGFzZS4g + VGhlIHBhcnNlciwgd2hpY2ggaXMgZnJvbnQgYW5kIGNlbnRlciBhcyB0aGUg + bWFpbiDigJxjaGFyYWN0ZXLigJ0gZHVyaW5nIHN5bnRheCBhbmFseXNpcywg + bWF5IG9yIG1heSBub3QgYWx3YXlzIGdlbmVyYXRlIGEgcGFyc2UgdHJlZSwg + b3IgQ1NULiBEZXBlbmRpbmcgb24gdGhlIGNvbXBpbGVyIGl0c2VsZiwgYW5k + IGhvdyBpdCB3YXMgZGVzaWduZWQsIHRoZSBwYXJzZXIgbWF5IGRpcmVjdGx5 + IGdvIHN0cmFpZ2h0IG9udG8gY29uc3RydWN0aW5nIGEgc3ludGF4IHRyZWUs + IG9yIEFTVC4gQnV0IHRoZSBwYXJzZXIgd2lsbCBhbHdheXMgZ2VuZXJhdGUg + YW4gQVNUIGFzIGl0cyBvdXRwdXQsIG5vIG1hdHRlciB3aGV0aGVyIGl0IGNy + ZWF0ZXMgYSBwYXJzZSB0cmVlIGluIGJldHdlZW4sIG9yIGhvdyBtYW55IHBh + c3NlcyBpdCBtaWdodCBuZWVkIHRvIHRha2UgaW4gb3JkZXIgdG8gZG/CoHNv + LjwvcD48aDM+QW5hdG9teSBvZiBhbsKgQVNUPC9oMz48cD5Ob3cgdGhhdCB3 + ZSBrbm93IHRoYXQgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGlzIGltcG9y + dGFudCAoYnV0IG5vdCBuZWNlc3NhcmlseSBpbnRpbWlkYXRpbmchKSwgd2Ug + Y2FuIHN0YXJ0IHRvIGRpc3NlY3QgaXQgYSB0aW55IGJpdCBtb3JlLiBBbiBp + bnRlcmVzdGluZyBhc3BlY3QgYWJvdXQgaG93IHRoZSBBU1QgaXMgY29uc3Ry + dWN0ZWQgaGFzIHRvIGRvIHdpdGggdGhlIG5vZGVzIG9mIHRoaXPCoHRyZWUu + PC9wPjxwPlRoZSBpbWFnZSBiZWxvdyBleGVtcGxpZmllcyB0aGUgYW5hdG9t + eSBvZiBhIHNpbmdsZSBub2RlIHdpdGhpbiBhbiBhYnN0cmFjdCBzeW50YXjC + oHRyZWUuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqTk9fcDk3MzlzWDZU + Zi1FU1JrU0thdy5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBhbmF0b215IG9m + IGFuIEFTVMKgbm9kZS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+V2XigJls + bCBub3RpY2UgdGhhdCB0aGlzIG5vZGUgaXMgc2ltaWxhciB0byBvdGhlcnMg + dGhhdCB3ZeKAmXZlIHNlZW4gYmVmb3JlIGluIHRoYXQgaXQgY29udGFpbnMg + c29tZSBkYXRhIChhIHRva2VuIGFuZCBpdHMgdmFsdWUpLiBIb3dldmVyLCBp + dCBhbHNvIGNvbnRhaW5zIHNvbWUgdmVyeSBzcGVjaWZpYyBwb2ludGVycy4g + RXZlcnkgbm9kZSBpbiBhbiBBU1QgY29udGFpbnMgcmVmZXJlbmNlcyB0byBp + dHMgPGVtPm5leHQ8L2VtPiBzaWJsaW5nIG5vZGUsIGFzIHdlbGwgYXMgaXRz + IDxlbT5maXJzdDwvZW0+IGNoaWxkwqBub2RlLjwvcD48cD5Gb3IgZXhhbXBs + ZSwgb3VyIHNpbXBsZSBleHByZXNzaW9uIG9mIDUgKyAoMSB4IDEyKSBjb3Vs + ZCBiZSBjb25zdHJ1Y3RlZCBpbnRvIGEgdmlzdWFsaXplZCBpbGx1c3RyYXRp + b24gb2YgYW4gQVNULCBsaWtlIHRoZSBvbmXCoGJlbG93LjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKjBuNzNWM0xkMGUtblRtWktHdzNPcFEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5BIHNpbXBsaWZpZWQgdmlzdWFsaXphdGlvbiBvZiBv + dXIgQVNUIGV4cHJlc3Npb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPldl + IGNhbiBpbWFnaW5lIHRoYXQgcmVhZGluZywgdHJhdmVyc2luZywgb3Ig4oCc + aW50ZXJwcmV0aW5n4oCdIHRoaXMgQVNUIG1pZ2h0IHN0YXJ0IGZyb20gdGhl + IGJvdHRvbSBsZXZlbHMgb2YgdGhlIHRyZWUsIHdvcmtpbmcgaXRzIHdheSBi + YWNrIHVwIHRvIGJ1aWxkIHVwIGEgdmFsdWUgb3IgYSByZXR1cm4gcmVzdWx0 + IGJ5IHRoZcKgZW5kLjwvcD48cD5JdCBjYW4gYWxzbyBoZWxwIHRvIHNlZSBh + IGNvZGVkIHZlcnNpb24gb2YgdGhlIG91dHB1dCBvZiBhIHBhcnNlciB0byBo + ZWxwIHN1cHBsZW1lbnQgb3VyIHZpc3VhbGl6YXRpb25zLiBXZSBjYW4gbGVh + biBvbiB2YXJpb3VzIHRvb2xzIGFuZCB1c2UgcHJlZXhpc3RpbmcgcGFyc2Vy + cyB0byBzZWUgYSBxdWljayBleGFtcGxlIG9mIHdoYXQgb3VyIGV4cHJlc3Np + b24gbWlnaHQgbG9vayBsaWtlIHdoZW4gcnVuIHRocm91Z2ggYSBwYXJzZXIu + IEJlbG93IGlzIGFuIGV4YW1wbGUgb2Ygb3VyIHNvdXJjZSB0ZXh0LCA1ICsg + KDEgKiAxMiksIHJ1biB0aHJvdWdoIDxhIGhyZWY9Imh0dHA6Ly9lc3ByaW1h + Lm9yZy8iPkVzcHJpbWE8L2E+LCBhbiBFQ01BU2NyaXB0IHBhcnNlciwgYW5k + IGl0cyByZXN1bHRpbmcgYWJzdHJhY3Qgc3ludGF4IHRyZWUsIGZvbGxvd2Vk + IGJ5IGEgbGlzdCBvZiBpdHMgZGlzdGluY3TCoHRva2Vucy48L3A+PGlmcmFt + ZSBzcmM9IiIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZnJhbWVib3JkZXI9IjAi + IHNjcm9sbGluZz0ibm8iPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9t + ZWRpYS9hMmY5MDYwMDMxYzQzMTg2NWVmZDhlMzk1YTRkYjYyNC9ocmVmIj5o + dHRwczovL21lZGl1bS5jb20vbWVkaWEvYTJmOTA2MDAzMWM0MzE4NjVlZmQ4 + ZTM5NWE0ZGI2MjQvaHJlZjwvYT48L2lmcmFtZT48cD5JbiB0aGlzIGZvcm1h + dCwgd2UgY2FuIHNlZSB0aGUgbmVzdGluZyBvZiB0aGUgdHJlZSBpZiB3ZSBs + b29rIGF0IHRoZSBuZXN0ZWQgb2JqZWN0cy4gV2XigJlsbCBub3RpY2UgdGhh + dCB0aGUgdmFsdWVzIGNvbnRhaW5pbmcgMSBhbmQgMTIgYXJlIHRoZSBsZWZ0 + IGFuZCByaWdodCBjaGlsZHJlbiwgcmVzcGVjdGl2ZWx5LCBvZiBhIHBhcmVu + dCBvcGVyYXRpb24sICouIFdl4oCZbGwgYWxzbyBzZWUgdGhhdCB0aGUgbXVs + dGlwbGljYXRpb24gb3BlcmF0aW9uICgqKSBtYWtlcyB1cCB0aGUgPGVtPnJp + Z2h0IHN1YnRyZWU8L2VtPiBvZiB0aGUgZW50aXJlIGV4cHJlc3Npb24gaXRz + ZWxmLCB3aGljaCBpcyB3aHkgaXQgaXMgbmVzdGVkIHdpdGhpbiB0aGUgbGFy + Z2VyIEJpbmFyeUV4cHJlc3Npb24gb2JqZWN0LCB1bmRlciB0aGUga2V5ICZx + dW90O3JpZ2h0JnF1b3Q7LiBTaW1pbGFybHksIHRoZSB2YWx1ZSBvZiA1IGlz + IHRoZSBzaW5nbGUgJnF1b3Q7bGVmdCZxdW90OyBjaGlsZCBvZiB0aGUgbGFy + Z2VyIEJpbmFyeUV4cHJlc3Npb24gb2JqZWN0LjwvcD48ZmlndXJlPjxpbWcg + YWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9t + YXgvMTAyNC8xKnVHajlSLVREQzVsNjdvUkRHV3lORkEuanBlZyIgLz48Zmln + Y2FwdGlvbj5CdWlsZGluZyBhbiBBU1QgY2FuIGJlIGNvbXBsZXggc29tZXRp + bWVzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5UaGUgbW9zdCA8ZW0+aW50 + cmlndWluZzwvZW0+IGFzcGVjdCBvZiB0aGUgYWJzdHJhY3Qgc3ludGF4IHRy + ZWUgaXMsIGhvd2V2ZXIsIHRoZSBmYWN0IHRoYXQgZXZlbiB0aG91Z2ggdGhl + eSBhcmUgc28gY29tcGFjdCBhbmQgY2xlYW4sIHRoZXkgYXJlbuKAmXQgYWx3 + YXlzIGFuIGVhc3kgZGF0YSBzdHJ1Y3R1cmUgdG8gdHJ5IGFuZCBjb25zdHJ1 + Y3QuIEluIGZhY3QsIGJ1aWxkaW5nIGFuIEFTVCBjYW4gYmUgcHJldHR5IGNv + bXBsZXgsIGRlcGVuZGluZyBvbiB0aGUgbGFuZ3VhZ2UgdGhhdCB0aGUgcGFy + c2VyIGlzIGRlYWxpbmfCoHdpdGghPC9wPjxwPk1vc3QgcGFyc2VycyB3aWxs + IHVzdWFsbHkgZWl0aGVyIGNvbnN0cnVjdCBhIHBhcnNlIHRyZWUgKENTVCkg + YW5kIHRoZW4gY29udmVydCBpdCB0byBhbiBBU1QgZm9ybWF0LCBiZWNhdXNl + IHRoYXQgY2FuIHNvbWV0aW1lcyBiZSBlYXNpZXLigIrigJTigIpldmVuIHRo + b3VnaCBpdCBtZWFucyBtb3JlIHN0ZXBzLCBhbmQgZ2VuZXJhbGx5IHNwZWFr + aW5nLCBtb3JlIHBhc3NlcyB0aHJvdWdoIHRoZSBzb3VyY2UgdGV4dC4gQnVp + bGRpbmcgYSBDU1QgaXMgYWN0dWFsbHkgcHJldHR5IGVhc3kgb25jZSB0aGUg + cGFyc2VyIGtub3dzIHRoZSBncmFtbWFyIG9mIHRoZSBsYW5ndWFnZSBpdOKA + mXMgdHJ5aW5nIHRvIHBhcnNlLiBJdCBkb2VzbuKAmXQgbmVlZCB0byBkbyBh + bnkgY29tcGxpY2F0ZWQgd29yayBvZiBmaWd1cmluZyBvdXQgaWYgYSB0b2tl + biBpcyDigJxzaWduaWZpY2FudOKAnSBvciBub3Q7IGluc3RlYWQsIGl0IGp1 + c3QgdGFrZXMgZXhhY3RseSB3aGF0IGl0cyBzZWVzLCBpbiB0aGUgc3BlY2lm + aWMgb3JkZXIgdGhhdCBpdCBzZWVzIGl0LCBhbmQgc3BpdHMgaXQgYWxsIG91 + dCBpbnRvIGHCoHRyZWUuPC9wPjxwPk9uIHRoZSBvdGhlciBoYW5kLCB0aGVy + ZSBhcmUgc29tZSBwYXJzZXJzIHRoYXQgd2lsbCB0cnkgdG8gZG8gYWxsIG9m + IHRoaXMgYXMgYSBzaW5nbGUtc3RlcCBwcm9jZXNzLCBqdW1waW5nIHN0cmFp + Z2h0IHRvIGNvbnN0cnVjdGluZyBhbiBhYnN0cmFjdCBzeW50YXjCoHRyZWUu + PC9wPjxibG9ja3F1b3RlPkJ1aWxkaW5nIGFuIEFTVCBkaXJlY3RseSBjYW4g + YmUgdHJpY2t5LCBzaW5jZSB0aGUgcGFyc2VyIGhhcyB0byBub3Qgb25seSBm + aW5kIHRoZSB0b2tlbnMgYW5kIHJlcHJlc2VudCB0aGVtIGNvcnJlY3RseSwg + YnV0IGFsc28gZGVjaWRlIHdoaWNoIHRva2VucyBtYXR0ZXIgdG8gdXMsIGFu + ZCB3aGljaCBvbmVzwqBkb27igJl0LjwvYmxvY2txdW90ZT48cD5JbiBjb21w + aWxlciBkZXNpZ24sIHRoZSBBU1QgZW5kcyB1cCBiZWluZyBzdXBlciBpbXBv + cnRhbnQgZm9yIG1vcmUgdGhhbiBvbmUgcmVhc29uLiBZZXMsIGl0IGNhbiBi + ZSB0cmlja3kgdG8gY29uc3RydWN0IChhbmQgcHJvYmFibHkgZWFzeSB0byBt + ZXNzIHVwKSwgYnV0IGFsc28sIGl04oCZcyB0aGUgbGFzdCBhbmQgZmluYWwg + cmVzdWx0IG9mIHRoZSBsZXhpY2FsIGFuZCBzeW50YXggYW5hbHlzaXMgcGhh + c2VzIGNvbWJpbmVkISBUaGUgbGV4aWNhbCBhbmQgc3ludGF4IGFuYWx5c2lz + IHBoYXNlcyBhcmUgb2Z0ZW4gam9pbnRseSBjYWxsZWQgdGhlIDxzdHJvbmc+ + PGVtPmFuYWx5c2lzIHBoYXNlPC9lbT48L3N0cm9uZz4sIG9yIDxzdHJvbmc+ + PGVtPnRoZTwvZW0+PC9zdHJvbmc+IDxzdHJvbmc+PGVtPmZyb250LWVuZDwv + ZW0+PC9zdHJvbmc+IG9mIHRoZSBjb21waWxlci48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpGSGRWSWhDUXlZN1dEZVRTREg1S1pnLmpwZWciIC8+PGZp + Z2NhcHRpb24+VGhlIGlubmVyIHdvcmtpbmdzIG9mIHRoZSBmcm9udC1lbmQg + b2Ygb3VyIGNvbXBpbGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZSBj + YW4gdGhpbmsgYWJvdXQgdGhlIGFic3RyYWN0IHN5bnRheCB0cmVlIGFzIHRo + ZSDigJxmaW5hbCBwcm9qZWN04oCdIG9mIHRoZSBmcm9udC1lbmQgb2YgdGhl + IGNvbXBpbGVyLiBJdOKAmXMgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQsIGJl + Y2F1c2UgaXRzIHRoZSBsYXN0IHRoaW5nIHRoYXQgdGhlIGZyb250LWVuZCBo + YXMgdG8gc2hvdyBmb3IgaXRzZWxmLiBUaGUgdGVjaG5pY2FsIHRlcm0gZm9y + IHRoaXMgaXMgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5pbnRlcm1lZGlhdGUg + Y29kZSByZXByZXNlbnRhdGlvbiA8L2VtPjwvc3Ryb25nPm9yIHRoZSA8c3Ry + b25nPjxlbT5JUjwvZW0+PC9zdHJvbmc+LCBiZWNhdXNlIGl0IGJlY29tZXMg + dGhlIGRhdGEgc3RydWN0dXJlIHRoYXQgaXMgdWx0aW1hdGVseSB1c2VkIGJ5 + IHRoZSBjb21waWxlciB0byByZXByZXNlbnQgYSBzb3VyY2XCoHRleHQuPC9w + PjxwPkFuIGFic3RyYWN0IHN5bnRheCB0cmVlIGlzIHRoZSBtb3N0IGNvbW1v + biBmb3JtIG9mIElSLCBidXQgYWxzbywgc29tZXRpbWVzIHRoZSBtb3N0IG1p + c3VuZGVyc3Rvb2QuIEJ1dCBub3cgdGhhdCB3ZSB1bmRlcnN0YW5kIGl0IGEg + bGl0dGxlIGJpdCBiZXR0ZXIsIHdlIGNhbiBzdGFydCB0byBjaGFuZ2Ugb3Vy + IHBlcmNlcHRpb24gb2YgdGhpcyBzY2FyeSBzdHJ1Y3R1cmUhIEhvcGVmdWxs + eSwgaXTigJlzIGEgbGl0dGxlIGJpdCBsZXNzIGludGltaWRhdGluZyB0byB1 + c8Kgbm93LjwvcD48aDM+UmVzb3VyY2VzPC9oMz48cD5UaGVyZSBhcmUgYSB3 + aG9sZSBsb3Qgb2YgcmVzb3VyY2VzIG91dCB0aGVyZSBvbiBBU1RzLCBpbiBh + IHZhcmlldHkgb2YgbGFuZ3VhZ2VzLiBLbm93aW5nIHdoZXJlIHRvIHN0YXJ0 + IGNhbiBiZSB0cmlja3ksIGVzcGVjaWFsbHkgaWYgeW914oCZcmUgbG9va2lu + ZyB0byBsZWFybiBtb3JlLiBCZWxvdyBhcmUgYSBmZXcgYmVnaW5uZXItZnJp + ZW5kbHkgcmVzb3VyY2VzIHRoYXQgZGl2ZSBpbnRvIGEgd2hvbGUgbG90IG1v + cmUgZGV0YWlsIHdpdGhvdXQgYmVpbmcgPGVtPnRvbzwvZW0+IG92ZXJod2Vs + bWluZy4gSGFwcHkgYXNidHJhY3RpbmchPC9wPjxvbD48bGk+PGEgaHJlZj0i + aHR0cDovL3BhZ2VzLmNzLndpc2MuZWR1L35maXNjaGVyL2NzNTM2LnMwNi9j + b3Vyc2UuaG9sZC9odG1sL05PVEVTLzQuU1lOVEFYLURJUkVDVEVELVRSQU5T + TEFUSU9OLmh0bWwjYXN0VnNQYXJzZSI+VGhlIEFTVCB2cyB0aGUgUGFyc2Ug + VHJlZTwvYT4sIFByb2Zlc3NvciBDaGFybGVzIE4uwqBGaXNjaGVyPC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv + bnMvNTk2Nzg4OC93aGF0cy10aGUtZGlmZmVyZW5jZS1iZXR3ZWVuLXBhcnNl + LXRyZWVzLWFuZC1hYnN0cmFjdC1zeW50YXgtdHJlZXMiPldoYXTigJlzIHRo + ZSBkaWZmZXJlbmNlIGJldHdlZW4gcGFyc2UgdHJlZXMgYW5kIGFic3RyYWN0 + IHN5bnRheCB0cmVlcz88L2E+LCBTdGFja092ZXJmbG93PC9saT48bGk+PGEg + aHJlZj0iaHR0cHM6Ly9lbGkudGhlZ3JlZW5wbGFjZS5uZXQvMjAwOS8wMi8x + Ni9hYnN0cmFjdC12cy1jb25jcmV0ZS1zeW50YXgtdHJlZXMvIj5BYnN0cmFj + dCB2cy4gQ29uY3JldGUgU3ludGF4IFRyZWVzPC9hPiwgRWxpIEJlbmRlcnNr + eTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cxLmNzLmNvbHVtYmlhLmVk + dS9+c2Vkd2FyZHMvY2xhc3Nlcy8yMDAzL3c0MTE1Zi9hc3QuOXVwLnBkZiI+ + QWJzdHJhY3QgU3ludGF4IFRyZWVzPC9hPiwgUHJvZmVzc29yIFN0ZXBoZW4g + QS7CoEVkd2FyZHM8L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdXNlci5pdC51 + dS5zZS9+a29zdGlzL1RlYWNoaW5nL0tUMS0xMS9TbGlkZXMvbGVjdHVyZTA1 + LnBkZiI+QWJzdHJhY3QgU3ludGF4IFRyZWVzICZhbXA7IFRvcC1Eb3duIFBh + cnNpbmc8L2E+LCBQcm9mZXNzb3IgS29uc3RhbnRpbm9zIChLb3N0aXMpwqBT + YWdvbmFzPC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5wbGluZy5vcmcu + dWsvY3MvbHNhLmh0bWwiPkxleGljYWwgYW5kIFN5bnRheCBBbmFseXNpcyBv + ZiBQcm9ncmFtbWluZyBMYW5ndWFnZXM8L2E+LCBDaHJpcyBOb3J0aHdvb2Q8 + L2xpPjxsaT48YSBocmVmPSJodHRwczovL2FzdGV4cGxvcmVyLm5ldCI+QVNU + IEV4cGxvcmVyLDwvYT4gRmVsaXjCoEtsaW5nPC9saT48L29sPjxpbWcgc3Jj + PSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50 + Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD1kN2E2ZmMy + NDAwZmYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xldmVsaW5nLXVwLW9uZXMtcGFy + c2luZy1nYW1lLXdpdGgtYXN0cy1kN2E2ZmMyNDAwZmYiPkxldmVsaW5nIFVw + IE9uZeKAmXMgUGFyc2luZyBHYW1lIFdpdGggQVNUczwvYT4gd2FzIG9yaWdp + bmFsbHkgcHVibGlzaGVkIGluIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNv + bS9iYXNlY3MiPmJhc2VjczwvYT4gb24gTWVkaXVtLCB3aGVyZSBwZW9wbGUg + YXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZlcnNhdGlvbiBieSBoaWdobGlnaHRp + bmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhpcyBzdG9yeS48L3A+XV0+PC9jb250 + ZW50OmVuY29kZWQ+CiAgICAgICAgPC9pdGVtPgogICAgICAgIDxpdGVtPgog + ICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbSGFzIGJhc2VjcyBoZWxwZWQg + eW91PyBJ4oCZZCBsb3ZlIHRvIGtub3cgaG93IF1dPjwvdGl0bGU+CiAgICAg + ICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvaGFzLWJh + c2Vjcy1oZWxwZWQteW91LWlkLWxvdmUtdG8ta25vdy1ob3ctZTk4ZDEyZThj + MWIyP3NvdXJjZT1yc3MtOGY1NTk5M2M5NzNlLS0tLS0tMjwvbGluaz4KICAg + ICAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwczovL21l + ZGl1bS5jb20vcC9lOThkMTJlOGMxYjI8L2d1aWQ+CiAgICAgICAgICAgIDxk + YzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2RjOmNyZWF0 + b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPkZyaSwgMDEgRGVjIDIwMTcgMDM6 + NTk6NTUgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1cGRhdGVk + PjIwMTctMTItMDFUMDM6NTk6NTUuNzkxWjwvYXRvbTp1cGRhdGVkPgogICAg + ICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPkRlYXIgPGVt + PmJhc2VjczwvZW0+wqByZWFkZXIsPC9wPjxwPkl04oCZcyBmaW5hbGx5IGhl + cmXigIrigJTigIp0aGUgbGFzdCBtb250aCBvZiB0aGUgeWVhciwgYW5kIHdp + dGggdGhhdCwgKG5lYXJseSkgdGhlIGVuZCBvZiB0aGlzIHNlcmllcy4gQWx0 + aG91Z2ggSSBoYXZlIGJlZW4gd2F0Y2hpbmcgYXMgdGhpcyBwcm9qZWN0IGhh + cyBncm93biBhbmQgZmxvdXJpc2hlZCB3aXRoIG9sZCByZWFkZXJzIGFuZCBu + ZXcgb25lcyBhbGlrZSwgSSBoYXZlIG5vIGlkZWEgd2hvIGl0IGhhcyBpbXBh + Y3RlZC48L3A+PHA+VGhhdOKAmXMgd2h5IEnigJltIHdyaXRpbmcgdG8geW91 + LiBJZiA8ZW0+YmFzZWNzPC9lbT4gaGFzIGhlbHBlZCB5b3UgaW4gYW55IHdh + eSwgaWYgeW91IGhhdmUgZm91bmQgdGhlIHNlcmllcyBpbmZvcm1hdGl2ZSwg + b3IgaWYgeW91IGhhdmUgZXZlciBzaGFyZWQgaXQgd2l0aCBzb21lb25lLCBJ + 4oCZZCBsb3ZlIHRvIGtub3cgYWJvdXTCoGl0ITwvcD48YmxvY2txdW90ZT5J + ZiB5b3UgaGF2ZSBhIGZldyBtaW51dGVzLCBJIGhvcGUgeW914oCZbGwgdGFr + ZSB0aGUgdGltZSB0byBhbnN3ZXIgdGhpcyA8YSBocmVmPSJodHRwczovL3Zh + aWRlaGkudHlwZWZvcm0uY29tL3RvL0ZocGY1SiI+c2hvcnTCoHN1cnZleTwv + YT4uPC9ibG9ja3F1b3RlPjxwPjxzdHJvbmc+WW91ciBmZWVkYmFjayB3aWxs + IGhlbHAgbWUgYmV0dGVyIHVuZGVyc3RhbmQgdGhpcyBwcm9qZWN0LCBhcyB3 + ZWxsIGFzIGhvdyB0byBpbXByb3ZlIGFuZCBpdGVyYXRlIG9uIGl0IGluIHRo + ZcKgZnV0dXJlLjwvc3Ryb25nPjwvcD48cD5UaGFuayB5b3UgYWdhaW4gZm9y + IHlvdXIgY29udGludWVkIHJlYWRlcnNoaXAgYW5kIHN1cHBvcnQuwqDwn5Kb + PC9wPjxwPldpdGggZ3JhdGl0dWRlLDxicj5WYWlkZWhpPC9wPjxpbWcgc3Jj + PSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50 + Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD1lOThkMTJl + OGMxYjIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2hhcy1iYXNlY3MtaGVscGVkLXlv + dS1pZC1sb3ZlLXRvLWtub3ctaG93LWU5OGQxMmU4YzFiMiI+SGFzIGJhc2Vj + cyBoZWxwZWQgeW91PyBJ4oCZZCBsb3ZlIHRvIGtub3cgaG93IPCfkps8L2E+ + IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBpbiA8YSBocmVmPSJodHRwczov + L21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8L2E+IG9uIE1lZGl1bSwgd2hl + cmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRoZSBjb252ZXJzYXRpb24gYnkg + aGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5nIHRvIHRoaXMgc3RvcnkuPC9w + Pl1dPjwvY29udGVudDplbmNvZGVkPgogICAgICAgIDwvaXRlbT4KICAgICAg + ICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxlPjwhW0NEQVRBW1JlYWRpbmcg + Q29kZSBSaWdodCwgV2l0aCBTb21lIEhlbHAgRnJvbSBUaGUgTGV4ZXJdXT48 + L3RpdGxlPgogICAgICAgICAgICA8bGluaz5odHRwczovL21lZGl1bS5jb20v + YmFzZWNzL3JlYWRpbmctY29kZS1yaWdodC13aXRoLXNvbWUtaGVscC1mcm9t + LXRoZS1sZXhlci02M2QwYmUzZDIxZD9zb3VyY2U9cnNzLThmNTU5OTNjOTcz + ZS0tLS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvNjNkMGJlM2QyMWQ8L2d1 + aWQ+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtjb2RlXV0+PC9j + YXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW2NvbXBp + bGVyc11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtD + REFUQVtwcm9ncmFtbWluZ11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxj + YXRlZ29yeT48IVtDREFUQVt0aGVvcnktaW4tcHJhY3RpY2VdXT48L2NhdGVn + b3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0ZXIt + c2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxkYzpjcmVhdG9y + PjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2RjOmNyZWF0b3I+CiAgICAg + ICAgICAgIDxwdWJEYXRlPk1vbiwgMjcgTm92IDIwMTcgMTM6MDE6MDEgR01U + PC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1cGRhdGVkPjIwMTctMTEt + MjdUMTM6MDE6MDEuMzE2WjwvYXRvbTp1cGRhdGVkPgogICAgICAgICAgICA8 + Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqNjBqTTYxMk1uQkpFYzBDSnJubmd2QS5qcGVnIiAvPjxmaWdjYXB0aW9u + PlJlYWRpbmcgY29kZSByaWdodCwgd2l0aCBzb21lIGhlbHAgZnJvbSB0aGXC + oGxleGVyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Tb2Z0d2FyZSBpcyBh + bGwgYWJvdXQgbG9naWMuIFByb2dyYW1taW5nIGhhcyBnYXJuZXJlZCBhIHJl + cHV0YXRpb24gb2YgYmVpbmcgYSBmaWVsZCB0aGF0IGlzIGhlYXZ5IG9uIHRo + ZSBtYXRoIGFuZCBjcmF6eSBlcXVhdGlvbnMuIEFuZCBjb21wdXRlciBzY2ll + bmNlIHNlZW1zIHRvIGJlIGF0IHRoZSBjcnV4IG9mIHRoaXMgbWlzY29uY2Vw + dGlvbi48L3A+PHA+U3VyZSwgdGhlcmUgaXMgc29tZSBtYXRoIGFuZCB0aGVy + ZSBhcmUgc29tZSBmb3JtdWxhc+KAiuKAlOKAimJ1dCBub25lIG9mIHVzIGFj + dHVhbGx5IG5lZWQgdG8gaGF2ZSBQaERzIGluIGNhbGN1bHVzIGluIG9yZGVy + IGZvciB1cyB0byB1bmRlcnN0YW5kIGhvdyBvdXIgbWFjaGluZXMgd29yayEg + SW4gZmFjdCwgYSBsb3Qgb2YgdGhlIHJ1bGVzIGFuZCBwYXJhZGlnbXMgdGhh + dCB3ZSBsZWFybiBpbiB0aGUgcHJvY2VzcyBvZiB3cml0aW5nIGNvZGUgYXJl + IHRoZSBzYW1lIHJ1bGVzIGFuZCBwYXJhZGlnbXMgdGhhdCBhcHBseSB0byBj + b21wbGV4IGNvbXB1dGVyIHNjaWVuY2UgY29uY2VwdHMuIEFuZCBzb21ldGlt + ZXMsIHRob3NlIGlkZWFzIGFjdHVhbGx5IDxlbT5zdGVtPC9lbT4gPGVtPmZy + b208L2VtPiBjb21wdXRlciBzY2llbmNlLCBhbmQgd2UganVzdCBkaWRu4oCZ + dCBldmVyIGtub3fCoGl0LjwvcD48cD5SZWdhcmRsZXNzIG9mIHdoYXQgcHJv + Z3JhbW1pbmcgbGFuZ3VhZ2Ugd2UgdXNlLCB3aGVuIG1vc3Qgb2YgdXMgd3Jp + dGUgb3VyIGNvZGUsIHdlIGFpbSB0byBlbmNhcHN1bGF0ZSBkaXN0aW5jdCB0 + aGluZ3MgaW50byBjbGFzc2VzLCBvYmplY3RzLCBvciBtZXRob2RzLCBpbnRl + bnRpb25hbGx5IHNlcGFyYXRpbmcgb3V0IHdoYXQgZGlmZmVyZW50IHBhcnRz + IG9mIG91ciBjb2RlIGFyZSBjb25jZXJuZWQgd2l0aC4gSW4gb3RoZXIgd29y + ZHMsIHdlIGtub3cgdGhhdCBpdOKAmXMgZ2VuZXJhbGx5IGdvb2QgdGhpbmdz + IHRvIGRpdmlkZSB1cCBvdXIgY29kZSBzbyB0aGF0IG9uZSBjbGFzcywgb2Jq + ZWN0LCBvciBtZXRob2QgaXMgb25seSBjb25jZXJuZWQgd2l0aCBhbmQgcmVz + cG9uc2libGUgZm9yIG9uZSBzaW5nbGUgdGhpbmcuIElmIHdlIGRpZG7igJl0 + IGRvIHRoaXMsIHRoaW5ncyBjb3VsZCBnZXQgc3VwZXIgbWVzc3kgYW5kIGlu + dGVydHdpbmVkIGludG8gYSBtZXNzIG9mIGEgd2ViLiBTb21ldGltZXMgdGhp + cyBzdGlsbCBoYXBwZW5zLCBldmVuIHdpdGggc2VwYXJhdGlvbiBvZiBjb25j + ZXJucy48L3A+PHA+QXMgaXQgdHVybnMgb3V0LCBldmVuIHRoZSBpbm5lciB3 + b3JraW5ncyBvZiBvdXIgY29tcHV0ZXJzIGZvbGxvdyB2ZXJ5IHNpbWlsYXIg + ZGVzaWduIHBhcmFkaWdtcy4gT3VyIGNvbXBpbGVyLCBmb3IgZXhhbXBsZSwg + aGFzIGRpZmZlcmVudCBwYXJ0cyB0byBpdCwgYW5kIGVhY2ggcGFydCBpcyBy + ZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgb25lIHNwZWNpZmljIHBhcnQgb2Yg + dGhlIGNvbXBpbGF0aW9uIHByb2Nlc3MuIFdlIGVuY291bnRlcmVkIGEgbGl0 + dGxlIGJpdCBvZiB0aGlzIGxhc3Qgd2Vlaywgd2hlbiA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL2dyYW1tYXRpY2FsbHktcm9vdGluZy1v + bmVzZWxmLXdpdGgtcGFyc2UtdHJlZXMtZWM5ZGFlZGE3ZGFkIj53ZSBsZWFy + bmVkIGFib3V0IHRoZSBwYXJzZXI8L2E+LCB3aGljaCBpcyByZXNwb25zaWJs + ZSBmb3IgY3JlYXRpbmcgcGFyc2UgdHJlZXMuIEJ1dCB0aGUgcGFyc2VyIGNh + buKAmXQgcG9zc2libHkgYmUgdGFza2VkIHdpdGggZXZlcnl0aGluZy48L3A+ + PHA+VGhlIHBhcnNlciBuZWVkcyBzb21lIGhlbHAgZnJvbSBpdHMgYnVkZGll + cywgYW5kIGl04oCZcyBmaW5hbGx5IHRpbWUgZm9yIHVzIHRvIGxlYXJuIHdo + byB0aGV5wqBhcmUhPC9wPjxoMz5QaGFzaW5nIGludG8gY29tcGlsZXJzPC9o + Mz48cD5XaGVuIHdlIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNl + Y3MvZ3JhbW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10 + cmVlcy1lYzlkYWVkYTdkYWQiPmxlYXJuZWQgYWJvdXQgcGFyc2luZzwvYT4g + cmVjZW50bHksIHdlIGRpcHBlZCBvdXIgdG9lcyBpbnRvIGdyYW1tYXIsIHN5 + bnRheCwgYW5kIGhvdyB0aGUgY29tcGlsZXIgcmVhY3RzIGFuZCByZXNwb25k + cyB0byB0aG9zZSB0aGluZ3Mgd2l0aGluIGEgcHJvZ3JhbW1pbmcgbGFuZ3Vh + Z2UuIEJ1dCB3ZSBuZXZlciByZWFsbHkgaGlnaGxpZ2h0ZWQgd2hhdCBleGFj + dGx5IGEgY29tcGlsZXIgaXMhIEFzIHdlIGdldCBpbnRvIHRoZSBpbm5lciB3 + b3JraW5ncyBvZiB0aGUgY29tcGlsYXRpb24gcHJvY2Vzcywgd2XigJlyZSBn + b2luZyB0byBiZSBsZWFybmluZyBhIGxvdCBhYm91dCBjb21waWxlciBkZXNp + Z24sIHNvIGl04oCZcyB2aXRhbCBmb3IgdXMgdG8gdW5kZXJzdGFuZCB3aGF0 + IGV4YWN0bHkgd2XigJlyZSB0YWxraW5nIGFib3V0wqBoZXJlLjwvcD48cD5D + b21waWxlcnMgY2FuIHNvdW5kIGtpbmQgb2Ygc2NhcnksIGJ1dCB0aGVpciBq + b2JzIGFyZSBhY3R1YWxseSBub3QgdG9vIGNvbXBsZXggdG8gdW5kZXJzdGFu + ZOKAiuKAlOKAinBhcnRpY3VsYXJseSB3aGVuIHdlIGJyZWFrIHRoZSBkaWZm + ZXJlbnQgcGFydHMgb2YgYSBjb21wbGllciBkb3duIGludG8gYml0ZS1zaXpl + ZCBwYXJ0cy48L3A+PHA+QnV0IGZpcnN0LCBsZXTigJlzIHN0YXJ0IHdpdGgg + dGhlIHNpbXBsZXN0IGRlZmluaXRpb24gcG9zc2libGUuIEEgPHN0cm9uZz48 + ZW0+Y29tcGlsZXI8L2VtPjwvc3Ryb25nPiBpcyBhIHByb2dyYW0gdGhhdCBy + ZWFkcyBvdXIgY29kZSAob3IgYW55IGNvZGUsIGluIGFueSBwcm9ncmFtbWlu + ZyBsYW5ndWFnZSksIGFuZCB0cmFuc2xhdGVzIGl0IGludG8gYW5vdGhlciBs + YW5ndWFnZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpxMHZUOUo2eWxt + SWUydC1Jdm5XZHR3LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGNvbXBpbGVy + OiBhIGRlZmluaXRpb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkdlbmVy + YWxseSBzcGVha2luZywgYSBjb21waWxlciBpcyByZWFsbHkgb25seSBldmVy + IGdvaW5nIHRvIHRyYW5zbGF0ZSBjb2RlIGZyb20gYSBoaWdoLWxldmVsIGxh + bmd1YWdlIGludG8gYSBsb3dlciBsZXZlbCBsYW5ndWFnZS4gVGhlIGxvd2Vy + IGxldmVsIGxhbmd1YWdlcyB0aGF0IGEgY29tcGlsZXIgdHJhbnNsYXRlcyBj + b2RlIGludG8gaXMgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYXNzZW1ibHkgY29k + ZSwgbWFjaGluZSBjb2RlLCBvciBvYmplY3QgY29kZS4gSXTigJlzIHdvcnRo + IG1lbnRpb25pbmcgdGhhdCBtb3N0IHByb2dyYW1tZXJzIGFyZW7igJl0IHJl + YWxseSBkZWFsaW5nIHdpdGggb3Igd3JpdGluZyBhbnkgbWFjaGluZSBjb2Rl + OyByYXRoZXIsIHdlIGRlcGVuZCBvbiB0aGUgY29tcGlsZXIgdG8gdGFrZSBv + dXIgcHJvZ3JhbXMgYW5kIHRyYW5zbGF0ZSB0aGVtIGludG8gbWFjaGluZSBj + b2RlLCB3aGljaCBpcyB3aGF0IG91ciBjb21wdXRlciB3aWxsIHJ1biBhcyBh + biBleGVjdXRhYmxlIHByb2dyYW0uPC9wPjxwPldlIGNhbiB0aGluayBvZiBj + b21waWxlcnMgYXMgdGhlIG1pZGRsZW1hbiBiZXR3ZWVuIHVzLCB0aGUgcHJv + Z3JhbW1lcnMsIGFuZCBvdXIgY29tcHV0ZXJzLCB3aGljaCBjYW4gb25seSBy + dW4gZXhlY3V0YWJsZSBwcm9ncmFtcyBpbiBsb3dlciBsZXZlbCBsYW5ndWFn + ZXMuPC9wPjxibG9ja3F1b3RlPlRoZSBjb21waWxlciBkb2VzIHRoZSB3b3Jr + IG9mIHRyYW5zbGF0aW5nIHdoYXQgd2Ugd2FudCB0byBoYXBwZW4gaW4gYSB3 + YXkgdGhhdCBpcyB1bmRlcnN0YW5kYWJsZSBhbmQgZXhlY3V0YWJsZSBieSBv + dXIgbWFjaGluZXMuPC9ibG9ja3F1b3RlPjxwPldpdGhvdXQgdGhlIGNvbXBp + bGVyLCB3ZeKAmWQgYmUgZm9yY2VkIHRvIGNvbW11bmljYXRlIHdpdGggb3Vy + IGNvbXB1dGVycyBieSB3cml0aW5nIG1hY2hpbmUgY29kZSwgd2hpY2ggaXMg + aW5jcmVkaWJseSB1bnJlYWRhYmxlIGFuZCBoYXJkIHRvIGRlY2lwaGVyLiBN + YWNoaW5lIGNvZGUgY2FuIG9mdGVuIGp1c3QgbG9vayBsaWtlIGEgYnVuY2gg + b2YgMOKAmXMgYW5kIDHigJlzIHRvIHRoZSBodW1hbiBleWXigIrigJTigIpp + dOKAmXMgYWxsIGJpbmFyeSwgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2Vjcy9iaXRzLWJ5dGVzLWJ1aWxkaW5nLXdpdGgtYmluYXJ5LTEzY2I0 + Mjg5YWFmYSI+cmVtZW1iZXI8L2E+P+KAiuKAlOKAindoaWNoIG1ha2VzIGl0 + IHN1cGVyIGhhcmQgdG8gcmVhZCwgd3JpdGUsIGFuZCBkZWJ1Zy4gVGhlIGNv + bXBpbGVyIGFic3RyYWN0ZWQgYXdheSBtYWNoaW5lIGNvZGUgZm9yIHVzIGFz + IHByb2dyYW1tZXJzLCBiZWNhdXNlIGl0IG1hZGUgaXQgdmVyeSBlYXN5IGZv + ciB1cyB0byBub3QgdGhpbmsgYWJvdXQgbWFjaGluZSBjb2RlIGFuZCB3cml0 + ZSBwcm9ncmFtcyB1c2luZyBmYXIgbW9yZSBlbGVnYW50LCBjbGVhciwgYW5k + IGVhc3ktdG8tcmVhZCBsYW5ndWFnZXMuPC9wPjxwPldl4oCZbGwgY29udGlu + dWUgdG8gdW5wYWNrIG1vcmUgYW5kIG1vcmUgYWJvdXQgdGhlIG15c3Rlcmlv + dXMgY29tcGlsZXIgb3ZlciB0aGUgbmV4dCBmZXcgd2Vla3MsIHdoaWNoIHdp + bGwgaG9wZWZ1bGx5IG1ha2UgaXQgbGVzcyBvZiBhbiBlbmlnbWEgaW4gdGhl + IHByb2Nlc3MuIEJ1dCBmb3Igbm93LCBsZXTigJlzIGdldCBiYWNrIHRvIHRo + ZSBxdWVzdGlvbiBhdCBoYW5kOiB3aGF0IGFyZSB0aGUgc2ltcGxlc3QgcG9z + c2libGUgcGFydHMgb2YgYSBjb21waWxlcj88L3A+PHA+RWFjaCBjb21waWxl + ciwgbm8gbWF0dGVyIGhvdyBpdCBtaWdodCBiZSBkZXNpZ25lZCwgaGFzIGRp + c3RpbmN0IHBoYXNlcy4gVGhlc2UgcGhhc2VzIGFyZSBob3cgd2UgY2FuIGRp + c3Rpbmd1aXNoIHRoZSB1bmlxdWUgcGFydHMgb2YgdGhlIGNvbXBpbGVyLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkFJdlZSeHBxMk9JdkUtbF94UC02 + NFEuanBlZyIgLz48ZmlnY2FwdGlvbj5TeW50YXggYW5hbHlzaXM6IHBoYXNl + IG9uZSBvZiBhwqBjb21waWxlcjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5X + ZeKAmXZlIGFscmVhZHkgZW5jb3VudGVyZWQgb25lIG9mIHRoZSBwaGFzZXMg + aW4gb3VyIGNvbXBpbGF0aW9uIGFkdmVudHVyZXMgd2hlbiB3ZSByZWNlbnRs + eSBsZWFybmVkIGFib3V0IDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9i + YXNlY3MvZ3JhbW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJz + ZS10cmVlcy1lYzlkYWVkYTdkYWQiPnRoZSBwYXJzZXIgYW5kIHBhcnNlIHRy + ZWVzPC9hPi4gV2Uga25vdyB0aGF0IDxlbT5wYXJzaW5nPC9lbT4gaXMgdGhl + IHByb2Nlc3Mgb2YgdGFraW5nIHNvbWUgaW5wdXQgYW5kIGJ1aWxkaW5nIGEg + PGVtPnBhcnNlIHRyZWU8L2VtPiBvdXQgb2YgaXQsIHdoaWNoIGlzIHNvbWV0 + aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgYWN0IG9mIDxzdHJvbmc+PGVtPnBh + cnNpbmc8L2VtPjwvc3Ryb25nPi4gQXMgaXQgdHVybnMgb3V0LCB0aGUgd29y + ayBvZiBwYXJzaW5nIGlzIHNwZWNpZmljIHRvIGEgcGhhc2UgaW4gdGhlIGNv + bXBpbGF0aW9uIHByb2Nlc3MgY2FsbGVkIDxzdHJvbmc+PGVtPnN5bnRheCBh + bmFseXNpczwvZW0+PC9zdHJvbmc+LjwvcD48cD5Ib3dldmVyLCB0aGUgcGFy + c2VyIGRvZXNu4oCZdCBqdXN0IGJ1aWxkIGEgcGFyc2UgdHJlZSBvdXQgb2Yg + dGhpbiBhaXIuIEl0IGhhcyBzb21lIGhlbHAhIFdl4oCZbGwgcmVjYWxsIHRo + YXQgdGhlIHBhcnNlciBpcyBnaXZlbiBzb21lIDxlbT50b2tlbnM8L2VtPiAo + YWxzbyBjYWxsZWQgPGVtPnRlcm1pbmFsczwvZW0+KSwgYW5kIGl0IGJ1aWxk + cyBhIHBhcnNlIHRyZWUgZnJvbSB0aG9zZSB0b2tlbnMuIEJ1dCB3aGVyZSBk + b2VzIGl0IGdldCB0aG9zZSB0b2tlbnMgZnJvbT8gTHVja3kgZm9yIHRoZSBw + YXJzZXIsIGl0IGRvZXNu4oCZdCBoYXZlIHRvIG9wZXJhdGUgaW4gYSB2YWN1 + dW07IGluc3RlYWQsIGl0IGhhcyBzb21lwqBoZWxwLjwvcD48cD5UaGlzIGJy + aW5ncyB1cyB0byBhbm90aGVyIHBoYXNlIG9mIHRoZSBjb21waWxhdGlvbiBw + cm9jZXNzLCBvbmUgdGhhdCBjb21lcyBiZWZvcmUgdGhlIHN5bnRheCBhbmFs + eXNpcyBwaGFzZTogPHN0cm9uZz48ZW0+dGhlIGxleGljYWwgYW5hbHlzaXPC + oHBoYXNlPC9lbT48L3N0cm9uZz4uPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqTTRBYWpvdDFyaEVaMmF5UWVpbnF3dy5qcGVnIiAvPjxmaWdjYXB0aW9u + PlRoZSBpbml0aWFsIHBoYXNlcyBvZiBhwqBjb21waWxlcjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgdGVybSA8ZW0+4oCcbGV4aWNhbOKAnTwvZW0+ + IHJlZmVycyB0byB0aGUgbWVhbmluZyBvZiBhIHdvcmQgaW4gaXNvbGF0aW9u + IGZyb20gdGhlIHNlbnRlbmNlIGNvbnRhaW5pbmcgaXQsIGFuZCByZWdhcmRs + ZXNzIG9mIGl0cyBncmFtbWF0aWNhbCBjb250ZXh0LiBJZiB3ZSB0cnkgdG8g + Z3Vlc3Mgb3VyIG93biBtZWFuaW5nIGJhc2VkIHNvbGVseSB1cG9uIHRoaXMg + ZGVmaW5pdGlvbiwgd2UgY291bGQgcG9zaXQgdGhhdCB0aGUgbGV4aWNhbCBh + bmFseXNpcyBwaGFzZSBoYXMgdG8gZG8gd2l0aCB0aGUgaW5kaXZpZHVhbCB3 + b3Jkcy90ZXJtcyBpbiB0aGUgcHJvZ3JhbSB0aGVtc2VsdmVzLCBhbmQgbm90 + aGluZyB0byBkbyB3aXRoIHRoZSBncmFtbWFyIG9yIHRoZSBtZWFuaW5nIG9m + IHRoZSBzZW50ZW5jZSB0aGF0IGNvbnRhaW5zIHRoZcKgd29yZHMuPC9wPjxi + bG9ja3F1b3RlPlRoZSBsZXhpY2FsIGFuYWx5c2lzIHBoYXNlIGlzIHRoZSBm + aXJzdCBzdGVwIGluIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzLiBJdCBkb2Vz + buKAmXQga25vdyBvciBjYXJlIGFib3V0IHRoZSBncmFtbWFyIG9mIGEgc2Vu + dGVuY2Ugb3IgdGhlIG1lYW5pbmcgb2YgYSB0ZXh0IG9yIHByb2dyYW07IGFs + bCBpdCBrbm93cyBhYm91dCBhcmUgdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmRz + IHRoZW1zZWx2ZXMuPC9ibG9ja3F1b3RlPjxwPkxleGljYWwgYW5hbHlzaXMg + bXVzdCBvY2N1ciBiZWZvcmUgYW55IGNvZGUgZnJvbSBhIHNvdXJjZSBwcm9n + cmFtIGNhbiBiZSBwYXJzZWQuIEJlZm9yZSBpdCBjYW4gYmUgcmVhZCBieSB0 + aGUgcGFyc2VyLCBhIHByb2dyYW0gbXVzdCBmaXJzdCBiZSBzY2FubmVkLCBz + cGxpdCB1cCwgYW5kIGdyb3VwZWQgdG9nZXRoZXIgaW4gY2VydGFpbsKgd2F5 + cy48L3A+PHA+V2hlbiB3ZSBzdGFydGVkIGxvb2tpbmcgYXQgdGhlIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZ3JhbW1hdGljYWxseS1y + b290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10cmVlcy1lYzlkYWVkYTdkYWQi + PnN5bnRheCBhbmFseXNpcyBwaGFzZTwvYT4gbGFzdCB3ZWVrLCB3ZSBsZWFy + bmVkIHRoYXQgdGhlIHBhcnNlIHRyZWUgaXMgYnVpbHQgYnkgbG9va2luZyBh + dCBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZSBzZW50ZW5jZSBhbmQgYnJlYWtp + bmcgZG93biBleHByZXNzaW9ucyBpbnRvIHNpbXBsZXIgcGFydHMuIEJ1dCBk + dXJpbmcgdGhlIGxleGljYWwgYW5hbHlzaXMgcGhhc2UsIHRoZSBjb21waWxl + ciBkb2VzbuKAmXQga25vdyBvciBoYXZlIGFjY2VzcyB0byB0aGVzZSDigJxp + bmRpdmlkdWFsIHBhcnRz4oCdLiBSYXRoZXIsIGl0IGhhcyB0byBmaXJzdCBp + ZGVudGlmeSBhbmQgZmluZCB0aGVtLCBhbmQgdGhlbiBkbyB0aGUgd29yayBv + ZiBzcGxpdHRpbmcgYXBhcnQgdGhlIHRleHQgaW50byBpbmRpdmlkdWFsIHBp + ZWNlcy48L3A+PHA+Rm9yIGV4YW1wbGUsIHdoZW4gd2UgcmVhZCBhIHNlbnRl + bmNlIGZyb20gU2hha2VzcGVhcmUgbGlrZSBUbyBzbGVlcCwgcGVyY2hhbmNl + IHRvIGRyZWFtLiwgd2Uga25vdyB0aGF0IHRoZSBzcGFjZXMgYW5kIHRoZSBw + dW5jdHVhdGlvbiBhcmUgZGl2aWRpbmcgdXAgdGhlIOKAnHdvcmRz4oCdIG9m + IGEgc2VudGVuY2UuIFRoaXMgaXMsIG9mIGNvdXJzZSwgYmVjYXVzZSB3ZeKA + mXZlIGJlZW4gdHJhaW5lZCB0byByZWFkIGEgc2VudGVuY2UsIOKAnGxleOKA + nSBpdCwgYW5kIHBhcnNlIGl0IGZvcsKgZ3JhbW1hci48L3A+PHA+QnV0LCB0 + byBhIGNvbXBpbGVyLCB0aGF0IHNhbWUgc2VudGVuY2UgbWlnaHQgbG9vayBs + aWtlIHRoaXMgdGhlIGZpcnN0IHRpbWUgdGhhdCBpdCByZWFkcyBpdDogVG9z + bGVlcHBlcmhhY2hhbmNldG9kcmVhbS4gV2hlbiB3ZSByZWFkIDxlbT50aGlz + PC9lbT4gc2VudGVuY2UsIGl04oCZcyBhIGxpdHRsZSBoYXJkZXIgZm9yIHVz + IHRvIGRldGVybWluZSB3aGF0IHRoZSBhY3R1YWwg4oCcd29yZHPigJ0gYXJl + ISBJ4oCZbSBzdXJlIG91ciBjb21waWxlciBmZWVscyB0aGUgc2FtZcKgd2F5 + LjwvcD48cD5TbywgaG93IGRvZXMgb3VyIG1hY2hpbmUgZGVhbCB3aXRoIHRo + aXMgcHJvYmxlbT8gV2VsbCwgZHVyaW5nIHRoZSBsZXhpY2FsIGFuYWx5c2lz + IHBoYXNlIG9mIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzLCBpdCBhbHdheXMg + ZG9lcyB0d28gaW1wb3J0YW50IHRoaW5nczogaXQgPHN0cm9uZz48ZW0+c2Nh + bnM8L2VtPjwvc3Ryb25nPiB0aGUgY29kZSwgYW5kIHRoZW4gaXQgPHN0cm9u + Zz48ZW0+ZXZhbHVhdGVzPC9lbT48L3N0cm9uZz4gaXQuPC9wPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqM3VMc3A2b2ZXMHliNXFXOXhLR2xZUS5qcGVnIiAv + PjxmaWdjYXB0aW9uPlRoZSB0d28gc3RlcHMgb2YgdGhlIGxleGljYWwgYW5h + bHlzaXPCoHByb2Nlc3MhPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoZSB3 + b3JrIG9mIHNjYW5uaW5nIGFuZCBldmFsdWF0aW5nIGNhbiBzb21ldGltZXMg + YmUgbHVtcGVkIHRvZ2V0aGVyIGludG8gb25lIHNpbmdsZSBwcm9ncmFtLCBv + ciBpdCBjb3VsZCBiZSB0d28gc2VwYXJhdGUgcHJvZ3JhbXMgdGhhdCBkZXBl + bmQgb24gb25lIGFub3RoZXI7IGl04oCZcyByZWFsbHkganVzdCBhIHF1ZXN0 + aW9uIG9mIGhvdyBhbnkgb25lIGNvbXBsaWVyIGhhcHBlbmVkIHRvIGJlIGRl + c2lnbmVkLiBUaGUgcHJvZ3JhbSB3aXRoaW4gdGhlIGNvbXBpbGVyIHdoaWNo + IGlzIHJlc3BvbnNpYmxlIGZvciBkb2luZyB0aGUgd29yayBvZiBzY2Fubmlu + ZyBhbmQgZXZhbHVhdGluZyBpcyBvZnRlbiByZWZlcnJlZCB0byBhcyB0aGUg + PHN0cm9uZz48ZW0+bGV4ZXI8L2VtPjwvc3Ryb25nPiBvciB0aGUgPHN0cm9u + Zz48ZW0+dG9rZW5pemVyPC9lbT48L3N0cm9uZz4sIGFuZCB0aGUgZW50aXJl + IGxleGljYWwgYW5hbHlzaXMgcGhhc2UgaXMgc29tZXRpbWVzIGNhbGxlZCB0 + aGUgcHJvY2VzcyBvZiA8c3Ryb25nPjxlbT5sZXhpbmc8L2VtPjwvc3Ryb25n + PiBvciA8c3Ryb25nPjxlbT50b2tlbml6aW5nPC9lbT48L3N0cm9uZz4uPC9w + PjxoMz5UbyBzY2FuLCBwZXJjaGFuY2UgdG/CoHJlYWQ8L2gzPjxwPlRoZSBm + aXJzdCBvZiB0aGUgdHdvIGNvcmUgc3RlcHMgaW4gbGV4aWNhbCBhbmFseXNp + cyBpcyA8c3Ryb25nPjxlbT5zY2FubmluZzwvZW0+PC9zdHJvbmc+LiBXZSBj + YW4gdGhpbmsgb2Ygc2Nhbm5pbmcgYXMgdGhlIHdvcmsgb2YgYWN0dWFsbHkg + 4oCccmVhZGluZ+KAnSBzb21lIGlucHV0IHRleHQuIFJlbWVtYmVyIHRoYXQg + dGhpcyBpbnB1dCB0ZXh0IGNvdWxkIGJlIGEgc3RyaW5nLCBzZW50ZW5jZSwg + ZXhwcmVzc2lvbiwgb3IgZXZlbiBhbiBlbnRpcmUgcHJvZ3JhbSEgSXQgZG9l + c27igJl0IHJlYWxseSBtYXR0ZXIsIGJlY2F1c2UsIGluIHRoaXMgcGhhc2Ug + b2YgdGhlIHByb2Nlc3MsIGl04oCZcyBqdXN0IGEgZ2lhbnQgYmxvYiBvZiBj + aGFyYWN0ZXJzIHRoYXQgZG9lc27igJl0IG1lYW4gYW55dGhpbmcganVzdCB5 + ZXQsIGFuZCBpcyBvbmUgY29udGlndW91cyBjaHVuay48L3A+PHA+TGV04oCZ + cyBsb29rIGF0IGFuIGV4YW1wbGUgdG8gc2VlIGhvdyBleGFjdGx5IHRoaXMg + aGFwcGVucy4gV2XigJlsbCB1c2Ugb3VyIG9yaWdpbmFsIHNlbnRlbmNlLCBU + byBzbGVlcCwgcGVyY2hhbmNlIHRvIGRyZWFtLiwgd2hpY2ggaXMgb3VyIDxz + dHJvbmc+PGVtPnNvdXJjZSB0ZXh0PC9lbT48L3N0cm9uZz4gb3IgPHN0cm9u + Zz48ZW0+c291cmNlIGNvZGU8L2VtPjwvc3Ryb25nPi4gVG8gb3VyIGNvbXBp + bGVyLCB0aGlzIHNvdXJjZSB0ZXh0IHdpbGwgYmUgcmVhZCBhcyBpbnB1dCB0 + ZXh0IHRoYXQgbG9va3MgbGlrZSBUb3NsZWVwLHBlcmNoYW5jZXRvZHJlYW0u + LCB3aGljaCBpcyBqdXN0IGEgc3RyaW5nIG9mIGNoYXJhY3RlcnMgdGhhdCBo + YXMgeWV0IHRvIGJlIGRlY2lwaGVyZWQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9 + IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8x + MDI0LzEqNUZxemFzbTktNlBMRTl0eTU0NWs3US5qcGVnIiAvPjxmaWdjYXB0 + aW9uPlRoZSBzY2FubmluZyBwcm9jZXNzLCBzdGVwwqAxLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgZmlyc3QgdGhpbmcgb3VyIGNvbXBpbGVyIGhh + cyB0byBkbyBpcyBhY3R1YWxseSBkaXZpZGUgdXAgdGhhdCBibG9iIG9mIHRl + eHQgaW50byBpdHMgc21hbGxlc3QgcG9zc2libGUgcGllY2VzLCB3aGljaCB3 + aWxsIG1ha2UgaXQgbXVjaCBlYXNpZXIgdG8gaWRlbnRpZnkgd2hlcmUgdGhl + IHdvcmRzIGluIHRoZSBibG9iIG9mIHRleHQgYWN0dWFsbHnCoGFyZS48L3A+ + PGJsb2NrcXVvdGU+VGhlIHNpbXBsZXN0IHdheSBvZiBkaXZpbmcgdXAgYSBn + aWFudCBjaHVuayBvZiB0ZXh0IGlzIGJ5IHJlYWRpbmcgaXQgc2xvd2x5IGFu + ZCBzeXN0ZW1hdGljYWxseSwgb25lIGNoYXJhY3RlciBhdCBhIHRpbWUuIEFu + ZCB0aGlzIGlzIGV4YWN0bHkgd2hhdCB0aGUgY29tcGlsZXLCoGRvZXMuPC9i + bG9ja3F1b3RlPjxwPk9mdGVudGltZXMsIHRoZSBzY2FubmluZyBwcm9jZXNz + IGlzIGhhbmRsZWQgYnkgYSBzZXBhcmF0ZSBwcm9ncmFtIGNhbGxlZCB0aGUg + PHN0cm9uZz48ZW0+c2Nhbm5lcjwvZW0+PC9zdHJvbmc+LCB3aG9zZSBzb2xl + IGpvYiBpdCBpcyB0byBkbyB0aGUgd29yayBvZiByZWFkaW5nIGEgc291cmNl + IGZpbGUvdGV4dCwgb25lIGNoYXJhY3RlciBhdCBhIHRpbWUuIFRvIG91ciBz + Y2FubmVyLCBpdCBkb2VzbuKAmXQgcmVhbGx5IG1hdHRlciBob3cgYmlnIG91 + ciB0ZXh0IGlzOyBhbGwgaXQgd2lsbCBzZWUgd2hlbiBpdCDigJxyZWFkc+KA + nSBvdXIgZmlsZSBpcyBvbmUgY2hhcmFjdGVyIGF0IGHCoHRpbWUuPC9wPjxw + PkhlcmXigJlzIHdoYXQgb3VyIFNoYWtlc3BlYXJlYW4gc2VudGVuY2Ugd291 + bGQgYmUgcmVhZCBhcyBieSBvdXLCoHNjYW5uZXI6PC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqM1pTTkJSWUFmdDVteXcxS1Jud3I2US5qcGVnIiAvPjxm + aWdjYXB0aW9uPlRoZSBzY2FubmluZyBwcm9jZXNzLCBzdGVwwqAyLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5XZeKAmWxsIG5vdGljZSB0aGF0IFRvIHNs + ZWVwLCBwZXJjaGFuY2UgdG8gZHJlYW0uIGhhcyBiZWVuIHNwbGl0IGludG8g + aW5kaXZpZHVhbCBjaGFyYWN0ZXJzIGJ5IG91ciBzY2FubmVyLiBGdXJ0aGVy + bW9yZSwgZXZlbiB0aGUgc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzIGFyZSBi + ZWluZyB0cmVhdGVkIGFzIGNoYXJhY3RlcnMsIGFzIGlzIHRoZSBwdW5jdHVh + dGlvbiBpbiBvdXIgc2VudGVuY2UuIFRoZXJl4oCZcyBhbHNvIGEgY2hhcmFj + dGVyIGF0IHRoZSBlbmQgb2YgdGhpcyBzZXF1ZW5jZSB0aGF0IGlzIHBhcnRp + Y3VsYXJseSBpbnRlcmVzdGluZzogZW9mLiBUaGlzIGlzIHRoZSBjaGFyYWN0 + ZXIg4oCcZW5kIG9mIGZpbGXigJ0sIGFuZCBpdOKAmXMgc2ltaWxhciB0byB0 + YWIsIHNwYWNlLCBhbmQgbmV3bGluZS4gU2luY2Ugb3VyIHNvdXJjZSB0ZXh0 + IGlzIGp1c3Qgb25lIHNpbmdsZSBzZW50ZW5jZSwgd2hlbiBvdXIgc2Nhbm5l + ciBnZXRzIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgKGluIHRoaXMgY2FzZSwg + dGhlIGVuZCBvZiB0aGUgc2VudGVuY2UpLCBpdCByZWFkcyB0aGUgZW5kIG9m + IGZpbGUgYW5kIHRyZWF0cyBpdCBhcyBhIGNoYXJhY3Rlci48L3A+PHA+U28s + IGluIGFjdHVhbGl0eSwgd2hlbiBvdXIgc2Nhbm5lciByZWFkIG91ciBpbnB1 + dCB0ZXh0LCBpdCBpbnRlcnByZXRlZCBpdCBhcyBpbmRpdmlkdWFsIGNoYXJh + Y3RlcnMgd2hpY2ggcmVzdWx0ZWQgaW4gdGhpczogWyZxdW90O1QmcXVvdDss + ICZxdW90O28mcXVvdDssIHNwYWNlLCAmcXVvdDtzJnF1b3Q7LCAmcXVvdDts + JnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDtw + JnF1b3Q7LCAmcXVvdDssJnF1b3Q7LCBzcGFjZSwgJnF1b3Q7cCZxdW90Oywg + JnF1b3Q7ZSZxdW90OywgJnF1b3Q7ciZxdW90OywgJnF1b3Q7YyZxdW90Oywg + JnF1b3Q7aCZxdW90OywgJnF1b3Q7YSZxdW90OywgJnF1b3Q7biZxdW90Oywg + JnF1b3Q7YyZxdW90OywgJnF1b3Q7ZSZxdW90Oywgc3BhY2UsICZxdW90O3Qm + cXVvdDssICZxdW90O28mcXVvdDssIHNwYWNlLCAmcXVvdDtkJnF1b3Q7LCAm + cXVvdDtyJnF1b3Q7LCAmcXVvdDtlJnF1b3Q7LCAmcXVvdDthJnF1b3Q7LCAm + cXVvdDttJnF1b3Q7LCAmcXVvdDsuJnF1b3Q7LMKgZW9mXS48L3A+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSo1UExFazRQdHZ6SElybWJweHNRaUFnLmpwZWci + IC8+PGZpZ2NhcHRpb24+VGhlIHNjYW5uaW5nIHByb2Nlc3MsIHN0ZXDCoDMu + PC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5vdyB0aGF0IG91ciBzY2FubmVy + IGhhcyByZWFkIGFuZCBzcGxpdCB1cCBvdXIgc291cmNlIHRleHQgaW50byBp + dHMgc21hbGxlc3QgcG9zc2libGUgcGFydHMsIGl0IHdpbGwgaGF2ZSBhIG11 + Y2ggZWFzaWVyIHRpbWUgb2YgZmlndXJpbmcgb3V0IHRoZSDigJx3b3Jkc+KA + nSBpbiBvdXIgc2VudGVuY2UuPC9wPjxwPk5leHQsIHRoZSBzY2FubmVyIG5l + ZWRzIHRvIGxvb2sgYXQgaXRzIHNwbGl0IHVwIGNoYXJhY3RlcnMgaW4gb3Jk + ZXIsIGFuZCBkZXRlcm1pbmUgd2hpY2ggY2hhcmFjdGVycyBhcmUgcGFydHMg + b2YgYSB3b3JkLCBhbmQgd2hpY2ggb25lcyBhcmUgbm90LiBGb3IgZWFjaCBj + aGFyYWN0ZXIgdGhhdCB0aGUgc2Nhbm5lciByZWFkcywgaXQgbWFya3MgdGhl + IGxpbmUgYW5kIHRoZSBwb3NpdGlvbiBvZiB3aGVyZSB0aGF0IGNoYXJhY3Rl + ciB3YXMgZm91bmQgaW4gdGhlIHNvdXJjZcKgdGV4dC48L3A+PHA+VGhlIGlt + YWdlIHNob3duIGhlcmUgaWxsdXN0cmF0ZXMgdGhpcyBwcm9jZXNzIGZvciBv + dXIgU2hha2VzcGVhcmVhbiBzZW50ZW5jZS4gV2UgY2FuIHNlZSB0aGF0IG91 + ciBzY2FubmVyIGlzIG1hcmtpbmcgdGhlIGxpbmUgYW5kIHRoZSBjb2x1bW4g + Zm9yIGVhY2ggY2hhcmFjdGVyIGluIG91ciBzZW50ZW5jZS4gV2UgY2FuIHRo + aW5rIG9mIHRoZSBsaW5lIGFuZCBjb2x1bW4gcmVwcmVzZW50YXRpb24gYXMg + YSBtYXRyaXggb3IgYXJyYXkgb2YgY2hhcmFjdGVycy48L3A+PHA+UmVjYWxs + IHRoYXQsIHNpbmNlIG91ciBmaWxlIGhhcyBvbmx5IG9uZSBzaW5nbGUgbGlu + ZSBpbiBpdCwgZXZlcnl0aGluZyBsaXZlcyBhdCBsaW5lIDAuIEhvd2V2ZXIs + IGFzIHdlIHdvcmsgb3VyIHdheSB0aHJvdWdoIHRoZSBzZW50ZW5jZSwgdGhl + IGNvbHVtbiBvZiBlYWNoIGNoYXJhY3RlciBpbmNyZW1lbnRzLiBJdOKAmXMg + YWxzbyB3b3J0aCBtZW50aW9uaW5nIHRoYXQsIHNpbmNlIG91ciBzY2FubmVy + IHJlYWRzIHNwYWNlcywgbmV3bGluZXMsIGVvZiwgYW5kIGFsbCBwdW5jdHVh + dGlvbiBhcyBjaGFyYWN0ZXJzLCB0aG9zZSBhcHBlYXIgaW4gb3VyIGNoYXJh + Y3RlciB0YWJsZSzCoHRvbyE8L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9 + Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpG + Y1hiTDM3SkNtTVFVMjJIalp1RmlRLmpwZWciIC8+PGZpZ2NhcHRpb24+VGhl + IHNjYW5uaW5nIHByb2Nlc3MsIHN0ZXDCoDQuPC9maWdjYXB0aW9uPjwvZmln + dXJlPjxwPk9uY2UgdGhlIHNvdXJjZSB0ZXh0IGhhcyBiZWVuIHNjYW5uZWQg + YW5kIG1hcmtlZCwgb3VyIGNvbXBpbGVyIGlzIHJlYWR5IHRvIHR1cm4gdGhl + c2UgY2hhcmFjdGVycyBpbnRvIHdvcmRzLiBTaW5jZSB0aGUgc2Nhbm5lciBr + bm93cyBub3QganVzdCB3aGVyZSB0aGUgc3BhY2VzLCBuZXdsaW5lcywgYW5k + IGVvZiBpbiB0aGUgZmlsZSBhcmUsIGJ1dCBhbHNvIHdoZXJlIHRoZXkgbGl2 + ZSBpbiByZWxhdGlvbiB0byB0aGUgb3RoZXIgY2hhcmFjdGVycyBzdXJyb3Vu + ZGluZyB0aGVtLCBpdCBjYW4gc2NhbiB0aHJvdWdoIHRoZSBjaGFyYWN0ZXJz + LCBhbmQgZGl2aWRlIHRoZSB0aGVtIGludG8gaW5kaXZpZHVhbCBzdHJpbmdz + IGFzIG5lY2Vzc2FyeS48L3A+PHA+SW4gb3VyIGV4YW1wbGUsIHRoZSBzY2Fu + bmVyIHdpbGwgbG9vayBhdCB0aGUgY2hhcmFjdGVycyBULCB0aGVuIG8sIGFu + ZCB0aGVuIGEgc3BhY2UuIFdoZW4gaXQgZmluZHMgYSBzcGFjZSwgaXQgd2ls + bCBkaXZpZGUgVG8gaW50byBpdHMgb3duIHdvcmTigIrigJTigIp0aGUgc2lt + cGxlc3QgY29tYmluYXRpb24gb2YgY2hhcmFjdGVycyBwb3NzaWJsZSBiZWZv + cmUgdGhlIHNjYW5uZXIgZW5jb3VudGVycyBhwqBzcGFjZS48L3A+PHA+SXTi + gJlzIGEgc2ltaWxhciBzdG9yeSBmb3IgdGhlIG5leHQgd29yZCB0aGF0IGl0 + IGZpbmRzLCB3aGljaCBpcyBzbGVlcC4gSG93ZXZlciwgaW4gdGhpcyBzY2Vu + YXJpbywgaXQgcmVhZHMgcy1sLWUtZS1wLCBhbmQgdGhlbiByZWFkcyBhwqAs + LCBhIHB1bmN0dWF0aW9uIG1hcmsuIFNpbmNlIHRoaXMgY29tbWEgaXMgZmxh + bmtlZCBieSBhIGNoYXJhY3RlciAocCkgYW5kIGEgc3BhY2Ugb24gZWl0aGVy + IHNpZGUsIHRoZSBjb21tYSBpcywgaXRzZWxmLCBjb25zaWRlcmVkIHRvIGJl + IGHCoOKAnHdvcmTigJ0uPC9wPjxwPkJvdGggdGhlIHdvcmQgc2xlZXAgYW5k + IHRoZSBwdW5jdHVhdGlvbiBzeW1ib2zCoCwgYXJlIGNhbGxlZCA8c3Ryb25n + PjxlbT5sZXhlbWVzPC9lbT48L3N0cm9uZz4sIHdoaWNoIGFyZSBzdWJzdHJp + bmdzIHRoZSBzb3VyY2UgdGV4dC4gQSBsZXhlbWUgaXMgYSBncm91cGluZyBv + ZiB0aGUgc21hbGxlc3QgcG9zc2libGUgc2VxdWVuY2VzIG9mIGNoYXJhY3Rl + cnMgaW4gb3VyIHNvdXJjZSBjb2RlLiBUaGUgbGV4ZW1lcyBvZiBhIHNvdXJj + ZSBmaWxlIGFyZSBjb25zaWRlcmVkIHRoZSBpbmRpdmlkdWFsIOKAnHdvcmRz + 4oCdIG9mIHRoZSBmaWxlIGl0c2VsZi4gT25jZSBvdXIgc2Nhbm5lciBmaW5p + c2hlcyByZWFkaW5nIHRoZSBzaW5nbGUgY2hhcmFjdGVycyBvZiBvdXIgZmls + ZSwgaXQgd2lsbCByZXR1cm4gYSBzZXQgb2YgbGV4ZW1lcyB0aGF0IGxvb2sg + bGlrZSB0aGlzOiBbJnF1b3Q7VG8mcXVvdDssICZxdW90O3NsZWVwJnF1b3Q7 + LCAmcXVvdDssJnF1b3Q7LCAmcXVvdDtwZXJjaGFuY2UmcXVvdDssICZxdW90 + O3RvJnF1b3Q7LCAmcXVvdDtkcmVhbSZxdW90OyzCoCZxdW90Oy4mcXVvdDtd + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh5SzktRWdtSXJyYmRHR05N + YmdMdXcuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgc2Nhbm5pbmcgcHJvY2Vz + cywgc3RlcMKgNS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Tm90aWNlIGhv + dyBvdXIgc2Nhbm5lciB0b29rIGEgYmxvYiBvZiB0ZXh0IGFzIGl0cyBpbnB1 + dCwgd2hpY2ggaXQgY291bGRu4oCZdCBpbml0aWFsbHkgcmVhZCwgYW5kIHBy + b2NlZWRlZCB0byBzY2FuIGl0IG9uY2UgY2hhcmFjdGVyIGF0IGEgdGltZSwg + c2ltdWx0YW5lb3VzbHkgcmVhZGluZyBhbmQgbWFya2luZyBpdCB0aGUgY29u + dGVudC4gSXQgdGhlbiBwcm9jZWVkZWQgdG8gZGl2aWRlIHRoZSBzdHJpbmcg + aW50byB0aGVpciBzbWFsbGVzdCBwb3NzaWJsZSBsZXhlbWVzIGJ5IHVzaW5n + IHRoZSBzcGFjZXMgYW5kIHB1bmN0dWF0aW9uIGJldHdlZW4gY2hhcmFjdGVy + cyBhcyBkZWxpbWl0ZXJzLjwvcD48cD5Ib3dldmVyLCBkZXNwaXRlIGFsbCBv + ZiB0aGlzIHdvcmssIGF0IHRoaXMgcG9pbnQgaW4gdGhlIGxleGljYWwgYW5h + bHlzaXMgcGhhc2UsIG91ciBzY2FubmVyIGRvZXNu4oCZdCBrbm93IGFueXRo + aW5nIGFib3V0IHRoZXNlIHdvcmRzLiBTdXJlLCBpdCBzcGxpdCB1cCB0aGUg + dGV4dCBpbnRvIHdvcmRzIG9mIGRpZmZlcmVudCBzaGFwZXMgYW5kIHNpemVz + LCBidXQgYXMgZmFyIGFzIHdoYXQgdGhvc2Ugd29yZHMgYXJlIHRoZSBzY2Fu + bmVyIGhhcyBubyBpZGVhISBUaGUgd29yZHMgY291bGQgYmUgYSBsaXRlcmFs + IHN0cmluZywgb3IgdGhleSBjb3VsZCBiZSBhIHB1bmN0dWF0aW9uIG1hcmss + IG9yIHRoZXkgY291bGQgYmUgc29tZXRoaW5nIGVsc2UgZW50aXJlbHkhPC9w + PjxibG9ja3F1b3RlPlRoZSBzY2FubmVyIGRvZXNu4oCZdCBrbm93IGFueXRo + aW5nIGFib3V0IHRoZSB3b3JkcyB0aGVtc2VsdmVzLCBvciB3aGF0IOKAnHR5 + cGXigJ0gb2Ygd29yZCB0aGV5IGFyZS4gSXQganVzdCBrbm93cyB3aGVyZSB0 + aGUgd29yZHMgZW5kIGFuZCBiZWdpbiB3aXRoaW4gdGhlIHRleHTCoGl0c2Vs + Zi48L2Jsb2NrcXVvdGU+PHA+VGhpcyBzZXRzIHVzIHVwIGZvciB0aGUgc2Vj + b25kIHBoYXNlIG9mIGxleGljYWwgYW5hbHlzaXM6IGV2YWx1YXRpb24uIE9u + Y2Ugd2XigJl2ZSBzY2FubmVkIG91ciB0ZXh0IGFuZCBicm9rZW4gdXAgdGhl + IHNvdXJjZSBjb2RlIGludG8gaW5kaXZpZHVhbCBsZXhlbWUgdW5pdHMsIHdl + IG11c3QgZXZhbHVhdGUgdGhlIHdvcmRzIHRoYXQgdGhlIHNjYW5uZXIgcmV0 + dXJuZWQgdG8gdXMgYW5kIGZpZ3VyZSBvdXQgd2hhdCB0eXBlcyBvZiB3b3Jk + cyB3ZeKAmXJlIGRlYWxpbmcgd2l0aOKAiuKAlOKAimluIHBhcnRpY3VsYXIs + IHdlIG11c3QgbG9vayBmb3IgaW1wb3J0YW50IHdvcmRzIHRoYXQgbWVhbiBz + b21ldGhpbmcgc3BlY2lhbCBpbiB0aGUgbGFuZ3VhZ2Ugd2XigJlyZSB0cnlp + bmcgdG/CoGNvbXBpbGUuPC9wPjxoMz5FdmFsdWF0aW5nIHRoZSBpbXBvcnRh + bnQgcGFydHM8L2gzPjxwPk9uY2Ugd2XigJl2ZSBmaW5pc2hlZCBzY2Fubmlu + ZyBvdXIgc291cmNlIHRleHQgYW5kIGlkZW50aWZpZWQgb3VyIGxleGVtZXMs + IHdl4oCZbGwgbmVlZCB0byBkbyBzb21ldGhpbmcgPGVtPndpdGggPC9lbT5v + dXIgbGV4ZW1lIOKAnHdvcmRz4oCdLiBUaGlzIGlzIHRoZSA8c3Ryb25nPjxl + bT5ldmFsdWF0aW9uPC9lbT48L3N0cm9uZz4gc3RlcCBvZiBsZXhpY2FsIGFu + YWx5c2lzLCB3aGljaCBpcyBvZnRlbiByZWZlcnJlZCB0byBpbiBjb21wbGll + ciBkZXNpZ24gYXMgdGhlIHByb2Nlc3Mgb2YgPHN0cm9uZz48ZW0+bGV4aW5n + PC9lbT48L3N0cm9uZz4gb3IgPHN0cm9uZz48ZW0+dG9rZW5pemluZzwvZW0+ + PC9zdHJvbmc+IG91csKgaW5wdXQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqR0JlS1BGbHZXaEFZOGxtdDZFZW5ady5qcGVnIiAvPjxmaWdjYXB0aW9u + PldoYXQgZG9lcyBpdCBtZWFuIHRvIGV2YWx1YXRlIHRoZSBzY2FubmVkwqBj + b2RlPzwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XaGVuIHdlIGV2YWx1YXRl + IG91ciBzY2FubmVkIGNvZGUsIGFsbCB3ZeKAmXJlIHJlYWxseSBkb2luZyBp + cyB0YWtpbmcgYSBjbG9zZXIgbG9vayBhdCBlYWNoIG9mIHRoZSBsZXhlbWVz + IHRoYXQgb3VyIHNjYW5uZXIgZ2VuZXJhdGVkLiBPdXIgY29tcGlsZXIgd2ls + bCBuZWVkIHRvIGxvb2sgYXQgZWFjaCBsZXhlbWUgd29yZCBhbmQgZGVjaWRl + IHdoYXQgPGVtPmtpbmQ8L2VtPiBvZiB3b3JkIGl0IGlzLiBUaGUgcHJvY2Vz + cyBvZiBkZXRlcm1pbmluZyB3aGF0IGtpbmQgb2YgbGV4ZW1lIGVhY2gg4oCc + d29yZOKAnSBpbiBvdXIgdGV4dCBpcyBob3cgb3VyIGNvbXBpbGVyIHR1cm5z + IGVhY2ggaW5kaXZpZHVhbCBsZXhlbWUgaW50byBhIHRva2VuLCB0aGVyZWJ5 + IHRva2VuaXppbmcgb3VyIGlucHV0wqBzdHJpbmcuPC9wPjxwPldlIGZpcnN0 + IGVuY291bnRlcmVkIHRva2VucyBiYWNrIHdoZW4gd2Ugd2VyZSBsZWFybmlu + ZyBhYm91dCBwYXJzZSB0cmVlcy4gVG9rZW5zIGFyZSBzcGVjaWFsIHN5bWJv + bHMgdGhhdCBhcmUgYXQgdGhlIGNydXggb2YgZWFjaCBwcm9ncmFtbWluZyBs + YW5ndWFnZS4gVG9rZW5zLCBzdWNoIGFzICgsICksICssIC0sIGlmLCBlbHNl + LCB0aGVuLCBhbGwgaGVscCBhIGNvbXBpbGVyIHVuZGVyc3RhbmQgaG93IGRp + ZmZlcmVudCBwYXJ0cyBvZiBhbiBleHByZXNzaW9uIGFuZCB2YXJpb3VzIGVs + ZW1lbnRzIHJlbGF0ZSB0byBvbmUgYW5vdGhlci4gVGhlIHBhcnNlciwgd2hp + Y2ggaXMgY2VudHJhbCB0byB0aGUgc3ludGF4IGFuYWx5c2lzIHBoYXNlLCBk + ZXBlbmRzIG9uIHJlY2VpdmluZyB0b2tlbnMgZnJvbSA8ZW0+c29tZXdoZXJl + PC9lbT4gYW5kIHRoZW4gdHVybnMgdGhvc2UgdG9rZW5zIGludG8gYSBwYXJz + ZcKgdHJlZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpCaFh2Z1gtT1hw + VXRTcHNYTzdyalhnLmpwZWciIC8+PGZpZ2NhcHRpb24+VG9rZW5zOiBhIGRl + ZmluaXRpb24uPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPldlbGwsIGd1ZXNz + IHdoYXQ/IFdl4oCZdmUgZmluYWxseSBmaWd1cmVkIG91dCB0aGUg4oCcc29t + ZXdoZXJl4oCdISBBcyBpdCB0dXJucyBvdXQsIHRoZSB0b2tlbnMgdGhhdCBn + ZXQgc2VudCB0byB0aGUgcGFyc2VyIGFyZSBnZW5lcmF0ZWQgaW4gdGhlIGxl + eGljYWwgYW5hbHlzaXMgcGhhc2UgYnkgdGhlIDxzdHJvbmc+PGVtPnRva2Vu + aXplcjwvZW0+PC9zdHJvbmc+LCBhbHNvIGNhbGxlZCB0aGXCoDxzdHJvbmc+ + PGVtPmxleGVyPC9lbT48L3N0cm9uZz4uPC9wPjxmaWd1cmU+PGltZyBhbHQ9 + IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8x + MDI0LzEqUVREcFQ5R2ZYWWJ3blUyX2gwXzNsdy5qcGVnIiAvPjxmaWdjYXB0 + aW9uPlRva2VuaXppbmcgb3VyIFNoYWtlc3BlYXJlYW4gc2VudGVuY2UhPC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPlNvIHdoYXQgZXhhY3RseSBkb2VzIGEg + dG9rZW4gbG9vayBsaWtlPyBBIDxzdHJvbmc+PGVtPnRva2VuPC9lbT48L3N0 + cm9uZz4gaXMgZmFpcmx5IHNpbXBsZSwgYW5kIGlzIHVzdWFsbHkgcmVwcmVz + ZW50ZWQgYXMgYSBwYWlyLCBjb25zaXN0aW5nIG9mIGEgdG9rZW4gbmFtZSwg + YW5kIHNvbWUgdmFsdWUgKHdoaWNoIGlzIG9wdGlvbmFsKS48L3A+PHA+Rm9y + IGV4YW1wbGUsIGlmIHdlIHRva2VuaXplIG91ciBTaGFrZXNwZWFyZWFuIHN0 + cmluZywgd2XigJlkIGVuZCB1cCB3aXRoIHRva2VucyB0aGF0IHdvdWxkIGJl + IG1vc3RseSBzdHJpbmcgbGl0ZXJhbHMgYW5kIHNlcGFyYXRvcnMuIFdlIGNv + dWxkIHJlcHJlc2VudCB0aGUgbGV4ZW1lIOKAnGRyZWFt4oCdIGFzIGEgdG9r + ZW4gbGlrZSBzbzogJmx0O3N0cmluZyBsaXRlcmFsLCAmcXVvdDtkcmVhbSZx + dW90OyZndDsuIEluIGEgc2ltaWxhciB2ZWluLCB3ZSBjb3VsZCByZXByZXNl + bnQgdGhlIGxleGVtZcKgLiBhcyB0aGUgdG9rZW4sICZsdDtzZXBhcmF0b3Is + wqAuJmd0Oy48L3A+PHA+V2XigJlsbCBub3RpY2UgdGhhdCBlYWNoIG9mIHRo + ZXNlIHRva2VucyBhcmVu4oCZdCBtb2RpZnlpbmcgdGhlIGxleGVtZSBhdCBh + bGzigIrigJTigIp0aGV54oCZcmUgc2ltcGx5IGFkZGluZyBhZGRpdGlvbmFs + IGluZm9ybWF0aW9uIHRvIHRoZW0uIEEgdG9rZW4gaXMgbGV4ZW1lIG9yIGxl + eGljYWwgdW5pdCB3aXRoIG1vcmUgZGV0YWlsOyBzcGVjaWZpY2FsbHksIHRo + ZSBhZGRlZCBkZXRhaWwgdGVsbHMgdXMgd2hhdCBjYXRlZ29yeSBvZiB0b2tl + biAod2hhdCB0eXBlIG9mIOKAnHdvcmTigJ0pIHdl4oCZcmUgZGVhbGluZ8Kg + d2l0aC48L3A+PHA+Tm93IHRoYXQgd2XigJl2ZSB0b2tlbml6ZWQgb3VyIFNo + YWtlc3BlYXJlYW4gc2VudGVuY2UsIHdlIGNhbiBzZWUgdGhhdCB0aGVyZeKA + mXMgbm90IGFsbCB0aGF0IG11Y2ggdmFyaWV0eSBpbiB0aGUgdHlwZXMgb2Yg + dG9rZW5zIGluIG91ciBzb3VyY2UgZmlsZS4gT3VyIHNlbnRlbmNlIG9ubHkg + aGFkIHN0cmluZ3MgYW5kIHB1bmN0dWF0aW9uIGluIGl04oCK4oCU4oCKYnV0 + IHRoYXTigJlzIGp1c3QgdGhlIHRpcCBvZiB0aGUgdG9rZW4gaWNlYmVyZyEg + VGhlcmUgYXJlIHBsZW50eSBvZiBvdGhlciB0eXBlcyBvZiDigJx3b3Jkc+KA + nSB0aGF0IGEgbGV4ZW1lIGNvdWxkIGJlIGNhdGVnb3JpemVkIGludG8uPC9w + PjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMt + MS5tZWRpdW0uY29tL21heC8xMDI0LzEqOERSNmYtWjlDelpKRGVMbWpwTk81 + US5qcGVnIiAvPjxmaWdjYXB0aW9uPkNvbW1vbiBmb3JtcyBvZiB0b2tlbnMg + Zm91bmQgd2l0aGluIG91ciBzb3VyY2XCoGNvZGUuPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPlRoZSB0YWJsZSBzaG93biBoZXJlIGlsbHVzdHJhdGVzIHNv + bWUgb2YgdGhlIG1vc3QgY29tbW9uIHRva2VucyB0aGF0IG91ciBjb21waWxl + ciB3b3VsZCBzZWUgd2hlbiByZWFkaW5nIGEgc291cmNlIGZpbGUgaW4gcHJl + dHR5IG11Y2ggYW55IHByb2dyYW1taW5nIGxhbmd1YWdlLiBXZSBzYXcgZXhh + bXBsZXMgb2YgbGl0ZXJhbHMsIHdoaWNoIGNhbiBiZSBhbnkgc3RyaW5nLCBu + dW1iZXIsIG9yIGxvZ2ljL2Jvb2xlYW4gdmFsdWUsIGFzIHdlbGwgYXMgc2Vw + YXJhdG9ycywgd2hpY2ggYXJlIGFueSB0eXBlIG9mIHB1bmN0dWF0aW9uLCBp + bmNsdWRpbmcgYnJhY2VzICh7fSkgYW5kIHBhcmVudGhlc2VzICgoKSkuPC9w + PjxwPkhvd2V2ZXIsIHRoZXJlIGFyZSBhbHNvIGtleXdvcmRzLCB3aGljaCBh + cmUgdGVybXMgdGhhdCBhcmUgcmVzZXJ2ZWQgaW4gdGhlIGxhbmd1YWdlIChz + dWNoIGFzIGlmLCB2YXIsIHdoaWxlLCByZXR1cm4pLCBhcyB3ZWxsIGFzIG9w + ZXJhdG9ycywgd2hpY2ggb3BlcmF0ZSBvbiBhcmd1bWVudHMgYW5kIHJldHVy + biBzb21lIHZhbHVlICggKywgLSwgeCwgLykuIFdlIGNvdWxkIGFsc28gZW5j + b3VudGVyIGxleGVtZXMgdGhhdCBjb3VsZCBiZSB0b2tlbml6ZWQgYXMgaWRl + bnRpZmllcnMsIHdoaWNoIGFyZSB1c3VhbGx5IHZhcmlhYmxlIG5hbWVzIG9y + IHRoaW5ncyB3cml0dGVuIGJ5IHRoZSB1c2VyL3Byb2dyYW1tZXIgdG8gcmVm + ZXJlbmNlIHNvbWV0aGluZyBlbHNlLCBhcyB3ZWxsIGFzIGNvbW1lbnRzLCB3 + aGljaCBjb3VsZCBiZSBsaW5lIG9yIGJsb2NrIGNvbW1lbnRzIHdyaXR0ZW4g + YnkgdGhlwqB1c2VyLjwvcD48cD5PdXIgb3JpZ2luYWwgc2VudGVuY2Ugb25s + eSBzaG93ZWQgdXMgdHdvIGV4YW1wbGVzIG9mIHRva2Vucy4gTGV04oCZcyBy + ZXdyaXRlIG91ciBzZW50ZW5jZSB0byBpbnN0ZWFkIHJlYWQ6IHZhciB0b1Ns + ZWVwID0gJnF1b3Q7dG8gZHJlYW0mcXVvdDs7LiBIb3cgbWlnaHQgb3VyIGNv + bXBpbGVyIGxleCB0aGlzIHZlcnNpb24gb2YgU2hha2VzcGVhcmU/PC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqMDVVekhvTXBZRklES1YtbEhncFRxQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhvdyB3aWxsIG91ciBsZXhlciB0b2tlbml6 + ZSB0aGlzIHNlbnRlbmNlPzwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5IZXJl + LCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgYSBsYXJnZXIgdmFyaWV0eSBv + ZiB0b2tlbnMuIFdlIGhhdmUgYSBrZXl3b3JkIGluIHZhciwgd2hlcmUgd2Xi + gJlyZSBkZWNsYXJpbmcgYSB2YXJpYWJsZSwgYW5kIGFuIGlkZW50aWZpZXIs + IHRvU2xlZXAsIHdoaWNoIGlzIHRoZSB3YXkgdGhhdCB3ZeKAmXJlIG5hbWlu + ZyBvdXIgdmFyaWFibGUsIG9yIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSB0byBj + b21lLiBOZXh0IGlzIG91ciA9LCB3aGljaCBpcyBhbiBvcGVyYXRvciB0b2tl + biwgZm9sbG93ZWQgYnkgdGhlIHN0cmluZyBsaXRlcmFsICZxdW90O3RvIGRy + ZWFtJnF1b3Q7LiBPdXIgc3RhdGVtZW50IGVuZHMgd2l0aCBhwqA7IHNlcGFy + YXRvciwgaW5kaWNhdGluZyB0aGUgZW5kIG9mIGEgbGluZSwgYW5kIGRlbGlt + aXRhdGluZyB3aGl0ZXNwYWNlLjwvcD48cD5BbiBpbXBvcnRhbnQgdGhpbmcg + dG8gbm90ZSBhYm91dCB0aGUgdG9rZW5pemF0aW9uIHByb2Nlc3MgaXMgdGhh + dCB3ZeKAmXJlIG5laXRoZXIgdG9rZW5pemluZyBhbnkgd2hpdGVzcGFjZSAo + c3BhY2VzLCBuZXdsaW5lcywgdGFicywgZW5kIG9mIGxpbmUsIGV0Yy4pLCBu + b3IgcGFzc2luZyBpdCBvbiB0byB0aGUgcGFyc2VyLiBSZW1lbWJlciB0aGF0 + IG9ubHkgdGhlIDxlbT50b2tlbnM8L2VtPiBhcmUgZ2l2ZW4gdG8gdGhlIHBh + cnNlciBhbmQgd2lsbCBlbmQgdXAgaW4gdGhlIHBhcnNlwqB0cmVlLjwvcD48 + cD5JdOKAmXMgYWxzbyB3b3J0aCBtZW50aW9uaW5nIHRoYXQgZGlmZmVyZW50 + IGxhbmd1YWdlcyB3aWxsIGhhdmUgZGlmZmVyZW50IGNoYXJhY3RlcnMgdGhh + dCBjb25zdGl0dXRlIGFzIHdoaXRlc3BhY2UuIEZvciBleGFtcGxlLCBpbiBz + b21lIHNpdHVhdGlvbnMsIHRoZSBQeXRob24gcHJvZ3JhbW1pbmcgbGFuZ3Vh + Z2UgdXNlcyBpbmRlbnRhdGlvbuKAiuKAlOKAimluY2x1ZGluZyB0YWJzIGFu + ZCBzcGFjZXPigIrigJTigIppbiBvcmRlciB0byBpbmRpY2F0ZSBob3cgdGhl + IHNjb3BlIG9mIGEgZnVuY3Rpb24gY2hhbmdlcy4gU28sIHRoZSBQeXRob24g + Y29tcGlsZXLigJlzIHRva2VuaXplciBuZWVkcyB0byBiZSBhd2FyZSBvZiB0 + aGUgZmFjdCB0aGF0LCBpbiBjZXJ0YWluIHNpdHVhdGlvbnMsIGEgdGFiIG9y + IHNwYWNlIGFjdHVhbGx5IGRvZXMgbmVlZCB0byBiZSB0b2tlbml6ZWQgYXMg + YSB3b3JkLCBiZWNhdXNlIGl0IGFjdHVhbGx5IDxlbT5kb2VzPC9lbT4gbmVl + ZCB0byBiZSBwYXNzZWQgdG8gdGhlwqBwYXJzZXIhPC9wPjxmaWd1cmU+PGlt + ZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29t + L21heC8xMDI0LzEqR2NTS2czN2xueDJ6NXRMTmZqQmx2Zy5qcGVnIiAvPjxm + aWdjYXB0aW9uPkNvbnN0cmFpbnRzIG9mIHRoZSBsZXhlciB2cyB0aGXCoHNj + YW5uZXIuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPlRoaXMgYXNwZWN0IG9m + IHRoZSB0b2tlbml6ZXIgaXMgYSBnb29kIHdheSBvZiBjb250cmFzdGluZyBo + b3cgYSBsZXhlci90b2tlbml6ZXIgaXMgZGlmZmVyZW50IGZyb20gYSBzY2Fu + bmVyLiBXaGlsZSBhIHNjYW5uZXIgaXMgaWdub3JhbnQsIGFuZCBvbmx5IGtu + b3dzIGhvdyB0byBicmVhayB1cCBhIHRleHQgaW50byBpdHMgc21hbGxlciBw + b3NzaWJsZSBwYXJ0cyAoaXRzIOKAnHdvcmRz4oCdKSwgYSBsZXhlci90b2tl + bml6ZXIgaXMgbXVjaCBtb3JlIGF3YXJlIGFuZCBtb3JlIHByZWNpc2UgaW4g + Y29tcGFyaXNvbi48L3A+PHA+VGhlIHRva2VuaXplciBuZWVkcyB0byBrbm93 + IHRoZSBpbnRyaWNhY2llcyBhbmQgc3BlY2lmaWNhdGlvbnMgb2YgdGhlIGxh + bmd1YWdlIHRoYXQgaXMgYmVpbmcgY29tcGlsZWQuIElmIHRhYnMgYXJlIGlt + cG9ydGFudCwgaXQgbmVlZHMgdG8ga25vdyB0aGF0OyBpZiBuZXdsaW5lcyBj + YW4gaGF2ZSBjZXJ0YWluIG1lYW5pbmdzIGluIHRoZSBsYW5ndWFnZSBiZWlu + ZyBjb21waWxlZCwgdGhlIHRva2VuaXplciBuZWVkcyB0byBiZSBhd2FyZSBv + ZiB0aG9zZSBkZXRhaWxzLiBPbiB0aGUgb3RoZXIgaGFuZCwgdGhlIHNjYW5u + ZXIgZG9lc27igJl0IGV2ZW4ga25vdyB3aGF0IHRoZSB3b3JkcyB0aGF0IGl0 + IGRpdmlkZXMgZXZlbiBhcmUsIG11Y2ggbGVzcyB3aGF0IHRoZXnCoG1lYW4u + PC9wPjxibG9ja3F1b3RlPlRoZSBzY2FubmVyIG9mIGEgY29tcGxpZXIgaXMg + ZmFyIG1vcmUgbGFuZ3VhZ2UtYWdub3N0aWMsIHdoaWxlIGEgdG9rZW5pemVy + IG11c3QgYmUgbGFuZ3VhZ2Utc3BlY2lmaWMgYnkgZGVmaW5pdGlvbi48L2Js + b2NrcXVvdGU+PHA+VGhlc2UgdHdvIHBhcnRzIG9mIHRoZSBsZXhpY2FsIGFu + YWx5c2lzIHByb2Nlc3MgZ28gaGFuZC1pbi1oYW5kLCBhbmQgdGhleSBhcmUg + Y2VudHJhbCB0byB0aGUgZmlyc3QgcGhhc2Ugb2YgdGhlIGNvbXBpbGF0aW9u + IHByb2Nlc3MuIE9mIGNvdXJzZSwgZGlmZmVyZW50IGNvbXBsaWVycyBhcmUg + ZGVzaWduZWQgaW4gdGhlaXIgb3duIHVuaXF1ZSB3YXlzLiBTb21lIGNvbXBp + bGVycyBkbyB0aGUgc3RlcCBvZiBzY2FubmluZyBhbmQgdG9rZW5pemluZyBp + biBvbmUgc2luZ2xlIHByb2Nlc3MgYW5kIGFzIGEgc2luZ2xlIHByb2dyYW0s + IHdoaWxlIG90aGVycyB3aWxsIHNwbGl0IHRoZW0gdXAgaW50byBkaWZmZXJl + bnQgY2xhc3NlcywgaW4gd2hpY2ggY2FzZSB0aGUgdG9rZW5pemVyIHdpbGwg + Y2FsbCBvdXQgdG8gdGhlIHNjYW5uZXIgY2xhc3Mgd2hlbiBpdCBpc8KgcnVu + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmNEMEljWmlzWGZQd2Q5c3VT + bGx1WncuanBlZyIgLz48ZmlnY2FwdGlvbj5MZXhpY2FsIGFuYWx5c2lzOiBh + IHF1aWNrIHZpc3VhbMKgc3VtbWFyeSE8L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+SW4gZWl0aGVyIGNhc2UsIHRoZSBzdGVwIG9mIGxleGljYWwgYW5hbHlz + aXMgaXMgc3VwZXIgaW1wb3J0YW50IHRvIGNvbXBpbGF0aW9uLCBiZWNhdXNl + IHRoZSBzeW50YXggYW5hbHlzaXMgcGhhc2UgZGlyZWN0bHkgZGVwZW5kcyB1 + cG9uIGl0LiBBbmQgZXZlbiB0aG91Z2ggZWFjaCBwYXJ0IG9mIHRoZSBjb21w + aWxlciBoYXMgaXRzIG93biBzcGVjaWZpYyByb2xlcywgdGhleSBsZWFuIG9u + IG9uZSBhbm90aGVyIGFuZCBkZXBlbmQgb24gZWFjaCBvdGhlcuKAiuKAlOKA + imp1c3QgbGlrZSBnb29kIGZyaWVuZHMgYWx3YXlzwqBkby48L3A+PGgzPlJl + c291cmNlczwvaDM+PHA+U2luY2UgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50 + IHdheXMgdG8gd3JpdGUgYW5kIGRlc2lnbiBhIGNvbXBpbGVyLCB0aGVyZSBh + cmUgYWxzbyBtYW55IGRpZmZlcmVudCB3YXlzIHRvIHRlYWNoIHRoZW0uIElm + IHlvdSBkbyBlbm91Z2ggcmVzZWFyY2ggb24gdGhlIGJhc2ljcyBvZiBjb21w + aWxhdGlvbiwgaXQgYmVjb21lcyBwcmV0dHkgY2xlYXIgdGhhdCBzb21lIGV4 + cGxhbmF0aW9ucyBnbyBpbnRvIGZhciBtb3JlIGRldGFpbCB0aGFuIG90aGVy + cywgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgaGVscGZ1bC4gSWYgeW91IGZp + bmQgeW91cnNlbGYgd2FudGluZyB0byBsZWFybiBtb3JlLCBiZWxvdyBhcmUg + YSB2YXJpZXR5IG9mIHJlc291cmNlcyBvbiBjb21waWxlcnPigIrigJTigIp3 + aXRoIGEgZm9jdXMgb24gdGhlIGxleGljYWwgYW5hbHlzaXPCoHBoYXNlLjwv + cD48b2w+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY3JhZnRpbmdpbnRlcnBy + ZXRlcnMuY29tL3NjYW5uaW5nLmh0bWwiPkNoYXB0ZXIgNOKAiuKAlOKAikNy + YWZ0aW5nIEludGVycHJldGVyczwvYT4sIFJvYmVydMKgTnlzdHJvbTwvbGk+ + PGxpPjxhIGhyZWY9Imh0dHBzOi8vY3Mubnl1LmVkdS9jb3Vyc2VzL2ZhbGww + Ni9HMjIuMjEzMC0wMDEvY2xhc3Mtbm90ZXMuaHRtbCI+Q29tcGlsZXIgQ29u + c3RydWN0aW9uPC9hPiwgUHJvZmVzc29yIEFsbGFuwqBHb3R0bGllYjwvbGk+ + PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY3MubWFuLmFjLnVrL35wamovZmFy + cmVsbC9jb21wMy5odG1sIj5Db21waWxlciBCYXNpY3M8L2E+LCBQcm9mZXNz + b3IgSmFtZXMgQWxhbsKgRmFycmVsbDwvbGk+PGxpPjxhIGhyZWY9Imh0dHBz + Oi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VEcwcVJEclVQcEEiPldyaXRp + bmcgYSBwcm9ncmFtbWluZyBsYW5ndWFnZeKAiuKAlOKAinRoZSBMZXhlcjwv + YT4sIEFuZHnCoEJhbGFhbTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9wYXJz + aW5naW50cm8uc291cmNlZm9yZ2UubmV0LyN0YWJsZV9vZl9jb250ZW50c180 + Ij5Ob3RlcyBvbiBIb3cgUGFyc2VycyBhbmQgQ29tcGlsZXJzIFdvcms8L2E+ + LCBTdGVwaGVuIFJheW1vbmTCoEZlcmc8L2xpPjxsaT48YSBocmVmPSJodHRw + czovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNDk1NDcyMS93aGF0 + LWlzLXRoZS1kaWZmZXJlbmNlLWJldHdlZW4tYS10b2tlbi1hbmQtYS1sZXhl + bWUiPldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHRva2VuIGFu + ZCBhIGxleGVtZT88L2E+LCBTdGFja092ZXJmbG93PC9saT48L29sPjxpbWcg + c3JjPSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0P2V2ZW50PXBvc3QuY2xp + ZW50Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxfcnNzJnBvc3RJZD02M2Qw + YmUzZDIxZCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+PGhyPjxwPjxhIGhyZWY9 + Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvcmVhZGluZy1jb2RlLXJpZ2h0 + LXdpdGgtc29tZS1oZWxwLWZyb20tdGhlLWxleGVyLTYzZDBiZTNkMjFkIj5S + ZWFkaW5nIENvZGUgUmlnaHQsIFdpdGggU29tZSBIZWxwIEZyb20gVGhlIExl + eGVyPC9hPiB3YXMgb3JpZ2luYWxseSBwdWJsaXNoZWQgaW4gPGEgaHJlZj0i + aHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2VjcyI+YmFzZWNzPC9hPiBvbiBNZWRp + dW0sIHdoZXJlIHBlb3BsZSBhcmUgY29udGludWluZyB0aGUgY29udmVyc2F0 + aW9uIGJ5IGhpZ2hsaWdodGluZyBhbmQgcmVzcG9uZGluZyB0byB0aGlzIHN0 + b3J5LjwvcD5dXT48L2NvbnRlbnQ6ZW5jb2RlZD4KICAgICAgICA8L2l0ZW0+ + CiAgICAgICAgPGl0ZW0+CiAgICAgICAgICAgIDx0aXRsZT48IVtDREFUQVtH + cmFtbWF0aWNhbGx5IFJvb3RpbmcgT25lc2VsZiBXaXRoIFBhcnNlIFRyZWVz + XV0+PC90aXRsZT4KICAgICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9ncmFtbWF0aWNhbGx5LXJvb3Rpbmctb25lc2VsZi13aXRo + LXBhcnNlLXRyZWVzLWVjOWRhZWRhN2RhZD9zb3VyY2U9cnNzLThmNTU5OTNj + OTczZS0tLS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFM + aW5rPSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvZWM5ZGFlZGE3ZGFk + PC9ndWlkPgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcGls + ZXJzXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NE + QVRBW2NvbXB1dGVyLXNjaWVuY2VdXT48L2NhdGVnb3J5PgogICAgICAgICAg + ICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbdGhlb3J5LWluLXByYWN0aWNlXV0+PC9j + YXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5PjwhW0NEQVRBW3Byb2dy + YW1taW5nXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGNhdGVnb3J5Pjwh + W0NEQVRBW2RhdGEtc3RydWN0dXJlc11dPjwvY2F0ZWdvcnk+CiAgICAgICAg + ICAgIDxkYzpjcmVhdG9yPjwhW0NEQVRBW1ZhaWRlaGkgSm9zaGldXT48L2Rj + OmNyZWF0b3I+CiAgICAgICAgICAgIDxwdWJEYXRlPk1vbiwgMjAgTm92IDIw + MTcgMjI6MDI6MjIgR01UPC9wdWJEYXRlPgogICAgICAgICAgICA8YXRvbTp1 + cGRhdGVkPjIwMTctMTEtMjRUMDM6NDg6NTIuMjg0WjwvYXRvbTp1cGRhdGVk + PgogICAgICAgICAgICA8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxmaWd1 + cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRp + dW0uY29tL21heC8xMDI0LzEqeUtqYXVsbXpMc1J4TjRKQnZ5NVEydy5qcGVn + IiAvPjxmaWdjYXB0aW9uPkdyYW1tYXRpY2FsbHkgcm9vdGluZyBvbmVzZWxm + IHdpdGggcGFyc2XCoHRyZWVzITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5U + aGlua2luZyBhYm91dCBhbGwgb2YgdGhlIGFic3RyYWN0aW9ucyB0aGF0IHN1 + cnJvdW5kIHVzIGluIHRoZSB3b3JsZCBvZiB0ZWNobm9sb2d5IGNhbiBzb21l + dGltZXMgYmUgb3ZlcndoZWxtaW5nLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB0 + cnVlIHdoZW4geW914oCZcmUgdHJ5aW5nIHRvIHdyYXAgeW91ciBoZWFkIGFy + b3VuZCBhIG5ldyBwYXJhZGlnbSBvciB1bnBhY2sgdGhlIGxheWVycyBvZiBv + bmUgb3IgbWFueSBjb25jZXB0cyB0aGF0IHlvdeKAmXJlIHN0cnVnZ2xpbmcg + dG8gdW5kZXJzdGFuZC48L3A+PHA+SW4gdGhlIGNvbnRleHQgb2YgbGVhcm5p + bmcgY29tcHV0ZXIgc2NpZW5jZSwgdGhlcmUgYXJlIHNpbXBseSB0b28gbWFu + eSBhYnN0cmFjdGlvbnMgdG8ga25vdywgc2VlLCBvciByZWNvZ25pemUgdGhl + bSBhbGzigIrigJTigIpub3QgdG8gbWVudGlvbiBiZWluZyBhYmxlIHRvIGNv + bXByZWhlbmQgYWxsIG9mwqB0aGVtITwvcD48cD5BYnN0cmFjdGlvbnMgYXJl + IHBvd2VyZnVsIHRoaW5ncyB3aGVuIHlvdSBjYW4gc2VlIGJleW9uZCB0aGVt + LCBhbmQgYmVpbmcgYWJsZSB0byB1bmRlcnN0YW5kIGhvdyBzb21ldGhpbmcg + aXMgYWJzdHJhY3RlZCBhd2F5IGFuZCB3aHkgY2FuIG1ha2UgeW91IGEgYmV0 + dGVyIHByb2dyYW1tZXIuIEhvd2V2ZXIsIGJ5IHRoZSBzYW1lIHRva2VuLCBl + dmVyeSBhYnN0cmFjdGlvbiB3YXMgY3JlYXRlZCBmb3IgYSByZWFzb246IHNv + IHRoYXQgbm9uZSBvZiB1cyB3b3VsZCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRo + ZW0gb24gYSBkYXktdG8tZGF5IGJhc2lzISBXZeKAmXJlIG5vdCBtZWFudCB0 + byB0aGluayBhYm91dCBhYnN0cmFjdGlvbnMgYWxsIHRoZSB0aW1lLCBhbmQg + Zm9yIHRoZSBtb3N0IHBhcnQsIHZlcnkgZmV3IG9mIHVzIGFjdHVhbGx5IGRv + LiBIZXJl4oCZcyB0aGUgdGhpbmcgdGhvdWdo4oCK4oCU4oCKc29tZSBhYnN0 + cmFjdGlvbnMgYXJlIG1vcmUgZXF1YWwgdGhhbiBvdGhlcnMuIFRoZSBvbmVz + IHRoYXQgbW9zdCBlbmdpbmVlcnMgYXJlIHByb2JhYmx5IGNvbmNlcm5lZCB3 + aXRoIGFyZSB0aGUgb25lcyB0aGF0IGludm9sdmUgaG93IHRoZXkgY29tbXVu + aWNhdGUgd2l0aCB0aGVpciBjb21wdXRlciwgYW5kIHRoZSB3YXlzIGluIHdo + aWNoIHRoZWlyIGNvbXB1dGVyIGFjdHVhbGx5IDxlbT51bmRlcnN0YW5kczwv + ZW0+IHRoZW0uIEV2ZW4gaWYgd2Ugbm9uZSBvZiB1cyBldmVyIGhhdmUgdG8g + d3JpdGUgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9idWJi + bGluZy11cC13aXRoLWJ1YmJsZS1zb3J0cy0zZGY1YWM4OGU1OTIiPmEgYnVi + YmxlIHNvcnQgYWxnb3JpdGhtPC9hPiwgaWYgd2Ugd3JpdGUgY29kZSwgdGhl + biB3ZSBoYXZlIHRvIGNvbW11bmljYXRlIHdpdGggb3VyIG1hY2hpbmVzLjwv + cD48cD5XZWxsLCBpdOKAmXMgZmluYWxseSB0aW1lIGZvciB1cyB0byBnZXQg + dG8gdGhlIGJvdHRvbSBvZiB0aGVzZSBteXN0ZXJpZXMsIGFuZCB1bmRlcnN0 + YW5kIHRoZSBhYnN0cmFjdGlvbnMgd2hpY2ggcG93ZXIgb3VyIHdvcmtmbG93 + cyBhcyBwcm9ncmFtbWVycy48L3A+PGgzPlBhcnNpbmcgZm9yIHRoZSBtZWFu + aW5nIG9mwqBwYXJzaW5nPC9oMz48cD5UaGUgdHJlZSBkYXRhIHN0cnVjdHVy + ZSBpcyBvbmUgdGhhdCBrZWVwcyBjb21pbmcgdXAgYWdhaW4gYW5kIGFnYWlu + IGluIG91ciBjb21wdXRlciBzY2llbmNlIGFkdmVudHVyZXMuIFdl4oCZdmUg + c2VlbiB0aGVtIHVzZWQgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jh + c2Vjcy9ob3ctdG8tbm90LWJlLXN0dW1wZWQtYnktdHJlZXMtNWYzNjIwOGY2 + OGE3Ij50byBzdG9yZSBkYXRhPC9hPiBvZiBhbGwgdHlwZXMsIHdl4oCZdmUg + c2VlbiBvbmVzIHRoYXQgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jh + c2Vjcy9idXN5aW5nLW9uZXNlbGYtd2l0aC1iLXRyZWVzLTc4YmJmMTA1MjJl + NyI+YXJlIHNlbGYtYmFsYW5jaW5nPC9hPiwgd2hpbGUgb3RoZXJzIGhhdmUg + YmVlbiA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2NvbXBy + ZXNzaW5nLXJhZGl4LXRyZWVzLXdpdGhvdXQtdG9vLW1hbnktdGVhcnMtYTJl + NjU4YWRiOWEwIj5vcHRpbWl6ZWQgZm9yIHNwYWNlPC9hPiBhbmQgaGFuZGxp + bmcgc3RvcmFnZS4gV2XigJl2ZSBldmVuIGxvb2tlZCBhdCA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL3BhaW50aW5nLW5vZGVzLWJsYWNr + LXdpdGgtcmVkLWJsYWNrLXRyZWVzLTYwZWFjYjJiZTlhNSI+aG93IHRvIG1h + bmlwdWxhdGUgdHJlZXM8L2E+IGJ5IHJvdGF0aW5nIGFuZCByZWNvbG9yaW5n + IHRoZW0gdG8gZW5zdXJlIHRoYXQgdGhleSBmaXQgYSBzZXQgb2bCoHJ1bGVz + LjwvcD48cD5CdXQgZGVzcGl0ZSBhbGwgb2YgdGhlc2UgZGlmZmVyZW50IGZv + cm1zIG9mIGRhdGEgc3RydWN0dXJlIGZsb3JhLCB0aGVyZSBpcyBvbmUgcGFy + dGljdWxhciBpdGVyYXRpb24gb2YgdGhlIHRyZWUgZGF0YSBzdHJ1Y3R1cmUg + dGhhdCB3ZSBoYXZlIHlldCB0byBkaXNjb3Zlci4gRXZlbiBpZiB3ZSBrbmV3 + IG5vdGhpbmcgYWJvdXQgY29tcHV0ZXIgc2NpZW5jZSwgaG93IHRvIGJhbGFu + Y2UgYSB0cmVlLCBvciB3aGF0IGEgdHJlZSBkYXRhIHN0cnVjdHVyZSBldmVu + IHdvcmtzLCBhbGwgcHJvZ3JhbW1lcnMgaW50ZXJhY3Qgd2l0aCBvbmUgdHlw + ZSBvZiB0cmVlIHN0cnVjdHVyZSBvbiBhIGRhaWx5IGJhc2lzLCBieSB2aXJ0 + dWUgb2YgdGhlIHNpbXBsZSBmYWN0IHRoYXQgZXZlcnkgZGV2ZWxvcGVyIHdo + byB3cml0ZXMgY29kZSBuZWVkcyB0byBtYWtlIHN1cmUgdGhhdCB0aGVpciBj + b2RlIGlzIHVuZGVyc3Rvb2QgYnkgdGhlaXIgbWFjaGluZXMuPC9wPjxwPlRo + aXMgZGF0YSBzdHJ1Y3R1cmUgaXMgY2FsbGVkIHRoZSBwYXJzZSB0cmVlLCBh + bmQgaXQgaXMgKG9uZSBvZikgdGhlIHVuZGVybHlpbmcgYWJzdHJhY3Rpb25z + IHRoYXQgYWxsb3dzIHRoZSBjb2RlIHRoYXQgd2Ugd3JpdGUgYXMgcHJvZ3Jh + bW1lcnMgdG8gYmVjb21lIOKAnHJlYWRhYmxl4oCdIGJ5IG91ciBjb21wdXRl + cnMuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1p + bWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqUkpZRUlTR1psMnFVeEFh + SHNlbFF1Zy5qcGVnIiAvPjxmaWdjYXB0aW9uPlBhcnNlIHRyZWU6IGEgZGVm + aW5pdGlvbi48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QXQgaXRzIHZlcnkg + Y29yZSwgYSA8c3Ryb25nPjxlbT5wYXJzZSB0cmVlPC9lbT48L3N0cm9uZz4g + aXMgYW4gaWxsdXN0cmF0ZWQsIHBpY3RvcmlhbCB2ZXJzaW9uIG9mIHRoZSBn + cmFtbWF0aWNhbCBzdHJ1Y3R1cmUgb2YgYSBzZW50ZW5jZS4gUGFyc2UgdHJl + ZXMgYXJlIGFjdHVhbGx5IHJvb3RlZCBpbiB0aGUgZmllbGQgb2YgbGluZ3Vp + c3RpY3MsIGJ1dCB0aGV54oCZcmUgYWxzbyB1c2VkIGluIHBlZGFnb2d5LCB3 + aGljaCBpcyB0aGUgc3R1ZHkgb2YgdGVhY2hpbmcuIFBhcnNlIHRyZWVzIGFy + ZSBvZnRlbiB1c2VkIHRvIHRlYWNoIHN0dWRlbnRzIGhvdyB0byBpZGVudGlm + eSB0aGUgcGFydHMgb2YgYSBzZW50ZW5jZSwgYW5kIGFyZSBhIGNvbW1vbiB3 + YXkgb2YgaW50cm9kdWNpbmcgZ3JhbW1hdGljYWwgY29uY2VwdHMuIEl04oCZ + cyBsaWtlbHkgdGhhdCB3ZeKAmXZlIGVhY2ggaW50ZXJhY3RlZCB3aXRoIHRo + ZW0gZnJvbSB0aGUgcGVyc2VwY3RpdmUgb2Ygc2VudGVuY2UgZGlhZ3JhbW1p + bmcsIHdoaWNoIHNvbWUgb2YgdXMgbWlnaHQgaGF2ZSBsZWFybmVkIGluIGVs + ZW1lbnRhcnkgc2Nob29sLjwvcD48YmxvY2txdW90ZT5BIHBhcnNlIHRyZWUg + aXMgYSByZWFsbHkganVzdCBhIOKAnGRpYWdyYW1tZWTigJ0gZm9ybSBvZiBh + IHNlbnRlbmNlOyB0aGF0IHNlbnRlbmNlIGNvdWxkIGJlIHdyaXR0ZW4gaW4g + YW55IGxhbmd1YWdlLCB3aGljaCBtZWFucyB0aGF0IGl0IGNvdWxkIGFkaGVy + ZSB0byBhbnkgc2V0IG9mIGdyYW1tYXRpY2FsIHJ1bGVzLjwvYmxvY2txdW90 + ZT48cD5TZW50ZW5jZSBkaWFncmFtbWluZyBpbnZvbHZlcyBicmVha2luZyB1 + cCBhIHNpbmdsZSBzZW50ZW5jZSBpbnRvIGl0cyBzbWFsbGVzdCwgbW9zdCBk + aXN0aW5jdCBwYXJ0cy4gSWYgd2UgdGhpbmsgYWJvdXQgcGFyc2UgdHJlZXMg + ZnJvbSB0aGUgcGVyc2VwY3RpdmUgb2YgZGlhZ3JhbW1pbmcgc2VudGVuY2Vz + IHdl4oCZbGwgYmVnaW4gdG8gcXVpY2tseSByZWFsaXplIHRoYXQsIGRlcGVu + ZGluZyBvbiB0aGUgZ3JhbW1hciBhbmQgbGFuZ3VhZ2Ugb2YgYSBzZW50ZW5j + ZSwgYSBwYXJzZSB0cmVlIGNvdWxkIHJlYWxseSBiZSBjb25zdHJ1Y3RlZCBp + biBhIG11bHRpdHVkZSBvZiBkaWZmZXJlbnQgd2F5cyE8L3A+PHA+QnV0IHdo + YXQgZXhhY3RseSBpcyBhIHRoZSBjb21wdXRlciB2ZXJzaW9uIG9mIGEg4oCc + c2VudGVuY2XigJ0/IEFuZCBob3cgZG8gd2UgZ28gYWJvdXQgZGlhZ3JhbW1p + bmcgaXQswqBleGFjdGx5PzwvcD48cD5XZWxsLCBpdCBoZWxwcyB0byBzdGFy + dCB3aXRoIGFuIGV4YW1wbGUgb2Ygc29tZXRoaW5nIHRoYXQgd2XigJlyZSBh + bHJlYWR5IGNvbWZvcnRhYmxlIHdpdGgsIHNvIGxldOKAmXMgcmVmcmVzaCBv + dXIgbWVtb3JpZXMgYnkgZGlhZ3JhbW1pbmcgYSBub3JtYWwsIEVuZ2xpc2gg + c2VudGVuY2UuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczov + L2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqelFfYlVwcFVo + alBqM0pqSi11UXYwdy5qcGVnIiAvPjxmaWdjYXB0aW9uPlNpbXBsZSBzZW50 + ZW5jZSBkaWFncmFtbWluZyB3aXRoIHBhcnNlwqB0cmVlcy48L2ZpZ2NhcHRp + b24+PC9maWd1cmU+PHA+SW4gdGhlIGlsbHVzdHJhdGlvbiBzaG93biBoZXJl + LCB3ZSBoYXZlIGEgc2ltcGxlIHNlbnRlbmNlOiAmcXVvdDtWYWlkZWhpIGF0 + ZSB0aGUgcGllJnF1b3Q7LiBTaW5jZSB3ZSBrbm93IHRoYXQgYSBwYXJzZSB0 + cmVlIGlzIGp1c3QgYSBkaWFncmFtbWVkIHNlbnRlbmNlLCB3ZSBjYW4gYnVp + bGQgYSBwYXJzZSB0cmVlIG91dCBvZiB0aGlzIGV4YW1wbGUgc2VudGVuY2Uu + IFJlbWVtYmVyIHRoYXQgZWZmZWN0aXZlbHkgYWxsIHdl4oCZcmUgdHJ5aW5n + IHRvIGRvIGlzIHRvIGRldGVybWluZSB0aGUgZGlmZmVyZW50IHBhcnRzIG9m + IHRoaXMgc2VudGVuY2UgYW5kIGJyZWFrIGl0IHVwIGludG8gaXRzIHNtYWxs + ZXN0LCBtb3N0IGRpc3RpbmN0wqBwYXJ0cy48L3A+PHA+V2UgY2FuIHN0YXJ0 + IGJ5IGJyZWFraW5nIHVwIHRoZSBzZW50ZW5jZSBpbnRvIHR3byBwYXJ0czog + YSA8c3Ryb25nPjxlbT5ub3VuPC9lbT48L3N0cm9uZz4sICZxdW90O1ZhaWRl + aGkmcXVvdDssIGFuZCBhIDxzdHJvbmc+PGVtPnZlcmIgcGhyYXNlPC9lbT48 + L3N0cm9uZz4sICZxdW90O2F0ZSB0aGUgcGllJnF1b3Q7LiBTaW5jZSBhIG5v + dW4gY2Fubm90IGJlIGJyb2tlbiBkb3duIGFueSBmdXJ0aGVyLCB3ZeKAmWxs + IGxlYXZlIHRoZSB3b3JkICZxdW90O1ZhaWRlaGkmcXVvdDssIGFzIGl0IGlz + LiBBbm90aGVyIHdheSB0byB0aGluayBhYm91dCBpdCBpcyB0aGUgZmFjdCB0 + aGF0LCBzaW5jZSB3ZSBjYW7igJl0IGJyZWFrIGRvd24gYSBub3VuIGFueSBm + dXJ0aGVyLCB0aGVyZSB3aWxsIGJlIG5vIGNoaWxkIG5vZGVzIGNvbWluZyBm + cm9tIHRoaXPCoHdvcmQuPC9wPjxwPkJ1dCB3aGF0IGFib3V0IHRoZSB2ZXJi + IHBocmFzZSwgJnF1b3Q7YXRlIHRoZSBwaWUmcXVvdDs/IFdlbGwsIHRoYXQg + cGhyYXNlIGlzbuKAmXQgYnJva2VuIGRvd24gaW50byBpdHMgc2ltcGxlc3Qg + Zm9ybSB5ZXQsIGlzIGl0PyBXZSBjYW4gZGlzc2VjdCBpdCBkb3duIGV2ZW4g + ZnVydGhlci4gRm9yIG9uZSB0aGluZywgdGhlIHdvcmQgJnF1b3Q7YXRlJnF1 + b3Q7IGlzIGEgdmVyYiwgd2hpbGUgJnF1b3Q7dGhlIHBpZSZxdW90OyBpcyBt + b3JlIG9mIGEgbm91buKAiuKAlOKAimluIGZhY3QsIGl04oCZcyBhIDxzdHJv + bmc+PGVtPm5vdW4gcGhyYXNlPC9lbT48L3N0cm9uZz4gdG8gYmUgY29tcGxl + dGVseSBzcGVjaWZpYy4gSWYgd2Ugc3BsaXQgdXAgJnF1b3Q7YXRlIHRoZSBw + aWUmcXVvdDssIHdlIGNhbiBkaXZpZGUgaXQgaW50byBhIHZlcmIgYW5kIGEg + bm91biBwaHJhc2UuIFNpbmNlIGEgdmVyYiBjYW5ub3QgYmUgZGlhZ3JhbW1l + ZCB3aXRoIGFueSBhZGRpdGlvbmFsIGRldGFpbCwgdGhlIHdvcmQgJnF1b3Q7 + YXRlJnF1b3Q7IHdpbGwgYmVjb21lIGEgbGVhZiBub2RlIGluIG91ciBwYXJz + ZcKgdHJlZS48L3A+PHA+QWxyaWdodCwgc28gYWxsIHRoYXTigJlzIGxlZnQg + bm93IGlzIHRoZSBub3VuIHBocmFzZSwgJnF1b3Q7dGhlIHBpZSZxdW90Oy4g + V2UgY2FuIHNwbGl0IHRoaXMgcGhyYXNlIHVwIGludG8gdHdvIGRpc3RpbmN0 + IHBpZWNlczogYSBub3VuLCAmcXVvdDtwaWUmcXVvdDssIGFuZCBpdHMgPHN0 + cm9uZz48ZW0+ZGV0ZXJtaW5lcjwvZW0+PC9zdHJvbmc+LCB3aGljaCBpcyBr + bm93biBhcyBhbnkgbW9kaWZ5aW5nIHdvcmQgb2YgYSBub3VuLiBJbiB0aGlz + IGNhc2UsIHRoZSBkZXRlcm1pbmVyIGlzIHRoZSB3b3JkwqAmcXVvdDt0aGUm + cXVvdDsuPC9wPjxwPk9uY2Ugd2UgZGl2aWRlIHVwIG91ciBub3VuIHBocmFz + ZSwgd2XigJlyZSBkb25lIHNwbGl0dGluZyB1cCBvdXIgc2VudGVuY2UhIElu + IG90aGVyIHdvcmRzLCB3ZeKAmXJlIGRvbmUgZGlhZ3JhbW1pbmcgb3VyIHBh + cnNlIHRyZWUuIFdoZW4gd2UgbG9vayBhdCBvdXIgcGFyc2UgdHJlZSwgd2Xi + gJlsbCBub3RpY2UgdGhhdCBvdXIgc2VudGVuY2Ugc3RpbGwgcmVhZHMgdGhl + IHNhbWUgd2F5LCBhbmQgd2UgaGF2ZW7igJl0IGFjdHVhbGx5IG1vZGlmaWVk + IGl0IGF0IGFsbC4gV2UganVzdCB0b29rIHRoZSBzZW50ZW5jZSB3ZSB3ZXJl + IGdpdmVuLCBhbmQgdXNlIHRoZSBydWxlcyBvZiBFbmdsaXNoIGdyYW1tYXIg + dG8gc3BsaXQgaXQgdXAgaW50byBpdHMgc21hbGxlc3QsIG1vc3QgZGlzdGlu + Y3TCoHBhcnRzLjwvcD48YmxvY2txdW90ZT5JbiB0aGUgY2FzZSBvZiB0aGUg + RW5nbGlzaCBsYW5ndWFnZSwgdGhlIHNtYWxsZXN0IOKAnHBhcnTigJ0gb2Yg + ZXZlcnkgc2VudGVuY2UgaXMgYSB3b3JkOyB3b3JkcyBjYW4gYmUgY29tYmlu + ZWQgaW50byBwaHJhc2VzLCBsaWtlIG5vdW4gcGhyYXNlcyBvciB2ZXJiIHBo + cmFzZXMsIHdoaWNoIGNhbiwgaW4gdHVybiwgYmUgam9pbmVkIHdpdGggb3Ro + ZXIgcGhyYXNlcyB0byBjcmVhdGUgYSBzZW50ZW5jZSBlcHJlc3Npb24uPC9i + bG9ja3F1b3RlPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqYzI1OWZYbV9CX0Fr + Mm4tOWpBdEZRZy5qcGVnIiAvPjxmaWdjYXB0aW9uPldoYXQgZG9lcyBpdCBh + Y3R1YWxseSBtZWFuIHRvIHBhcnNlIHNvbWV0aGluZz88L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+SG93ZXZlciwgdGhpcyBpcyBqdXN0IG9uZSBleGFtcGxl + IG9mIGhvdyBvbmUgc3BlY2lmaWMgc2VudGVuY2UsIGluIG9uZSBzcGVjaWZp + YyBsYW5ndWFnZSwgd2l0aCBpdHMgb3duIHNldCBvZiBncmFtbWF0aWNhbCBy + dWxlcyB3b3VsZCBiZSBkaWFncmFtbWVkIGludG8gYSBwYXJzZSB0cmVlLiBU + aGlzIHNhbWUgc2VudGVuY2Ugd291bGQgbG9vayB2ZXJ5IGRpZmZlcmVudCBp + biBhIGRpZmZlcmVudCBsYW5ndWFnZSwgZXNwZWNpYWxseSBpZiBpdCBoYWQg + dG8gZm9sbG93IGl0cyBvd24gc2V0IG9mIGdyYW1tYXRpY2FsIHJ1bGVzLjwv + cD48cD5VbHRpbWF0ZWx5LCB0aGUgPGVtPmdyYW1tYXI8L2VtPiBhbmQgPGVt + PnN5bnRheDwvZW0+IG9mIGEgbGFuZ3VhZ2XigIrigJTigIppbmNsdWRpbmcg + dGhlIHdheSB0aGUgc2VudGVuY2VzIG9mIHRoYXQgbGFuZ3VhZ2UgYXJlIHN0 + cnVjdHVyZWTigIrigJTigIpiZWNvbWUgdGhlIHJ1bGVzIHRoYXQgZGljdGF0 + ZSBob3cgdGhhdCBsYW5ndWFnZSBpcyBkZWZpbmVkLCBob3cgd2Ugd3JpdGUg + aW4gaXQsIGFuZCBob3cgdGhvc2Ugb2YgdXMgd2hvIHNwZWFrIHRoZSBsYW5n + dWFnZSB3aWxsIGVuZCB1cCB1bmRlcnN0YW5kaW5nIGFuZCBpbnRlcnByZXRp + bmcgaXQuPC9wPjxwPkludGVyZXN0aW5nbHksIHdlIGtuZXcgaG93IHRvIGRp + YWdyYW0gdGhlIHNpbXBsZSBzZW50ZW5jZSwgJnF1b3Q7VmFpZGVoaSBhdGUg + dGhlIHBpZS4mcXVvdDsgYmVjYXVzZSB3ZSB3ZXJlIGFscmVhZHkgZmFtaWxp + YXIgd2l0aCB0aGUgZ3JhbW1hciBvZiB0aGUgRW5nbGlzaCBsYW5ndWFnZS4g + SW1hZ2luZSBpZiBvdXIgc2VudGVuY2Ugd2FzIG1pc3NpbmcgYSBub3VuIG9y + IGEgdmVyYiBhbHRvZ2V0aGVyPyBXaGF0IHdvdWxkIGhhcHBlbj8gV2VsbCwg + d2XigJlkIGxpa2VseSByZWFkIHRoZSBzZW50ZW5jZSB0aGUgZmlyc3QgdGlt + ZSBhcm91bmQgYW5kIHF1aWNrbHkgcmVhbGl6ZSB0aGF0IGl0IHdhc27igJl0 + IGV2ZW4gYSBzZW50ZW5jZSBhdCBhbGwhIFJhdGhlciwgd2XigJlkIHJlYWQg + aXQsIGFuZCBhbG1vc3QgaW1tZWRpYXRlbHkgc2VlIHRoYXQgd2Ugd2VyZSBk + ZWFsaW5nIHdpdGggYSA8c3Ryb25nPjxlbT5zZW50ZW5jZSBmcmFnbWVudDwv + ZW0+PC9zdHJvbmc+LCBvciBhbiBpbmNvbXBsZXRlIHBpZWNlIG9mIGEgc2Vu + dGVuY2UuPC9wPjxwPkhvd2V2ZXIsIHRoZSBvbmx5IHJlYXNvbiB0aGF0IHdl + 4oCZZCBiZSBhYmxlIHRvIHJlY29nbml6ZSBhIHNlbnRlbmNlIGZyYWdtZW50 + IGlzIGlmIHdlIGtuZXcgdGhlIHJ1bGVzIG9mIHRoZSBFbmdsaXNoIGxhbmd1 + YWdl4oCK4oCU4oCKbmFtZWx5LCB0aGF0IChuZWFybHkpIGV2ZXJ5IHNlbnRl + bmNlIG5lZWRzIGEgbm91biBhbmQgYSB2ZXJiIHRvIGJlIGNvbnNpZGVyZWQg + dmFsaWQuIFRoZSBncmFtbWFyIG9mIGEgbGFuZ3VhZ2UgaXMgaG93IHdlIGNh + biBjaGVjayB0byBzZWUgaWYgYSBzZW50ZW5jZSBpcyB2YWxpZCBpbiBhIGxh + bmd1YWdlOyB0aGF0IHByb2Nlc3Mgb2Yg4oCcY2hlY2tpbmfigJ0gZm9yIHZh + bGlkaXR5IGlzIHJlZmVycmVkIHRvIGFzIDxzdHJvbmc+PGVtPnBhcnNpbmc8 + L2VtPjwvc3Ryb25nPiBhIHNlbnRlbmNlLjwvcD48cD5UaGUgcHJvY2VzcyBv + ZiBwYXJzaW5nIGEgc2VudGVuY2UgdG8gdW5kZXJzdGFuZCBpdCB3aGVuIHdl + IHJlYWQgaXQgZm9yIHRoZSBmaXJzdCB0aW1lIGludm9sdmVzIHRoZSBzYW1l + IG1lbnRhbCBzdGVwcyBhcyBkaWFncmFtbWluZyBhIHNlbnRlbmNlLCBhbmQg + ZGlhZ3JhbW1pbmcgYSBzZW50ZW5jZSBpbnZvbHZlcyB0aGUgc2FtZSBzdGVw + cyBhcyBidWlsZGluZyBhIHBhcnNlIHRyZWUuIFdoZW4gd2UgcmVhZCBhIHNl + bnRlbmNlIGZvciB0aGUgdmVyeSBmaXJzdCB0aW1lLCB3ZeKAmXJlIGRvaW5n + IHRoZSB3b3JrIG9mIG1lbnRhbGx5IGRlY29uc3RydWN0aW5nIGFuZCBwYXJz + aW5nwqBpdC48L3A+PHA+QXMgaXQgdHVybnMgb3V0LCBjb21wdXRlcnMgZG8g + dGhlIGV4YWN0IHNhbWUgdGhpbmcgd2l0aCB0aGUgY29kZSB0aGF0IHdlwqB3 + cml0ZSE8L3A+PGgzPlBhcnNpbmcgZXhwcmVzc2lvbnMgbGlrZSBpdOKAmXMg + b3VywqBqb2I8L2gzPjxwPk9rYXksIHNvIHdlIG5vdyBrbm93IGhvdyB0byBk + aWFncmFtIGFuZCBwYXJzZSBhbiBFbmdsaXNoIGxhbmd1YWdlIHNlbnRlbmNl + LiBCdXQgaG93IGRvZXMgdGhhdCBhcHBseSB0byBjb2RlPyBBbmQgd2hhdCBl + dmVuIGlzIGEg4oCcc2VudGVuY2XigJ0gaW4gb3VywqBjb2RlPzwvcD48cD5X + ZWxsLCB3ZSBjYW4gdGhpbmsgb2YgYSBwYXJzZSB0cmVlIGFzIGFuIGlsbHVz + dHJhdGVkIOKAnHBpY3R1cmXigJ0gb2YgaG93IG91ciBjb2RlIGxvb2tzLiBJ + ZiB3ZSBpbWFnaW5lIG91ciBjb2RlLCBvdXIgcHJvZ3JhbSwgb3IgZXZlbiBq + dXN0IHRoZSBzaW1wbGVzdCBvZiBzY3JpcHRzIGluIHRoZSBmb3JtIG9mIGEg + c2VudGVuY2UsIHdl4oCZZCBwcm9iYWJseSByZWFsaXplIHByZXR0eSBxdWlj + a2x5IHRoYXQgYWxsIG9mIHRoZSBjb2RlIHRoYXQgd2Ugd3JpdGUgY291bGQg + cmVhbGx5IGp1c3QgYmUgc2ltcGxpZmllZCBpbnRvIHNldHMgb2YgZXhwcmVz + c2lvbnMuPC9wPjxwPlRoaXMgbWFrZXMgYSBsb3QgbW9yZSBzZW5zZSB3aXRo + IGFuIGV4YW1wbGUsIHNvIGxldOKAmXMgbG9vayBhdCBhIHN1cGVyIHNpbXBs + ZSBjYWxjdWxhdG9yIHByb2dyYW0uIFVzaW5nIGEgc2luZ2xlIGV4cHJlc3Np + b24sIHdlIGNhbiB1c2UgdGhlIGdyYW1tYXRpY2FsIOKAnHJ1bGVz4oCdIG9m + IG1hdGhlbWF0aWNzIHRvIGNyZWF0ZSBhIHBhcnNlIHRyZWUgZnJvbSB0aGF0 + IGV4cHJlc3Npb24uIFdl4oCZbGwgbmVlZCB0byBmaW5kIHRoZSBzaW1wbGVz + dCwgbW9zdCBkaXN0aW5jdCB1bml0cyBvZiBvdXIgZXhwcmVzc2lvbiwgd2hp + Y2ggbWVhbnMgdGhhdCB3ZeKAmWxsIG5lZWQgdG8gYnJlYWsgdXAgb3VyIGV4 + cHJlc3Npb24gaW50byBzbWFsbGVyIHNlZ21lbnRzLCBhcyBpbGx1c3RyYXRl + ZCBiZWxvdy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpQZlNDRnBtZVRS + ZTA1MEd2emlYZ0VBLmpwZWciIC8+PGZpZ2NhcHRpb24+RmluZGluZyB0aGUg + Z3JhbW1hciBpbiBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbnMuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPldl4oCZbGwgbm90aWNlIHRoYXQgYSBzaW5nbGUg + bWF0aGVtYXRpY2FsIGV4cHJlc3Npb24gaGFzIGl0cyBvd24gZ3JhbW1hciBy + dWxlcyB0byBmb2xsb3c7IGV2ZW4gYSBzaW1wbGUgZXhwcmVzc2lvbiAobGlr + ZSB0d28gbnVtYmVycyBiZWluZyBtdWx0aXBsaWVkIHRvZ2V0aGVyIGFuZCB0 + aGVuIGFkZGVkIHRvIGFub3RoZXIgbnVtYmVyKSBjb3VsZCBiZSBzcGxpdCB1 + cCBpbnRvIGV2ZW4gc2ltcGxlciBleHByZXNzaW9ucyB3aXRoaW4gdGhlbXNl + bHZlcy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2Ru + LWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpwWlFlQUNOUnFWZGVn + cERNUDRuSGZnLmpwZWciIC8+PGZpZ2NhcHRpb24+UmVwcmVzZW50aW5nIG1h + dGhlbWF0aWNhbCBleHByZXNzaW9ucyBhcyBhIHBhcnNlwqB0cmVlLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5CdXQgbGV04oCZcyB3b3JrIHdpdGggYSBz + aW1wbGUgY2FsY3VsYXRpb24gdG8gc3RhcnQuIEhvdyBjb3VsZCB3ZSBjcmVh + dGUgYSBwYXJzZSB0cmVlIHVzaW5nIG1hdGhlbWF0aWNhbCBncmFtbWFyIGZv + ciBhbiBleHByZXNzaW9uIHN1Y2ggYXMgMiB4wqA4PzwvcD48cD5JZiB3ZSB0 + aGluayBhYm91dCB3aGF0IHRoaXMgZXhwcmVzc2lvbiByZWFsbHkgbG9va3Mg + bGlrZSwgd2UgY2FuIHNlZSB0aGF0IHRoZXJlIGFyZSB0aHJlZSBkaXN0aW5j + dCBwaWVjZXMgaGVyZTogYW4gZXhwcmVzc2lvbiBvbiB0aGUgbGVmdCwgYW4g + ZXhwcmVzc2lvbiBvbiB0aGUgcmlnaHQsIGFuZCBhbiBvcGVyYXRpb24gdGhh + dCBtdWx0aXBsaWVzIHRoZSB0d28gb2YgdGhlbSB0b2dldGhlci48L3A+PHA+ + VGhlIGltYWdlIHNob3duIGhlcmUgZGlhZ3JhbXMgb3V0IHRoZSBleHByZXNz + aW9uIDIgeCA4IGFzIGEgcGFyc2UgdHJlZS4gV2XigJlsbCBzZWUgdGhhdCB0 + aGUgb3BlcmF0b3IsIHgsIGlzIG9uZSBwaWVjZSBvZiB0aGUgZXhwcmVzc2lv + biB0aGF0IGNhbm5vdCBiZSBzaW1wbGlmaWVkIGFueSBmdXJ0aGVyLCBzbyBp + dCBkb2VzbuKAmXQgaGF2ZSBhbnkgY2hpbGTCoG5vZGVzLjwvcD48cD5UaGUg + ZXhwcmVzc2lvbiBvbiB0aGUgbGVmdCBhbmQgb24gdGhlIHJpZ2h0IGNvdWxk + IGJlIHNpbXBsaWZpZWQgaW50byBpdHMgc3BlY2lmaWMgdGVybXMsIG5hbWVs + eSAyIGFuZCA4LiBNdWNoIGxpa2UgdGhlIEVuZ2xpc2ggc2VudGVuY2UgZXhh + bXBsZSB3ZSBsb29rZWQgYXQgZWFybGllciwgYSBzaW5nbGUgbWF0aGVtYXRp + Y2FsIGV4cHJlc3Npb24gY291bGQgY29udGFpbiA8ZW0+aW50ZXJuYWwgZXhw + cmVzc2lvbnMgPC9lbT53aXRoaW4gaXQsIGFzIHdlbGwgYXMgaW5kaXZpZHVh + bCA8ZW0+dGVybXM8L2VtPiwgbGlrZSB0aGUgcGhyYXNlIDIgeCA4LCBvciA8 + ZW0+ZmFjdG9yczwvZW0+LCBsaWtlIHRoZSBudW1iZXIgMiBhcyBhbiBpbmRp + dmlkdWFsIGV4cHJlc3Npb24gaXRzZWxmLjwvcD48cD5CdXQgd2hhdCBoYXBw + ZW5zIGFmdGVyIHdlIGNyZWF0ZSB0aGlzIHBhcnNlIHRyZWU/IFdl4oCZbGwg + bm90aWNlIHRoYXQgdGhlIGhpZXJhcmNoeSBvZiBjaGlsZCBub2RlcyBoZXJl + IGlzIGEgbGl0dGxlIGxlc3Mgb2J2aW91cyB0aGFuIGluIG91ciBzZW50ZW5j + ZSBleGFtcGxlIGZyb20gYmVmb3JlLiBib3RoIDIgYW5kIDggYXJlIGF0IHRo + ZSBzYW1lIGxldmVsLCBzbyBob3cgY291bGQgd2UgaW50ZXJwcmV0IHRoaXM/ + PC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFn + ZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqa2JlaVFBMHBCci0tbEdHU2pk + VWc2QS5qcGVnIiAvPjxmaWdjYXB0aW9uPlRoZSBzYW1lIGV4cHJlc3Npb24g + Y291bGQgZXZhbHVhdGUgdG8gZGlmZmVyZW50IHBhcnNlwqB0cmVlcy48L2Zp + Z2NhcHRpb24+PC9maWd1cmU+PHA+V2VsbCwgd2UgYWxyZWFkeSBrbm93IHRo + YXQgdGhlcmUgYXJlIHZhcmlvdXMgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9kZW15c3RpZnlpbmctZGVwdGgtZmlyc3Qtc2VhcmNoLWE3 + YzE0Y2NjZjA1NiI+ZGlmZmVyZW50IHdheXMgdG8gZGVwdGgtZmlyc3QgdHJh + dmVyc2U8L2E+IHRocm91Z2ggYSB0cmVlLiBEZXBlbmRpbmcgb24gaG93IHdl + IHRyYXZlcnNlIHRocm91Z2ggdGhpcyB0cmVlLCB0aGlzIHNpbmdsZSBtYXRo + ZW1hdGljYWwgZXhwcmVzc2lvbiwgMiB4IDggY291bGQgYmUgaW50ZXJwcmV0 + ZWQgYW5kIHJlYWQgaW4gbWFueSB3YXlzLiBGb3IgZXhhbXBsZSwgaWYgd2Ug + dHJhdmVyc2VkIHRocm91Z2ggdGhpcyB0cmVlIHVzaW5nIDxlbT5pbm9yZGVy + PC9lbT4gdHJhdmVyc2FsLCB3ZeKAmWQgcmVhZCB0aGUgbGVmdCB0cmVlLCB0 + aGUgcm9vdCBsZXZlbCwgYW5kIHRoZW4gdGhlIHJpZ2h0IHRyZWUsIHJlc3Vs + dGluZyBpbiAyIC0mZ3Q7IHggLSZndDvCoDguPC9wPjxwPkJ1dCBpZiB3ZSBj + aG9zZSB0byB3YWxrIHRocm91Z2ggdGhpcyB0cmVlIHVzaW5nIDxlbT5wcmVv + cmRlcjwvZW0+IHRyYXZlcnNhbCwgd2XigJlkIHJlYWQgdGhlIHZhbHVlIGF0 + IHRoZSByb290IGxldmVsIGZpcnN0LCBmb2xsb3dlZCBieSB0aGUgbGVmdCBz + dWJ0cmVlIGFuZCB0aGVuIHRoZSByaWdodCBzdWJ0cmVlLCB3aGljaCB3b3Vs + ZCBnaXZlIHVzIHggLSZndDsgMiAtJmd0OyA4LiBBbmQgaWYgd2UgdXNlZCA8 + ZW0+cG9zdG9yZGVyPC9lbT4gdHJhdmVyc2FsLCB3ZeKAmWQgcmVhZCB0aGUg + bGVmdCBzdWJ0cmVlLCB0aGUgcmlnaHQgc3VidHJlZSwgYW5kIHRoZW4gZmlu + YWxseSByZWFkIHRoZSByb290IGxldmVsLCB3aGljaCB3b3VsZCByZXN1bHQg + aW4gMiAtJmd0OyA4IC0mZ3Q7wqB4LjwvcD48cD5QYXJzZSB0cmVlcyBzaG93 + IHVzIHdoYXQgb3VyIGV4cHJlc3Npb25zPGVtPiBsb29rIGxpa2U8L2VtPiwg + cmV2ZWFsaW5nIHRoZSBjb25jcmV0ZSBzeW50YXggb2Ygb3VyIGV4cHJlc3Np + b25zLCB3aGljaCBvZnRlbiBtZWFucyB0aGF0IGEgc2luZ2xlIHBhcnNlIHRy + ZWUgY291bGQgZXhwcmVzcyBhIOKAnHNlbnRlbmNl4oCdIGluIHZhcmlvdXMg + ZGlmZmVyZW50IHdheXMuIEZvciB0aGlzIHJlYXNvbiwgcGFyc2UgdHJlZXMg + YXJlIGFsc28gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgPHN0cm9uZz48ZW0+Q29u + Y3JldGUgU3ludGF4IFRyZWVzPC9lbT48L3N0cm9uZz4sIG9yIDxzdHJvbmc+ + PGVtPkNTVHMgPC9lbT48L3N0cm9uZz5mb3Igc2hvcnQuIFdoZW4gdGhlc2Ug + dHJlZXMgYXJlIGludGVycHJldGVkLCBvciDigJxyZWFk4oCdIGJ5IG91ciBt + YWNoaW5lcywgdGhlcmUgbmVlZCB0byBiZSBzdHJpY3QgcnVsZXMgYXMgdG8g + aG93IHRoZXNlIHRyZWVzIGFyZSBwYXJzZWQsIHNvIHRoYXQgd2UgZW5kIHVw + IHdpdGggdGhlIGNvcnJlY3QgZXhwcmVzc2lvbiwgd2l0aCBhbGwgdGhlIHRl + cm1zIGluIHRoZSBjb3JyZWN0IG9yZGVyIGFuZCBpbiB0aGUgcmlnaHTCoHBs + YWNlITwvcD48cD5CdXQgbW9zdCBleHByZXNzaW9ucyB0aGF0IHdlIGRlYWwg + d2l0aCBhcmUgbW9yZSBjb21wbGV4IHRoYW4ganVzdCAyIHggOC4gRXZlbiBm + b3IgYSBjYWxjdWxhdG9yIHByb2dyYW0sIHdlIHdpbGwgcHJvYmFibHkgbmVl + ZCB0byBkbyBtb3JlIGNvbXBsaWNhdGVkIGNvbXB1dGF0aW9ucy4gRm9yIGV4 + YW1wbGUsIHdoYXQgaGFwcGVucyBpZiB3ZSB3YW50ZWQgdG8gc29sdmUgZm9y + IGFuIGV4cHJlc3Npb24gbGlrZSA1ICsgMSB4IDEyPyBXaGF0IHdvdWxkIG91 + ciBwYXJzZSB0cmVlIGxvb2vCoGxpa2U/PC9wPjxwPldlbGwsIGFzIGl0IHR1 + cm5zIG91dCwgdGhlIHRyb3VibGUgd2l0aCBwYXJzZSB0cmVlcyBpcyB0aGF0 + IHNvbWV0aW1lcyB5b3UgY2FuIGVuZCB1cCB3aXRoIG1vcmUgdGhhbsKgb25l + LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1h + Z2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKlh4ckR3NkdvVU51MzF0QkJE + QWlBNVEuanBlZyIgLz48ZmlnY2FwdGlvbj5BbWJpZ3VvdXMgZ3JhbW1hciBp + biAocGFyc2luZykgYWN0aW9uITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5N + b3JlIHNwZWNpZmljYWxseSwgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBhIHNp + bmdsZSBvdXRjb21lIGZvciBvbmUgZXhwcmVzc2lvbiB0aGF0IGlzIGJlaW5n + IHBhcnNlZC4gSWYgd2UgYXNzdW1lIHRoYXQgcGFyc2UgdHJlZXMgYXJlIHJl + YWQgZnJvbSB0aGUgbG93ZXN0LWxldmVsIGZpcnN0LCB3ZSBjYW4gc3RhcnQg + dG8gc2VlIGhvdyB0aGUgaGVpcmFyY2h5IG9mIHRoZSBsZWFmIG5vZGVzIGNh + biBjYXVzZSB0aGUgc2FtZSBleHByZXNzaW9uIHRvIGJlIGludGVycHJldGVk + IGluIHR3byB0b3RhbGx5IGRpZmZlcmVudCB3YXlzLCB5aWVsZGluZyB0d28g + dG90YWxseSBkaWZmZXJlbnQgdmFsdWVzIGFzIGHCoHJlc3VsdC48L3A+PHA+ + Rm9yIGV4YW1wbGUsIGluIHRoZSBpbGx1c3RyYXRpb24gYWJvdmUsIHRoZXJl + IGFyZSB0d28gcG9zc2libGUgcGFyc2UgdHJlZXMgZm9yIHRoZSBleHByZXNz + aW9uIDUgKyAxIHggMTIuIEFzIHdlIGNhbiBzZWUgaW4gdGhlIGxlZnQgcGFy + c2UgdHJlZSwgdGhlIGhlaXJhcmNoeSBvZiB0aGUgbm9kZXMgaXMgc3VjaCB0 + aGF0IHRoZSBleHByZXNzaW9uIDEgeCAxMiB3aWxsIGJlIGV2YWx1YXRlZCBm + aXJzdCwgYW5kIHRoZW4gdGhlIGFkZGl0aW9uIHdpbGwgY29udGludWU6IDUg + KyAoMSB4IDEyKS4gT24gdGhlIG90aGVyIGhhbmQsIHRoZSByaWdodCBwYXJz + ZSB0cmVlIGlzIHZlcnkgZGlmZmVyZW50OyB0aGUgaGVpcmFyY2h5IG9mIHRo + ZSBub2RlcyBmb3JjZXMgdGhlIGFkZGl0aW9uIHRvIGhhcHBlbiBmaXJzdCAo + NSArIDEpLCBhbmQgdGhlbiBtb3ZlcyB1cCB0aGUgdHJlZSB0byBjb250aW51 + ZSB3aXRoIG11bHRpcGxpY2F0aW9uOiAoNSArIDEpIHjCoDEyLjwvcD48cD5B + bWJpZ3VvdXMgZ3JhbW1hciBpbiBhIGxhbmd1YWdlIGlzIGV4YWN0bHkgd2hh + dCBjYXVzZXMgdGhpcyBraW5kIG9mIHNpdHVhdGlvbjogd2hlbiBpdHMgdW5j + bGVhciBob3cgYSBzeW50YXggdHJlZSBzaG91bGQgYmUgY29uc3RydWN0ZWQs + IGl04oCZcyBwb3NzaWJsZSBmb3IgaXQgdG8gYmUgYnVpbHQgaW4gKGF0IGxl + YXN0KSBtb3JlIHRoYW4gb25lwqB3YXkuPC9wPjxibG9ja3F1b3RlPkhlcmXi + gJlzIHRoZSBydWIsIHRob3VnaDogYW1iaWd1b3VzIGdyYW1tYXIgaXMgcHJv + YmxlbWF0aWMgZm9yIGEgY29tcGlsZXIhPC9ibG9ja3F1b3RlPjxmaWd1cmU+ + PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0u + Y29tL21heC8xMDI0LzEqckpnaWpjT3NQUV8wWFFWbmVjeFI2QS5qcGVnIiAv + PjxmaWdjYXB0aW9uPkNvbWJhdGluZyBhbWJpZ3VvdXMgZ3JhbW1hciBhcyBh + wqBjb21waWxlcjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5CYXNlZCBvbiB0 + aGUgcnVsZXMgb2YgbWF0aGVtYXRpY3MgdGhhdCBtb3N0IG9mIHVzIGxlYXJu + ZWQgaW4gc2Nob29sLCB3ZSBrbm93IGluaGVyZW50bHkgdGhhdCBtdWx0aXBs + aWNhdGlvbiBzaG91bGQgYWx3YXlzIGJlIGRvbmUgYmVmb3JlIGFkZGl0aW9u + LiBJbiBvdGhlciB3b3Jkcywgb25seSB0aGUgbGVmdCBwYXJzZSB0cmVlIGlu + IHRoZSBhYm92ZSBleGFtcGxlIGlzIGFjdHVhbGx5IGNvcnJlY3QgYmFzZWQg + b24gdGhlIGdyYW1tYXIgb2YgbWF0aC4gUmVtZW1iZXI6IGdyYW1tYXIgaXMg + d2hhdCBkZWZpbmVzIHRoZSBzeW50YXggYW5kIHRoZSBydWxlcyBvZiBhbnkg + bGFuZ3VhZ2UsIHdoZXRoZXIgaXRzIGFuIEVuZ2xpc2ggc2VudGVuY2Ugb3Ig + YSBtYXRoZW1hdGljYWwgZXhwcmVzc2lvbi48L3A+PHA+QnV0IGhvdyBvbiBl + YXJ0aCB3b3VsZCB0aGUgY29tcGlsZXIga25vdyB0aGVzZSBydWxlcyBpbmhl + cmVudGx5PyBXZWxsLCB0aGVyZeKAmXMganVzdCBubyB3YXkgdGhhdCBpdCBl + dmVyIGNvdWxkISBBIGNvbXBpbGVyIHdvdWxkIGhhdmUgbm8gaWRlYSB3aGlj + aCB3YXkgdG8gcmVhZCB0aGUgY29kZSB0aGF0IHdlIHdyaXRlIGlmIHdlIGRv + buKAmXQgZ2l2ZSBpdCBncmFtbWF0aWNhbCBydWxlcyB0byBmb2xsb3cuIElm + IGEgY29tcGlsZXIgc2F3IHRoYXQgd2Ugd3JvdGUgYSBtYXRoZW1hdGljYWwg + ZXhwcmVzc2lvbiwgZm9yIGV4YW1wbGUsIHRoYXQgY291bGQgcmVzdWx0IGlu + IHR3byBkaWZmZXJlbnQgcGFyc2UgdHJlZXMsIGl0IHdvdWxkbuKAmXQga25v + dyB3aGljaCBvZiB0aGUgdHdvIHBhcnNlIHRyZWVzIHRvIGNob29zZSwgYW5k + IHRodXMsIGl0IHdvdWxkbuKAmXQga25vdyBob3cgdG8gZXZlbiByZWFkIG9y + IGludGVycHJldCBvdXLCoGNvZGUuPC9wPjxwPkFtYmlndW91cyBncmFtbWFy + IGlzIGdlbmVyYWxseSBhdm9pZGVkIGluIG1vc3QgcHJvZ3JhbW1pbmcgbGFu + Z3VhZ2VzIGZvciB0aGlzIHZlcnkgcmVhc29uLiBJbiBmYWN0LCBtb3N0IHBh + cnNlcnMgYW5kIHByb2dyYW1taW5nIGxhbmd1YWdlcyB3aWxsIGludGVudGlv + bmFsbHkgZGVhbCB3aXRoIHByb2JsZW1zIG9mIGFtYmlndWl0eSBmcm9tIHRo + ZSBzdGFydC4gQSBwcm9ncmFtbWluZyBsYW5ndWFnZSB3aWxsIHVzdWFsbHkg + aGF2ZSBncmFtbWFyIHRoYXQgZW5mb3JjZXMgPGVtPnByZWNlZGVuY2U8L2Vt + Piwgd2hpY2ggd2lsbCBmb3JjZSBzb21lIG9wZXJhdGlvbnMgb3Igc3ltYm9s + cyB0byBoYXZlIGEgaGlnaGVyIHdlaWdodC92YWx1ZSB0aGFuIG90aGVycy4g + QW4gZXhhbXBsZSBvZiB0aGlzIGlzIGVuc3VyaW5nIHRoYXQsIHdoZW5ldmVy + IGEgcGFyc2UgdHJlZSBpcyBjb25zdHJ1Y3RlZCwgbXVsdGlwbGljYXRpb24g + aXMgZ2l2ZW4gYSBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIGFkZGl0aW9uLCBz + byB0aGF0IG9ubHkgb25lIHBhcnNlIHRyZWUgY2FuIGV2ZXIgYmUgY29uc3Ry + dWN0ZWQuPC9wPjxwPkFub3RoZXIgd2F5IHRvIGNvbWJhdCBwcm9ibGVtcyBv + ZiBhbWJpZ3VpdHkgaXMgYnkgZW5mb3JjaW5nIHRoZSB3YXkgdGhhdCBncmFt + bWFyIGlzIGludGVycHJldGVkLiBGb3IgZXhhbXBsZSwgaW4gbWF0aGVtYXRp + Y3MsIGlmIHdlIGhhZCBhbiBleHByZXNzaW9uIGxpa2UgMSArIDIgKyAzICsg + NCwgd2Uga25vdyBpbmhlcmVudGx5IHRoYXQgd2Ugc2hvdWxkIGJlZ2luIGFk + ZGluZyBmcm9tIHRoZSBsZWZ0IGFuZCB3b3JrIG91ciB3YXkgdG8gdGhlIHJp + Z2h0LiBJZiB3ZSB3YW50ZWQgb3VyIGNvbXBpbGVyIHRvIHVuZGVyc3RhbmQg + aG93IHRvIGRvIHRoaXMgd2l0aCBvdXIgb3duIGNvZGUsIHdl4oCZZCBuZWVk + IHRvIGVuZm9yY2UgPGVtPmxlZnQgYXNzb2NpYXRpdml0eTwvZW0+LCB3aGlj + aCB3b3VsZCBjb25zdHJpY3Qgb3VyIGNvbXBpbGVyIHNvIHRoYXQgd2hlbiBp + dCBwYXJzZWQgb3VyIGNvZGUsIGl0IHdvdWxkIGNyZWF0ZSBhIHBhcnNlIHRy + ZWUgdGhhdCBwdXRzIHRoZSBmYWN0b3Igb2YgNCBsb3dlciBkb3duIGluIHRo + ZSBwYXJzZSB0cmVlIGhpZXJhcmNoeSB0aGFuIHRoZSBmYWN0b3LCoDEuPC9w + PjxwPlRoZXNlIHR3byBleGFtcGxlcyBvZnRlbiByZWZlcnJlZCB0byBhcyA8 + c3Ryb25nPjxlbT5kaXNhbWJpZ3VhdGluZyBydWxlczwvZW0+PC9zdHJvbmc+ + IGluIGNvbXBpbGVyIGRlc2lnbiwgYXMgdGhleSBjcmVhdGUgc3BlY2lmaWMg + c3ludGFjdGljYWwgcnVsZXMgZW5zdXJlIHRoYXQgd2UgbmV2ZXIgZW5kIHVw + IHdpdGggYW1iaWd1b3VzIGdyYW1tYXIgdGhhdCBvdXIgY29tcGlsZXIgd2ls + bCBiZSB2ZXJ5IGNvbmZ1c2VkwqBieS48L3A+PGgzPkEgdG9rZW4gb2YgbXkg + YWZmZWN0aW9uIChmb3IgbXnCoHBhcnNlcik8L2gzPjxwPklmIGFtYmlndWl0 + eSBpcyB0aGUgcm9vdCBvZiBhbGwgcGFyc2UgdHJlZSBldmlsLCB0aGVuIGNs + YXJpdHkgaXMgY2xlYXJseSB0aGUgcHJlZmVycmVkIG1vZGUgb2Ygb3BlcmF0 + aW9uLiBTdXJlLCB3ZSBjYW4gYWRkIGRpc2FtYmlndWF0aW5nIHJ1bGVzIHRv + IGF2b2lkIGFtYmlndW91cyBzaXR1YXRpb25zIHRoYXTigJlsbCBjYXVzZSBv + dXIgcG9vciBsaXR0bGUgY29tcHV0ZXIgdG8gYmUgc3R1bXBlZCB3aGVuIGl0 + IHJlYWRzIG91ciBjb2RlLCBidXQgd2UgYWN0dWFsbHkgZG8gYSB3aG9sZSBs + b3QgbW9yZSB0aGFuIHRoYXQsIHRvby4gT3IgcmF0aGVyLCBpdCBpcyB0aGUg + cHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHRoYXQgd2UgdXNlIHRoYXQgZG8gdGhl + IHJlYWwgaGVhdnnCoGxpZnRpbmchPC9wPjxwPkxldCBtZSBleHBsYWluLiBX + ZSBjYW4gdGhpbmsgb2YgaXQgdGhpcyB3YXk6IG9uZSBvZiB0aGUgd2F5cyB0 + aGF0IHdlIGNhbiBhZGQgY2xhcml0eSB0byBhIG1hdGhlbWF0aWNhbCBleHBy + ZXNzaW9uIGlzIHRocm91Z2ggcGFyZW50aGVzaXMuIEluIGZhY3QsIHRoYXTi + gJlzIHdoYXQgbW9zdCBvZiB1cyBwcm9iYWJseSB3b3VsZCBkbyBmb3IgdGhl + IGV4cHJlc3Npb24gd2Ugd2VyZSBkZWFsaW5nIHdpdGggZWFybGllcjogNSAr + IDEgeCAxMi4gV2UgcHJvYmFibHkgd291bGQgaGF2ZSByZWFkIHRoYXQgZXhw + cmVzc2lvbiBhbmQsIHJlY2FsbGluZyA8YSBocmVmPSJodHRwOi8vd3d3LnB1 + cnBsZW1hdGguY29tL21vZHVsZXMvb3JkZXJvcHMuaHRtIj50aGUgb3JkZXIg + b2Ygb3BlcmF0aW9uczwvYT4gd2UgbGVhcm5lZCBpbiBzY2hvb2wsIHdlIHdv + dWxkIGhhdmUgcmV3cml0dGVuIGl0IGluIG91ciBoZWFkcyBhczogNSArICgx + IHggMTIpLiBUaGUgcGFyZW50aGVzaXMgKCkgaGVscGVkIHVzIGdhaW4gY2xh + cml0eSBhYm91dCB0aGUgZXhwcmVzc2lvbiBpdHNlbGYsIGFuZCB0aGUgdHdv + IGV4cHJlc3Npb25zIHRoYXQgYXJlIGluaGVyZW50bHkgPGVtPndpdGhpbjwv + ZW0+IGl0LiBUaG9zZSB0d28gc3ltYm9scyBhcmUgcmVjb2duaXphYmxlIHRv + IHVzLCBhbmQgaWYgd2Ugd2VyZSBwdXR0aW5nIHRoZW0gaW4gb3VyIHBhcnNl + IHRyZWUsIHRoZXkgd291bGRu4oCZdCBoYXZlIGFueSBjaGlsZHJlbiBub2Rl + cyBiZWNhdXNlIHRoZXkgY2Fu4oCZdCBiZSBicm9rZW4gZG93biBhbnnCoGZ1 + cnRoZXIuPC9wPjxwPlRoZXNlIGFyZSB3aGF0IHdlIHJlZmVyIHRvIGFzIDxz + dHJvbmc+PGVtPnRlcm1pbmFsczwvZW0+PC9zdHJvbmc+LCB3aGljaCBhcmUg + YWxzbyBjb21tb25seSBrbm93biBhcyA8c3Ryb25nPjxlbT50b2tlbnM8L2Vt + Pjwvc3Ryb25nPi4gVGhleSBhcmUgY3J1Y2lhbCB0byBhbGwgcHJvZ3JhbW1p + bmcgbGFuZ3VhZ2VzLCBiZWNhdXNlIHRoZXkgaGVscCB1cyB1bmRlcnN0YW5k + IGhvdyBwYXJ0cyBvZiBhbiBleHByZXNzaW9uIHJlbGF0ZSB0byBvbmUgYW5v + dGhlciwgYW5kIHRoZSBzeW50YWN0aWMgcmVsYXRpb25zaGlwcyBiZXR3ZWVu + IGluZGl2aWR1YWwgZWxlbWVudHMuIFNvbWUgY29tbW9uIHRva2VucyBpbiBw + cm9ncmFtbWluZyBpbmNsdWRlIHRoZSBvcGVyYXRpb24gc2lnbnMgKCssIC0s + IHgsIC8pLCBwYXJlbnRoZXNpcyAoKCkpLCBhbmQgcmVzZXJ2ZWQgY29uZGl0 + aW9uYWwgd29yZHMgKGlmLCB0aGVuLCBlbHNlLCBlbmQpLiBTb21lIHRva2Vu + cyBhcmUgdXNlZCB0byBoZWxwIGNsYXJpZnkgZXhwcmVzc2lvbnMgYmVjYXVz + ZSB0aGV5IGNhbiBzcGVjaWZ5IGhvdyBkaWZmZXJlbnQgZWxlbWVudHMgcmVs + YXRlIHRvIG9uZcKgYW5vdGhlci48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpvdTN1ZlRkMTVscmsxS0NuZklfRDNRLmpwZWciIC8+PGZpZ2NhcHRpb24+ + VGVybWluYWwgc3ltYm9scyB2ZXJzdXMgbm9uLXRlcm1pbmFsczwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5TbyB3aGF0IGFyZSBhbGwgdGhlIG90aGVyIHRo + aW5ncyBpbiBvdXIgcGFyc2UgdHJlZT8gV2UgY2xlYXJseSBoYXZlIG1vcmUg + dGhhbiBqdXN0IGlmJiMzOTtzIGFuZCArIHNpZ25zIGluIG91ciBjb2RlISBX + ZWxsLCB3ZSBhbHNvIHVzdWFsbHkgaGF2ZSB0byBkZWFsIHdpdGggc2V0cyBv + ZiA8c3Ryb25nPjxlbT5ub24tdGVybWluYWxzPC9lbT48L3N0cm9uZz4sIHdo + aWNoIGFyZSBleHByZXNzaW9ucywgdGVybXMsIGFuZCBmYWN0b3JzIHRoYXQg + Y2FuIHBvdGVudGlhbGx5IGJlIGJyb2tlbiBkb3duIGZ1cnRoZXIuIFRoZXNl + IGFyZSB0aGUgcGhyYXNlcy9pZGVhcyB0aGF0IGNvbnRhaW4gb3RoZXIgZXhw + cmVzc2lvbnMgd2l0aGluIHRoZW0sIHN1Y2ggYXMgdGhlIGV4cHJlc3Npb24g + KDggKyAxKSAvwqAzLjwvcD48cD5Cb3RoIHRlcm1pbmFscyBhbmQgbm9uLXRl + cm1pbmFscyBoYXZlIGEgc3BlY2lmaWMgcmVsYXRpb25zaGlwIHRvIHdoZXJl + IHRoZXkgYXBwZWFyIGluIGEgcGFyc2UgdHJlZS4gQXMgdGhlaXIgbmFtZSBt + aWdodCBzdWdnZXN0LCBhIDxlbT50ZXJtaW5hbDwvZW0+IHN5bWJvbCB3aWxs + IGFsd2F5cyBlbmQgdXAgYXMgdGhlIGxlYXZlcyBvZiBhIHBhcnNlIHRyZWU7 + IHRoaXMgbWVhbnMgdGhhdCBub3Qgb25seSBhcmUgb3BlcmF0b3JzLCBwYXJl + bnRoZXNpcywgYW5kIHJlc2VydmVkIGNvbmRpdGlvbmFscyDigJx0ZXJtaW5h + bHPigJ0sIGJ1dCBzbyBhcmUgYWxsIHRoZSBmYWN0b3IgdmFsdWVzIHRoYXQg + cmVwcmVzZW50IHRoZSBzdHJpbmcsIG51bWJlciwgb3IgY29uY2VwdCB0aGF0 + IGlzIGF0IGV2ZXJ5IGxlYWYgbm9kZS4gQW55dGhpbmcgdGhhdCBpcyBicm9r + ZW4gZG93biBpbnRvIGl0cyBzbWFsbGVzdCBwb3NzaWJsZSBwaWVjZSBpcyBl + ZmZlY3RpdmVseSBhbHdheXMgZ29pbmcgdG8gYmUgYSDigJx0ZXJtaW5hbOKA + nS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp4RE4yTlRITms5SXdXSUhM + SlAxYVl3LmpwZWciIC8+PGZpZ2NhcHRpb24+SWRlbnRpZnlpbmcgdGhlIHVu + aXF1ZSBwYXJ0cyBvZiBhIHN5bnRheMKgdHJlZS48L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+T24gdGhlIGZsaXAgc2lkZSwgdGhlIGludGVyaW9yIG5vZGVz + IG9mIGEgcGFyc2UgdHJlZeKAiuKAlOKAinRoZSBub24tbGVhZiBub2RlcyB0 + aGF0IGFyZSBwYXJlbnQgbm9kZXPigIrigJTigIphcmUgdGhlIDxlbT5ub24t + dGVybWluYWwgPC9lbT5zeW1ib2xzLCBhbmQgdGhleeKAmXJlIHRoZSBvbmVz + IHRoYXQgcmVwcmVzZW50IHRoZSBhcHBsaWNhaXRvbiBvZiB0aGUgcHJvZ3Jh + bW1pbmcgbGFuZ3VhZ2XigJlzIGdyYW1tYXLCoHJ1bGVzLjwvcD48cD5BIHBh + cnNlIHRyZWUgYmVjb21lcyBhIGxvdCBlYXNpZXIgdG8gdW5kZXJzdGFuZCwg + dmlzdWFsaXplLCBhbmQgaWRlbnRpZnkgb25jZSB3ZSBjYW4gd3JhcCBvdXIg + aGVhZHMgYXJvdW5kIHRoZSBmYWN0IHRoYXQgaXQgaXMgbm90aGluZyBtb3Jl + IHRoYW4gYSByZXByZXNlbnRhdGlvbiBvZiBvdXIgcHJvZ3JhbSwgYW5kIGFs + bCBvZiB0aGUgc3ltYm9scywgY29uY2VwdHMsIGFuZCBleHByZXNzaW9ucyB3 + aXRoaW7CoGl0LjwvcD48YmxvY2txdW90ZT5CdXQgd2hhdCBpcyB0aGUgdmFs + dWUgb2YgYSBwYXJzZSB0cmVlLCBhbnl3YXlzPyBXZSBkb27igJl0IHRoaW5r + IGFib3V0IGl0IGFzIHByb2dyYW1tZXJzLCBidXQgaXQgbXVzdCBleGlzdCBm + b3IgYSByZWFzb24swqByaWdodD88L2Jsb2NrcXVvdGU+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSpiZXBGcno2ZnVMT0pxSXZSeFZubnlRLmpwZWciIC8+PGZp + Z2NhcHRpb24+VW5kZXJzdGFuZGluZyB0aGUgcm9sZSBvZiB0aGXCoHBhcnNl + cjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZWxsLCBhcyBpdCB0dXJucyBv + dXQsIHRoZSB0aGluZyB0aGF0IGNhcmVzIGFib3V0IHRoZSBwYXJzZSB0cmVl + IHRoZSBtb3N0IGlzIHRoZSA8c3Ryb25nPjxlbT5wYXJzZXI8L2VtPjwvc3Ry + b25nPiwgd2hpY2ggaXMgYSBwYXJ0IG9mIGEgY29tcGxpZXIgdGhhdCBoYW5k + bGVzIHRoZSBwcm9jZXNzIG9mIDxlbT5wYXJzaW5nPC9lbT4gYWxsIG9mIHRo + ZSBjb2RlIHRoYXQgd2XCoHdyaXRlLjwvcD48cD5UaGUgcHJvY2VzcyBvZiA8 + c3Ryb25nPjxlbT5wYXJzaW5nIDwvZW0+PC9zdHJvbmc+aXMgcmVhbGx5IGp1 + c3QgdGFraW5nIHNvbWUgaW5wdXQgYW5kIGJ1aWxkaW5nIGEgcGFyc2UgdHJl + ZSBvdXQgb2YgaXQuIFRoYXQgaW5wdXQgY291bGQgYmUgbWFueSBkaWZmZXJl + bnQgdGhpbmdzLCBsaWtlIGEgc3RyaW5nLCBzZW50ZW5jZSwgZXhwcmVzc2lv + biwgb3IgZXZlbiBhbiBlbnRpcmXCoHByb2dyYW0uPC9wPjxwPlJlZ2FyZGxl + c3Mgb2Ygd2hhdCBpbnB1dCB3ZSBnaXZlIGl0LCBvdXIgcGFyc2VyIHdpbGwg + cGFyc2UgdGhhdCBpbnB1dCBpbnRvIGdyYW1tYXRpY2FsIHBocmFzZXMgYW5k + IGJ1aWxkaW5nIGEgcGFyc2UgdHJlZSBvdXQgb2YgaXQuIFRoZSBwYXJzZXIg + cmVhbGx5IGhhcyB0d28gbWFpbiByb2xlcyBpbiB0aGUgY29udGV4dCBvZiBv + dXIgY29tcHV0ZXIgYW5kIHRoZSBjb21waWxhdGlvbiBwcm9jZXNzOjwvcD48 + b2w+PGxpPldoZW4gZ2l2ZW4gYSB2YWxpZCBzZXF1ZW5jZSBvZiB0b2tlbnMs + IGl0IG11c3QgYmUgYWJsZSB0byBnZW5lcmF0ZSBhIGNvcnJlc3BvbmRpbmcg + cGFyc2UgdHJlZSwgZm9sbG93aW5nIHRoZSBzeW50YXggb2YgdGhlIGxhbmd1 + YWdlLjwvbGk+PGxpPldoZW4gZ2l2ZW4gYW4gaW52YWxpZCBzZXF1ZW5jZSBv + ZiB0b2tlbnMsIGl0IHNob3VsZCBiZSBhYmxlIHRvIGRldGVjdCB0aGUgc3lu + dGF4IGVycm9yIGFuZCBpbmZvcm0gdGhlIHByb2dyYW1tZXIgd2hvIHdyb3Rl + IHRoZSBjb2RlIG9mIHRoZSBwcm9ibGVtIGluIHRoZWlywqBjb2RlLjwvbGk+ + PC9vbD48cD5BbmQgdGhhdOKAmXMgcmVhbGx5IGl0ISBJdCBtaWdodCBzb3Vu + ZCByZWFsbHkgc2ltcGxlLCBidXQgaWYgd2Ugc3RhcnQgY29uc2lkZXJpbmcg + aG93IG1hc3NpdmUgYW5kIGNvbXBsZXggc29tZSBwcm9ncmFtcyBjYW4gYmUs + IHdl4oCZbGwgcXVpY2tseSBzdGFydCB0byByZWFsaXplIGhvdyB3ZWxsLWRl + ZmluZWQgdGhpbmdzIG5lZWQgdG8gYmUgaW4gb3JkZXIgZm9yIHRoZSBwYXJz + ZXIgdG8gYWN0dWFsbHkgZnVsZmlsbCB0aGVzZSB0d28gc2VlbWluZ2x5IGVh + c3nCoHJvbGVzLjwvcD48cD5Gb3IgZXhhbXBsZSwgZXZlbiBhIHNpbXBsZSBw + YXJzZXIgbmVlZHMgdG8gZG8gYSBsb3QgaW4gb3JkZXIgdG8gcHJvY2VzcyB0 + aGUgc3ludGF4IG9mIGFuIGV4cHJlc3Npb24gbGlrZSAxICsgMiArIDMgeMKg + NC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpCR1QzWFgyUTNzSVhlZC1D + WDRydVFnLmpwZWciIC8+PGZpZ2NhcHRpb24+UmVhZGluZyBsaWtlIGEgcGFy + c2VyIHdvdWxkwqByZWFkLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48dWw+PGxp + PkZpcnN0LCBpdCBuZWVkcyB0byBidWlsZCBhIHBhcnNlIHRyZWUgb3V0IG9m + IHRoaXMgZXhwcmVzc2lvbi4gVGhlIGlucHV0IHN0cmluZyB0aGF0IHRoZSBw + YXJzZXIgcmVjaWV2ZXMgbWlnaHQgbm90IHNob3cgYW55IGFzc29jaWF0aW9u + IGJldHdlZW4gb3BlcmF0aW9ucywgYnV0IHRoZSBwYXJzZXIgbmVlZHMgdG8g + bWFrZSBhIHBhcnNlIHRyZWUgdGhhdMKgZG9lcy48L2xpPjxsaT5Ib3dldmVy + LCBpbiBvcmRlciB0byBkbyB0aGlzLCBpdCBuZWVkcyB0byBrbm93IHRoZSBz + eW50YXggb2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGdyYW1tYXIgcnVsZXMg + dG/CoGZvbGxvdy48L2xpPjxsaT5PbmNlIGl0IGNhbiBhY3R1YWxseSBjcmVh + dGUgYSBzaW5nbGUgcGFyc2UgdHJlZSAod2l0aCBubyBhbWJpZ3VpdHkpLCBp + dCBuZWVkcyB0byBiZSBhYmxlIHRvIHB1bGwgb3V0IHRoZSB0b2tlbnMgYW5k + IG5vbi10ZXJtaW5hbCBzeW1ib2xzIGFuZCBhcnJhbmdlIHRoZW0gc28gdGhh + dCB0aGUgcGFyc2UgdHJlZeKAmXMgaGVpcmFyY2h5IGlzwqBjb3JyZWN0Ljwv + bGk+PGxpPkZpbmFsbHksIHRoZSBwYXJzZXIgbmVlZHMgdG8gZW5zdXJlIHRo + YXQsIHdoZW4gdGhpcyB0cmVlIGlzIGV2YWx1YXRlZCwgaXQgd2lsbCBiZSBl + dmFsdWF0ZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB3aXRoIG9wZXJhdG9ycyBv + ZiB0aGUgc2FtZSBwcmVjZWRlbmNlLjwvbGk+PGxpPkJ1dCB3YWl0ISBJdCBh + bHNvIG5lZWRzIHRvIG1ha2Ugc3VyZSB0aGF0LCB3aGVuIHRoaXMgdHJlZSBp + cyB0cmF2ZXJzZWQgdXNpbmcgdGhlIGlub3JkZXIgdHJhdmVyc2FsIG1ldGhv + ZCBmcm9tIHRoZSBib3R0b20sIG5vdCBhIHNpbmdsZSBzeW50YXggZXJyb3Ig + ZXZlcsKgb2NjdXJzITwvbGk+PGxpPk9mIGNvdXJzZSwgaWYgaXQgPGVtPmRv + ZXM8L2VtPiBicmVhaywgdGhlIHBhcnNlciBuZWVkcyB0byBsb29rIGF0IHRo + ZSBpbnB1dCwgZmlndXJlIG91dCB3aGVyZSBpdCB3aWxsIGJyZWFrLCBhbmQg + dGhlbiB0ZWxsIHRoZSBwcm9ncmFtbWVyIGFib3V0wqBpdC48L2xpPjwvdWw+ + PHA+SWYgdGhpcyBmZWVscyBsaWtlIGFuIGF3ZnVsIGxvdCBvZiB3b3JrLCB0 + aGF04oCZcyBiZWNhdXNlIGl0IGlzLiBCdXQgZG9u4oCZdCB3b3JyeSB0b28g + bXVjaCBhYm91dCBkb2luZyBhbGwgb2YgaXQsIGJlY2F1c2UgdGhhdOKAmXMg + dGhlIHBhcnNlciBqb2IsIGFuZCBtb3N0IG9mIGl0IGlzIGFic3RyYWN0ZWQg + YXdheS4gTHVja2lseSwgdGhlIHBhcnNlciBoYXMgc29tZSBoZWxwIGZyb20g + b3RoZXIgcGFydHMgb2YgdGhlIGNvbXBpbGVyLiBNb3JlIG9uIHRoYXQgbmV4 + dMKgd2VlayE8L3A+PGgzPlJlc291cmNlczwvaDM+PHA+THVja3kgZm9yIHVz + LCBjb21waWxlciBkZXNpZ24gaXMgc29tZXRoaW5nIHRoYXQgaXMgd2VsbC10 + YXVnaHQgaW4gYWxtb3N0IGV2ZXJ5IGNvbXB1dGVyIHNjaWVuY2UgY3Vycmlj + dWx1bSwgYW5kIHRoZXJlIGFyZSBhIGRlY2VudCBudW1iZXIgb2Ygc29saWQg + cmVzb3VyY2VzIG91dCB0aGVyZSB0byBoZWxwIHVzIHVuZGVyc3RhbmQgdGhl + IGRpZmZlcmVudCBwYXJ0cyBvZiBhIGNvbXBpbGVyLCBpbmNsdWRpbmcgYSBw + YXJzZXIgYW5kIHRoZSBwYXJzZSB0cmVlLiBIb3dldmVyLCBhcyBpcyB0aGUg + Y2FzZSB3aXRoIG1vc3QgQ1MgY29udGVudCwgYSBsb3Qgb2YgaXQgY2FuIGJl + IGhhcmQgdG8gZGlnZXN04oCK4oCU4oCKcGFydGljdWxhcmx5IGlmIHlvdeKA + mXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0cyBvciB0aGUgamFy + Z29uIHRoYXTigJlzIHVzZWQuIEJlbG93IGFyZSBzb21lIG1vcmUgYmVnaW5u + ZXItZnJpZW5kbHkgcmVzb3VyY2VzIHRoYXQgc3RpbGwgZG8gYSBnb29kIGpv + YiBvZiBleHBsYWluaW5nIHBhcnNlIHRyZWVzIGlmIHlvdSBmaW5kIHlvdXJz + ZWxmIHdhbnRpbmcgdG8gbGVhcm4gZXZlbsKgbW9yZS48L3A+PG9sPjxsaT48 + YSBocmVmPSJodHRwOi8vaW50ZXJhY3RpdmVweXRob24ub3JnL3J1bmVzdG9u + ZS9zdGF0aWMvcHl0aG9uZHMvVHJlZXMvUGFyc2VUcmVlLmh0bWwiPlBhcnNl + IFRyZWU8L2E+LCBJbnRlcmFjdGl2ZSBQeXRob248L2xpPjxsaT48YSBocmVm + PSJodHRwOi8vd3d3LmNzLmNvcm5lbGwuZWR1L2NvdXJzZXMvY3MyMTEwLzIw + MTRmYS9MMjEtUGFyc2luZ1RyZWVzL2NzMjExMGZhMTRQYXJzaW5nLnBkZiI+ + R3JhbW1hcnMsIFBhcnNpbmcsIFRyZWUgVHJhdmVyc2FsczwvYT4sIFByb2Zl + c3NvcnMgRGF2aWQgR3JpZXMgJmFtcDsgRG91Z8KgSmFtZXM8L2xpPjxsaT48 + YSBocmVmPSJodHRwczovL3J1c2xhbnNwaXZhay5jb20vbHNiYXNpLXBhcnQ3 + LyI+TGV04oCZcyBCdWlsZCBBIFNpbXBsZSBJbnRlcnByZXRlciwgUGFydCA3 + PC9hPiwgUnVzbGFuwqBTcGl2YWs8L2xpPjxsaT48YSBocmVmPSJodHRwczov + L3RvbWFzc2V0dGkubWUvZ3VpZGUtcGFyc2luZy1hbGdvcml0aG1zLXRlcm1p + bm9sb2d5LyNwYXJzZXIiPkEgR3VpZGUgdG8gUGFyc2luZzogQWxnb3JpdGht + cyBhbmQgVGVybWlub2xvZ3k8L2E+LCBHYWJyaWVsZSBUb21hc3NldHRpPC9s + aT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5jc2UuY2hhbG1lcnMuc2UvZWR1 + L3llYXIvMjAxMS9jb3Vyc2UvVElOMzIxL2xlY3R1cmVzL3Byb2dsYW5nLTAy + Lmh0bWwiPkxlY3R1cmUgMjogQWJzdHJhY3QgYW5kIENvbmNyZXRlIFN5bnRh + eDwvYT4sIEFhcm5lwqBSYW50YTwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9m + bGludC5jcy55YWxlLmVkdS9jczQyMS9sZWN0dXJlTm90ZXMvYzA0LnBkZiI+ + Q29tcGlsZXJzIGFuZCBJbnRlcnByZXRlcnM8L2E+LCBQcm9mZXNzb3IgWmhv + bmfCoFNoYW88L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNzLm1hbi5h + Yy51ay9+cGpqL2ZhcnJlbGwvY29tcDQuaHRtbCI+Q29tcGlsZXIgQmFzaWNz + 4oCK4oCU4oCKVGhlIFBhcnNlcjwvYT4sIEphbWVzIEFsYW7CoEZhcnJlbGw8 + L2xpPjwvb2w+PGltZyBzcmM9Imh0dHBzOi8vbWVkaXVtLmNvbS9fL3N0YXQ/ + ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJyZXJTb3VyY2U9ZnVsbF9y + c3MmcG9zdElkPWVjOWRhZWRhN2RhZCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+ + PGhyPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZ3Jh + bW1hdGljYWxseS1yb290aW5nLW9uZXNlbGYtd2l0aC1wYXJzZS10cmVlcy1l + YzlkYWVkYTdkYWQiPkdyYW1tYXRpY2FsbHkgUm9vdGluZyBPbmVzZWxmIFdp + dGggUGFyc2UgVHJlZXM8L2E+IHdhcyBvcmlnaW5hbGx5IHB1Ymxpc2hlZCBp + biA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzIj5iYXNlY3M8 + L2E+IG9uIE1lZGl1bSwgd2hlcmUgcGVvcGxlIGFyZSBjb250aW51aW5nIHRo + ZSBjb252ZXJzYXRpb24gYnkgaGlnaGxpZ2h0aW5nIGFuZCByZXNwb25kaW5n + IHRvIHRoaXMgc3RvcnkuPC9wPl1dPjwvY29udGVudDplbmNvZGVkPgogICAg + ICAgIDwvaXRlbT4KICAgICAgICA8aXRlbT4KICAgICAgICAgICAgPHRpdGxl + PjwhW0NEQVRBW1NwZWVkaW5nIFVwIFRoZSBUcmF2ZWxpbmcgU2FsZXNtYW4g + VXNpbmcgRHluYW1pYyBQcm9ncmFtbWluZ11dPjwvdGl0bGU+CiAgICAgICAg + ICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mvc3BlZWRpbmct + dXAtdGhlLXRyYXZlbGluZy1zYWxlc21hbi11c2luZy1keW5hbWljLXByb2dy + YW1taW5nLWI3NmQ3NTUyZThkZD9zb3VyY2U9cnNzLThmNTU5OTNjOTczZS0t + LS0tLTI8L2xpbms+CiAgICAgICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cHM6Ly9tZWRpdW0uY29tL3AvYjc2ZDc1NTJlOGRkPC9ndWlk + PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbcHJvZ3JhbW1pbmdd + XT48L2NhdGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFb + dGhlb3J5LWluLXByYWN0aWNlXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAg + PGNhdGVnb3J5PjwhW0NEQVRBW2R5bmFtaWMtcHJvZ3JhbW1pbmddXT48L2Nh + dGVnb3J5PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcHV0 + ZXItc2NpZW5jZV1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29y + eT48IVtDREFUQVthbGdvcml0aG1zXV0+PC9jYXRlZ29yeT4KICAgICAgICAg + ICAgPGRjOmNyZWF0b3I+PCFbQ0RBVEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6 + Y3JlYXRvcj4KICAgICAgICAgICAgPHB1YkRhdGU+TW9uLCAxMyBOb3YgMjAx + NyAxNzo0NDowMSBHTVQ8L3B1YkRhdGU+CiAgICAgICAgICAgIDxhdG9tOnVw + ZGF0ZWQ+MjAxNy0xMS0xM1QxNzo0NDowMS40MzdaPC9hdG9tOnVwZGF0ZWQ+ + CiAgICAgICAgICAgIDxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSp6MGJoMU5wUU91ZUVXMDBNYUpNajdnLmpwZWci + IC8+PGZpZ2NhcHRpb24+VXNpbmcgZHluYW1pYyBwcm9ncmFtbWluZyB0byBz + cGVlZCB1cCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuwqBwcm9ibGVtITwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5BIGxhcmdlIHBhcnQgb2Ygd2hhdCBtYWtl + cyBjb21wdXRlciBzY2llbmNlIGhhcmQgaXMgdGhhdCBpdCBjYW4gYmUgaGFy + ZCB0byBrbm93IHdoZXJlIHRvIHN0YXJ0IHdoZW4gaXQgY29tZXMgdG8gc29s + dmluZyBhIGRpZmZpY3VsdCwgc2VlbWluZ2x5IHVuc3VybW91bnRhYmxlIHBy + b2JsZW0uPC9wPjxwPk9uZSBvZiB0aGUgcmVhc29ucyB0aGF0IHNvbWUgdGhp + bmdzIGNhbiBzZWVtIHNvIHRyaWNreSBpcyB0aGF0IHRoZXnigJlyZSBtdWx0 + aXN0ZXAgcHJvYmxlbXMsIGFuZCB0aGV5IGludm9sdmUgdXMgZmlyc3QgdW5k + ZXJzdGFuZGluZyB0aGUgcHJvYmxlbSwgdGhlbiBjb25zaWRlcmluZyB0aGUg + c2ltcGxlc3Qgc29sdXRpb24sIHRoZW4gaXRlcmF0aW5nIHVwb24gdGhhdCBz + b2x1dGlvbiB0byBtYWtlIGl0IGJldHRlciwgbW9yZSBlZmZpY2llbnQsIGFu + ZCBtb3JlIGVsZWdhbnQuIEkgb2Z0ZW4gdGhpbmsgb2YgdGhlIHBocmFzZSB0 + aGF0IGhhcyBiZWVuIDxhIGhyZWY9Imh0dHA6Ly93aWtpLmMyLmNvbS8/TWFr + ZUl0V29ya01ha2VJdFJpZ2h0TWFrZUl0RmFzdCI+YXR0cmlidXRlZCB0bzwv + YT4gS2VudCBCZWNrIHdobyBzYWlkLCA8ZW0+4oCcTWFrZSBpdCB3b3JrLCBt + YWtlIGl0IHJpZ2h0LCBtYWtlIGl0wqBmYXN0LuKAnTwvZW0+PC9wPjxwPlNv + bWUgb2YgdGhlIG1vc3QgY29tcGxleCBwcm9ibGVtcyBpbiBjb21wdXRlciBz + Y2llbmNlIGFyZSBjb21wbGV4IGZvciA8ZW0+dGhpczwvZW0+IHZlcnkgcmVh + c29uOiB0aGV5IGludm9sdmUgdGhlc2UgdGhyZWUgZGlzdGluY3QgcGFydHMs + IGFuZCBpdCBjYW4gZmVlbCBzdXBlciBvdmVyd2hlbG1pbmcgaWYgd2UgZG9u + 4oCZdCBjb25zaWRlciB0aGVzZSB0aHJlZSBzdGVwcyBhcyB1bmlxdWUgcG9p + bnRzIGluIG91ciBwcm9ibGVtLXNvbHZpbmcgc3RyYXRlZ3kuIFRoZSBjb21w + bGV4IHByb2JsZW1zIGFyZSB0aGUgb25lcyB3aGVyZSB3ZSBhcmUgZm9yY2Vk + IHRvIHN0ZXAgYmFjaywgYW5kIHRyeSB0byBicmVhayB1cCBvdXIgcHJvYmxl + bS1zb2x2aW5nIHByb2Nlc3MgaW50byBhIHNlZ21lbnRlZCBwcm9jZXNzLCBy + YXRoZXIgdGhhbiB0cnlpbmcgdG8gbWFnaWNhbGx5IGZpbmQgdGhlIHBlcmZl + Y3Qgc29sdXRpb24gaW4gb25lIGdvLiBUbyBiZSBob25lc3QsIGZpbmRpbmcg + dGhlIHBlcmZlY3Qgc29sdXRpb24gaW4gb25lIGdvIDxlbT5yYXJlbHk8L2Vt + PiBhY3R1YWxseSBldmVywqBoYXBwZW5zLjwvcD48cD5XZeKAmXZlIGNvdmVy + ZWQgc29tZSB0cmlja3kgdG9waWNzIHRocm91Z2hvdXQgdGhlIGNvdXJzZSBv + ZiB0aGlzIHNlcmllcywgYnV0IG9uZSBvZiB0aGUgbW9yZSBjb21wbGljYXRl + ZCB0b3BpY3MgcHJlc2VudGVkIGl0c2VsZiBtb3JlIHJlY2VudGx5IHdoZW4g + PGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90aGUtdHJpYWxz + LWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGluZy1zYWxlc21hbi01 + NjA0OGQ2NzA5ZCI+d2UgZW5jb3VudGVyZWQ8L2E+IHRoZSA8c3Ryb25nPnRy + YXZlbGluZyBzYWxlc21hbiBwcm9ibGVtPC9zdHJvbmc+ICg8ZW0+VFNQPC9l + bT4pLiBTaW5jZSB3ZSBoYXZlIGFscmVhZHkgdGFrZW4gdGhlIGZpcnN0IHN0 + ZXAgb2YgdHJ5aW5nIHRvIGZpbmQgYSBzb2x1dGlvbiB0byBUU1AgdGhhdCBq + dXN0IHdvcmtzLCB3ZSBjYW4gbm93IGNvbmNlcm4gb3Vyc2VsdmVzIHdpdGgg + dGhlIG5leHQgc3RlcHM6IG1ha2luZyBpdCByaWdodCAob3IgbW9yZSBlbGVn + YW50KSwgYW5kIGhvcGVmdWxseSBhIGxpdHRsZSBiaXTCoGZhc3Rlci48L3A+ + PGgzPk5vIEZ1biBGYWN0b3JpYWxzPC9oMz48cD5XaGVuIHdlIGZpcnN0IDxh + IGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvdGhlLXRyaWFscy1h + bmQtdHJpYnVsYXRpb25zLW9mLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tNTYw + NDhkNjcwOWQiPnN0dW1ibGVkIHVwb248L2E+IHRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gcHJvYmxlbSwgd2Ugd2VyZSBkZWFsaW5nIHdpdGggYSBzYWxlc21h + biB3aG8gaGFkIGEgZmFpcmx5IGVhc3kgdGFzazogdG8gdmlzaXQgZm91ciBj + aXRpZXMgaW4gc29tZSBvcmRlciwgYXMgbG9uZyBhcyBoZSB2aXNpdGVkIGVh + Y2ggY2l0eSBvbmNlIGFuZCBlbmRlZCB1cCBhdCB0aGUgc2FtZSBjaXR5IHRo + YXQgaGUgc3RhcnRlZMKgaW4uPC9wPjxwPk5vdywgdGhlIHJlYXNvbiB0aGF0 + IHRoaXMgd2FzIGFuIOKAnGVhc3nigJ0gdGFzaywgc28gdG8gc3BlYWssIHdh + cyBzaW1wbHkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0IHZpc2l0aW5nIGZv + dXIgY2l0aWVzIGlzbuKAmXQgcmVhbGx5IGEgbG90IHRvIGRvLiBJbiBhbGdv + cml0aG1pYyB0ZXJtcywgd2Ugd2VyZSBhYmxlIHRvIHNvbHZlIHRoaXMgcHJv + YmxlbSBhbmQgZmluZCB0aGUgc2hvcnRlc3QgcGF0aCBmb3Igb3VyIHNhbGVz + bWFuIHVzaW5nIGEgYnJ1dGUtZm9yY2UgdGVjaG5pcXVlLCBjb21iaW5lZCB3 + aXRoIHJlY3Vyc2lvbi4gV2UgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2Vjcy90aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRy + YXZlbGluZy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+d2VyZSBhYmxlIHRvIGRl + dGVybWluZTwvYT4gdGhhdCB0aGUgYnJ1dGUtZm9yY2UgYXBwcm9hY2ggd2Fz + LCBieSBkZWZpbmlvbiwgYSBmYWN0b3JpYWwgYWxnb3JpdGhtLiBJbiBvdXIg + ZXhhbXBsZSwgd2UgZGV0ZXJtaW5lZCB0aGF0LCBmb3IgYSBzYWxlc21hbiB3 + aG8gbmVlZHMgdG8gdmlzaXQgZm91ciBjaXRpZXMgd291bGQgbWVhbiBtYWtp + bmcgMyEgb3Ig4oCcdGhyZWUgZmFjdG9yaWFs4oCdIGZ1bmN0aW9uIGNhbGxz + LCB3aGljaCBlcXVhbHPCoDYuPC9wPjxwPldlIGFsc28gc3RhcnRlZCByZWFs + aXppbmcgdGhhdCB0aGUgZmFjdG9yaWFsIHJ1bnRpbWUgb2YgdGhlIGJydXRl + LWZvcmNlIHRlY2huaXF1ZSBmb3Igc29sdmluZyBUU1Agd2FzIGdvaW5nIHRv + IGJlIHVuc2NhbGFibGUgb3ZlciB0aW1lLiBJbiBmYWN0LCB3ZSByZWFsaXpl + ZCB0aGF0IGl0IHdhcyBnb2luZyB0byBiZSB1bnNjYWxhYmxlIGFsbW9zdCA8 + ZW0+aW1tZWRpYXRlbHk8L2VtPiEgRm9yIGV4YW1wbGUsIHdoYXQgd291bGQg + aGFwcGVuIHdoZW4gb3VyIHRyYXZlbGluZyBzYWxlc21hbiBuZWVkZWQgdG8g + dmlzaXQgbm90IGp1c3QgPGVtPmZvdXI8L2VtPiBjaXRpZXMsIGJ1dCA8ZW0+ + Zml2ZTwvZW0+IGNpdGllcz8gV2hlbiB3ZSB3ZXJlIGRlYWxpbmcgd2l0aCBm + b3VyIGNpdGllcywgd2UgbWFkZSBzaXggcmVjdXJzaXZlIGNhbGxzLiBTbywg + YWRkaW5nIG9uZSBleHRyYSBjaXR5IHNob3VsZG7igJl0IGJlIHRvbyBkaWZm + aWN1bHQsIHJpZ2h0PyBBZnRlciBhbGwsIGl04oCZcyBqdXN0IDxlbT5vbmU8 + L2VtPsKgY2l0eS48L3A+PHA+V2VsbCwgbm90IGV4YWN0bHkuIEhlcmXigJlz + IGhvdyBvdXIgYWxnb3JpdGhtIHNjYWxlcyBmcm9tIGp1c3QgZm91ciBjaXRp + ZXMsIHRvwqBmaXZlOjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0 + cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnk5ZHF2 + cUhLWURvNkM0dTVwTFVtdHcuanBlZyIgLz48ZmlnY2FwdGlvbj5Ib3cgYSBm + YWN0b3JpYWwgYWxnb3JpdGhtIHNjYWxlcyBmcm9tIGFuIGlucHV0IG9mIDQg + ZWxlbWVudHMgdG8gNSBlbGVtZW50cy48L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+V2hlbiBvdXIgc2FsZXNtYW4gb25seSBoYWQgdG8gdmlzaXQgZm91ciBj + aXRpZXMsIHdlIG1hZGUgc2l4IHJlY3Vyc2l2ZSBjYWxscy4gQnV0IG5vdywg + d2UgaGF2ZSBsaXRlcmFsbHkgPGVtPnF1YWRydXBsZWQgPC9lbT5vdXIgdHJl + ZSBvZiDigJxwb3RlbnRpYWwgcGF0aHPigJ0sIHdoaWNoIHNlZW1zIHJlYWxs + eSwgcmVhbGx5LCA8ZW0+cmVhbGx5PC9lbT4gYmFkLiBTb2x2aW5nIFRTUCBm + b3IgZml2ZSBjaXRpZXMgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1ha2UgNCEg + b3IgZm91ciBmYWN0b3JpYWwgcmVjdXJzaXZlIGNhbGxzIHVzaW5nIHRoZSBi + cnV0ZS1mb3JjZSB0ZWNobmlxdWUuIEFzIGl0IHR1cm5zIG91dCwgNCEgZXF1 + YWxzIDI0LCB3aGljaCBtZWFucyB3ZSBoYXZlIHRvIG5vdyBtYWtlIDI0IHJl + Y3Vyc2l2ZSBjYWxscyBpbiBvcmRlciB0byBhY2NvbW9kYXRlIGp1c3Qgb25l + IGFkZGl0aW9uYWwgY2l0eSBpbiBvdXIgdHJhdmVsaW5nIHNhbGVzbWFu4oCZ + cyBtYXAuPC9wPjxwPklmIHdlIGNvbXBhcmUgdGhlIGlsbHVzdHJhdGVkIHZl + cnNpb24gb2YgdGhlIOKAnHRyZWXigJ0gb2YgcmVjdXJzaXZlIGZ1bmN0aW9u + IGNhbGxzIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy90aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGlu + Zy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+b3VyIHByZXZpb3VzIGV4YW1wbGUg + b2YgVFNQPC9hPiB0byB0aGUgb25lIHRoYXQgaXMgZHJhd24gYWJvdmUsIHdl + IHN0YXJ0IHRvIGdldCBhIHByZXR0eSBnb29kIGlkZWEgb2YganVzdCA8ZW0+ + aG93PC9lbT4gdW5zdXN0YWluYWJsZSBhIGZhY3RvcmlhbCBhbGdvcml0aG0g + cmVhbGx5wqBpcy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSppRW8yUWQz + QmhaVlZrVVpRYW9IdVJBLmpwZWciIC8+PGZpZ2NhcHRpb24+TyhuISkgcnVu + dGltZSBpcyB1bnN1c3RhaW5hYmxlLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5XZSBoYXZlIHNlZW4gcXVpdGUgYSBmZXcgZGlmZmVyZW50IGZvcm1zIG9m + IEJpZyBPIE5vdGF0aW9uIHRocm91Z2hvdXQgdGhpcyBzZXJpZXMsIGluY2x1 + ZGluZyB0aGUgZ29vZCBhbmQgdGhlIGJhZC4gU28sIHdoZXJlIGRvIGZhY3Rv + cmlhbCBhbGdvcml0aG1zIGZpdCBpbnRvIHRoaXMgbmFycmF0aXZlPzwvcD48 + YmxvY2txdW90ZT5JZiBjb25zdGFudCwgbG9nYXJpdGhtaWMsIGFuZCBsaW5l + YXIgdGltZSBhcmUgZ29vZCwgYW5kIHF1YWRyYXRpYyBhbmQgZXhwb25lbnRp + YWwgdGltZSBhcmUgYmFkLCB0aGVyZSBpcyBvbmx5IG9uZSB0aGluZyBsZWZ0 + IHRvIGV4cGxvcmU6IHRoZSB1Z2x5LiBGYWN0b3JpYWwgYWxnb3JpdGhtcyBh + cmUgZXhhY3RseSB0aGF0OiB0aGXCoHVnbHkuPC9ibG9ja3F1b3RlPjxwPkZv + ciBhbiBhbGdvcml0aG0gdGhhdCBydW5zIGluIDxzdHJvbmc+PGVtPmZhY3Rv + cmlhbDwvZW0+PC9zdHJvbmc+LCBvciA8c3Ryb25nPk8obiEpPC9zdHJvbmc+ + IHRpbWUsIGFueSBvcGVyYXRpb25zIHRoYXQgbmVlZCB0byBydW4gd2lsbCBl + bmQgdXAgdGFraW5nIG4hIG1vcmUgdGltZSBpbiByZWxhdGlvbiB0byB0aGUg + ZGF0YSB0aGF0IGlzIGJlaW5nIG9wZXJhdGVkIHVwb24sIG9yIHRoZSBpbnB1 + dCBkYXRhwqBzZXQuPC9wPjxwPk9rYXksIGJ1dCB3aGF0IGRvZXMgdGhpcyA8 + ZW0+YWN0dWFsbHk8L2VtPiBtZWFuPyBXZWxsLCBsZXTigJlzIGxvb2sgYXQg + aG93IGEgZmFjdG9yaWFsIGFsZ29yaXRobSBjb21wYXJlcyB0byBhbGwgdGhl + IG90aGVyIGZvcm1zIG9mIEJpZyBPIE5vdGF0aW9uIHRoYXQgd2XigJlyZSBh + bHJlYWR5IGZhbWlsaWFywqB3aXRoLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIi + IHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAy + NC8xKnRYREFaelVyX0lpanNjMWtTVHR6eEEuanBlZyIgLz48ZmlnY2FwdGlv + bj5GYWN0b3JpYWwgdGltZSBpcyBzdXBlciBzbG93IGFuZCBpbmVmZmljaWVu + dCBhcyBpbnB1dCBzaXplwqBncm93czwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48 + cD5XZeKAmWxsIG5vdGljZSBhbG1vc3QgaW1tZWRpYXRlbHkgdGhhdCBhbGdv + cml0aG1zIHRoYXQgZ3JvdyBpbiBmYWN0b3JpYWwgdGltZSBhcmUgc3VwZXIg + c2xvdyBhbmQgaW5lZmZjaWVudCBhcyBpbnB1dCBzaXplIGdyb3dzLiBGb3Ig + ZXhhbXBsZSwgd2XigJlsbCBzZWUgdGhhdCBldmVuIGEgc2xpZ2h0IGluY3Jl + YXNlIGluIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gYmUgb3BlcmF0ZWQg + dXBvbiBieSBhIGZhY3RvcmlhbCBhbGdvcml0aG0gY2F1c2VzIGl0IHRvIHNo + b290IHVwIGluIHRoZSBudW1iZXIgb2Ygb3BlcmF0aW9ucyByZXF1aXJlZCB0 + byBydW4uIElmIHdlIGNvbXBhcmUgdGhpcyB0byBsaW5lYXJpdGhtaWMsIGxp + bmVhciwgb3IgZXZlbiBqdXN0IDxlbT5xdWFkcmF0aWM8L2VtPiB0aW1lIGFs + Z29yaXRobXPigJQgd2hpY2ggYXJlIHN0aWxsIHByZXR0eSBiYWQgaW4gdGhl + aXIgb3duIHJpZ2h04oCK4oCU4oCKd2XigJlsbCBzZWUgdGhhdCBmYWN0b3Jp + YWwgYWxnb3JpdGhtcyBhcmUgb2JzZWNlbmVseSB0ZXJyaWJsZSBpbiBjb21w + YXJpc29uITwvcD48cD5BbGwgb2YgdGhpcyBpcyB0byBzYXk6IG91ciBmaXJz + dCBhcHByb2FjaCB0byBzb2x2aW5nIFRTUCB1c2luZyBicnV0ZS1mb3JjZSBy + ZWN1cnNpb24gaXMgcHJvYmFibHkgbm90IHRoZSBiZXN0IHNvbHV0aW9uLiBZ + ZXMsIGl0IHdvcmtzLCBidXQgaXTigJlzIHByb2JhYmx5IG5vdCBhcyDigJxy + aWdodOKAnSBhcyBpdCBjb3VsZCBiZTsgaXQgY291bGQgc3RhbmQgdG8gYmUg + aW1wcm92ZWQsIGFuZCBzdXJlbHkgY291bGQgYmUgbWFkZSBtb3JlIGVsZWdh + bnQuIEFuZCwgb2YgY291cnNlLCBpdCBpcyBub3QgZmFzdOKAiuKAlOKAimF0 + wqBhbGwhPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nk + bi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqZjc3TENEblV2eThh + cGNFdnBfSzFzQS5qcGVnIiAvPjxmaWdjYXB0aW9uPlVzaW5nIGJydXRlLWZv + cmNlIHRha2VzIGEgdG9wLWRvd24gYXBwcm9hY2ggdG8gc29sdmluZ8KgVFNQ + LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5TbywgaG93IGNhbiB3ZSBpbXBy + b3ZlIHVwb24gdGhpcyBmaXJzdCBhdHRlbXB0IHRoYXQgd2XCoG1hZGU/PC9w + PjxwPldlbGwsIGlmIHdlIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9w + LzQzZDI5ODMwYTYzMCI+dGhpbmsgYmFjayB0byBvdXIgZm9yYXk8L2E+IGlu + dG8gPHN0cm9uZz48ZW0+ZHluYW1pYyBwcm9ncmFtbWluZzwvZW0+PC9zdHJv + bmc+ICg8ZW0+RFA8L2VtPiksIHdl4oCZbGwgcmVtZW1iZXIgdGhhdCB0aGVy + ZSBpcyBtb3JlIHRoYW4gb25lIGFwcHJvYWNoIHdoZW4gaXQgY29tZXMgdG8g + c29sdmluZyBhIERQIHByb2JsZW0uIEluIG91ciBpbml0aWFsIHN0YWIgYXQg + dGhpcyBwcm9ibGVtLCB3ZSBhdHRlbXB0ZWQgdG8gc29sdmUgVFNQIHVzaW5n + IGEga2luZCBvZiA8c3Ryb25nPjxlbT50b3AgZG93biBhcHByb2FjaDwvZW0+ + PC9zdHJvbmc+OiB3ZSBzdGFydGVkIHdpdGggYSBsYXJnZSwgY29tcGxleCBw + cm9ibGVtLCBhbmQgYnJva2UgaXQgZG93biBpbnRvIHNtYWxsZXIgcGFydHMu + IFRoZW4sIHdoZW4gd2UgZ290IGRvd24gdG8gb3VyIGJhc2UgY2FzZSwgYW5k + IGV4cGFuZGVkIHRoZSBwcm9ibGVtIGRvd24gdG8gaXRzIHNtYWxsZXN0IHBv + c3NpYmxlIHBhcnRzLCB3ZSB1c2VkIHJlY3Vyc2lvbiB0byBidWlsZCB1cCBh + bGwgdGhlIHBvc3NpYmxlIHBhdGhzIHRoYXQgb3VyIHRyYXZlbGluZyBzYWxl + c21hbiBjb3VsZCB0YWtlLCB3aGljaCBhbGxvd2VkIHVzIHRvIGNob29zZSB0 + aGUgYmVzdCAodGhlIHNob3J0ZXN0KSBwZXJtdXRhdGlvbiBvZiBhbGwgdGhl + IHBhdGhzIHRoYXQgd2UgaGFkwqBmb3VuZC48L3A+PHA+SW4gdGhlIHByb2Nl + c3MsIHdlIGZpZ3VyZWQgb3V0IG9uZSB3YXkgdG8gc29sdmUgdGhlIHRyYXZl + bGluZyBzYWxlc21hbiBwcm9ibGVtLiBCdXQgd2hhdCBpZiB3ZSBhcHByb2Fj + aGVkIGl0IGEgZGlmZmVyZW50IG1hbm5lcj8gV2hhdCB3b3VsZCBoYXBwZW4g + aWYgd2UgdG9vayBvdXIgdG9wIGRvd24gYXBwcm9hY2ggYW5kIHR1cm5lZCBp + dCB1cHNpZGXCoGRvd24/PC9wPjxwPlRoZXJl4oCZcyBvbmx5IG9uZSB3YXkg + dG8gZmluZCBvdXTigIrigJTigIp3ZSBoYXZlIHRvIHRyeSBpdMKgb3V0ITwv + cD48aDM+VHVybmluZyBUU1Agb24gaXRzwqBoZWFkPC9oMz48cD5JZiB3ZSBs + b29rIGF0IG91ciB0b3AgZG93biBtZXRob2RvbG9neSA8YSBocmVmPSJodHRw + czovL21lZGl1bS5jb20vYmFzZWNzL3RoZS10cmlhbHMtYW5kLXRyaWJ1bGF0 + aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNhbGVzbWFuLTU2MDQ4ZDY3MDlkIj5m + cm9tIGxhc3Qgd2VlazwvYT4sIHdl4oCZbGwgc2VlIHRoYXQgd2UgaGF2ZSBl + bnVtZXJhdGVkIHRocm91Z2ggYWxsIG9mIHRoZSBwZXJtdXRhdGlvbnMgb2Yg + cGF0aHPigIrigJTigIp0aGF0IGlzIHRvIHNheSwgd2UgaGF2ZSBicnV0ZS1m + b3JjZWQgb3VyIHdheSB0byBkZXRlcm1pbmUgZXZlcnkgc2luZ2xlIHJvdXRl + IHRoYXQgb3VyIHRyYXZlbGluZyBzYWxlc21hbiBjb3VsZMKgdGFrZS48L3A+ + PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0x + Lm1lZGl1bS5jb20vbWF4LzEwMjQvMSpjNWN3MzVtQkZmZ3puX1Q5TE9oM3pB + LmpwZWciIC8+PGZpZ2NhcHRpb24+VGhlIGJydXRlLWZvcmNlIGFwcHJvYWNo + IHRvIHNvbHZpbmfCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhp + cyBtZXRob2RvbG9neSBpc27igJl0IHBhcnRpY3VsYXJseSBlbGVnYW50LCBp + cyBraW5kIG9mIG1lc3N5LCBhbmQsIGFzIHdlIGhhdmUgYWxyZWFkeSBkZXRl + cm1pbmVkLCB3aWxsIHNpbXBseSBuZXZlciBzY2FsZSBhcyBvdXIgaW5wdXQg + c2l6ZSBncm93cy4gQnV0IGlnbm9yaW5nIGFsbCBvZiB0aG9zZSBpc3N1ZXMg + Zm9yIGEgbW9tZW50LCBsZXTigJlzIGp1c3QgdGFrZSBhIGxvb2sgYXQgdGhp + cyDigJx0cmVl4oCdIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyBvbmNl + wqBhZ2Fpbi48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpBZk5tRzdQd21n + b3o1THBaV0JlaEhBLmpwZWciIC8+PGZpZ2NhcHRpb24+UmV0aGlua2luZyB0 + aGUgYnJ1dGUtZm9yY2UgYXBwcm9hY2ggYnkgaWRlbnRpZnlpbmcgdGhlIHNp + bXBsZXN0IHByb2JsZW0sIG9yIGZ1bmN0aW9uwqBjYWxsLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5PbiBzZWNvbmQgZ2xhbmNlLCB3ZeKAmWxsIG5vdGlj + ZSB0aGF0IHRoZXJlIGlzIHNvbWV0aGluZyBpbnRlcmVzdGluZyBnb2luZyBv + biBoZXJlOiB3ZeKAmXJlIHN0YXJ0aW5nIHdpdGggdGhlIG1vcmUgY29tcGxl + eCBmdW5jdGlvbiBjYWxsIGluaXRpYWxseSwgYW5kIHRoZW4sIGZyb20gd2l0 + aGluIHRoYXQsIHdlIGFyZSBpbnZva2luZyB0aHJlZSByZWN1cnNpdmUgZnVu + Y3Rpb24gY2FsbHMgZnJvbSA8ZW0+d2l0aGluPC9lbT4gaXQuIEVhY2ggb2Yg + dGhvc2UgdGhyZWUgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNwaW5zIG9m + ZiB0d28gbW9yZSByZWN1cnNpdmUgY2FsbHMgb2YgaXRzIG93biwgd2hpY2gg + Y3JlYXRlcyB0aGUgdGhpcmQgbGV2ZWwgb2YgdGhpcyBmdW5jdGlvbiBjYWxs + IOKAnHRyZWXigJ0uIFRoaXMgaXMsIG9mIGNvdXJzZSwga2VlcGluZyBpbiB0 + dW5lIHdpdGggb3VyIHdvcmtpbmcgZGVmaW5pdGlvbiBvZiBhIDxlbT50b3Ag + ZG93bjwvZW0+IGFwcHJvYWNoOiBzdGFydGluZyB3aXRoIHRoZSBsYXJnZXN0 + IHByb2JsZW0gZmlyc3QsIGFuZCBicmVha2luZyBpdCBkb3duIGludG8gaXRz + IHNtYWxsZXN0IHBhcnRzLiBCdXQsIG5vdyB0aGF0IHdlIGNhbiBzZWUgdGhl + IHNtYWxsZXN0IHBhcnRzIG1vcmUgb2J2aW91c2x5LCB3ZSBjYW4gY2hhbmdl + IG91ciBhcHByb2FjaCBmcm9tIGEgdG9wIGRvd24gbWV0aG9kIHRvIGEgYm90 + dG9tIHVwwqBtZXRob2QuPC9wPjxwPldl4oCZbGwgcmVjYWxsIHRoYXQgYSA8 + c3Ryb25nPjxlbT5ib3R0b20gdXA8L2VtPjwvc3Ryb25nPiA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xlc3MtcmVwZXRpdGlvbi1tb3Jl + LWR5bmFtaWMtcHJvZ3JhbW1pbmctNDNkMjk4MzBhNjMwIj5keW5hbWljIHBy + b2dyYW1taW5nIGFwcHJvYWNoPC9hPiBzdGFydHMgd2l0aCB0aGUgc21hbGxl + c3QgcG9zc2libGUgc3VicHJvYmxlbXMsIGZpZ3VyZXMgb3V0IGEgc29sdXRp + b24gdG8gdGhlbSwgYW5kIHRoZW4gc2xvd2x5IGJ1aWxkcyBpdHNlbGYgdXAg + dG8gc29sdmUgdGhlIGxhcmdlciwgbW9yZSBjb21wbGljYXRlZCBzdWJwcm9i + bGVtLiBJbiB0aGUgY29udGV4dCBvZiBvdXIg4oCcZnVuY3Rpb24gY2FsbCB0 + cmVl4oCdLCB0aGUgc21hbGxlc3QgcG9zc2libGUgc3VicHJvYmxlbSBhcmUg + dGhlIHNtYWxsZXN0IHBvc3NpYmxlIGZ1bmN0aW9uIGNhbGxzLiBXZeKAmWxs + IHNlZSB0aGF0IHRoZSBzbWFsbGVzdCBmdW5jdGlvbiBjYWxscyBhcmUgdGhl + IHNpbXBsZXN0IG9uZXPigIrigJTigIp0aGUgb25lcyB0aGF0IGhhdmUgPGVt + Pm5vIHJlY3Vyc2l2ZSBjYWxsczwvZW0+IHdpdGhpbiB0aGVtLiBJbiBvdXIg + Y2FzZSwgdGhlc2UgYXJlIHRoZSBmdW5jdGlvbiBjYWxscyBhdCB0aGUgdmVy + eSBib3R0b20gb2Ygb3VyIOKAnGZ1bmN0aW9uIGNhbGwgdHJlZeKAnSwgd2hp + Y2ggbGVhZCBiYWNrIHRvIG91ciBzdGFydGluZyBub2RlLCBub2RlIHcsIHdo + aWNoIGlzIHRoZSBjaXR5IHRoYXQgb3VyIHRyYXZlbGluZyBzYWxlc21hbiBp + cyDigJxzdGFydGluZ+KAnSBmcm9tLCBhbmQgd2lsbCBpbmV2aXRhYmx5IGhh + dmUgdG8g4oCcZW5k4oCdIHVwwqBhdC48L3A+PHA+Tm93IHRoYXQgd2XigJl2 + ZSBpZGVudGlmaWVkIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBzdWJwcm9ibGVt + cywgd2UgY2FuIHR1cm4gVFNQIG9uIGl0cyBoZWFkLiBXZeKAmWxsIGZsaXAg + b3VyIHRvcCBkb3duIGFwcHJvYWNoIHRvIHRoaXMgcHJvYmxlbSBhbmQsIGlu + c3RlYWQsIHVzZSBhIGJvdHRvbSB1cCBhcHByb2FjaCBoZXJlLiBMZXTigJlz + IHN0YXJ0IHdpdGggb3VyIHRocmVlIHNpbXBsZXN0IGZ1bmN0aW9uwqBjYWxs + cy48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWlt + YWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpkbnRseVA0YWVTVEdfZXNu + a2MyZDNBLmpwZWciIC8+PGZpZ2NhcHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0 + cyBoZWFkLCBwYXJ0wqAxLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XZeKA + mWxsIHNlZSB0aGF0IGVhY2ggb2YgdGhlc2UgY2FsbHMgY29ubmVjdHMgYmFj + ayB0byB3LCBhcyB3ZSB3b3VsZCBleHBlY3QuIFJlY2FsbCB0aGF0IHdl4oCZ + cmUgdXNpbmcgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90 + aGUtdHJpYWxzLWFuZC10cmlidWxhdGlvbnMtb2YtdGhlLXRyYXZlbGluZy1z + YWxlc21hbi01NjA0OGQ2NzA5ZCI+YSBsaXN0IG5vdGF0aW9uIDwvYT50byBr + ZWVwIHRyYWNrIG9mIHRoZSBub2RlcyB0aGF0IHdlIGNhbiBuYXZpZ2F0ZSB0 + by4gU2luY2Ugd2XigJlyZSBkZWFsaW5nIHdpdGggdGhlIHNtYWxsZXN0IHBv + c3NpYmxlIHN1YnByb2JsZW0ocyksIHRoZXJlIGlzIG5vd2hlcmUgdGhhdCB3 + ZSBjYW4gbmF2aWdhdGUgdG8gZnJvbSB0aGVzZSBub2RlczsgaW5zdGVhZCwg + YWxsIHdlIGNhbiBkbyBpcyBnbyBiYWNrIHRvIG91ciBzdGFydGluZyBub2Rl + LCB3LiBUaGlzIGlzIHdoeSBlYWNoIG9mIHRoZSBsaXN0cyBmb3IgdGhlc2Ug + dGhyZWUgc3VicHJvYmxlbXMgaXMgZW1wdHnCoCh7fSkuPC9wPjxwPkhvd2V2 + ZXIsIHdlIGRvIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBjb3N0IGFuZCBkaXN0 + YW5jZSBoZXJlLCBzaW5jZSBpbmV2aXRhYmx5LCB3ZeKAmXJlIHN0aWxsIGdv + aW5nIHRvIGhhdmUgdG8gZmluZCB0aGUgc2hvcnRlc3QgcGF0aCBmb3Igb3Vy + IHRyYXZlbGluZyBzYWxlc21hbiwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHdl + 4oCZcmUgdXNpbmcgYTxlbT4gdG9wIGRvd248L2VtPiBvciA8ZW0+Ym90dG9t + IHVwPC9lbT4gYXBwcm9hY2guIFRodXMsIHdl4oCZcmUgZ29pbmcgdG8gaGF2 + ZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIG5vZGVz + IGFzIHdlIGJ1aWxkIHVwIG91ciDigJxib3R0b20gdXDigJ0gdHJlZS4gSW4g + dGhlIGltYWdlIGFib3ZlLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgdGhl + IHZhbHVlcyA2LCAxLCBhbmQgMyBuZXh0IHRvIG5vZGVzIHgsIHksIGFuZCB6 + LCByZXNwZWN0aXZlbHkuIFRoZXNlIG51bWJlciByZXByZXNlbnQgdGhlIGRp + c3RhbmNlIHRvIGdldCBmcm9tIGVhY2ggbm9kZSBiYWNrIHRvIHRoZSBvcmln + aW4gbm9kZSzCoHcuPC9wPjxwPldoZW4gd2UgZmlyc3QgdHJpZWQgdG8gc29s + dmUgVFNQLCA8YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL3Ro + ZS10cmlhbHMtYW5kLXRyaWJ1bGF0aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNh + bGVzbWFuLTU2MDQ4ZDY3MDlkIj53ZSB1c2VkIGFuIGFkamFjZW5jeSBtYXRy + aXg8L2E+IHRvIGhlbHAgdXMga2VlcCB0cmFjayBvZiB0aGUgZGlzdGFuY2Vz + IGJldHdlZW4gbm9kZXMgaW4gb3VyIGdyYXBoLiBXZeKAmWxsIGxlYW4gb24g + b3VyIGFkamFjZW5jeSBtYXRyaXggaW4gdGhpcyBhcHByb2FjaCB5ZXTCoGFn + YWluLjwvcD48cD5Ib3dldmVyLCBpbiBvdXIgYm90dG9tIHVwIGFwcHJvYWNo + LCB3ZeKAmWxsIHVzZSBpdCB0byBlbnVtZXJhdGUgYWxsIHRoZSBmdW5jdGlv + biBjYWxscyB0aGF0IGxlYWQgdG8gb25lIGFub3RoZXIuIFRoaXMgaXMgc3Ry + aWtpbmdseSBkaWZmZXJlbnQgdGhhbiBvdXIgdG9wIGRvd24gYXBwcm9hY2gs + IHdoZW4gd2Ugd2VyZSB1c2luZyBvdXIgYWRqYWNlbmN5IG1hdHJpeCB0byBo + ZWxwIHVzIGVudW1lcmF0ZSBhbGwgdGhlIHBvc3NpYmxlIHBhdGhzLiBJbiBv + dXIgYm90dG9tIHVwIGFwcHJvYWNoLCB3ZeKAmXJlIHRyeWluZyB0byBiZSBh + IGJpdCBtb3JlIGVsZWdhbnQgYWJvdXQgaG93IHdlIGRvIHRoaW5ncywgc28g + d2XigJlyZSBhaW1pbmcgdG8gbm90IGVudW1lcmF0ZSBtb3JlIHRoYW4gd2Ug + bmVlZCB0byEgVGhpcyB3aWxsIG1ha2UgbW9yZSBzZW5zZSBhcyB3ZSBnbyBv + biwgYnV0IGl04oCZcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGUgZGlmZmVyZW5j + ZSBiZXR3ZWVuIGVudW1lcmF0aW5nIDxzdHJvbmc+PGVtPnBhdGhzPC9lbT48 + L3N0cm9uZz4gdmVyc3VzIGVudW1lcmF0aW5nIDxzdHJvbmc+PGVtPmZ1bmN0 + aW9uwqBjYWxsczwvZW0+PC9zdHJvbmc+LjwvcD48cD5Tbywgd2hhdCB3b3Vs + ZCB0aGUgc2Vjb25kIGxldmVsIG9mIG91ciBmdW5jdGlvbiBjYWxsIOKAnHRy + ZWXigJ0gbG9vayBsaWtlPyBXZWxsLCB0aGUgcXVlc3Rpb24gdGhhdCB3ZeKA + mXJlIHRyeWluZyB0byBhbnN3ZXIgZm9yIGVhY2ggb2Ygb3VyIHNtYWxsZXN0 + IHBvc3NpYmxlIHN1YnByb2JsZW1zIGhlcmUgaXPCoHRoaXM6PC9wPjxibG9j + a3F1b3RlPklmIHdlIGFyZSBhdCB0aGUgc2ltcGxlc3QgcG9zc2libGUgdmVy + c2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGNhbGwgYW5kIGNhbm5vdCBjYWxsIGFu + eXRoaW5nIHJlY3Vyc2l2ZWx5IGZyb20gd2l0aGluIHRoaXMgZnVuY3Rpb24s + IHdoYXQgb3RoZXIgZnVuY3Rpb24gY291bGQgcG9zc2libHkgY2FsbCB0aGlz + wqBvbmU/PC9ibG9ja3F1b3RlPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJo + dHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqbFNl + NWhsX1dFUVNyaTNxTXJqNFhFUS5qcGVnIiAvPjxmaWdjYXB0aW9uPkZsaXBw + aW5nIFRTUCBvbiBpdHMgaGVhZCwgcGFydMKgMi48L2ZpZ2NhcHRpb24+PC9m + aWd1cmU+PHA+QW5vdGhlciB3YXkgb2YgdGhpbmtpbmcgYWJvdXQgaXQgaXMg + aW4gdGVybXMgb2Ygbm9kZXMuIFVsdGltYXRlbHksIHdl4oCZcmUgdHJ5aW5n + IHRvIGRldGVybWluZSB3aGljaCBwb3NzaWJsZSBub2RlcyB3b3VsZCBhbGxv + dyB1cyB0byBnZXQgdG8gdGhlIG5vZGUgdGhhdCB3ZeKAmXJlIGxvb2tpbmcg + YXQuIFNvLCBpbiB0aGUgY2FzZSBvZiBub2RlIHgsIHRoZSBvbmx5IHdheSB0 + byBnZXQgdG8gbm9kZSB4IHdvdWxkIHBvdGVudGlhbGx5IGJlIG5vZGUgeSBv + ciBub2RlIHouIFJlbWVtYmVyIHRoYXQgd2XigJlyZSB1c2luZyBhIGJvdHRv + bSB1cCBhcHByb2FjaCBoZXJlLCBzbyB3ZeKAmXJlIGFsbW9zdCByZXRyYWNp + bmcgb3VyIHN0ZXBzIGJhY2t3YXJkcywgc3RhcnRpbmcgYXQgdGhlIGVuZCwg + YW5kIHdvcmtpbmcgb3VyIHdheSBiYWNrIHRocm91Z2ggdGhlwqBjaXJjbGUu + PC9wPjxwPk5vdGljZSwgYWdhaW4sIHRoYXQgd2XigJlyZSBrZWVwaW5nIHRy + YWNrIG9mIHRoZSBjb3N0L2Rpc3RhbmNlIGZyb20gZWFjaCBvZiB0aGVzZSBu + b2RlcyB0byB0aGUgbmV4dC4gV2XigJlyZSBnb2luZyB0byBuZWVkIHRoZW0g + cHJldHR5wqBzb29uITwvcD48cD5BZ2Fpbiwgd2UgY2FuIGV4cGFuZCB0aGlz + IGZ1bmN0aW9uIGNhbGwg4oCcdHJlZeKAnSBhIGJpdCBtb3JlIHRvIGFkZCBh + bm90aGVyIGxldmVsLiBSZW1lbWJlciwgd2XigJlyZSB0cnlpbmcgdG8gYW5z + d2VyIHRoZSBxdWVzdGlvbjo8ZW0+IHdoYXQgb3RoZXIgZnVuY3Rpb24gY291 + bGQgcG9zc2libHkgY2FsbCB0aGlzIGZ1bmN0aW9uIHRoYXQgd2UgY2Fubm90 + IGV4cGFuZCBhbnnCoGZ1cnRoZXI/PC9lbT48L3A+PGZpZ3VyZT48aW1nIGFs + dD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4 + LzEwMjQvMSpOYUZVZURJdHkwVjB1UDJrQ1hYaUFBLmpwZWciIC8+PGZpZ2Nh + cHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0cyBoZWFkLCBwYXJ0wqAzLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5JbiB0aGUgZHJhd2luZyBkZXBpY3RlZCBo + ZXJlLCB3ZeKAmWxsIHNlZSB3aGF0IHRoaXMgYWN0dWFsbHkgbG9va3MgbGlr + ZSBpbiBwcmFjdGljZS4gRm9yIGV4YW1wbGUsIGxvb2tpbmcgYXQgdGhlIGxl + ZnRtb3N0IGJyYW5jaCBvZiB0aGlzIGZ1bmN0aW9uIGNhbGwg4oCcdHJlZeKA + nSwgd2XigJlsbCBub3RpY2UgdGhhdCB0aGUgb25seSBwb3NzaWJsZSBmdW5j + dGlvbiBjYWxsIHRoYXQgd2lsbCBhbGxvdyB1cyB0byBnZXQgdG8gYW4gZW1w + dHkgbm9kZSB4IGlzIGZyb20gZWl0aGVyIG5vZGUgeSBvciBub2RlIHosIHdo + ZXJlIHRoZSBzZXQgY29udGFpbnMgb25seSBhIHBvc3NpYmxlIOKAnG5leHTi + gJ0gbm9kZSBvZiB4LCBsaWtlIHNvOiB7eH0uIEZvciBib3RoIG5vZGUgeSBh + bmQgeiBpbiB0aGUgbGVmdG1vc3Qgc3VidHJlZSwgd2XigJlsbCBzZWUgdGhh + dCB0aGUgb25seSBwb3NzaWJsZSB3YXkgdG8gZ2V0IHRvIHkgaXMgZnJvbSBu + b2RlIHosIHdoZW4gdGhlIHNldCBjb250YWlucyBib3RoIHggYW5kIHkgKG9y + IHt4LCB5fSkuIFNpbWlsYXJseSwgdGhlIG9ubHkgcG9zc2libGUgd2F5IHRv + IGdldCB0byB6IGlzIGZyb20gbm9kZSB5LCB3aGVuIHRoZSBzZXQgY29udGFp + bnMgYm90aCB4IGFuZCB6IChvciB7eCzCoHp9KS48L3A+PHA+VGhpcyBpcyBh + IHZpc3VhbGl6YXRpb24gZXhlbXBsaWZpZXMgd2hhdCB3ZSBtZWFuIHdoZW4g + d2Ugc2F5IHRoYXQgd2UgYXJlIGVudW1lcmF0aW5nIDxlbT5mdW5jdGlvbiBj + YWxsczwvZW0+IHJhdGhlciB0aGFuIGVudW1lcmF0aW5nIDxlbT5wb3RlbnRp + YWwgcGF0aHM8L2VtPi4gQXMgd2UgY29udGludWUgdG8gZGV0ZXJtaW5lIGFs + bCB0aGUgcG9zc2libGUgZnVuY3Rpb24gY2FsbHMgdGhhdCBhbGxvdyB1cyB0 + byBjYWxsIG90aGVyIGZ1bmN0aW9ucyBmcm9tIHdpdGhpbiB0aGVtLCBzb21l + dGhpbmcgc3RhcnRzIHRvIGJlY29tZSB2ZXJ5IG9idmlvdXM6IHdlIGhhdmUg + c29tZSBvdmVybGFwcGluZyBzdWJwcm9ibGVtcyBoZXJlITwvcD48cD5XZeKA + mWxsIG5vdGljZSB0aGF0IHRoZXJlIGFyZSB0d28gZnVuY3Rpb24gY2FsbHMg + dGhhdCBhcmUgaW5zdGFuY2VzIG9mIHogd2hlbiBpdHMgc2V0IGNvbnRhaW5z + IGJvdGggeCBhbmQgeSAob3Ige3gsIHl9KSwgd2hpY2ggaXMgaGlnaGxpZ2h0 + ZWQgaW4geWVsbG93LiBTaW1pbGFybHksIHRoZXJlIGFyZSB0d28gZnVuY3Rp + b24gY2FsbHMgdGhhdCBhcmUgaW5zdGFuY2VzIG9mIHkgd2hlbiBpdHMgc2V0 + IGNvbnRhaW5zIGJvdGggeCBhbmQgeiAob3Ige3gsIHp9KSwgaGlnaGxpZ2h0 + ZWQgaW4gcGluay4gRmluYWxseSwgd2XigJlsbCBzZWUgdHdvIGZ1bmN0aW9u + IGNhbGxzIHRoYXQgYXJlIGluc3RhbmNlcyBvZiB4IHdoZW4gaXRzIHNldCBj + b250YWlucyBib3RoIHkgYW5kIHogKG9yIHt5LCB6fSksIGhpZ2hsaWdodGVk + IGluwqBncmVlbi48L3A+PHA+RHluYW1pYyBwcm9ncmFtbWluZyBpcyBhbGwg + YWJvdXQgaWRlbnRpZnlpbmcgcmVwZWF0ZWQgd29yayBhbmQgYmVpbmcgc21h + cnRlciBhbmQgbW9yZSBlZmZpY2llbnQgd2l0aCBvdXIgYXBwcm9hY2ggc28g + dGhhdCB3ZSBkb27igJl0IGFjdHVhbGx5IGhhdmUgdG8gcmVwZWF0IG91cnNl + bHZlcyEgU28sIGxldOKAmXMgY3V0IG91dCB0aGlzIHJlcGV0aXRpb24gYW5k + IHVzZSBzb21lIGR5bmFtaWMgcHJvZ3JhbW1pbmcgdG8gbWFrZSB0aGluZ3Mg + YSBsaXR0bGUgYmV0dGVyIGZvciBvdXIgdHJhdmVsaW5nIHNhbGVzbWFuLjwv + cD48aDM+RHluYW1pYyBwcm9ncmFtbWluZyB0byB0aGUgc2FsZXNtYW7igJlz + IHJlc2N1ZTwvaDM+PHA+Tm93IHRoYXQgd2XigJl2ZSBpZGVudGlmaWVkIG91 + ciBvdmVybGFwcGluZyBhbmQgcmVjdXJyaW5nIHN1YnByb2JsZW1zLCB0aGVy + ZeKAmXMgb25seSBvbmUgdGhpbmcgbGVmdCB0byBkbzogZWxpbWluYXRlIHRo + ZSByZXBldGl0aW9uLCBvZsKgY291cnNlITwvcD48ZmlndXJlPjxpbWcgYWx0 + PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgv + MTAyNC8xKjNKa0N5dlRyX2tCX2s2ck5EYWh0T2cuanBlZyIgLz48ZmlnY2Fw + dGlvbj5GbGlwcGluZyBUU1Agb24gaXRzIGhlYWQsIHBhcnTCoDQuPC9maWdj + YXB0aW9uPjwvZmlndXJlPjxwPlVzaW5nIG91ciBmdW5jdGlvbiBjYWxsIOKA + nHRyZWXigJ0sIHdlIGNhbiByZWFycmFuZ2Ugc29tZSBvZiBvdXIgZnVuY3Rp + b24gY2FsbHMgc28gdGhhdCB3ZeKAmXJlIG5vdCBhY3R1YWxseSByZXBlYXRp + bmcgb3Vyc2VsdmVzIGluIGxldmVsIHRocmVlIG9mIHRoaXPCoHRyZWUuPC9w + PjxwPldlIGNhbiBkbyB0aGlzIGJ5IGN1dHRpbmcgZG93biBvdXIgcmVwZWF0 + ZWQgc3VicHJvYmxlbXMgc28gdGhhdCB0aGV5IG9ubHkgc2hvdyB1cCBvbmNl + LiBUaGVuLCB3ZeKAmWxsIHJlY29uZmlndXJlIHRoZSBib3R0b20gbGV2ZWwg + b2Ygb3VyIHRyZWUgc28gdGhhdCBpdCBpcyBzdGlsbCA8ZW0+YWNjdXJhdGU8 + L2VtPiwgYnV0IGFsc28gdGhhdCB3ZSBlYWNoIGZ1bmN0aW9uIGNhbGwgc2hv + dyB1cCA8ZW0+b25jZTwvZW0+LCBub3TCoHR3aWNlLjwvcD48cD5Ob3cgaXQg + c3RhcnRzIHRvIGJlY29tZSBhcHBhcmVudCBob3cgdGhlIGJvdHRvbSB1cCBh + cHByb2FjaCBpcyBkaWZmZXJlbnQgdGhhbiBvdXIgdG9wIGRvd24gbWV0aG9k + IGZyb23CoGJlZm9yZS48L3A+PHA+V2XigJlsbCBzZWUgdGhhdCB3ZSBubyBs + b25nZXIgbmVlZCB0byBkbyB0aGUgd29yayBvZiBnZW5lcmF0aW5nIHRoYXQg + ZW50aXJlIGJvdHRvbSBsZXZlbCBvZiBvdXIgZnVuY3Rpb24gY2FsbCDigJx0 + cmVl4oCdIGluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgYWxsIG8gdGhlIHJlY3Vy + c2l2ZSBmdW5jdGlvbiBjYWxscy4gTm9yIGRvIHdlIG5lZWQgdG8gZGV0ZXJt + aW5lIGFsbCB0aGUgcG9zc2libGUgcGF0aHMgdGhhdCBvdXIgdHJhdmVsaW5n + IHNhbGVzbWFuIGNvdWxkIHRha2UgYnkgdXNpbmcgYnJ1dGUgZm9yY2UuIElu + c3RlYWQsIHdl4oCZcmUgZW51bWVyYXRpbmcgdGhyb3VnaCBmdW5jdGlvbiBj + YWxscywgZmluZGluZyB0aGUgcmVwZWF0ZWQgb25lcywgYW5kIGNvbmRlbnNp + bmcgb3VyIOKAnHRyZWXigJ0gb2YgZnVuY3Rpb24gY2FsbHMgYXMgd2UgY29u + dGludWUgdG8gYnVpbGTCoGl0LjwvcD48cD5PbmNlIHdl4oCZdmUgZWxpbWlu + YXRlZCB0aGUgcmVwZWF0ZWQgc3VicHJvYmxlbXMsIHdlIGNhbiBkbyB0aGUg + d29yayBvZiBhY3R1YWxseSBmaW5kaW5nIHRoZSBzaG9ydGVzdCBwYXRoLiBS + ZW1lbWJlciB0aGF0IHdlIHdpbGwgbmVlZCB0byB1c2Ugb3VyIGFkamFjZW5j + eSBtYXRyaXggdG8gZmlndXJlIG91dCB0aGUgZGlzdGFuY2UgYmV0d2VlbiBv + bmUgbm9kZSB0byBhbm90aGVyLiBCdXQsIHdl4oCZbGwgYWxzbyBub3RpY2Ug + dGhhdCB3ZeKAmXJlIG5vdCBoYXZpbmcgdG8gcmVwZWF0IG91cnNlbHZlcyBu + ZWFybHkgYXMgbXVjaCBiZWNhdXNlIHdlIHdvbuKAmXQgc2VlIHRoZSBzYW1l + IG51bWJlcnMgYXBwZWFyIHRvbyBtYW55IHRpbWVzIGFzIHdlIHN1bSB0aGVt + wqB1cC48L3A+PHA+SW4gdGhlIGlsbHVzdHJhdGlvbiBzaG93biBiZWxvdywg + ZWFjaCBvZiB0aGUgZnVuY3Rpb24gY2FsbHMgdGhhdCBhbGxvdyBvdXIgc2Fs + ZXNtYW4gdG8gdHJhdmVyc2UgZnJvbSBvbmUgbm9kZSB0byBhbm90aGVyIGhh + cyBhIG51bWJlciAodGhlIGNvc3Qgb3IgZGlzdGFuY2UpIGFzc29jaWF0ZWQg + d2l0aCBpdC4gQXMgd2UgY29udGludWUgZG93biB0aGlzIHRyZWUsIHdl4oCZ + bGwgc3VtIHVwIHRoZSBjb3N0IG9mIGVhY2ggc2V0IG9mIGZ1bmN0aW9uIGNh + bGxzLiBGb3IgZXhhbXBsZSwgaWYgd2UgY2hvb3NlIHRoZSBmdW5jdGlvbiBj + YWxscyB0aGF0IGxlYWQgZnJvbSB3ICZsdDstIHggJmx0Oy0geSAmbHQ7LSB6 + LCB3ZeKAmWxsIHN1bSB1cCB0aGUgY29zdCBiZXR3ZWVuIHRoZXNlIG5vZGVz + LCB3aGljaCBhbW91bnRzIHRvIDYgKyA0ICsgMiA9wqAxMi48L3A+PGZpZ3Vy + ZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1 + bS5jb20vbWF4LzEwMjQvMSpjVmNlNEsxYzhyR3JZUlBaMXB1a3ZnLmpwZWci + IC8+PGZpZ2NhcHRpb24+RmxpcHBpbmcgVFNQIG9uIGl0cyBoZWFkLCBwYXJ0 + wqA1LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5XaGVuIHdlIGdldCBkb3du + IHRvIHRoZSB0aGlyZCBsZXZlbCBvZiBvdXIgZnVuY3Rpb24gY2FsbCDigJx0 + cmVl4oCdLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGhhdmUgdHdvIG51bWJlcnMg + dGhhdCB3ZSBjYW4gY2hvb3NlIGZyb20uIFJlY2FsbCB0aGF0IHdlIGhhZCBh + IHNpbWlsYXIgc2NlbmFyaW8gaGFwcGVuIHRvIHVzIGluIDxhIGhyZWY9Imh0 + dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvdGhlLXRyaWFscy1hbmQtdHJpYnVs + YXRpb25zLW9mLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tNTYwNDhkNjcwOWQi + Pm91ciB0b3AgZG93biBhcHByb2FjaDwvYT4gbGFzdCB3ZWVrOiB3ZSBoYWQg + dHdvIGRpZmZlcmVudCBwYXRocyB3aXRoIHR3byBkaWZmZXJlbnQgY29zdHMv + ZGlzdGFuY2VzIHRvIGNob29zZSBmcm9tLiBXZSBlbmRlZCB1cCBjaG9vc2lu + ZyB0aGUgc21hbGxlciBvZiB0aGUgdHdvIGNvc3QsIHNpbmNlIHdl4oCZcmUg + dHJ5aW5nIHRvIGZpbmQgdGhlIHNob3J0ZXN0IHBhdGggZm9yIG91ciBzYWxl + c21hbi4gSW4gdGhpcyBjYXNlLCB3ZSBoYXZlIHR3byBkaWZmZXJlbnQgZnVu + Y3Rpb24gY2FsbHMsIHdpdGggdHdvIGRpZmZlcmVudCBjb3N0cy9kaXN0YW5j + ZXMgdG8gY2hvb3NlIGZyb20uIEFnYWluLCB3ZeKAmWxsIGNob29zZSB0aGUg + c21hbGxlciBvZiB0aGUgdHdvIGNvc3RzLCBzaW5jZSB3ZeKAmXJlIHN0aWxs + IHRyeWluZyB0byBmaW5kIHRoZSBzaG9ydGVzdCBwYXRoIGhlcmUswqB0b28h + PC9wPjxwPkV2ZW50dWFsbHksIGFzIHdlIGNvbnRpbnVlIHN1bSB0aGUgZGlz + dGFuY2VzL2Nvc3RzLCB3ZeKAmWxsIHNlZSB0aGF0IHdlIGVuZGVkIHVwIHdp + dGh0IGhlIGV4YWN0IHNhbWUgcmVzdWx0cyBhcyBvdXIgPGEgaHJlZj0iaHR0 + cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy90aGUtdHJpYWxzLWFuZC10cmlidWxh + dGlvbnMtb2YtdGhlLXRyYXZlbGluZy1zYWxlc21hbi01NjA0OGQ2NzA5ZCI+ + YnJ1dGUtZm9yY2UgbWV0aG9kPC9hPiBmcm9tIGxhc3Qgd2Vlay4gVGhlIHNo + b3J0ZXN0IGNvc3QgZm9yIG91ciB0cmF2ZWxpbmcgc2FsZXNtYW4gaXMgZ29p + bmcgdG8gYmUgMTEsIGFuZCB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlIHBhdGhz + IHRoYXQgd291bGQgYWxsb3cgZm9yIHRoZW0gdG8gYWNoaWV2ZSB0aGF0IGxv + d2VzdCBjb3N0LiBIb3dldmVyLCB1c2luZyB0aGUgYm90dG9tIHVwIGFwcHJv + YWNoLCB3ZeKAmXZlIG9wdGltaXplZCBvdXIgVFNQIGFsZ29yaXRobSwgc2lu + Y2Ugd2Ugbm8gbG9uZ2VyIGhhdmUgc2l4IHJlY3Vyc2l2ZSBjYWxscyBiZWlu + ZyBtYWRlIGluIHRoaXMgbWV0aG9kLiBGdXJ0aGVybW9yZSwgd2XigJlyZSBh + bHNvIG5vdCBnZW5lcmF0aW5nIGFzIGJpZyBvZiBhIHRyZWUgc3RydWN0dXJl + ISBJZiB3ZSB0aGluayBiYWNrIHRvIHdoZW4gd2Ugd2VyZSBmaXJzdCA8YSBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL2xlc3MtcmVwZXRpdGlv + bi1tb3JlLWR5bmFtaWMtcHJvZ3JhbW1pbmctNDNkMjk4MzBhNjMwIj5pbnRy + b2R1Y2VkIHRvIGR5bmFtaWMgcHJvZ3JhbW1pbmc8L2E+LCB3ZeKAmWxsIHJl + Y2FsbCB0aGF0IHdlIGNvdWxkIGFsc28gdXNlIDxzdHJvbmc+PGVtPm1lbW9p + emF0aW9uPC9lbT48L3N0cm9uZz4gYW5kIHNhdmUgdGhlIHJlc3VsdHMgb2Yg + b3VyIGZ1bmN0aW9uIGNhbGxzIGFzIHdlIGNhbGN1bGF0ZSB0aGVtLCBvcHRp + bWl6aW5nIG91ciBzb2x1dGlvbiBldmVuwqBmdXJ0aGVyLjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKjZCZWlpY3lBNFdLVzBvNXhkWk5ST0EuanBlZyIg + Lz48ZmlnY2FwdGlvbj5Vc2luZyBkeW5hbWljIHByb2dyYW1taW5nIG1ha2Vz + IG91ciA1IGNpdHkgZXhhbXBsZSBhIGxpdHRsZcKgZmFzdGVyLjwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5Pa2F5LCBzbyB3ZSBzdGFydGVkIGRvd24gdGhp + cyBwYXRoIGluIGFuIGVmZm9ydCB0byB0YWtlIHRoZSBuZXh0IHN0ZXAgaW4g + dGhlIGFkYWdlIG9mIOKAnDxlbT5NYWtlIGl0IHdvcmssIG1ha2UgaXQgcmln + aHQsIG1ha2UgaXTCoGZhc3Q8L2VtPi7igJ08L3A+PHA+V2UgaGF2ZSBhcmd1 + YWJseSBtYWRlIG91ciB3b3JrYWJsZSBzb2x1dGlvbiBtdWNoIGJldHRlciwg + YW5kIGNlcnRhaW5seSBtb3JlIGVsZWdhbnQsIGFuZCBmYXIgbGVzcyByZXBl + dGl0aXZlLiBUaGUgaWxsdXN0cmF0aW9uIHNob3duIGhlcmUgZXhlbXBsaWZp + ZXMgaG93IHRoZSBib3R0b20gdXAgRFAgYXBwcm9hY2ggd291bGQgc2NhbGUg + Zm9yIGEgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gd2hlcmUgdGhlIHNh + bGVzbWFuIGhhcyB0byB2aXNpdCBmaXZlIGNpdGllcyBpbnN0ZWFkIG9mIGZv + dXIuIFdl4oCZbGwgc2VlIHRoYXQgd2XigJlyZSBzdGlsbCBtYWtpbmcgYSBs + b3Qgb2YgY2FsbHMsIGJ1dCBvdXIgZnVuY3Rpb24gY2FsbCDigJx0cmVl4oCd + IGlzIGEgYml0IHNsaW1tZXIgYW5kIHNpZ25pZmljYW50bHkgYmV0dGVyIHRo + YW7CoGJlZm9yZS48L3A+PHA+QnkgdXNpbmcgZHluYW1pYyBwcm9ncmFtbWlu + Zywgd2XigJl2ZSBtYWRlIG91ciBzb2x1dGlvbiBmb3IgdGhlIHRyYXZlbGlu + ZyBzYWxlc21hbiBwcm9ibGVtIGp1c3QgYSBsaXR0bGUgYml0IGJldHRlciBi + eSBjaG9vc2luZyB0byBzbWFydGx5IGVudW1lcmF0ZSBmdW5jdGlvbiBjYWxs + cyByYXRoZXIgdGhhbiBicnV0ZS1mb3JjZSBvdXIgd2F5IHRocm91Z2ggZXZl + cnkgc2luZ2xlIHBvc3NpYmxlIHBhdGggdGhhdCBvdXIgc2FsZXNtYW4gY291 + bGTCoHRha2UuPC9wPjxwPlRoZSBvbmx5IHF1ZXN0aW9uIHdlIGhhdmUgdG8g + YW5zd2VyIG5vdyBpcywgb2YgY291cnNlLCBob3cgZG9lcyB0aGUgcnVudGlt + ZSBvZiB0aGlzIG1ldGhvZCBjb21wYXJlIHRvIG91ciB1Z2x5IGZhY3Rvcmlh + bCwgTyhuISkgcnVudGltZSBmcm9twqBlYXJsaWVyPzwvcD48cD5XZWxsLCBh + cyBpdCB0dXJucyBvdXQsIHRoZSBib3R0b20gdXAgYXBwcm9hY2ggdGhhdCB3 + ZeKAmXZlIGJlZW4gZXhwbG9yaW5nIGhlcmUgaXMgcmVhbGx5IHRoZSBmb3Vu + ZGF0aW9ucyBvZiBzb21ldGhpbmcgY2FsbGVkIHRoZSA8c3Ryb25nPjxlbT5I + ZWxkLUthcnAgYWxnb3JpdGhtPC9lbT48L3N0cm9uZz4sIHdoaWNoIGlzIGFs + c28gPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSGVs + ZOKAk0thcnBfYWxnb3JpdGhtIj5vZnRlbiByZWZlcnJlZCB0bzwvYT4gYXMg + dGhlIDxzdHJvbmc+PGVtPkJlbGxtYW4tSGVsZC1LYXJwIGFsZ29yaXRobTwv + ZW0+PC9zdHJvbmc+LiBUaGlzIGFsZ29yaXRobSB3YXMgZGVyaXZlZCBpbiAx + OTYyLCBieSBib3RoIE1pY2hhZWwgSGVsZCBhbmQgUmljaGFyZCBNLiBLYXJw + IGFzIHdlbGwgYXMgUmljaGFyZCBCZWxsbWFuLCB3aG8gd2FzIHdvcmtpbmcg + aW5kZXBlbmRlbnRseSBvbiBoaXMgb3duIHJlbGF0ZWQgcmVzZWFyY2ggYXQg + dGhlwqB0aW1lLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6 + Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmdEVlZFd3Vx + cy15MG9xenR2dm84MEEuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgSGVsZC1L + YXJwIGFsZ29yaXRobSB1c2VzIGR5bmFtaWMgcHJvZ3JhbW1pbmcgdG8gYXBw + cm9hY2jCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+VGhlIEhlbGQt + S2FycCBhbGdvcml0aG0gYWN0dWFsbHkgcHJvcG9zZWQgdGhlIGJvdHRvbSB1 + cCBkeW5hbWljIHByb2dyYW1taW5nIGFwcHJvYWNoIGFzIGEgc29sdXRpb24g + dG8gaW1wcm92aW5nIHRoZSBicnV0ZS1mb3JjZSBtZXRob2Qgb2Ygc29sdmlu + ZyB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0uIEJlbGxtYW4sIEhl + bGQsIGFuZCBLYXJw4oCZcyBhbGdvcml0aG0gd2FzIGRldGVybWluZWQgdG8g + cnVuIGluIDxzdHJvbmc+PGVtPmV4cG9uZW50aWFsPC9lbT48L3N0cm9uZz4g + dGltZSwgc2luY2UgaXQgc3RpbGwgZG9lcyBhIGJ1bGsgb2YgdGhlIHdvcmsg + b2YgZW51bWVyYXRpbmcgdGhyb3VnaCBhbGwgdGhlIHBvdGVudGlhbCBzZXRz + IG9mIGZ1bmN0aW9uIGNhbGxzIHRoYXQgYXJlIHBvc3NpYmxlLiBUaGUgZXhw + b25lbnRpYWwgcnVudGltZSBvZiB0aGUgSGVsZC1LYXJwIGFsZ29yaXRobSBp + cyBzdGlsbCBub3QgcGVyZmVjdOKAiuKAlOKAiml04oCZcyBmYXIgZnJvbSBp + dCwgaW4gZmFjdCEgQnV0LCBpdOKAmXMgbm90IGFzIHVnbHkgYXMgYSBmYWN0 + b3JpYWwgYWxnb3JpdGhtLCBhbmQgaXTigJlzIHN0aWxsIGFuIGltcHJvdmVt + ZW50LjwvcD48cD5BbmQsIHRvIGJlIGhvbmVzdCwgSeKAmW0gc3VyZSB0aGUg + dHJhdmVsaW5nIHNhbGVzbWFuIHdvdWxkIGJlIGhhcHB5IHRvIHRha2Ugd2hh + dGV2ZXIgaGUgY291bGTCoGdldC48L3A+PGgzPlJlc291cmNlczwvaDM+PHA+ + VGhlIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIGhhcyBiZWVuIHdyaXR0 + ZW4gYWJvdXQsIHJlc2VhcmNoZWQsIGFuZCB0YXVnaHQgZXh0ZW5zaXZlbHku + IEFzIGl0IHR1cm5zIG91dCwgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGFw + cHJvYWNoZXMgd2hlbiBpdCBjb21lcyB0byBhdHRlbXB0aW5nIHRvIHNvbHZl + IGl0LCBhbmQgdGhlIEhlbGQtS2FycCBhbGdvcml0aG0gaXMganVzdCBvbmUg + b2YgdGhlbS4gSWYgeW91IHdhbnQgdG8gZGlnIGRlZXBlciBpbnRvIHRoaXMg + cGFydGljdWxhciB0b3BpYywgaGVyZSBhcmUgc29tZSBnb29kIHBsYWNlcyB0 + b8Kgc3RhcnQuPC9wPjxvbD48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91 + dHViZS5jb20vd2F0Y2g/dj1fNTFvdC1SaTBuZyI+VHJhdmVsbGluZyBTYWxl + c21hbiBQcm9ibGVtPC9hPiwgMDYxMiBUViB3LyBORVJEZmlyc3Q8L2xpPjxs + aT48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PS1K + akE0QkxReXFFIj5UcmF2ZWxpbmcgU2FsZXNtYW4gUHJvYmxlbSBEeW5hbWlj + IFByb2dyYW1taW5nIEhlbGQtS2FycDwvYT4sIFR1c2hhcsKgUm95PC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv + bnMvMjEwODI5L3doYXQtaXMtYW4tbnAtY29tcGxldGUtaW4tY29tcHV0ZXIt + c2NpZW5jZSI+V2hhdCBpcyBhbiBOUC1jb21wbGV0ZSBpbiBjb21wdXRlciBz + Y2llbmNlPzwvYT4sIFN0YWNrT3ZlcmZsb3c8L2xpPjxsaT48YSBocmVmPSJo + dHRwOi8vd3d3Lmtlc3RyZWxibGFja21vcmUuY29tL2Jsb2cvYmlnLW8tbm90 + YXRpb24tY29tcGxleGl0eSI+QmlnIE8gTm90YXRpb24gYW5kIENvbXBsZXhp + dHk8L2E+LCBLZXN0cmVsIEJsYWNrbW9yZTwvbGk+PGxpPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmNvdXJzZXJhLm9yZy9sZWFybi9hbGdvcml0aG1zLW5wY29t + cGxldGUvbGVjdHVyZS91VkFCei9hLWR5bmFtaWMtcHJvZ3JhbW1pbmctYWxn + b3JpdGhtLWZvci10c3AiPkEgRHluYW1pYyBQcm9ncmFtbWluZyBBbGdvcml0 + aG0gZm9yIFRTUDwvYT4swqBDb3Vyc2VyYTwvbGk+PGxpPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmludGVjaG9wZW4uY29tL2Jvb2tzL3RyYXZlbGluZy1zYWxl + c21hbi1wcm9ibGVtLXRoZW9yeS1hbmQtYXBwbGljYXRpb25zL3RyYXZlbGlu + Zy1zYWxlc21hbi1wcm9ibGVtLWFuLW92ZXJ2aWV3LW9mLWFwcGxpY2F0aW9u + cy1mb3JtdWxhdGlvbnMtYW5kLXNvbHV0aW9uLWFwcHJvYWNoZXMiPlRyYXZl + bGluZyBTYWxlc21hbiBQcm9ibGVtOiBBbiBPdmVydmlldyBvZiBBcHBsaWNh + dGlvbnMsIEZvcm11bGF0aW9ucywgYW5kIFNvbHV0aW9uIEFwcHJvYWNoZXM8 + L2E+LCBSYWplc2ggTWF0YWksIFN1cnlhIFNpbmdoLCBhbmQgTXVyYXJpIExh + bMKgTWl0dGFsPC9saT48L29sPjxpbWcgc3JjPSJodHRwczovL21lZGl1bS5j + b20vXy9zdGF0P2V2ZW50PXBvc3QuY2xpZW50Vmlld2VkJnJlZmVycmVyU291 + cmNlPWZ1bGxfcnNzJnBvc3RJZD1iNzZkNzU1MmU4ZGQiIHdpZHRoPSIxIiBo + ZWlnaHQ9IjEiPjxocj48cD48YSBocmVmPSJodHRwczovL21lZGl1bS5jb20v + YmFzZWNzL3NwZWVkaW5nLXVwLXRoZS10cmF2ZWxpbmctc2FsZXNtYW4tdXNp + bmctZHluYW1pYy1wcm9ncmFtbWluZy1iNzZkNzU1MmU4ZGQiPlNwZWVkaW5n + IFVwIFRoZSBUcmF2ZWxpbmcgU2FsZXNtYW4gVXNpbmcgRHluYW1pYyBQcm9n + cmFtbWluZzwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVkIGluIDxhIGhy + ZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2VjczwvYT4gb24g + TWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcgdGhlIGNvbnZl + cnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRpbmcgdG8gdGhp + cyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAgPC9p + dGVtPgogICAgICAgIDxpdGVtPgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RB + VEFbQW5ub3VuY2luZyB0aGUgYmFzZWNzIHBvZGNhc3QhIF1dPjwvdGl0bGU+ + CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mv + YW5ub3VuY2luZy10aGUtYmFzZWNzLXBvZGNhc3QtOTdjOGU0NDU0ZDc/c291 + cmNlPXJzcy04ZjU1OTkzYzk3M2UtLS0tLS0yPC9saW5rPgogICAgICAgICAg + ICA8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHBzOi8vbWVkaXVtLmNv + bS9wLzk3YzhlNDQ1NGQ3PC9ndWlkPgogICAgICAgICAgICA8ZGM6Y3JlYXRv + cj48IVtDREFUQVtWYWlkZWhpIEpvc2hpXV0+PC9kYzpjcmVhdG9yPgogICAg + ICAgICAgICA8cHViRGF0ZT5XZWQsIDA4IE5vdiAyMDE3IDEzOjI4OjI0IEdN + VDwvcHViRGF0ZT4KICAgICAgICAgICAgPGF0b206dXBkYXRlZD4yMDE3LTEx + LTA4VDEzOjI4OjI0LjM2N1o8L2F0b206dXBkYXRlZD4KICAgICAgICAgICAg + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD5EZWFyIDxlbT5iYXNlY3M8 + L2VtPsKgcmVhZGVyLDwvcD48cD5BcyB3ZSBuZWFyIHRoaXMgeWVhci1sb25n + IHByb2plY3Qgb2YgdHJ5aW5nIHRvIHVucGFjayBhbmQgdW5kZXJzdGFuZCB0 + aGUgYmFzaWNzIG9mIGNvbXB1dGVyIHNjaWVuY2UsIEkgd2FuZWQgdG8gc2hh + cmUgc29tZSBnb29kIGFuZCBiYWTCoG5ld3MuPC9wPjxwPknigJlsbCBzdGFy + dCB3aXRoIHRoZSBiYWQgbmV3cyBmaXJzdDogaXTigJlzIChzb21laG93KSBh + bHJlYWR5IE5vdmVtYmVyISBUaGVyZSBhcmUgb25seSBhIGhhbmRmdWwgb2Yg + cG9zdHMgbGVmdCBpbiB0aGlzIHNlcmllcywgd2hpY2ggaXMgZXF1YWwgcGFy + dHMgYW1hemluZyBhbmQgYml0dGVyc3dlZXQuIFNvbWVob3csIHRoaXMgZW50 + aXJlIHllYXIgZmxldyBieS4gSSBndWVzcyB0aGF04oCZcyB3aGF0IGhhcHBl + bnMgd2hlbiB5b3XigJlyZSBidXN5IHJlYWRpbmcgYWJvdXQgdGhlIHRyYXZl + bGluZyBzYWxlc21hbsKgcHJvYmxlbS48L3A+PHA+T2theSwgdGhlIGdvb2Qg + bmV3cyBuZXh0OiBvdmVyIHRoZSBwYXN0IGZldyBtb250aHMsIEnigJl2ZSBi + ZWVuIHdvcmtpbmcgb24gYSBmZXcgZGlmZmVyZW50IGNvbGxhYm9yYXRpb25z + IHRvIGhlbHAgZXhwYW5kIDxlbT5iYXNlY3M8L2VtPiBhbmQgYnJpbmcgaXQg + dG8gZXZlbiBtb3JlIGNvbW11bml0aWVzLCBwb3B1bGF0aW9ucywgYW5kIHBl + b3BsZSBmcm9tIGFyb3VuZCB0aGXCoHdvcmxkLjwvcD48YmxvY2txdW90ZT5J + 4oCZbSB0aHJpbGxlZCB0byBmaW5hbGx5IGdldCB0byBzaGFyZSBvbmUgb2Yg + dGhlc2UgZXhjaXRpbmcgbmV3IGNvbGxhYm9yYXRpb25zIHdpdGggeW91OiB0 + aGUgYmFzZWNzwqBwb2RjYXN0LjwvYmxvY2txdW90ZT48cD5UaGUgPGEgaHJl + Zj0iaHR0cHM6Ly93d3cuY29kZW5ld2JpZS5vcmcvYmFzZWNzIj48c3Ryb25n + PmJhc2VjcyBwb2RjYXN0PC9zdHJvbmc+PC9hPiBpcyBhIHByb2plY3QgSSBk + cmVhbWVkIHVwIHdpdGggbXkgZGVhciBmcmllbmQgYW5kIGZlbGxvdyBkZXZl + bG9wZXIsIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vc2Fyb255aXRi + YXJlayI+U2Fyb24gWWl0YmFyZWs8L2E+LCB0aGUgY3JlYXRvciBvZiB0aGUg + PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9Db2RlTmV3YmllcyI+Q29k + ZW5ld2JpZXMgY29tbXVuaXR5PC9hPi48L3A+PGZpZ3VyZT48aW1nIGFsdD0i + IiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4Lzg5 + Ni8xKmE3X0R5bHdfRlJqYmtvVWducHNJZ1EucG5nIiAvPjxmaWdjYXB0aW9u + PlN1YnNjcmliZSB0byB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuY29kZW5l + d2JpZS5vcmcvYmFzZWNzIj5iYXNlY3PCoHBvZGNhc3Q8L2E+ITwvZmlnY2Fw + dGlvbj48L2ZpZ3VyZT48cD5BIGxhcmdlIHBhcnQgb2YgdGhlIHJlYXNvbiBJ + IHN0YXJ0ZWQgPGVtPmJhc2VjczwvZW0+IHdhcyBpbiBhbiBlZmZvcnQgdG8g + bWFrZSBjb21wdXRlciBzY2llbmNlIGEgbW9yZSB3ZWxjb21pbmcsIGZyaWVu + ZGx5LCBhbmQgYXBwcm9hY2hhYmxlIHdvcmxkIHRvIG5hdmlnYXRlLiBJ4oCZ + bSBzbyBzdG9rZWQgdG8gYmUgdGVhbWluZyB1cCB3aXRoIFNhcm9uIGluIHRv + IHByb2R1Y2UgYSBwb2RjYXN0IHRoYXQgaXMgZWR1Y2F0aW9uYWwsIGludGVy + ZXN0aW5nLCBmdW4gdG8gbGlzdGVuIHRvLCBhbmQgPGVtPmFsd2F5cyA8L2Vt + PnZlcnk8ZW0+IDwvZW0+ZnJpZW5kbHkhPC9wPjxwPkkgaG9wZSB0aGF0IHRo + aXMgcG9kY2FzdCB3aWxsIGJ1aWxkIHVwb24gdGhlIGZvdW5kYXRpb24gYW5k + IGNvbW11bml0eSB0aGF0IDxlbT5iYXNlY3M8L2VtPiBoYXMgY3JlYXRlZCBi + eSBvcGVuaW5nIGRvb3JzIGFuZCB3ZWxjb21pbmcgbW9yZSBmb2xrcyBpbnRv + IG91ciBpbmR1c3RyeSBieSBoZWxwaW5nIHRoZW0gZmFsbCBpbiBsb3ZlIHdp + dGggdGhlIHdvbmRlcnMgb2YgY29tcHV0ZXLCoHNjaWVuY2UuPC9wPjxwPllv + dSBjYW4gc3Vic2NyaWJlIHRvIHRoZSBiYXNlY3MgcG9kY2FzdCA8YSBocmVm + PSJodHRwczovL3d3dy5jb2RlbmV3YmllLm9yZy9iYXNlY3MiPmhlcmU8L2E+ + LCBhbmQgbGlzdGVuIHRvIEVwaXNvZGUgMSBub3chIElmIHlvdSBsaWtlIHdo + YXQgeW91IGhlYXIsIEkgaG9wZSB5b3XigJlsbCBjb25zaWRlciBzaGFyaW5n + IGl0IHdpdGggeW91ciBmcmllbmRzLCBmYW1pbHksIGFuZCBjb3dvcmtlcnPi + gIrigJTigIphbmQgbWF5YmUgbGVhdmUgdXMgYSByZXZpZXcuwqDwn5iOPC9w + PjxwPlRoYW5rIHlvdSBhZ2FpbiBmb3IgeW91ciBjb250aW51ZWQgcmVhZGVy + c2hpcCBhbmTCoHN1cHBvcnQuPC9wPjxwPldpdGggZ3JhdGl0dWRlLDxicj5W + YWlkZWhpPC9wPjxpbWcgc3JjPSJodHRwczovL21lZGl1bS5jb20vXy9zdGF0 + P2V2ZW50PXBvc3QuY2xpZW50Vmlld2VkJnJlZmVycmVyU291cmNlPWZ1bGxf + cnNzJnBvc3RJZD05N2M4ZTQ0NTRkNyIgd2lkdGg9IjEiIGhlaWdodD0iMSI+ + PGhyPjxwPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvYW5u + b3VuY2luZy10aGUtYmFzZWNzLXBvZGNhc3QtOTdjOGU0NDU0ZDciPkFubm91 + bmNpbmcgdGhlIGJhc2VjcyBwb2RjYXN0ISDwn5iNPC9hPiB3YXMgb3JpZ2lu + YWxseSBwdWJsaXNoZWQgaW4gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29t + L2Jhc2VjcyI+YmFzZWNzPC9hPiBvbiBNZWRpdW0sIHdoZXJlIHBlb3BsZSBh + cmUgY29udGludWluZyB0aGUgY29udmVyc2F0aW9uIGJ5IGhpZ2hsaWdodGlu + ZyBhbmQgcmVzcG9uZGluZyB0byB0aGlzIHN0b3J5LjwvcD5dXT48L2NvbnRl + bnQ6ZW5jb2RlZD4KICAgICAgICA8L2l0ZW0+CiAgICAgICAgPGl0ZW0+CiAg + ICAgICAgICAgIDx0aXRsZT48IVtDREFUQVtUaGUgVHJpYWxzIEFuZCBUcmli + dWxhdGlvbnMgT2YgVGhlIFRyYXZlbGluZyBTYWxlc21hbl1dPjwvdGl0bGU+ + CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3Mv + dGhlLXRyaWFscy1hbmQtdHJpYnVsYXRpb25zLW9mLXRoZS10cmF2ZWxpbmct + c2FsZXNtYW4tNTYwNDhkNjcwOWQ/c291cmNlPXJzcy04ZjU1OTkzYzk3M2Ut + LS0tLS0yPC9saW5rPgogICAgICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHBzOi8vbWVkaXVtLmNvbS9wLzU2MDQ4ZDY3MDlkPC9ndWlk + PgogICAgICAgICAgICA8Y2F0ZWdvcnk+PCFbQ0RBVEFbdGVjaF1dPjwvY2F0 + ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVtwcm9ncmFt + bWluZ11dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtD + REFUQVtjb21wdXRlci1zY2llbmNlXV0+PC9jYXRlZ29yeT4KICAgICAgICAg + ICAgPGNhdGVnb3J5PjwhW0NEQVRBW3RoZW9yeS1pbi1wcmFjdGljZV1dPjwv + Y2F0ZWdvcnk+CiAgICAgICAgICAgIDxjYXRlZ29yeT48IVtDREFUQVthbGdv + cml0aG1zXV0+PC9jYXRlZ29yeT4KICAgICAgICAgICAgPGRjOmNyZWF0b3I+ + PCFbQ0RBVEFbVmFpZGVoaSBKb3NoaV1dPjwvZGM6Y3JlYXRvcj4KICAgICAg + ICAgICAgPHB1YkRhdGU+TW9uLCAwNiBOb3YgMjAxNyAyMTowNzo1NiBHTVQ8 + L3B1YkRhdGU+CiAgICAgICAgICAgIDxhdG9tOnVwZGF0ZWQ+MjAxNy0xMS0x + M1QxNTowNzo1NS44NDFaPC9hdG9tOnVwZGF0ZWQ+CiAgICAgICAgICAgIDxj + b250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpqTU53S01CWkxUNGVVYjBjR3RFYW13LmpwZWciIC8+PGZpZ2NhcHRpb24+ + VGhlIHRyaWFscyBhbmQgdHJpYnVsYXRpb25zIG9mIHRoZSB0cmF2ZWxpbmcg + c2FsZXNtYW4hPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPkFzIHdlIGRpdmUg + ZGVlcGVyIGFuZCBkZWVwZXIgaW50byB0aGUgd29ybGQgb2YgY29tcHV0ZXIg + c2NpZW5jZSwgb25lIHRoaW5nIHN0YXJ0cyB0byBiZWNvbWUgdmVyeSBjbGVh + ciwgdmVyeSBxdWlja2x5OiBzb21lIHByb2JsZW1zIHNlZW0gdG8gc2hvdyB1 + cCBhZ2FpbiBhbmQgYWdhaW4sIGluIHRoZSBzdHJhbmdlc3Qgb2YgZm9ybXMu + IEluIGZhY3QsIHNvbWUgb2YgdGhlIG1vc3QgZmFtb3VzIHByb2JsZW1zIGlu + IHRoZSBoaXN0b3J5IG9mIGNvbXB1dGVyIHNjaWVuY2UgaGF2ZSBubyBzcGVj + aWZpYyBvcmlnaW4gdGhhdCBhbnlvbmUga25vd3Mgb2YuIEluc3RlYWQsIHRo + ZSBzYW1lIHByb2JsZW0gc2hvd3MgdXAgaW4gZGlmZmVyZW50IGZvcm1zIGFu + ZCBhdmF0YXJzLCBpbiBkaWZmZXJlbnQgcGxhY2VzIGFyb3VuZCB0aGUgd29y + bGQsIGF0IGRpZmZlcmVudCB0aW1lwqBwZXJpb2RzLjwvcD48cD5UaGUgaGFy + ZGVzdCBwcm9ibGVtcyBpbiBzb2Z0d2FyZSBhcmUgdGhlIG1vc3QgZnVuIHRv + IHNvbHZl4oCK4oCU4oCKYW5kIHNvbWUgb2YgdGhlbSBoYXZlbuKAmXQgZXZl + biBiZWVuIGZpZ3VyZWQgb3V0IHlldCEgT25lIG9mIHRoZXNlIGhhcmQgcHJv + YmxlbXMgaXMgdGhlIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtLCBhbmQg + ZGVwZW5kaW5nIG9uIHdob20geW91IGFzaywgaXQgbWlnaHQgYmUgdGhlIG1v + c3Qgbm90b3Jpb3VzIG9mIHRoZW3CoGFsbC48L3A+PHA+SSBmaXJzdCBoZWFy + ZCBhYm91dCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gYSBmZXcg + eWVhcnMgYWdvLCBhbmQgaXQgc2VlbWVkIHN1cGVyIGRhdW50aW5nIHRvIG1l + IGF0IHRoZSB0aW1lLiBUbyBiZSB0b3RhbGx5IGhvbmVzdCwgZXZlbiBjb21p + bmcgYmFjayB0byBpdCBub3csIGl0IHN0aWxsIGZlZWxzIGEgbGl0dGxlIGJp + dCBkYXVudGluZywgYW5kIGl0IG1pZ2h0IHNlZW0gc2NhcnkgdG8geW91LCB0 + b28uIEJ1dCBzb21ldGhpbmcgaXMgZGlmZmVyZW50IHRoaXMgdGltZSBhcm91 + bmQ6IHdl4oCZdmUgZ290IGEgd2hvbGUgd2VhbHRoIG9mIGtub3dsZWRnZSBh + bmQgY29udGV4dCB0byBkcmF3IGZyb20hIFRocm91Z2hvdXQgdGhpcyBzZXJp + ZXMsIHdl4oCZdmUgYmVlbiBidWlsZGluZyB1cG9uIG91ciBmb3VuZGF0aW9u + IGNvcmUgb2YgY29tcHV0ZXIgc2NpZW5jZSwgYW5kIHJldHVybmluZyB0byBz + b21lIG9mIHRoZSBzYW1lIGNvbmNlcHRzIHJlcGVhdGVkbHkgaW4gYW4gZWZm + b3J0IHRvIHVuZGVyc3RhbmQgdGhlbSBvbiBhIG1vcmUgdGVjaG5pY2FsIGxl + dmVs4oCK4oCU4oCKYnV0IG9ubHkgd2hlbiB3ZSBmZWVsIGZ1bGx5IGVxdWlw + cGVkIHRvIGRvIHNvLiBUaGUgc2FtZSBnb2VzIGZvciB0aGlzIGxvb2sgaW50 + byB0aGUgdGhlIHRyYXZlbGluZyBzYWxlc21hbsKgcHJvYmxlbS48L3A+PHA+ + SW4gb3JkZXIgdG8gdW5kZXJzdGFuZCB3aHkgdGhpcyBwcm9ibGVtIGlzIHNv + IG5vdG9yaW91cywgd2UgbmVlZCB0byB3cmFwIG91ciBoZWFkcyBhcm91bmQg + d2hhdCBpdCBpcywgaG93IHdlIGNhbiBzb2x2ZSBpdCwgd2h5IGl0IGlzIGlt + cG9ydGFudCwgYW5kIHdoYXQgbWFrZXMgaXQgc28gaGFyZC4gSXQgbWlnaHQg + c291bmQgb3ZlcndoZWxtaW5nLCBidXQgd2XigJlsbCBnZXQgdGhyb3VnaCBp + dCB0b2dldGhlciwgb25lIHN0ZXAgYXQgYcKgdGltZS48L3A+PHA+U28sIGxl + dOKAmXMgaG9wIHRvwqBpdCE8L3A+PGgzPkdlb21ldHJ5LCBjaXJjdWl0cywg + YW5kIGEgZHVkZSBuYW1lZMKgSGFtaWx0b248L2gzPjxwPlRoZSBpZGVhIGJl + aGluZCB0aGUgPHN0cm9uZz48ZW0+dHJhdmVsaW5nIHNhbGVzbWFuIHByb2Js + ZW08L2VtPjwvc3Ryb25nPiAoPGVtPlRTUDwvZW0+KSBpcyByb290ZWQgaW4g + YSByYXRoZXIgcmVhbGlzdGljIHByb2JsZW0gdGhhdCBtYW55IHBlb3BsZSBo + YXZlIHByb2JhYmx5IGFjdHVhbGx5IGVuY291bnRlcmVkLiBUaGUgdGhlc2lz + IGlzIHNpbXBsZTogYSBzYWxlc21hbiBoYXMgdG8gdHJhdmVsIHRvIGV2ZXJ5 + IHNpbmdsZSBjaXR5IGluIGFuIGFyZWEsIHZpc2l0aW5nIGVhY2ggY2l0eSBv + bmx5IG9uY2UuIEFkZGl0aW9uYWxseSwgaGUgbmVlZHMgdG8gZW5kIHVwIGlu + IHRoZSBzYW1lIGNpdHkgd2hlcmUgaGUgc3RhcnRzIGhpcyBqb3VybmV5wqBm + cm9tLjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4t + aW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmJ5M01nZGttYW1FQXhs + Q2FJSDY4WGcuanBlZyIgLz48ZmlnY2FwdGlvbj5UaGUgdHJhdmVsaW5nIHNh + bGVzbWFuIHNlZWtzIHRvIHZpc2l0IGVhY2ggY2l0eSBvbmNlLCBhbmQgZW5k + IHVwIGluIHRoZSBzYW1lIHBsYWNlIGhlwqBzdGFydGVkLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5UaGUgYWN0dWFsIOKAnHByb2JsZW3igJ0gd2l0aGlu + IHRoZSB0cmF2ZWxpbmcgc2FsZXNtYW4gcHJvYmxlbSBpcyBmaW5kaW5nIHRo + ZSBtb3N0IDxlbT5lZmZpY2llbnQ8L2VtPiByb3V0ZSBmb3IgdGhlIHNhbGVz + bWFuIHRvIHRha2UuIFRoZXJlIGFyZSBvYnZpb3VzbHkgbWFueSBkaWZmZXJl + bnQgcm91dGVzIHRvIGNob29zZSBmcm9tLCBidXQgZmluZGluZyB0aGUgYmVz + dCBvbmXigIrigJTigIp0aGUgb25lIHRoYXQgd2lsbCByZXF1aXJlIHRoZSBs + ZWFzdCBjb3N0IG9yIGRpc3RhbmNlIG9mIG91ciBzYWxlc21hbuKAiuKAlOKA + imlzIHdoYXQgd2XigJlyZSBzb2x2aW5nwqBmb3IuPC9wPjxwPkluIG1vcmUg + d2F5cyB0aGFuIG9uZSwgdGhlIHByYWN0aWNhbCBhc3BlY3RzIG9mIHRoaXMg + cHJvYmxlbSBhcmUgcmVtaW5zY2llbnQgb2YgPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9rJUMzJUI2bmlnc2Jlcmctc2V2ZW4tc21hbGwt + YnJpZGdlcy1vbmUtZ2lhbnQtZ3JhcGgtcHJvYmxlbS0yMjc1ZDE2NzBhMTIi + PlRoZSBTZXZlbiBCcmlkZ2VzIG9mIEvDtm5pZ3NiZXJnPC9hPiwgYSBtYXRo + ZW1hdGljYWwgcHJvYmxlbSB0aGF0IHdl4oCZcmUgYWxyZWFkeSBmYW1pbGlh + ciB3aXRoLCB3aGljaCB3YXMgdGhlIGJhc2lzIGZvciBFdWxlcuKAmXMgaW52 + ZW50aW9uIG9mIHRoZSBmaWVsZCBjYWxsZWQg4oCcdGhlIGdlb21ldHJ5IG9m + IHBvc2l0aW9u4oCdLCB3aGljaCB3ZSBub3cga25vdyB0b2RheSBhcyA8ZW0+ + Z3JhcGjCoHRoZW9yeTwvZW0+LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNy + Yz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMzczLzEq + cWhrSk5sQVpQemNxaGJoMDh0a0xuUS5wbmciIC8+PGZpZ2NhcHRpb24+V2ls + bGlhbSBSb3dhbiBIYW1pbHRvbiwgPGEgaHJlZj0iaHR0cHM6Ly9lbi53aWtp + cGVkaWEub3JnL3dpa2kvV2lsbGlhbV9Sb3dhbl9IYW1pbHRvbiMvbWVkaWEv + RmlsZTpXaWxsaWFtX1Jvd2FuX0hhbWlsdG9uX3BvcnRyYWl0X292YWxfY29t + YmluZWQucG5nIj5XaWtpbWVkaWEgQ29tbW9uczwvYT48L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+QnV0IGdyYXBoIHRoZW9yeSBkaWRu4oCZdCBlbmQgd2l0 + aCBFdWxlciBhbmQgdGhlIGNpdHkgb2YgS8O2bmlnc2JlcmchIEluZGVlZCwg + dGhlIFNldmVuIEJyaWRnZSBwcm9ibGVtIHdhcyBqdXN0IHRoZSBiZWdpbm5p + bmcsIGFuZCB0aGUgdHJhdmVsaW5nIHNhbGVzbWFuIHByb2JsZW0gaXMgYSBw + cmltZSBleGFtcGxlIG9mIHNvbWVvbmUgYnVpbGRpbmcgdXBvbiB0aGUgaWRl + YXMgb2YgdGhvc2Ugd2hvIGNhbWUgYmVmb3JlwqBoaW0uPC9wPjxwPlRoZSDi + gJxzb21lb25l4oCdIGluIHRoaXMgc2NlbmFyaW8gaXMgbm9uZSBvdGhlciB0 + aGFuIDxhIGhyZWY9Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dp + bGxpYW1fUm93YW5fSGFtaWx0b24iPldpbGxpYW0gUm93YW4gSGFtaWx0b248 + L2E+LCBhbiBJcmlzaCBwaHlzaWNpc3QgYW5kIG1hdGhlbWF0aWNpYW4gd2hv + IHdhcyBpbnNwaXJlZCBieSBhbmQgc3Vic2VxdWVudGx5IGNvbnRpbnVlZCB0 + aGUgcmVzZWFyY2ggb2YgbWF0aGVtYXRpY2lhbnMgd2hvIGNhbWUgYmVmb3Jl + IGhpbSBpbiBvcmRlciB0byBjcmVhdGUgYSBzdWJzZXQgb2YgbWF0aGVtYXRp + Y2FsIHByb2JsZW1zIHRoYXQgYXJlIGRpcmVjdGx5IHRpZWQgdG8gdGhlIHRy + YXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIHRoYXQgd2UgYXJlIGZhbWlsaWFy + IHdpdGjCoHRvZGF5LjwvcD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0 + cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKkJrS3dj + b3JNMWhMYWxSY0diWlpHbFEuanBlZyIgLz48ZmlnY2FwdGlvbj5Db21wYXJp + bmcgRXVsZXJpYW4gYW5kIEhhbWlsdG9uaWFuIHBhdGhzLjwvZmlnY2FwdGlv + bj48L2ZpZ3VyZT48cD5JbiB0aGUgbGF0ZSAxODAw4oCZcywgYm90aCBIYW1p + bHRvbiBhbmQgdGhlIEJyaXRpc2ggbWF0aGVtYXRpY2lhbiA8YSBocmVmPSJo + dHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UaG9tYXNfS2lya21hbiI+ + VGhvbWFzIEtpcmttYW48L2E+IHdlcmUgd29ya2luZyBvbiBtYXRoZW1hdGlj + YWwgcHJvYmxlbXMgdGhhdCB3ZXJlIGZ1bmRhbWVudGFsbHkgc2ltaWxhciB0 + byBUU1AuIEhhbWlsdG9u4oCZcyBjbGFpbSB0byBmYW1lIHdhcyBoaXMgd29y + ayBvbiBkZXJpdmluZyBhIHNvbWV0aGluZyBjYWxsZWQgYSA8c3Ryb25nPjxl + bT5IYW1pbHRvbmlhbiBwYXRoPC9lbT48L3N0cm9uZz4sIHdoaWNoIGJlYXJz + IHJlc2VtYmxhbmNlIHRvIEV1bGVy4oCZcyBmYW1vdXMgPGEgaHJlZj0iaHR0 + cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9rw7ZuaWdzYmVyZy1zZXZlbi1zbWFs + bC1icmlkZ2VzLW9uZS1naWFudC1ncmFwaC1wcm9ibGVtLTIyNzVkMTY3MGEx + MiI+RXVsZXJpYW7CoHBhdGg8L2E+LjwvcD48cD5XaGlsZSBhIEV1bGVyaWFu + IHBhdGggaXMgYSBwYXRoIHdoZXJlIGV2ZXJ5IHNpbmdsZSBlZGdlIGluIGEg + Z3JhcGggaXMgdmlzaXRlZCBvbmNlLCBhIEhhbWlsdG9uaWFuIHBhdGggaXMg + b25lIHdoZXJlIGV2ZXJ5IHNpbmdsZSA8ZW0+dmVydGV4PC9lbT4gaXMgdmlz + aXRlZCBleGFjdGx5wqBvbmNlLjwvcD48cD5CeSB0aGUgc2FtZSB0b2tlbiwg + YSBFdWxlcmlhbiBjaXJjdWl0IGlzIGEgRXVsZXJpYW4gcGF0aCB0aGF0IGVu + ZHMgYXQgdGhlIHNhbWUgdmVydGV4IHdoZXJlIGl0IGJlZ2FuLCB0b3VjaGlu + ZyBlYWNoIDxlbT5lZGdlPC9lbT4gb25jZS4gQSA8c3Ryb25nPjxlbT5IYW1p + bHRvbmlhbiBjaXJjdWl0PC9lbT48L3N0cm9uZz4sIG9uIHRoZSBvdGhlciBo + YW5kLCBpcyBhIEhhbWlsdG9uaWFuIHBhdGggdGhhdCBlbmRzIGF0IHRoZSBz + YW1lIHZlcnRleCB3aGVyZSBpdCBiZWdhbiwgYW5kIHRvdWNoZXMgZWFjaCA8 + ZW0+dmVydGV4PC9lbT4gZXhhY3RsecKgb25jZS48L3A+PGZpZ3VyZT48aW1n + IGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20v + bWF4LzEwMjQvMSp6RWpvM0UyRldvMDJwdHpnd2VybVJBLmpwZWciIC8+PGZp + Z2NhcHRpb24+VFNQIGFzIGEgSGFtaWx0b25pYW4gY2lyY3VpdMKgcHJvYmxl + bS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QSBnb29kIHJ1bGUgb2YgdGh1 + bWIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBwYXRoIHRocm91Z2ggYSBncmFw + aCBpcyBIYW1pbHRvbmlhbiBvciBFdWxlcmlhbiBpc8KgdGhpczo8L3A+PGJs + b2NrcXVvdGU+aW4gYSA8c3Ryb25nPjxlbT5IYW1pbHRvbmlhbiBwYXRoPC9l + bT48L3N0cm9uZz4sIGV2ZXJ5IGVkZ2UgZG9lc27igJl0IG5lZWQgdG8gYmUg + dmlzaXRlZCwgYnV0IGV2ZXJ5IG5vZGUgbXVzdCB2aXNpdGVk4oCK4oCU4oCK + YnV0IG9ubHkgb25jZSEgSW4gY29tcGFyaXNvbiwgaW4gYW4gPGVtPkV1bGVy + aWFuIHBhdGg8L2VtPiwgc29tZSB2ZXJ0aWNlcyBjb3VsZCBiZSB2aXNpdGVk + IG11bHRpcGxlIHRpbWVzLCBidXQgZXZlcnkgZWRnZSBjYW4gb25seSBldmVy + IGJlIHZpc2l0ZWTCoG9uY2UuPC9ibG9ja3F1b3RlPjxwPlRoZSByZWFzb24g + dGhhdCBIYW1pbHRvbuKAmXMgd29yaywgd2hpY2ggaXMgYnVpbHQgdXBvbiBF + dWxlcuKAmXMgZm9ybXVsYXRpb25zLCBjb21lcyB1cCBpbiB0aGUgY29udGV4 + dCBvZiB0aGUgZmFtb3VzIHRyYXZlbGluZyBzYWxlc21hbiBwcm9ibGVtIGlz + IHRoYXQgdGhlIGpvYiBvZiB0aGUgc2FsZXNtYW7igIrigJTigIp0cmF2ZWxp + bmcgdG8gZWFjaCBjaXR5IGV4YWN0bHkgb25jZSBhbmQgZW5kaW5nIHVwIHdo + ZXJlIGhlIGJlZ2Fu4oCK4oCU4oCKaXMgcmVhbGx5IG5vdGhpbmcgbW9yZSB0 + aGFuIGEgZ3JhcGjCoHByb2JsZW0hPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIg + c3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0 + LzEqOVRRSkpJa3J1MTFBUXY4WkVUck1ndy5qcGVnIiAvPjxmaWdjYXB0aW9u + PlRoZSBpY29zaWFuIGdhbWUsIGludmVudGVkIGJ5IFcuUi4gSGFtaWx0b24g + aW4gdGhlwqAxODAwJiMzOTtzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5I + YW1pbHRvbuKAmXMgd29yayBleHBhbmRlZCBncmFwaCB0aGVvcnkgdG8gdGhl + IHBvaW50IHdoZXJlIGhlIHdhcyBhY3R1YWxseSBzb2x2aW5nIHRoZSBUU1Ag + YmVmb3JlIGl0IHdhcyByZWFsbHkgYSB0aGluZy4gSGFtaWx0b24gaW52ZW50 + ZWQgYSBnYW1lIHRoYXQgd2FzIHNpbWlsYXIgdG8gdGhlIHRyYXZlbGluZyBz + YWxlc21hbiBwcm9ibGVtLCB3aGljaCBoZSBjYWxsZWQgdGhlIDxzdHJvbmc+ + PGVtPmljb3NpYW4gZ2FtZTwvZW0+PC9zdHJvbmc+LCB3aG9zZSBvYmplY3Rp + dmUgd2FzIHRvIGZpbmQgYSBwYXRoIHRocm91Z2ggdGhlIHBvaW50cyBvZiBh + IGRvZGVjYWhlZHJvbiwgb3IgYSBwb2x5Z29uIHdpdGggMTIgZmxhdMKgZmFj + ZXMuPC9wPjxwPkhhbWlsdG9u4oCZcyBnYW1lIHdhcyBldmVudHVhbGx5IHR1 + cm5lZCBpbnRvIGFuIGFjdHVhbCBib2FyZCBnYW1lLiBBbmQsIGlmIHdlIHRo + aW5rIGFib3V0IGl0LCBldmVuIHRoZSBpY29zaWFuIGdhbWUgaXMgcmVhbGx5 + IGp1c3QgYW5vdGhlciB2YXJpYXRpb24gb24gdGhlIHRyYXZlbGluZyBzYWxl + c21hbiBwcm9ibGVtISBKdXN0IGFzIGFzIGRvZGVjYWhlZHJvbiBoYXMgMjAg + dmVydGljZXMsIHdlIGNvdWxkIGltYWdpbmUgSGFtaWx0b27igJlzIGdhbWUg + YXMgYSBtYXAgb2YgMjAgY2l0aWVzLiBVc2luZyB0aGlzIGFuYWxvZ3ksIG91 + ciB0cmF2ZWxpbmcgc2FsZXNtYW4gd291bGQgbmVlZCB0byBmaW5kIGEgd2F5 + IHRocm91Z2ggMjAgY2l0aWVzLCB2aXNpdGluZyBlYWNoIGNpdHkgb25jZSwg + YW5kIGVuZGluZyB1cCBleGFjdGx5IHdoZXJlIGhlwqBzdGFydGVkLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvODAwLzEqcnJLNHdES3IzTklhUW1nckhra05vQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkhhbWlsdG9u4oCZcyBpY29zaWFuIGdhbWUs + IMKpIDxhIGhyZWY9Imh0dHA6Ly9wdXp6bGVtdXNldW0uY29tL21vbnRoL3Bp + Y20wMi8yMDAyMDdpY29zaWFuLmh0bSI+UHV6emxlwqBNdXNldW08L2E+PC9m + aWdjYXB0aW9uPjwvZmlndXJlPjxwPlRodXMsIHRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gcHJvYmxlbSBjYW4gcmVhbGx5IGp1c3QgYmUgcmVmb3JtdWxhdGVk + IHRvIGJlIHJlcHJlc2VudGVkIGFzIGEgZ3JhcGguIEx1Y2tpbHksIHdlIGhh + dmUgPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vjcy9hLWdlbnRs + ZS1pbnRyb2R1Y3Rpb24tdG8tZ3JhcGgtdGhlb3J5LTc3OTY5ODI5ZWFkOCI+ + Y292ZXJlZDwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0uY29tL2Jhc2Vj + cy9mcm9tLXRoZW9yeS10by1wcmFjdGljZS1yZXByZXNlbnRpbmctZ3JhcGhz + LWNmZDc4MmM1YmUzOCI+YSB3aG9sZTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9t + ZWRpdW0uY29tL2Jhc2Vjcy9zcGlubmluZy1hcm91bmQtaW4tY3ljbGVzLXdp + dGgtZGlyZWN0ZWQtYWN5Y2xpYy1ncmFwaHMtYTIzMzQ5NmQ0Njg4Ij5sb3Q8 + L2E+IDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MvZGVlcC1k + aXZlLXRocm91Z2gtYS1ncmFwaC1kZnMtdHJhdmVyc2FsLTgxNzdkZjVkMGYx + MyI+b2YgZGlmZmVyZW50PC9hPiA8YSBocmVmPSJodHRwczovL21lZGl1bS5j + b20vYmFzZWNzL2ZpbmRpbmctdGhlLXNob3J0ZXN0LXBhdGgtd2l0aC1hLWxp + dHRsZS1oZWxwLWZyb20tZGlqa3N0cmEtNjEzMTQ5ZmJkYzhlIj50b3BpY3M8 + L2E+IHdoZW4gaXQgY29tZXMgdG8gPGEgaHJlZj0iaHR0cHM6Ly9tZWRpdW0u + Y29tL2Jhc2Vjcy9nb2luZy1icm9hZC1pbi1hLWdyYXBoLWJmcy10cmF2ZXJz + YWwtOTU5YmQxYTA5MjU1Ij5jb21wbGV4IGdyYXBoczwvYT4uIFdl4oCZdmUg + Z290IGEgc29saWQgZm91bmRhdGlvbiB0byBidWlsZCB1cG9uLCBqdXN0IGxp + a2UgSGFtaWx0b27CoGRpZCE8L3A+PHA+T25jZSB3ZeKAmXJlIGFibGUgdG8g + d3JhcCBvdXIgaGVhZHMgYXJvdW5kIHRoZSBmYWN0IHRoYXQgdGhlIHRyYXZl + bGluZyBzYWxlc21hbiBwcm9ibGVtIGlzIHJlYWxseSBqdXN0IGEgZ3JhcGgg + dHJhdmVyc2FsIHByb2JsZW0sIHdlIGNhbiBzdGFydCBnZXR0aW5nIGRvd24g + dG8gYnVzaW5lc3MuIEluIG90aGVyIHdvcmRzLCB3ZSBjYW4gc3RhcnQgdHJ5 + aW5nIHRvIDxlbT5zb2x2ZTwvZW0+IHRoaXMgcHJvYmxlbS4gRm9yIG91ciBw + dXJwb3Nlcywgd2Ugd29u4oCZdCB3b3JyeSBvdXJzZWx2ZXMgd2l0aCB0cnlp + bmcgdG8gZ2V0IHRoZSBiZXN0IHNvbHV0aW9uIG9yIHVzaW5nIHRoZSBtb3N0 + IGVmZmljaWVudCBhcHByb2FjaC4gSW5zdGVhZCwgd2XigJlsbCBzdGFydCBi + eSBzaW1wbHkgdHJ5aW5nIHRvIGdldCBzb21lIGtpbmQgb2Ygc29sdXRpb24g + dG8gYmVnaW4gd2l0aC4gVXNpbmcgdGhlIG9sZCBhZGFnZSA8YSBocmVmPSJo + dHRwOi8vd2lraS5jMi5jb20vP01ha2VJdFdvcmtNYWtlSXRSaWdodE1ha2VJ + dEZhc3QiPmF0dHJpYnV0ZWQgdG88L2E+IEtlbnQgQmVjaywgd2UgbXVzdCBm + aXJzdCDigJxNYWtlIGl0IHdvcmvigJ0gYmVmb3JlIHdlIGNhbiBldmVuIGJl + Z2luIHRvIHRoaW5rIGFib3V0IG1ha2luZyBpdCDigJxyaWdodOKAnSBvcsKg + 4oCcZmFzdOKAnS48L3A+PHA+U28sIGxldOKAmXMgZ2V0IHRvIHdvcmsgYW5k + IGdldCBvdXIgc2FsZXNtYW4gb24gdGhlwqByb2FkITwvcD48aDM+QnJ1dGUt + Zm9yY2UgdG8gYmVnaW7CoHdpdGg8L2gzPjxwPlRoZSB0cmF2ZWxpbmcgc2Fs + ZXNtYW4gaW4gb3VyIGV4YW1wbGUgcHJvYmxlbSBoYXMgaXQgcHJldHR5IGx1 + Y2t54oCK4oCU4oCKaGUgb25seSBoYXMgdG8gdHJhdmVsIGJldHdlZW4gZm91 + ciBjaXRpZXMuIEZvciBzaW1wbGljaXR54oCZcyBzYWtlLCB3ZeKAmWxsIGNh + bGwgdGhlc2UgZm91ciBjaXRpZXMgdywgeCwgeSwgYW5kIHouIEJlY2F1c2Ug + d2Uga25vdyB0aGF0IFRTUCBpcyBhIGdyYXBoIHByb2JsZW0sIHdlIGNhbiB2 + aXN1YWxpemUgb3VyIHNhbGVzbWFu4oCZcyBwb3NzaWJsZSByb3V0ZXMgaW4g + dGhlIGZvcm0gb2YgPHN0cm9uZz48ZW0+YSB3ZWlnaHRlZCwgdW5kaXJlY3Rl + ZCBncmFwaDwvZW0+PC9zdHJvbmc+LiBXZeKAmWxsIHJlY2FsbCB0aGF0IGEg + PGVtPndlaWdodGVkPC9lbT4gZ3JhcGggaXMgb25lIHdob3NlIGVkZ2VzIGhh + dmUgYSBjb3N0IG9yIGRpc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGVtLCBh + bmQgYW4gPGVtPnVuZGlyZWN0ZWQ8L2VtPiBncmFwaCBpcyBvbmUgd2hvc2Ug + ZWRnZXMgaGF2ZSBhIGJpZGlyZWN0aW9uYWwgZmxvdy48L3A+PHA+TG9va2lu + ZyBhdCBhbiBpbGx1c3RyYXRlZCBleGFtcGxlIG9mIG91ciBzYWxlc21hbuKA + mXMgZ3JhcGgsIHdl4oCZbGwgc2VlIHRoYXQgc29tZSByb3V0ZXMgaGF2ZSBh + IGdyZWF0ZXIgZGlzdGFuY2Ugb3IgY29zdCB0aGFuIG90aGVycy4gV2XigJls + bCBhbHNvIG5vdGljZSB0aGF0IG91ciBzYWxlc21hbiBjYW4gdHJhdmVsIGJl + dHdlZW4gYW55IHR3byB2ZXJ0aWNlc8KgZWFzaWx5LjwvcD48ZmlndXJlPjxp + bWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNv + bS9tYXgvMTAyNC8xKkp5VnR6aGhLNDU3VnktYnpxTHJhc1EuanBlZyIgLz48 + ZmlnY2FwdGlvbj5Ib3cgY2FuIHdlIHNvbHZlIGZvciB0aGUgb3B0aW1hbCBw + YXRoIHN0YXJ0aW5nIGFuZCBlbmRpbmcgYXQgbm9kZcKgPGVtPnc8L2VtPj88 + L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+TGV04oCZcyBzYXkgdGhhdCBvdXIg + c2FsZXNtYW4gbGl2ZXMgaW4gY2l0eSB3LCBzbyB0aGF04oCZcyB3aGVyZSBo + ZeKAmWxsIHN0YXJ0IGhpcyBqb3VybmV5IGZyb20uIFNpbmNlIHdl4oCZcmUg + bG9va2luZyBmb3IgYSBIYW1pbHRvbmlhbiBjeWNsZS9jaXJjdWl0LCB3ZSBr + bm93IHRoYXQgdGhpcyBpcyBhbHNvIHdoZXJlIGhlIHdpbGwgbmVlZCB0byBl + bmQgdXAgYXQgdGhlIGVuZCBvZiBoaXMgYWR2ZW50dXJlcy4gU28sIGhvdyBj + YW4gd2Ugc29sdmUgZm9yIHRoZSBvcHRpbWFsIHBhdGggc28gdGhhdCBvdXIg + c2FsZXNtYW4gc3RhcnRzIGFuZCBlbmRzIGF0IGNpdHkgKG5vZGUpIHcsIGJ1 + dCBhbHNvIHZpc2l0cyBldmVyeSBzaW5nbGUgY2l0eSAoeCwgeSwgYW5kIHop + IGluIHRoZcKgcHJvY2Vzcz88L3A+PHA+UmVtZW1iZXIsIHdl4oCZcmUgbm90 + IGdvaW5nIHRvIHRoaW5rIGFib3V0IHRoZSBtb3N0IGVmZmljaWVudCBzdHJh + dGVneeKAiuKAlOKAimp1c3Qgb25lIHRoYXQgPGVtPndvcmtzPC9lbT4uIFNp + bmNlIHdl4oCZcmUgZ29pbmcgdG8gdXNlIHRoZSBicnV0ZS1mb3JjZSBhcHBy + b2FjaCwgbGV04oCZcyB0aGluayBhYm91dCB3aGF0IHdl4oCZcmUgcmVhbGx5 + IHRyeWluZyB0byBzb2x2ZSBmb3IgaGVyZS4gVGhlIGJydXRlLWZvcmNlIGFw + cHJvYWNoIGVmZmVjdGl2ZWx5IG1lYW5zIHRoYXQgd2XigJlsbCBzb2x2ZSBv + dXIgcHJvYmxlbSBieSBmaWd1cmluZyBvdXQgZXZlcnkgc2luZ2xlIHBvc3Np + YmxpdHkgYW5kIHRoZW4gcGlja2luZyB0aGUgYmVzdCBvbmUgZnJvbSB0aGUg + bG90LiBJbiBvdGhlciB3b3Jkcywgd2Ugd2FudCB0byBmaW5kIGV2ZXJ5IHNp + bmdsZSA8c3Ryb25nPjxlbT5wZXJtdXRhdGlvbjwvZW0+PC9zdHJvbmc+IG9y + IDxzdHJvbmc+PGVtPnBvc3NpYmxlIHBhdGg8L2VtPjwvc3Ryb25nPiB0aGF0 + IG91ciBzYWxlc21hbiBjb3VsZCB0YWtlLiBFdmVyeSBzaW5nbGUgb2Ygb25l + IG9mIHRoZXNlIHBvdGVudGlhbCByb3V0ZXMgaXMgYmFzaWNhbGx5IGEgZGly + ZWN0ZWQgZ3JhcGggaW4gaXRzIG93biByaWdodDsgd2Uga25vdyB0aGF0IHdl + 4oCZbGwgc3RhcnQgYXQgdGhlIG5vZGUgdyBhbmQgZW5kIGF0IHcsIGJ1dCB3 + ZSBqdXN0IGRvbuKAmXQga25vdyBxdWl0ZSB5ZXQgd2hpY2ggb3JkZXIgdGhl + IG5vZGVzIHgsIHksIGFuZCB6IHdpbGwgYXBwZWFyIGluwqBiZXR3ZWVuLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKnctYzFPRGFQbkwwX3doTWtGSjZW + Y0EuanBlZyIgLz48ZmlnY2FwdGlvbj5FdmVyeSBwZXJtdXRhdGlvbiBpcywg + b24gaXRzIG93biwgYSBkaXJlY3RlZMKgZ3JhcGguPC9maWdjYXB0aW9uPjwv + ZmlndXJlPjxwPlNvLCB3ZSBuZWVkIHRvIHNvbHZlIGV2ZXJ5IHNpbmdsZSBw + b3NzaWJsZSBjb21iaW5hdGlvbiB0byBkZXRlcm1pbmUgdGhlIGRpZmZlcmVu + dCB3YXlzIHRoYXQgd2UgY291bGQgYXJyYW5nZSB4LCB5LCBhbmQgeiB0byBy + ZXBsYWNlIHRoZSBub2RlcyB0aGF0IGFyZSBjdXJyZW50bHkgZmlsbGVkIHdp + dGjCoD/igJlzLiBUaGF0IGRvZXNu4oCZdCBzZWVtIDxlbT50b28gPC9lbT50 + ZXJyaWJsZS48L3A+PHA+QnV0IGhvdyBkbyB3ZSBhY3R1YWxseSBzb2x2ZSBm + b3IgdGhlc2XCoD8gbm9kZXMsIGV4YWN0bHk/IFdlbGwsIGV2ZW4gdGhvdWdo + IHdl4oCZcmUgdXNpbmcgYSBsZXNzLXRoYW4taWRlYWwgYnJ1dGUtZm9yY2Ug + YXBwcm9hY2gsIHdlIGNhbiBsZWFuIG9uIDxlbT5yZWN1cnNpb248L2VtPiB0 + byBtYWtlIG91ciBzdHJhdGVneSBhIGxpdHRsZSBtb3JlwqBlbGVnYW50Ljwv + cD48YmxvY2txdW90ZT5UaGUgYmFzaWMgaWRlYSBpbiB0aGUgcmVjdXJzaXZl + IFRTUCBhcHByb2FjaCBpcyB0aGF0LCBmb3IgZXZlcnkgc2luZ2xlIG5vZGUg + dGhhdCB3ZSB2aXNpdCwgd2Uga2VlcCB0cmFjayBvZiB0aGUgbm9kZXMgdGhh + dCB3ZSBjYW4gbmF2aWdhdGUgdG8gbmV4dCwgYW5kIHRoZW4gcmVjdXJzaXZl + bHkgdmlzaXTCoHRoZW0uPC9ibG9ja3F1b3RlPjxwPkV2ZW50dWFsbHksIHdl + 4oCZbGwgZW5kIHVwIHdpdGggbm8gbW9yZSBub2RlcyB0byBjaGVjaywgd2hp + Y2ggd2lsbCBiZSBvdXIgcmVjdXJzaXZlIGJhc2UgY2FzZSwgZWZmZWN0aXZl + bHkgZW5kaW5nIG91ciByZWN1cnNpdmUgY2FsbHMgdG8gdmlzaXQgbm9kZXMu + IERvbuKAmXQgd29ycnkgaWYgdGhpcyBzZWVtIGNvbXBsaWNhdGVkIGFuZCBh + IGxpdHRsZSBjb25mdXNpbmcgYXQgdGhlIG1vbWVudDsgaXQgd2lsbCBiZWNv + bWUgYSBsb3QgY2xlYXJlciB3aXRoIGFuIGV4YW1wbGUuIFNvLCBsZXTigJlz + IHJlY3Vyc2l2ZWx5IGJydXRlLWZvcmNlIG91ciB3YXkgdGhyb3VnaCB0aGVz + ZSBjaXRpZXMgYW5kIGhlbHAgb3VyIHNhbGVzbWFuIGdldCBob21lIHNhZmUg + YW5kwqBzb3VuZCE8L3A+PHA+V2UgYWxyZWFkeSBrbm93IHRoYXQgb3VyIHNh + bGVzbWFuIGlzIGdvaW5nIHRvIHN0YXJ0IGF0IG5vZGUgdy4gVGh1cywgdGhp + cyBpcyB0aGUgbm9kZSB3ZeKAmWxsIHN0YXJ0IHdpdGggYW5kIHZpc2l0IGZp + cnN0LiBUaGVyZSBhcmUgdHdvIHRoaW5ncyB3ZSB3aWxsIG5lZWQgdG8gZG8g + Zm9yIGV2ZXJ5IHNpbmdsZSBub2RlIHRoYXQgd2UgdmlzaXTigIrigJTigIp3 + ZeKAmWxsIG5lZWQgdG8gcmVtZW1iZXIgdGhlIGZhY3QgdGhhdCB3ZeKAmXZl + IHZpc2l0ZWQgaXQsIGFuZCB3ZeKAmWxsIG5lZWQgdG8ga2VlcCB0cmFjayBv + ZiB0aGUgbm9kZXMgdGhhdCB3ZSBjYW4gPGVtPnBvdGVudGlhbGx5PC9lbT4g + dmlzaXTCoG5leHQuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRw + czovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEqcjVSWFVG + VWZ0Wmtaa2x3bHZlQW1pdy5qcGVnIiAvPjxmaWdjYXB0aW9uPkdlbmVyYXRp + bmcgcmVjdXJzaXZlIGNhbGxzIGZvciBUU1AsIHBhcnTCoDEuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPkhlcmUsIHdl4oCZcmUgdXNpbmcgYSBsaXN0IG5v + dGF0aW9uIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2UgY2Fu + IG5hdmlnYXRlIHRvIGZyb20gbm9kZSB3LiBBdCBmaXJzdCwgd2UgY2FuIG5h + dmlnYXRlIHRvIHRocmVlIGRpZmZlcmVudCBwbGFjZXM6IHt4LCB5LMKgen0u + PC9wPjxwPlJlY2FsbCB0aGF0IHJlY3Vyc2lvbiBpcyBiYXNpY2FsbHkgdGhl + IGlkZWEgdGhhdCBhIOKAnGZ1bmN0aW9uIGNhbGxzIGl0c2VsZiBmcm9tIHdp + dGhpbiBpdHNlbGbigJ0uIEluIG90aGVyIHdvcmRzLCBhcyBwYXJ0IG9mIHNv + bHZpbmcgdGhpcyBwcm9ibGVtLCB3ZeKAmXJlIGdvaW5nIHRvIGhhdmUgdG8g + YXBwbHkgdGhlIHNhbWUgcHJvY2VzcyBhbmQgdGVjaG5pcXVlIHRvIGV2ZXJ5 + IHNpbmdsZSBub2RlLCBhZ2FpbiBhbmQgYWdhaW4uIFNvIHRoYXTigJlzIGV4 + YWN0bHkgd2hhdCB3ZeKAmWxsIGRvIG5leHQhIEZvciBldmVyeSBzaW5nbGUg + bm9kZSB0aGF0IHdlIGNhbiBwb3RlbnRpYWxseSBuYXZpZ2F0ZSB0bywgd2Ug + d2lsbCByZWN1cnNpdmVseSB2aXNpdMKgaXQuPC9wPjxmaWd1cmU+PGltZyBh + bHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21h + eC8xMDI0LzEqMG96VDlvaHIzZEIzZTRnSVlTcWhfUS5qcGVnIiAvPjxmaWdj + YXB0aW9uPkdlbmVyYXRpbmcgcmVjdXJzaXZlIGNhbGxzIGZvciBUU1AsIHBh + cnTCoDIuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5vdGljZSB0aGF0IHdl + 4oCZcmUgc3RhcnRpbmcgdG8gY3JlYXRlIGEgdHJlZS1saWtlIHN0cnVjdHVy + ZS4gRm9yIGVhY2ggb2YgdGhlIHBvdGVudGlhbCBub2RlcyB0byB2aXNpdCBm + cm9tIHRoZSBzdGFydGluZyBub2RlIHcsIHdlIG5vdyBoYXZlIHRocmVlIHBv + dGVudGlhbCBjaGlsZCDigJxwYXRoc+KAnSB0aGF0IHdlIGNvdWxkIHRha2Uu + IEFnYWluLCBmb3IgZWFjaCBvZiB0aGVzZSB0aHJlZSB2ZXJ0aWNlcywgd2Xi + gJlyZSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBub2RlIGl0c2VsZiB0aGF0IHdl + 4oCZcmUgdmlzaXRpbmcgYXMgd2VsbCBhcyBhbnkgcG90ZW50aWFsIG5vZGVz + IHRoYXQgd2UgY2FuIHZpc2l0IG5leHQsIHdoaWNoIGhhdmVu4oCZdCBhbHJl + YWR5IGJlZW4gdmlzaXRlZCBpbiB0aGF0wqBwYXRoLjwvcD48cD5SZWN1cnNp + b24gaXMgYWJvdXQgcmVwZXRpdGlvbiwgc28gd2XigJlyZSBnb2luZyB0byBk + byB0aGUgc2FtZSB0aGluZyBvbmNlIGFnYWluISBUaGUgbmV4dCBzdGVwIG9m + IHJlY3Vyc2lvbiBleHBhbmRzIG91ciB0cmVlIG9uY2XCoGFnYWluLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvMTAyNC8xKkVKZ2VDRVFvTHRwc0NXc1FtUl8yMVEu + anBlZyIgLz48ZmlnY2FwdGlvbj5HZW5lcmF0aW5nIHJlY3Vyc2l2ZSBjYWxs + cyBmb3IgVFNQLCBwYXJ0wqAzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5X + ZeKAmWxsIG5vdGljZSB0aGF0LCBzaW5jZSBlYWNoIG9mIHRoZSB0aHJlZSBu + b2RlcyB4LCB5LCBhbmQgeiBoYWQgdHdvIG5vZGVzIHRoYXQgd2UgY291bGQg + cG90ZW50aWFsbHkgdmlzaXQgbmV4dCwgZWFjaCBvZiB0aGVtIGhhdmUgc3Bh + d25lZCBvZiB0d28gb2YgdGhlaXIgb3duIHJlY3Vyc2l2ZSBjYWxscy4gV2Xi + gJlsbCBjb250aW51ZSB0byBtYWtlIHJlY3Vyc2l2ZSBjYWxscyBpbiB0aGUg + c2FtZSB3YXkgYW5kLCBpbiB0aGUgcHJvY2Vzcywgd2XigJlsbCBzdGFydCB0 + byBzZWUgdGhhdCB3ZeKAmXJlIGNyZWF0aW5nIGRpZmZlcmVudCBwZXJtdXRh + dGlvbnMgdXNpbmcgdGhlIHNhbWXCoG5vZGVzLjwvcD48cD5XZeKAmWxsIG5v + dGljZSB0aGF0IHdl4oCZcmUgbm93IGF0IHRoZSB0aGlyZCBsZXZlbCBvZiBy + ZWN1cnNpdmUgY2FsbHMsIGFuZCBlYWNoIG5vZGUgaGFzIG9ubHkgb25lIHBv + c3NpYmxlIHBsYWNlIHRvIHZpc2l0IG5leHQuIFdlIGNhbiBwcm9iYWJseSBn + dWVzcyB3aGF0IGhhcHBlbnMgbmV4dOKAiuKAlOKAim91ciB0cmVlIGlzIGdv + aW5nIHRvIGdyb3cgYWdhaW4sIGFuZCBlYWNoIG9mIHRoZSBib3R0b20tbGV2 + ZWwgbm9kZXMgaXMgZ29pbmcgdG8gc3Bhd24gYSBzaW5nbGUgcmVjdXJzaXZl + IGNhbGwgb2YgaXRzIG93biwgc2luY2UgZWFjaCBub2RlIGhhcyBvbmx5IG9u + ZSB1bnZpc2l0ZWQgdmVydGV4IHRoYXQgaXQgY2FuIHBvdGVudGlhbGx5IGNo + ZWNrLjwvcD48cD5UaGUgaW1hZ2Ugc2hvd24gYmVsb3cgaWxsdXN0cmF0ZXMg + dGhlIG5leHQgdHdvIGxldmVscyBvZiByZWN1cnNpdmUgY2FsbHMuPC9wPjxm + aWd1cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5t + ZWRpdW0uY29tL21heC8xMDI0LzEqelJQVUt4RTh6SHdEMWF4TmlEMGRwQS5q + cGVnIiAvPjxmaWdjYXB0aW9uPkdlbmVyYXRpbmcgcmVjdXJzaXZlIGNhbGxz + IGZvciBUU1AsIHBhcnTCoDQuPC9maWdjYXB0aW9uPjwvZmlndXJlPjxwPk5v + dGljZSB0aGF0LCB3aGVuIHdlIGdldCB0byB0aGUgZm91cnRoIGxldmVsIG9m + IGNoaWxkIG5vZGVzLCB0aGVyZSBpcyBub3doZXJlIGxlZnQgdG8gdmlzaXQ7 + IGV2ZXJ5IG5vZGUgaGFzIGFuIGVtcHR5IGxpc3QgKHt9ICkgb2Ygbm9kZXMg + dGhhdCBpdCBjYW4gdmlzaXQuIFRoaXMgbWVhbnMgdGhhdCB3ZeKAmXZlIGZp + bmlzaGVkIHJlY3Vyc2l2ZWx5IGNoZWNraW5nIGZvciBhbGwgcGVybXV0YXRp + b25zIG9mwqBwYXRocy48L3A+PGJsb2NrcXVvdGU+SG93ZXZlciwgc2luY2Ug + d2XigJlyZSBzb2x2aW5nIGZvciBhIEhhbWlsdG9uaWFuIGN5Y2xlLCB3ZSBh + cmVu4oCZdCBleGFjdGx5IGRvbmUgd2l0aCBlYWNoIG9mIHRoZXNlIHBhdGhz + IGp1c3QgeWV0LiBXZSBrbm93IHdlIHdhbnQgdG8gZW5kIGJhY2sgd2hlcmUg + d2Ugc3RhcnRlZCBhdCBub2RlIHcsIHNvIGluIHJlYWxpdHksIGVhY2ggb2Yg + dGhlc2UgbGFzdCByZWN1cmlzdmVseS1kZXRlcm1pbmVkIG5vZGVzIG5lZWRz + IHRvIGxpbmsgYmFjayB0byB2ZXJ0ZXjCoHcuPC9ibG9ja3F1b3RlPjxwPk9u + Y2Ugd2UgYWRkIG5vZGUgdyB0byB0aGUgZW5kIG9mIGVhY2ggb2YgdGhlIHBv + c3NpYmxlIHBhdGhzLCB3ZeKAmXJlIGRvbmUgZXhwYW5kaW5nIGFsbCBvZiBv + dXIgcGVybXV0YXRpb25zISBIb29yYXkhIFJlbWVtYmVyIGhvdyB3ZSBkZXRl + cm1pbmVkIGVhcmxpZXIgdGhhdCBldmVyeSBzaW5nbGUgb2Ygb25lIG9mIHRo + ZXNlIHBvdGVudGlhbCByb3V0ZXMgaXMganVzdCBhIGRpcmVjdGVkIGdyYXBo + PyBBbGwgb2YgdGhvc2UgZGlyZWN0ZWQgZ3JhcGhzIGhhdmUgbm93IHJldmVh + bGVkIHRoZW1zZWx2ZXMuIElmIHdlIHN0YXJ0IGZyb20gdGhlIHJvb3Qgbm9k + ZSwgdywgYW5kIHdvcmsgZG93biBlYWNoIHBvc3NpYmxlIGJyYW5jaCBvZiB0 + aGlzIOKAnHRyZWXigJ0sIHdl4oCZbGwgc2VlIHRoYXQgdGhlcmUgYXJlIHNp + eCBkaXN0aW5jdCBwYXRocywgd2hpY2ggYXJlIHJlYWxseSBqdXN0IHNpeCBk + aXJlY3RlZCBncmFwaHMhIFByZXR0eSBjb29sLMKgcmlnaHQ/PC9wPjxwPlNv + LCB3aGF0IGNvbWVzIG5leHQ/IFdl4oCZdmUgZXhwYW5kZWQgYWxsIG9mIHRo + ZXNlIHBhdGhz4oCmYnV0IGhvdyBkbyB3ZSBrbm93IHdoaWNoIG9uZSBpcyB0 + aGUgc2hvcnRlZCBvbmUgb2YgdGhlbcKgYWxsPzwvcD48cD5XZSBoYXZlbuKA + mXQgcmVhbGx5IGJlZW4gY29uc2lkZXJpbmcgdGhlIGNvc3Qgb3IgZGlzdGFu + Y2Ugb2YgdGhpcyB3ZWlnaHRlZCBncmFwaCBzbyBmYXIsIGJ1dCB0aGF04oCZ + cyBhbGwgYWJvdXQgdG8gY2hhbmdlLiBOb3cgdGhhdCB3ZeKAmXZlIGV4cGFu + ZGVkIHRoaXMgcHJvYmxlbSBhbmQgZm91bmQgYWxsIG9mIGl0cyBwb3NzaWJs + ZSBwZXJtdXRhdGlvbnMsIHdlIG5lZWQgdG8gY29uc2lkZXIgdGhlIHRvdGFs + IGNvc3Qgb2YgZWFjaCBvZiB0aGVzZSBwYXRocyBpbiBvcmRlciB0byBmaW5k + IHRoZSBzaG9ydGVzdCBvbmUuIFRoaXMgaXMgd2hlbiBhbiBhZGphY2VuY3kg + bWF0cml4IHJlcHJlc2VudGF0aW9uIG9mIG91ciBvcmlnaW5hbCBncmFwaCB3 + aWxsIGNvbWUgaW4gaGFuZHkuIFJlY2FsbCB0aGF0IGFuIDxzdHJvbmc+PGVt + PmFkamFjZW5jeSBtYXRyaXg8L2VtPjwvc3Ryb25nPiBpcyA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vYmFzZWNzL2Zyb20tdGhlb3J5LXRvLXByYWN0 + aWNlLXJlcHJlc2VudGluZy1ncmFwaHMtY2ZkNzgyYzViZTM4Ij5hIG1hdHJp + eCByZXByZXNlbnRhdGlvbjwvYT4gb2YgZXhhY3RseSA8ZW0+d2hpY2g8L2Vt + PiBub2RlcyBpbiBhIGdyYXBoIGNvbnRhaW4gZWRnZXMgYmV0d2VlbiB0aGVt + LiBXZSBjYW4gdHdlYWsgb3VyIHR5cGljYWwgYWRqYWNlbmN5IG1hdHJpeCBz + byB0aGF0LCBpbnN0ZWFkIG9mIGp1c3QgMeKAmXMgYW5kIDDigJlzLCB3ZSBj + YW4gYWN0dWFsbHkgc3RvcmUgdGhlIHdlaWdodCBvZiBlYWNowqBlZGdlLjwv + cD48ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9tYXgvMTAyNC8xKmZ0ZDRWWjRHczI1cFhaeU9pMGJ3 + SXcuanBlZyIgLz48ZmlnY2FwdGlvbj5XZSBjYW4gdXNlIGFuIGFkamFjZW5j + eSBtYXRyaXggdG8gaGVscCB1cyBrZWVwIHRyYWNrIG9mIGVkZ2UgY29zdHMv + ZGlzdGFuY2VzLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Ob3cgdGhhdCB3 + ZSBoYXZlIGFuIGFkamFjZW5jeSBtYXRyaXggdG8gaGVscCB1cywgbGV04oCZ + cyB1c2UgaXQgdG8gZG8gc29tZSBtYXRo4oCK4oCU4oCKc29tZSA8ZW0+cmVj + dXJzaXZlPC9lbT4gbWF0aCwgdGhhdMKgaXMhPC9wPjxoMz5NaXJyb3IgbWly + cm9yIG9uIHRoZSB3YWxsLCB3aGljaCBpcyB0aGUgc2hvcnRlc3QgcGF0aCBv + ZiB0aGVtwqBhbGw/PC9oMz48cD5JbiBvcmRlciB0byBkZXRlcm1pbmUgd2hp + Y2ggb2YgdGhlc2Ugc2l4IHBvc3NpYmxlIHBhdGhzIGlzIHRoZSBzaG9ydGVz + dCBvbmXigIrigJTigIphbmQgdGh1cyB0aGUgaWRlYWwgY2hvaWNlIGZvciBv + dXIgc2FsZXNtYW7igIrigJTigIp3ZSBuZWVkIHRvIGJ1aWxkIHVwIHRoZSBj + b3N0IG9mIGV2ZXJ5IHNpbmdsZSBvbmUgb2YgdGhlc2XCoHBhdGhzLjwvcD48 + ZmlndXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEu + bWVkaXVtLmNvbS9tYXgvMTAyNC8xKmx2bnBITUxTZGJnX1FtVmJlejlkWVEu + anBlZyIgLz48ZmlnY2FwdGlvbj5DYWxjdWxhdGluZyByZWN1cnNpdmUgY29z + dHMgdXNpbmcgcmVjdXJzaW9uIGZvciBUU1AsIHBhcnTCoDEuPC9maWdjYXB0 + aW9uPjwvZmlndXJlPjxwPlNpbmNlIHdl4oCZdmUgdXNlZCByZWN1cnNpb24g + dG8gZXhwYW5kIHRoZXNlIHBhdGhzIHVudGlsIHdlIGhpdCBvdXIgYmFzZSBj + YXNlIG9mIOKAnG5vIG1vcmUgbm9kZXMgbGVmdCB0byB2aXNpdOKAnSwgd2Ug + Y2FuIHN0YXJ0IHRvIGNsb3NlIHVwIHRoZXNlIHJlY3Vyc2l2ZSBjYWxscywg + YW5kIGNhbGN1bGF0ZSB0aGUgY29zdCBvZiBlYWNoIHBhdGggYWxvbmcgdGhl + wqB3YXkuPC9wPjxwPk9uY2Ugd2Uga25vdyB0aGUgY29zdCBiZXR3ZWVuIHR3 + byB2ZXJ0aWNlcywgd2UgY2FuIHN1bSB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0 + aGVtLCBhbmQgdGhlIHJlbW92ZSB0aGUgbm9kZSBmcm9tIHRoZSB0cmVlLiBU + aGlzIHdpbGwgbWFrZSBtb3JlIHNlbnNlIHdpdGggYW4gZXhhbXBsZSwgc28g + bGV04oCZcyB3b3JrIG91ciB3YXkgZnJvbSB0aGUgbG93ZXN0LWxldmVsIG9m + IHRoaXMgdHJlZSB1bnRpbCB3ZSBoYXZlIGZvdW5kIGEgc29sdXRpb24gZm9y + IHRoZSBzaG9ydGVzdMKgcGF0aC48L3A+PHA+V2Uga25vdyB0aGF0IGV2ZXJ5 + IHNpbmdsZSBvbmUgb2YgdGhlc2UgYnJhbmNoZXPigIrigJTigIplYWNoIG9m + IHdoaWNoIHJlcHJlc2VudHMgYSBwZXJtdXRhdGlvbiBvZiB0aGlzIHBhcnRp + Y3VsYXJseSBwcm9ibGVt4oCK4oCU4oCKZW5kcyB3aXRoIHRoZSBub2RlIHRo + YXQgd2Ugc3RhcnRlZCBvbjogbm9kZSB3LiBXZeKAmWxsIHN0YXJ0IHdpdGgg + bm9kZSB3LCBhbmQgY2FsY3VsYXRlIHRoZSBjb3N0IGZvciBvdXIgc2FsZXNt + YW4gdG8gdHJhdmVswqB0aGVyZS48L3A+PHA+V2VsbCwgc2luY2Ugb3VyIHNh + bGVzbWFuIDxlbT5zdGFydHMgYXQ8L2VtPiBub2RlIHcsIHRoZSBjb3N0IG9m + IHRyYXZlbGluZyB0byBub2RlIHcgaXMgYWN0dWFsbHkganVzdCAwLiBUaGlz + IG1ha2VzIHNlbnNlIGlmIHdlIHRoaW5rIGFib3V0IGl0LCBiZWNhdXNlIG91 + ciBzYWxlc21hbiBpcyBhbHJlYWR5IDxlbT5hdDwvZW0+IHRoYXQgdmVydGV4 + LCBzbyBpdCBpc27igJl0IGdvaW5nIHRvIOKAnGNvc3TigJ0gaGltIGFueXRo + aW5nIHRvIHRyYXZlbCB0aGVyZSEgU28sIHRoZSBtYXRoIGZvciB0aGUgYm90 + dG9tIGxldmVsIGlzIHByZXR0eSBlYXN54oCK4oCU4oCKdGhlIGNvc3QgdG8g + Z2V0IGZyb20gdyB0byB3IGlzIDAuIE5leHQsIHdl4oCZbGwgYXBwbHkgdGhl + IHNhbWUgdGVjaG5pcXVlIGFnYWluLCBidXQgdGhpcyB0aW1lLCB3ZeKAmWxs + IG1vdmUgb25lIGxldmVswqB1cC48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpMb3dPanRDczhuMVJWaDlSdGlvWmtBLmpwZWciIC8+PGZpZ2NhcHRpb24+ + VW5kZXJzdGFuZGluZyB0aGUgbG9naWMgYmVoaW5kIHJlY3Vyc2l2ZSBhZGRp + dGlvbiBmb3LCoFRTUC48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+Rm9yIGV4 + YW1wbGUsIGlmIHdlIHJlZmVyIHRvIG91ciBhZGphY2VuY3kgbWF0cml4IGZy + b20gdGhlIHByZXZpb3VzIHNlY3Rpb24sIHdl4oCZbGwgc2VlIHRoYXQgdGhl + IGNvc3Qgb2YgdHJhdmVsaW5nIGZyb20gdyB0byB6IGlzIDMuIFNpbmNlIHdl + 4oCZcmUgdHJhdmVsaW5nIGZyb20gdyDigJQmZ3Q7IHcg4oCUJmd0OyB6LCB3 + ZSBjYW4gc3VtIHRoZSBkaXN0YW5jZXMgYmV0d2VlbiBlYWNoIG9mIHRoZXNl + IHZlcnRpY2VzIGFzIHdlIGdvLiBUcmF2ZWxpbmcgZnJvbSB3IOKAlCZndDsg + dyBpcyAwLCBhbmQgdHJhdmVsaW5nIGZyb20gdyDigJQmZ3Q7IHogaXMgMywg + c28gd2UgYXJlIGVzc2VudGlhbGx5IGNhbGN1bGF0aW5nIDAgKyAzLiBJbiBh + IHNpbWlsYXIgdmVpbiwgdGhlIGNvc3QgZnJvbSB6IHRvIHkgaXMgMi4gU28s + IHdlIHdpbGwgbmVlZCB0byBjYWxjdWxhdGUgdyDigJQmZ3Q7IHcg4oCUJmd0 + OyB6IC0mZ3Q7IHksIHdoaWNoIGlzIDAgKyAzICvCoDIuPC9wPjxwPlRoZSBk + cmF3aW5nIGJlbG93IGlsbGx1c3RyYXRlcyBob3cgdGhpcyBhZGRpdGlvbiBz + bG93bHkgd29ya3MgaXRzIHdheSB1cCB0aGUgdHJlZSwgY29uZGVuc2luZyB0 + aGUgcmVjdXJzaXZlIGNhbGxzIHRoYXQgYnVpbHQgaXQgdXAgaW4gdGhlIGZp + cnN0wqBwbGFjZS48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBz + Oi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSpkRDV6MXRD + UzRuejM2SDMtSHNiUkd3LmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRp + bmcgcmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBw + YXJ0wqAyLjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5UaHJvdWdoIHRoaXMg + cHJvY2Vzcywgd2XigJlyZSBlZmZlY3RpdmVseSBidWlsZGluZyB1cCB0aGUg + Y29zdCBvciBkaXN0YW5jZSBvZiBlYWNoIHBhdGgsIG9uZSBsZXZlbCBhdCBh + IHRpbWUsIHVzaW5nIG91ciB0cmVlIHN0cnVjdHVyZS4gRWFjaCB0aW1lIHRo + YXQgd2Ugc3VtIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBub2Rlcywgd2Ug + Y2FuIHJlbW92ZSB0aGUgYm90dG9tIG5vZGUgKHRoZSBkZWVwZXIgb2YgdGhl + IHR3byBub2RlcyBiZWluZyBhZGRlZCB0b2dldGhlcikgZnJvbSB0aGUgdHJl + ZSwgc2luY2Ugd2UgZG9u4oCZdCBuZWVkIHRvIHVzZSBpdMKgYW55bW9yZS48 + L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vY2RuLWltYWdl + cy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSozZDl3R0N2Mmk2d1VVbE4yYjhW + MjdBLmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRpbmcgcmVjdXJzaXZl + IGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBwYXJ0wqAzLjwvZmln + Y2FwdGlvbj48L2ZpZ3VyZT48cD5JdCBpcyB3b3J0aCBtZW50aW9uaW5nIHRo + YXQgPHN0cm9uZz48ZW0+d2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGVhY2gg + b2YgdGhlc2UgcGF0aHM8L2VtPjwvc3Ryb25nPiwgZXZlbiBhZnRlciB3ZSBm + aW5pc2ggZG9pbmcgdGhlIHdvcmsgb2YgYWRkaW5nIHVwIHRoZWlyIGNvc3Rz + LiBGb3IgdGhlIHNha2Ugb2YgYnJldml0eSwgdGhlIHBhdGhzIHRoZW1zZWx2 + ZXMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaWxsdXN0cmF0aW9ucyBzaG93 + biBoZXJlLiBIb3dldmVyLCBpdCBpcyBjcnVjaWFsIHRvIGtlZXAgdHJhY2sg + b2Ygd2hpY2ggbm9kZXMgd2VyZSBhdCB0aGUgYm90dG9tIG9mIHRoZSB0cmVl + 4oCK4oCU4oCKb3RoZXJ3aXNlLCB3ZeKAmWQgbG9zZSB0aGUgZW50aXJlIHBh + dGjCoGl0c2VsZiE8L3A+PHA+V2Ugd2lsbCBjb250aW51ZSB0aGlzIHByb2Nl + c3MsIGJ1dCBhdCBzb21lIHBvaW50LCBhbiBvZGQgdGhpbmcgaXMgZ29pbmcg + dG8gaGFwcGVuLiBJbiB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhpcyByZWN1 + cnNpdmUgYWRkaXRpb24sIHdl4oCZbGwgbm90aWNlIHRoYXQgd2UgY29tZSB0 + byBhbiBpbnRlcmVzdGluZyBmb3JrIGluIHRoZSByb2Fk4oCK4oCU4oCKbGl0 + ZXJhbGx5ISBXaGVuIHdlIHJlYWNoIHRoZSB0aGlyZCBsZXZlbCBhbmQgaGF2 + ZSBjb25kZW5zZWQgdGhlIGJvdHRvbSBwYXJ0IG9mIHRoZSB0cmVlLCB3ZSBo + YXZlIHR3byBwb3NzaWJsZSBvcHRpb25zIG9mIGhvdyB3ZSBjYW4gcHJvY2Vl + ZCB3aXRoIG91csKgYWRkaXRvbi48L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBz + cmM9Imh0dHBzOi8vY2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQv + MSpvSzZ3azVXVUdnV2lMOENhaGVUcGlnLmpwZWciIC8+PGZpZ2NhcHRpb24+ + Q2FsY3VsYXRpbmcgcmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBm + b3IgVFNQLCBwYXJ0wqA0LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Gb3Ig + ZXhhbXBsZSwgbG9va2luZyBhdCB0aGUgY2hpbGQgcGF0aHMvYnJhbmNoZXMg + ZnJvbSBub2RlIHgsIHdlIGNvdWxkIGVpdGhlciBzdW0gdGhlIGRpc3RhbmNl + IGZyb20geCB0byB5LCBvciB3ZSBjb3VsZCBzdW0gdGhlIGRpc3RhbmNlIGZy + b20geCB0byB6LiBTbywgaG93IGRvIHdlIGRlY2lkZSB3aGljaCBvbmUgdG/C + oGNob29zZT88L3A+PGZpZ3VyZT48aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8v + Y2RuLWltYWdlcy0xLm1lZGl1bS5jb20vbWF4LzEwMjQvMSp6S2xyem8tYy1O + aW9yMTFsRTZLRWp3LmpwZWciIC8+PGZpZ2NhcHRpb24+Q2FsY3VsYXRpbmcg + cmVjdXJzaXZlIGNvc3RzIHVzaW5nIHJlY3Vyc2lvbiBmb3IgVFNQLCBwYXJ0 + wqA1LjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5PdXIgZ3V0IGluc3RpbmN0 + IHdvdWxkIHRlbGwgdXMgdGhhdCB3ZeKAmXJlIGxvb2tpbmcgZm9yIHRoZSA8 + ZW0+c2hvcnRlc3QgcGF0aDwvZW0+LCB3aGljaCBwcm9iYWJseSBtZWFucyB0 + aGF0IHdl4oCZbGwgd2FudCB0byBjaG9vc2UgdGhlIDxlbT5zbWFsbGVyIDwv + ZW0+b2YgdGhlIHR3byB2YWx1ZXMuIEFuZCB0aGF04oCZcyBleGFjdGx5IHdo + YXQgd2XigJlsbCBkbyEgV2XigJlsbCBjaG9vc2UgdGhlIHBhdGggZnJvbSB6 + IGxlYWRpbmcgYmFjayB0byB4LCBzaW5jZSB0aGUgY29zdCBvZiB0aGF0IHBh + dGggaXMgNiwgd2hpY2ggaXMgZGVmaW5pdGVseSBzbWFsbGVyIHRoYW4gdGhl + IHBhdGggZnJvbSB5IGxlYWRpbmcgYmFjayB0byB4LCB3aGljaCBpc8KgOS48 + L3A+PHA+T25jZSB3ZeKAmXZlIGNob3NlbiB0aGUgc21hbGxlc3Qgb2YgdGhl + IHR3byBwYXRocyBpbiBvdXIg4oCcZm9yayBpbiB0aGUgcm9hZOKAnSwgd2Ug + YXJlIGxlZnQgd2l0aCBqdXN0IHRocmVlIHBhdGhzLiBBbGwgdGhhdOKAmXMg + bGVmdCB0byBkbyBpcyB0byBmaWd1cmUgb3V0IHRoZSB0b3RhbCBjb3N0IG9m + IGZyb20geCB0byB3LCB5IHRvIHcsIGFuZCB6IHRvIHcuIFJlZmVycmluZyB0 + byBvdXIgYWRqYWNlbmN5IG1hdHJpeCwgd2XigJlsbCBzZWUgdGhhdCB0aGVz + ZSBkaXN0YW5jZXMgYXJlIDYsIDEsIGFuZCAzLCByZXNwZWN0aXZlbHkuPC9w + PjxwPldlIGNhbiBhZGQgdGhlc2UgdG8gdGhlIHRvdGFsIGNvc3RzIG9mIHRo + ZSBwYXRocyB0aGF0IHdl4oCZdmUgYmVlbiByZWN1cnNpdmVseSBzdW1taW5n + IHRoaXMgd2hvbGUgdGltZS4gSW4gdGhlIGlsbHVzdHJhdGlvbiBhYm92ZSwg + d2XigJlsbCBzZWUgdGhhdCB0aGUgdGhyZWUgc2hvcnRlc3QgcGF0aHMgdGhh + dCB3ZeKAmXZlIGRldGVybWluZWQgYXJlIGFjdHVhbGx5IG5vdGVkIGRvd24g + Zm9yIGNvbnZlbmllbmNlLiBBcyBpdCB0dXJucyBvdXQsIHRoZXJlIGlzIG9u + ZSBwYXRoIHRoYXQgY29zdHMgMTIsIGFuZCB0d28gcGF0aHMgdGhhdCBib3Ro + IGNvc3QgMTEuIE9uZSBvZiB0aG9zZSB0cmF2ZWxzIGZyb20gdyB0byB5LCBh + bmQgdGFrZXMgdGhlIHJvdXRlIG9mIHcgLSZndDsgeSAtJmd0OyB4IC0mZ3Q7 + IHogLSZndDsgdywgd2hpbGUgdGhlIG90aGVyIHRyYXZlbHMgZnJvbSB3IHRv + IHosIGFuZCB0YWtlcyB0aGUgcm91dGUgb2YgdyAtJmd0OyB6LSZndDsgeCAt + Jmd0OyB1IC0mZ3Q7wqB3LjwvcD48YmxvY2txdW90ZT5TaW5jZSB0d28gb2Yg + b3VyIHRocmVlIHBhdGhzIGFyZSBlcXVpdmFsZW50bHkgc21hbGwgaW4gc2l6 + ZSwgaXQgZG9lc27igJl0IHJlYWxseSBtYXR0ZXIgd2hpY2ggb25lIHdlIGNo + b29zZTsgYm90aCBvZiB0aGVtIGFyZSB0aGUg4oCcc2hvcnRlc3QgcGF0aOKA + nSBpbiBzb2x2aW5nIHRoZSB0cmF2ZWxpbmcgc2FsZXNtYW7CoHByb2JsZW0u + PC9ibG9ja3F1b3RlPjxwPkFuZCB0aGVyZSB3ZSBoYXZlIGl0ISBXZeKAmXZl + IHNvbHZlZCBmb3IgYSBIYW1pbHRvbmlhbiBjaXJjdWl0IGJ5IGZpbmRpbmcg + dGhlIHNob3J0ZXN0IHBhdGgsIHdpdGggYSBkaXN0YW5jZS9jb3N0IG9mIDEx + LCB0aGF0IHN0YXJ0cyBhbmQgZW5kcyBhdCBub2RlwqB3LjwvcD48ZmlndXJl + PjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVt + LmNvbS9tYXgvMTAyNC8xKmNZTmpHWkl3dld0SDhjdlFEdXVQWEEuanBlZyIg + Lz48ZmlnY2FwdGlvbj5XZeKAmXZlIHNvbHZlZCBmb3IgYSBIYW1pbHRvbmlh + biBjaXJjdWl0ITwvZmlnY2FwdGlvbj48L2ZpZ3VyZT48cD5Tb2x2aW5nIHRo + YXQgd2FzIHByZXR0eSBhd2Vzb21lLCByaWdodD8gSXQgc2VlbWVkIHN1cGVy + IGRhdW50aW5nIGF0IGZpcnN0LCBidXQgYXMgd2Ugd29ya2VkIHRocm91Z2gg + aXQsIGl0IGdvdCBlYXNpZXIgd2l0aCBlYWNoIHN0ZXAuIEJ1dCBoZXJl4oCZ + cyB0aGUgdGhpbmc6IHdlIGhhZCB0byB0YWtlIGEgPGVtPmxvdDwvZW0+IG9m + IHN0ZXBzIHRvIGRvIHRoaXMuIFdlIGtuZXcgZnJvbSB0aGUgYmVnaW5uaW5n + IHRoYXQgd2Ugd2VyZW7igJl0IGdvaW5nIHRvIGhhdmUgdGhlIG1vc3QgZWxl + Z2FudCBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW3igIrigJTigIp3ZSB3ZXJl + IGp1c3QgdHJ5aW5nIHRvIGdldCA8ZW0+c29tZXRoaW5nPC9lbT4gd29ya2lu + Zy4gQnV0IGp1c3QgaG93IHBhaW5mdWwgaXMgdGhlIGJydXRlLWZvcmNlIG1l + dGhvZCzCoGV4YWN0bHk/PC9wPjxwPldlbGwsIHdoYXQgaWYgaW5zdGVhZCBv + ZiBhIHNhbGVzbWFuIHdobyBoYXMgdG8gdHJhdmVsIHRvIGZvdXIgY2l0aWVz + LCB3ZSB3ZXJlIHRyeWluZyB0byBoZWxwIG91dCBhIHNhbGVzbWFuIHdobyBo + YWQgdG8gdHJhdmVsIHRvIGEgd2hvbGUgbG90IG1vcmUgY2l0aWVzPyBXaGF0 + IGlmIHRoZSBudW1iZXIgb2YgY2l0aWVzIHRoYXQgdGhleSBoYWQgdG8gdmlz + aXQgd2FzIG4/IEhvdyBiYWQgd291bGQgb3VyIGJydXRlLWZvcmNlIHRlY2hu + aXF1ZSBiZT88L3A+PHA+V2VsbCwgaW4gb3VyIGZpcnN0IGV4YW1wbGUsIG4g + PSA0LiBXZeKAmWxsIHJlY2FsbCB0aGF0LCBzaW5jZSB3ZSBoYWQgYWxyZWFk + eSB2aXNpdGVkIG91ciBmaXJzdCBjaXR5IChub2RlIHcpLCB3ZSBvbmx5IGhh + ZCB0byBtYWtlIHRocmVlIHJlY3Vyc2l2ZSBjYWxscy4gSW4gb3RoZXIgd29y + ZHMsIHdlIGhhZCB0byBtYWtlIDTigIrigJTigIoxLCBvciBu4oCK4oCU4oCK + MSByZWN1cnNpdmUgY2FsbHMuPC9wPjxmaWd1cmU+PGltZyBhbHQ9IiIgc3Jj + PSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRpdW0uY29tL21heC8xMDI0LzEq + dEMyLXBPUXhxb29DU2tFV21waWI3Zy5qcGVnIiAvPjxmaWdjYXB0aW9uPlNv + bHZpbmcgZm9yIG4gY2l0aWVzIGluIHRoZcKgVFNQLjwvZmlnY2FwdGlvbj48 + L2ZpZ3VyZT48cD5CdXQsIGZvciBlYWNoIG9mIHRob3NlIHJlY3Vyc2l2ZSBj + YWxscywgd2UgaGFkIHRvIHNwYXduIG9mZiB0d28gbW9yZSByZWN1cnNpdmUg + Y2FsbHMhIFRoYXQgaXMgdG8gc2F5LCBmb3IgZWFjaCBwb3RlbnRpYWwgY2l0 + eSB0aGF0IHdlIDxlbT5jb3VsZDwvZW0+IHZpc2l0IGZyb20gdGhlIHRocmVl + IG5vZGVzIHgsIHksIGFuZCB6LCB3ZSBoYWQgNOKAiuKAlOKAijIgPSAyIG9w + dGlvbnMgb2YgcGF0aHMgdG8gdGFrZS4gSW4gYWJzdHJhY3QgdGVybXMsIHdl + 4oCZZCBlZmZlY3RpdmVseSBoYXZlIG7igIrigJTigIoyIHJlY3Vyc2l2ZSBj + YWxscyBhdCB0aGUgbmV4dCBsZXZlbCBvZiBvdXLCoHRyZWUuPC9wPjxmaWd1 + cmU+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Nkbi1pbWFnZXMtMS5tZWRp + dW0uY29tL21heC8xMDI0LzEqdjNwN1dKcWFsNG12cWhHX0NLZjZKZy5qcGVn + IiAvPjxmaWdjYXB0aW9uPkJ1aWxkaW5nIHVwIGFuIHVuc2NhbGFibGUg4oCc + biBmYWN0b3JpYWzigJ0gcHJvYmxlbS48L2ZpZ2NhcHRpb24+PC9maWd1cmU+ + PHA+SWYgd2UgY29udGludWUgZmlndXJpbmcgb3V0IHRoaXMgbWF0aCwgd2Xi + gJlsbCBzZWUgdGhhdCwgYXQgZWFjaCBsZXZlbCBvZiB0aGUgdHJlZSwgd2Ug + YXJlIGJhc2ljYWxseSBvbiB0aGUgcGF0aCB0byBmaW5kaW5nIGEgbnVtYmVy + IHRoYXQgaXMgZ29pbmcgdG8gYmUgYSBmYWN0b3JpYWwuIFRvIGJlIG1vcmUg + c3BlY2lmaWMsIHdl4oCZcmUgZ29pbmcgdG8gZW5kIHVwIHdpdGggbiEsIG9y + IDxzdHJvbmc+PGVtPm4gZmFjdG9yaWFsPC9lbT48L3N0cm9uZz4uPC9wPjxw + Pk5vdywgd2hlbiB3ZSB3ZXJlIGRlYWxpbmcgd2l0aCBhIHNhbGVzbWFuIHdo + byBuZWVkZWQgdG8gdmlzaXQganVzdCBmb3VyIGNpdGllcywgdGhpcyByZWFs + bHkgd2FzbuKAmXQgdG9vIHRlcnJpYmxlIG9mIHNjZW5hcmlvIHRvIGRlYWwg + d2l0aC4gQnV0LCB3aGF0IGhhcHBlbnMgd2hlbiBuIGlzIHNvbWV0aGluZyBt + dWNoLCBtdWNoIGxhcmdlciB0aGFuIDQ/IE1vc3Qgc2FsZXNtZW4gYW5kIHdv + bWVuIGFyZW7igJl0IGdvaW5nIHRvIGJlIHRyYXZlbGluZyBqdXN0IHRvIGZv + dXIgY2l0aWVzOyBpbiBhbG1vc3QgZXZlcnkgcmVhbGlzdGljIGNhc2UsIG4g + aXMgZ29pbmcgdG8gYmUgYSBtdWNoIGxhcmdlcsKgbnVtYmVyITwvcD48Zmln + dXJlPjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVk + aXVtLmNvbS9tYXgvMTAyNC8xKlZySWNPa0JielVBb3dUNVUtSVRoRlEuanBl + ZyIgLz48ZmlnY2FwdGlvbj5UaGUgdHJhdmVsaW5nIHNhbGVzbWFuIGlzIG5v + dCBhIGZhbiBvZiBmYWN0b3JpYWwgYWxnb3JpdGhtcyE8L2ZpZ2NhcHRpb24+ + PC9maWd1cmU+PHA+V2VsbCwgdG8gZ2V0IGEgc2Vuc2Ugb2YgaG93IHVuc2Nh + bGFibGUgYSBmYWN0b3JpYWwgYWxnb3JpdGhtIGlzLCB3ZSBuZWVkbuKAmXQg + aW5jcmVhc2UgdGhlIHZhbHVlIG9mIG4gYnkgYWxsIHRoYXQgbXVjaC4gRm9y + IGV4YW1wbGUsIHdoZW4gbiA9IDQsIHdlIG1hZGUgMyEgb3IgNiByZWN1cnNp + dmUgY2FsbHMuIEJ1dCBpZiB3ZSBoYWQgaW5jcmVhc2VkIHRoaXMgb25seSBz + bGlnaHRseSBzbyB0aGF0IG4gPSA1LCB3ZSB3b3VsZCBtYWtlIDQhIG9yIDI0 + IHJlY3Vyc2l2ZSBjYWxscywgd2hpY2ggd291bGQgbGVhZCB0byBhIG11Y2gs + IG11Y2ggbGFyZ2VyIHRyZWUuIEFuZCB3aGF0IGFib3V0IHdoZW4gbiA9IDEw + PyBUaGF0IHdvdWxkIHJlc3VsdCBpbiA5ISByZWN1cnNpdmUgY2FsbHMsIHdo + aWNoIGlzIGEgcmVhbGx5IGh1Z2UgbnVtYmVyOiAzNjIsODgwIHRvIGJlIGV4 + YWN0LiBXZSBwcm9iYWJseSBjYW7igJl0IGV2ZW4gaW1hZ2luZSB3aGF0IHdv + dWxkIGhhcHBlbiBpZiBvdXIgc2FsZXNtYW4gaGFkIHRvIHRyYXZlbCB0byBl + dmVyeSBjaXR5IGluIHRoZSBjb3VudHJ5LCBvciBldmVuIGp1c3QgMTAgY2l0 + aWVzIGZvciB0aGF0wqBtYXR0ZXIhPC9wPjxwPlN1cmVseSwgdGhlcmUgbXVz + dCBiZSBhIGJldHRlciB3YXkgb2YgaGVscGluZyBvdXIgdHJhdmVsaW5nIHNh + bGVzbWFuIG91dCBzbyB0aGF0IGhl4oCZcyBub3QgdHJhdmVsaW5nIGZvcmV2 + ZXI/IFdlbGwsIHRoZXJlIGNlcnRhaW5seSBpcy4gQnV0IG1vcmUgb24gdGhh + dCBuZXh0IHdlZWsuIEluIHRoZSBtZWFudGltZSwgc29tZW9uZSBzaG91bGQg + cmVhbGx5IHRlbGwgdGhpcyBzYWxlc21hbiBhYm91dCBlQmF54oCK4oCU4oCK + aXQgd291bGQgcHJvYmFibHkgc2F2ZSBoaW0gYSB3aG9sZSBsb3Qgb2YgaGVh + cnRhY2hlITwvcD48aDM+UmVzb3VyY2VzPC9oMz48cD5VbnN1cnByaXNpbmds + eSwgdGhlcmUgYXJlIG1hbnkgcmVzb3VyY2VzIG9uIHRoZSB0cmF2ZWxpbmcg + c2FsZXNtYW4gcHJvYmxlbS4gSG93ZXZlciwgbm90IGFsbCBvZiB0aGVtIGFy + ZSBuZWNlc3NhcmlseSBlYXN5IHRvIHVuZGVyc3RhbmQhIFNvbWUgb2YgdGhl + bSBkaXZlIGRlZXAgaW50byB0aGUgdGhlb3J5IGFuZCBtYXRoZW1hdGljcyBv + ZiB0aGUgcHJvYmxlbSwgYW5kIGl0IGNhbiBiZSBoYXJkIHRvIGZpbmQgYmVn + aW5uZXItZnJpZW5kbHkgY29udGVudC4gSGVyZSBhcmUgYSBmZXcgcmVzb3Vy + Y2VzIHRoYXQgYXJlIGZhaXJseSBlYXN5IHRvIHVuZGVyc3RhbmQsIGFuZCBh + IGdvb2QgcGxhY2UgdG8gZ2V0IHN0YXJ0ZWQgaWYgeW914oCZcmUgbG9va2lu + ZyB0byBsZWFybiBtb3JlIGFib3V0wqBUU1AhPC9wPjxvbD48bGk+PGEgaHJl + Zj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1fNTFvdC1SaTBu + ZyI+VHJhdmVsbGluZyBTYWxlc21hbiBQcm9ibGVtPC9hPiwgMDYxMiBUViB3 + LyBORVJEZmlyc3Q8L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy55b3V0 + dWJlLmNvbS93YXRjaD92PUJBZWpud040Q2N3Ij5Db2RpbmcgQ2hhbGxlbmdl + ICMzNS4xOiBUcmF2ZWxpbmcgU2FsZXNwZXJzb248L2E+LCBUaGUgQ29kaW5n + wqBUcmFpbjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cubWF0aC51d2F0 + ZXJsb28uY2EvdHNwL2hpc3RvcnkvaW5kZXguaHRtbCI+SGlzdG9yeSBvZiBU + U1A8L2E+LCBVbml2ZXJzaXR5IG9mIFdhdGVybG9vLCBEZXBhcnRtZW50IG9m + IE1hdGhlbWF0aWNzPC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NzLmluZHN0 + YXRlLmVkdS9+emVlc2hhbi9hbWFuLnBkZiI+VGhlIFRyYXZlbGluZyBTYWxl + c21hbiBwcm9ibGVtPC9hPiwgUHJvZmVzc29yIEFtYW51ciBSYWhtYW7CoFNh + aXllZDwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cudGhlb3Jzb2NpZXR5 + LmNvbS9QYWdlcy9PUk1ldGhvZHMvSGV1cmlzdGljcy9hcnRpY2xlcy9IaXN0 + b3J5VFNQLmFzcHgiPkEgYnJpZWYgSGlzdG9yeSBvZiB0aGUgVHJhdmVsbGlu + ZyBTYWxlc21hbiBQcm9ibGVtPC9hPiwgTmlnZWzCoEN1bW1pbmdzPC9saT48 + bGk+PGEgaHJlZj0iaHR0cHM6Ly9ib29rcy5nb29nbGUuY29tL2Jvb2tzP2lk + PUpCS19CQUFBUUJBSiZhbXA7cGc9UEExJmFtcDtscGc9UEExJmFtcDtkcT1r + YXJsK21lbmdlcittZXNzZW5nZXImYW1wO3NvdXJjZT1ibCZhbXA7b3RzPWtY + cG5MclEtME4mYW1wO3NpZz1BMktwdHBVWUhSU3RhdXc0V1JON1VjalliOUEm + YW1wO2hsPWVuJmFtcDtzYT1YJmFtcDt2ZWQ9MGFoVUtFd2k0MTktc2k2blhB + aFVOd1dNS0hhZnlEa1lRNkFFSVBEQUMjdj1vbmVwYWdlJmFtcDtxPWthcmwl + MjBtZW5nZXIlMjBtZXNzZW5nZXImYW1wO2Y9ZmFsc2UiPlRoZSBUcmF2ZWxp + bmcgU2FsZXNtYW4gUHJvYmxlbSBhbmQgSXRzIFZhcmlhdGlvbjwvYT4sIEdy + ZWdvcnkgR3V0aW4gYW5kIEFicmFoYW0gUC7CoFB1bm5lbjwvbGk+PC9vbD48 + aW1nIHNyYz0iaHR0cHM6Ly9tZWRpdW0uY29tL18vc3RhdD9ldmVudD1wb3N0 + LmNsaWVudFZpZXdlZCZyZWZlcnJlclNvdXJjZT1mdWxsX3JzcyZwb3N0SWQ9 + NTYwNDhkNjcwOWQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxocj48cD48YSBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vYmFzZWNzL3RoZS10cmlhbHMtYW5k + LXRyaWJ1bGF0aW9ucy1vZi10aGUtdHJhdmVsaW5nLXNhbGVzbWFuLTU2MDQ4 + ZDY3MDlkIj5UaGUgVHJpYWxzIEFuZCBUcmlidWxhdGlvbnMgT2YgVGhlIFRy + YXZlbGluZyBTYWxlc21hbjwvYT4gd2FzIG9yaWdpbmFsbHkgcHVibGlzaGVk + IGluIDxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9iYXNlY3MiPmJhc2Vj + czwvYT4gb24gTWVkaXVtLCB3aGVyZSBwZW9wbGUgYXJlIGNvbnRpbnVpbmcg + dGhlIGNvbnZlcnNhdGlvbiBieSBoaWdobGlnaHRpbmcgYW5kIHJlc3BvbmRp + bmcgdG8gdGhpcyBzdG9yeS48L3A+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAg + ICAgICAgPC9pdGVtPgogICAgPC9jaGFubmVsPgo8L3Jzcz4= + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:18 GMT +- request: + method: get + uri: https://medium.com/media/a2f9060031c431865efd8e395a4db624/href + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 302 + message: Found + headers: + Date: + - Mon, 08 Jan 2018 19:17:20 GMT + Content-Type: + - application/octet-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439040461:293d5c270854 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Expires: + - Thu, 09 Sep 1999 09:09:09 GMT + Pragma: + - no-cache + Tk: + - T + Location: + - https://gist.github.com/vaidehijoshi/8080ab913f4a1e8a1a3b9e0387bf5c3a + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17f129d0e99ec-EWR + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:20 GMT +- request: + method: get + uri: https://gist.github.com/vaidehijoshi/8080ab913f4a1e8a1a3b9e0387bf5c3a + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Server: + - GitHub.com + Date: + - Mon, 08 Jan 2018 19:17:21 GMT + Content-Type: + - text/html; charset=utf-8 + Transfer-Encoding: + - chunked + Status: + - 200 OK + Cache-Control: + - no-cache + Vary: + - X-PJAX + X-Ua-Compatible: + - IE=Edge,chrome=1 + X-Request-Id: + - d7745f1054643904f4c5b9f0f090a28c + X-Runtime: + - '0.356823' + Expect-Ct: + - max-age=2592000, report-uri="https://api.github.com/_private/browser/errors" + Content-Security-Policy: + - 'default-src ''none''; base-uri ''self''; block-all-mixed-content; child-src + render.githubusercontent.com; connect-src ''self'' uploads.github.com status.github.com + collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com + github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com + github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; + font-src assets-cdn.github.com; form-action ''self'' github.com gist.github.com; + frame-ancestors ''none''; img-src ''self'' data: assets-cdn.github.com identicons.github.com + collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; + media-src ''none''; script-src assets-cdn.github.com; style-src ''unsafe-inline'' + assets-cdn.github.com' + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-Xss-Protection: + - 1; mode=block + X-Runtime-Rack: + - '0.365971' + X-Github-Request-Id: + - D2F5:4D98:2D82350:41C45B9:5A53C3C0 + body: + encoding: ASCII-8BIT + string: !binary |- + CgoKCgoKPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVh + ZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICA8bGluayByZWw9ImRu + cy1wcmVmZXRjaCIgaHJlZj0iaHR0cHM6Ly9hc3NldHMtY2RuLmdpdGh1Yi5j + b20iPgogIDxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSJodHRwczov + L2F2YXRhcnMwLmdpdGh1YnVzZXJjb250ZW50LmNvbSI+CiAgPGxpbmsgcmVs + PSJkbnMtcHJlZmV0Y2giIGhyZWY9Imh0dHBzOi8vYXZhdGFyczEuZ2l0aHVi + dXNlcmNvbnRlbnQuY29tIj4KICA8bGluayByZWw9ImRucy1wcmVmZXRjaCIg + aHJlZj0iaHR0cHM6Ly9hdmF0YXJzMi5naXRodWJ1c2VyY29udGVudC5jb20i + PgogIDxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSJodHRwczovL2F2 + YXRhcnMzLmdpdGh1YnVzZXJjb250ZW50LmNvbSI+CiAgPGxpbmsgcmVsPSJk + bnMtcHJlZmV0Y2giIGhyZWY9Imh0dHBzOi8vZ2l0aHViLWNsb3VkLnMzLmFt + YXpvbmF3cy5jb20iPgogIDxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVm + PSJodHRwczovL3VzZXItaW1hZ2VzLmdpdGh1YnVzZXJjb250ZW50LmNvbS8i + PgoKCgogIDxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0 + dHBzOi8vYXNzZXRzLWNkbi5naXRodWIuY29tL2Fzc2V0cy9mcmFtZXdvcmtz + LWYyN2Q4MDdhZmI2MTBiZjEyNmNiZmI5Y2U0Mjk0MzhhMzI4ZTAxMjIzOWU1 + YTc3ZmM4MTUyYjc5NDU1M2RmYzAuY3NzIiBtZWRpYT0iYWxsIiByZWw9InN0 + eWxlc2hlZXQiIC8+CiAgPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIg + aHJlZj0iaHR0cHM6Ly9hc3NldHMtY2RuLmdpdGh1Yi5jb20vYXNzZXRzL2dp + dGh1Yi0xYmFiYzFiZDYzMjdiZjg4OTM1OGU0ZDM5ZDI4NGRhOWI4NDEyN2Yz + MTU0YjkyNWIzZjI4MDRkNzdkYzgwYWVhLmNzcyIgbWVkaWE9ImFsbCIgcmVs + PSJzdHlsZXNoZWV0IiAvPgogIAogIAogIDxsaW5rIGNyb3Nzb3JpZ2luPSJh + bm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vYXNzZXRzLWNkbi5naXRodWIuY29t + L2Fzc2V0cy9zaXRlLTc4NGFjNDM1YmFiODkyODkzNjEzYWViZjhmYzc5MzUx + NTEwZmI3MzFhNjU5NDA2ZTBhMjkzMGY3NjQzZGU0NWYuY3NzIiBtZWRpYT0i + YWxsIiByZWw9InN0eWxlc2hlZXQiIC8+CiAgCgogIDxtZXRhIG5hbWU9InZp + ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgogIAogIDx0 + aXRsZT5hc3RfZXNwcmltYV9leGFtcGxlLmpzIMK3IEdpdEh1YjwvdGl0bGU+ + CiAgPGxpbmsgcmVsPSJzZWFyY2giIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5z + ZWFyY2hkZXNjcmlwdGlvbit4bWwiIGhyZWY9Ii9vcGVuc2VhcmNoLnhtbCIg + dGl0bGU9IkdpdEh1YiI+CiAgPGxpbmsgcmVsPSJmbHVpZC1pY29uIiBocmVm + PSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9mbHVpZGljb24ucG5nIiB0aXRs + ZT0iR2l0SHViIj4KICA8bWV0YSBwcm9wZXJ0eT0iZmI6YXBwX2lkIiBjb250 + ZW50PSIxNDAxNDg4NjkzNDM2NTI4Ij4KCiAgICAKICAgIDxtZXRhIGNvbnRl + bnQ9Imh0dHBzOi8vYXZhdGFyczIuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Uv + NjkyMTYxMD9zPTQwMCZhbXA7dj00IiBwcm9wZXJ0eT0ib2c6aW1hZ2UiIC8+ + PG1ldGEgY29udGVudD0iR2lzdCIgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIg + Lz48bWV0YSBjb250ZW50PSJvYmplY3QiIHByb3BlcnR5PSJvZzp0eXBlIiAv + PjxtZXRhIGNvbnRlbnQ9ImFzdF9lc3ByaW1hX2V4YW1wbGUuanMiIHByb3Bl + cnR5PSJvZzp0aXRsZSIgLz48bWV0YSBjb250ZW50PSJodHRwczovL2dpc3Qu + Z2l0aHViLmNvbS92YWlkZWhpam9zaGkvODA4MGFiOTEzZjRhMWU4YTFhM2I5 + ZTAzODdiZjVjM2EiIHByb3BlcnR5PSJvZzp1cmwiIC8+CgogIDxsaW5rIHJl + bD0iYXNzZXRzIiBocmVmPSJodHRwczovL2Fzc2V0cy1jZG4uZ2l0aHViLmNv + bS8iPgogIAogIDxtZXRhIG5hbWU9InBqYXgtdGltZW91dCIgY29udGVudD0i + MTAwMCI+CiAgCiAgPG1ldGEgbmFtZT0icmVxdWVzdC1pZCIgY29udGVudD0i + RDJGNTo0RDk4OjJEODIzNTA6NDFDNDVCOTo1QTUzQzNDMCIgZGF0YS1wamF4 + LXRyYW5zaWVudD4KICAKCiAgPG1ldGEgbmFtZT0ic2VsZWN0ZWQtbGluayIg + dmFsdWU9Imdpc3RfY29kZSIgZGF0YS1wamF4LXRyYW5zaWVudD4KCiAgICA8 + bWV0YSBuYW1lPSJnb29nbGUtc2l0ZS12ZXJpZmljYXRpb24iIGNvbnRlbnQ9 + IktUNWdzOGgwd3ZhYWdMS0FWV3E4YmJlTnduWlpLMXIxWFF5c1gzeHVyTFUi + PgogIDxtZXRhIG5hbWU9Imdvb2dsZS1zaXRlLXZlcmlmaWNhdGlvbiIgY29u + dGVudD0iWnpoVnlFRndiN3czZTAtdU9UbHRtOEpzY2syRjVTdFZpaEQwZXh3 + MmZzQSI+CiAgPG1ldGEgbmFtZT0iZ29vZ2xlLXNpdGUtdmVyaWZpY2F0aW9u + IiBjb250ZW50PSJHWHM1S29VVWtOQ29hQVpuN3dQTi10MDFQeXdwOU0zc0Vq + bnRfM19aV1BjIj4KICAgIDxtZXRhIG5hbWU9Imdvb2dsZS1hbmFseXRpY3Mi + IGNvbnRlbnQ9IlVBLTM3Njk2OTEtNCI+Cgo8bWV0YSBjb250ZW50PSJjb2xs + ZWN0b3IuZ2l0aHViYXBwLmNvbSIgbmFtZT0ib2N0b2x5dGljcy1ob3N0IiAv + PjxtZXRhIGNvbnRlbnQ9Imdpc3QiIG5hbWU9Im9jdG9seXRpY3MtYXBwLWlk + IiAvPjxtZXRhIGNvbnRlbnQ9Imh0dHBzOi8vY29sbGVjdG9yLmdpdGh1YmFw + cC5jb20vZ2l0aHViLWV4dGVybmFsL2Jyb3dzZXJfZXZlbnQiIG5hbWU9Im9j + dG9seXRpY3MtZXZlbnQtdXJsIiAvPjxtZXRhIGNvbnRlbnQ9IkQyRjU6NEQ5 + ODoyRDgyMzUwOjQxQzQ1Qjk6NUE1M0MzQzAiIG5hbWU9Im9jdG9seXRpY3Mt + ZGltZW5zaW9uLXJlcXVlc3RfaWQiIC8+PG1ldGEgY29udGVudD0iaWFkIiBu + YW1lPSJvY3RvbHl0aWNzLWRpbWVuc2lvbi1yZWdpb25fZWRnZSIgLz48bWV0 + YSBjb250ZW50PSJpYWQiIG5hbWU9Im9jdG9seXRpY3MtZGltZW5zaW9uLXJl + Z2lvbl9yZW5kZXIiIC8+CjxtZXRhIGNvbnRlbnQ9Ii8mbHQ7dXNlci1uYW1l + Jmd0Oy8mbHQ7Z2lzdC1pZCZndDsiIGRhdGEtcGpheC10cmFuc2llbnQ9InRy + dWUiIG5hbWU9ImFuYWx5dGljcy1sb2NhdGlvbiIgLz4KCgoKCiAgPG1ldGEg + Y2xhc3M9ImpzLWdhLXNldCIgbmFtZT0iZGltZW5zaW9uMSIgY29udGVudD0i + TG9nZ2VkIE91dCI+CgoKCiAgICA8bWV0YSBjb250ZW50PSJ0cnVlIiBuYW1l + PSJvY3RvbHl0aWNzLWRpbWVuc2lvbi1wdWJsaWMiIC8+PG1ldGEgY29udGVu + dD0iODM4MTI5NDAiIG5hbWU9Im9jdG9seXRpY3MtZGltZW5zaW9uLWdpc3Rf + aWQiIC8+PG1ldGEgY29udGVudD0iODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAz + ODdiZjVjM2EiIG5hbWU9Im9jdG9seXRpY3MtZGltZW5zaW9uLWdpc3RfbmFt + ZSIgLz48bWV0YSBjb250ZW50PSJmYWxzZSIgbmFtZT0ib2N0b2x5dGljcy1k + aW1lbnNpb24tYW5vbnltb3VzIiAvPjxtZXRhIGNvbnRlbnQ9IjY5MjE2MTAi + IG5hbWU9Im9jdG9seXRpY3MtZGltZW5zaW9uLW93bmVyX2lkIiAvPjxtZXRh + IGNvbnRlbnQ9InZhaWRlaGlqb3NoaSIgbmFtZT0ib2N0b2x5dGljcy1kaW1l + bnNpb24tb3duZXJfbG9naW4iIC8+PG1ldGEgY29udGVudD0iZmFsc2UiIG5h + bWU9Im9jdG9seXRpY3MtZGltZW5zaW9uLWZvcmtlZCIgLz4KCiAgPG1ldGEg + Y2xhc3M9ImpzLWdhLXNldCIgbmFtZT0iZGltZW5zaW9uNSIgY29udGVudD0i + cHVibGljIj4KICA8bWV0YSBjbGFzcz0ianMtZ2Etc2V0IiBuYW1lPSJkaW1l + bnNpb242IiBjb250ZW50PSJvd25lZCI+CiAgPG1ldGEgY2xhc3M9ImpzLWdh + LXNldCIgbmFtZT0iZGltZW5zaW9uNyIgY29udGVudD0iamF2YXNjcmlwdCI+ + CgoKICAgICAgPG1ldGEgbmFtZT0iaG9zdG5hbWUiIGNvbnRlbnQ9Imdpc3Qu + Z2l0aHViLmNvbSI+CiAgPG1ldGEgbmFtZT0idXNlci1sb2dpbiIgY29udGVu + dD0iIj4KCiAgICAgIDxtZXRhIG5hbWU9ImV4cGVjdGVkLWhvc3RuYW1lIiBj + b250ZW50PSJnaXN0LmdpdGh1Yi5jb20iPgogICAgPG1ldGEgbmFtZT0ianMt + cHJveHktc2l0ZS1kZXRlY3Rpb24tcGF5bG9hZCIgY29udGVudD0iTVdWaFpU + TmhaVGM0WldFME5UZzVPRGc1TkRWbFpqSTNaVEUwWW1abE1XWmhPR0l4WWpS + a1pUaGlOelkxWTJabE1tUTBOekkyTm1JMFptUXdOakZtTkh4N0luSmxiVzkw + WlY5aFpHUnlaWE56SWpvaU1UQTRMakl4TGpFNU1pNHhPRFlpTENKeVpYRjFa + WE4wWDJsa0lqb2lSREpHTlRvMFJEazRPakpFT0RJek5UQTZOREZETkRWQ09U + bzFRVFV6UXpORE1DSXNJblJwYldWemRHRnRjQ0k2TVRVeE5UUXpPVEEwTVN3 + aWFHOXpkQ0k2SW1kcGRHaDFZaTVqYjIwaWZRPT0iPgoKCiAgPG1ldGEgbmFt + ZT0iaHRtbC1zYWZlLW5vbmNlIiBjb250ZW50PSIzYTEzNmExMTExMTBjNjcy + N2RjMWY5YzFkMjk3ZmMyMDAwMDZhODk1Ij4KCiAgPG1ldGEgaHR0cC1lcXVp + dj0ieC1wamF4LXZlcnNpb24iIGNvbnRlbnQ9ImYwMmE4Mjk4YzE3NTQxMjk0 + ZTVkYWQyZjhmNDQ2MDBhIj4KICAKCiAgICAgIDxsaW5rIGhyZWY9Ii92YWlk + ZWhpam9zaGkuYXRvbSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJhdG9tIiB0 + eXBlPSJhcHBsaWNhdGlvbi9hdG9tK3htbCI+CiAgCiAgPGxpbmsgY3Jvc3Nv + cmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly9hc3NldHMtY2RuLmdp + dGh1Yi5jb20vYXNzZXRzL2dpc3QtZjBkNjdmM2Q3YzBiZDE3NmZhNjUxNmFh + NDQwZTYwOWI3YWFlZWVkMmYwMjdjOGE2ZTAwMWZhODM2ZWIwNjkyZi5jc3Mi + IG1lZGlhPSJhbGwiIHJlbD0ic3R5bGVzaGVldCIgLz4KCgoKCiAgPG1ldGEg + bmFtZT0iYnJvd3Nlci1zdGF0cy11cmwiIGNvbnRlbnQ9Imh0dHBzOi8vYXBp + LmdpdGh1Yi5jb20vX3ByaXZhdGUvYnJvd3Nlci9zdGF0cyI+CgogIDxtZXRh + IG5hbWU9ImJyb3dzZXItZXJyb3JzLXVybCIgY29udGVudD0iaHR0cHM6Ly9h + cGkuZ2l0aHViLmNvbS9fcHJpdmF0ZS9icm93c2VyL2Vycm9ycyI+CgogIDxs + aW5rIHJlbD0ibWFzay1pY29uIiBocmVmPSJodHRwczovL2Fzc2V0cy1jZG4u + Z2l0aHViLmNvbS9waW5uZWQtb2N0b2NhdC5zdmciIGNvbG9yPSIjMDAwMDAw + Ij4KICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgY2xh + c3M9ImpzLXNpdGUtZmF2aWNvbiIgaHJlZj0iaHR0cHM6Ly9hc3NldHMtY2Ru + LmdpdGh1Yi5jb20vZmF2aWNvbi5pY28iPgoKPG1ldGEgbmFtZT0idGhlbWUt + Y29sb3IiIGNvbnRlbnQ9IiMxZTIzMjciPgoKCgogIDwvaGVhZD4KCiAgPGJv + ZHkgY2xhc3M9ImxvZ2dlZC1vdXQgZW52LXByb2R1Y3Rpb24iPgogICAgCgog + IDxkaXYgY2xhc3M9InBvc2l0aW9uLXJlbGF0aXZlIGpzLWhlYWRlci13cmFw + cGVyICI+CiAgICA8YSBocmVmPSIjc3RhcnQtb2YtY29udGVudCIgdGFiaW5k + ZXg9IjEiIGNsYXNzPSJweC0yIHB5LTQgc2hvdy1vbi1mb2N1cyBqcy1za2lw + LXRvLWNvbnRlbnQiPlNraXAgdG8gY29udGVudDwvYT4KICAgIDxkaXYgaWQ9 + ImpzLXBqYXgtbG9hZGVyLWJhciIgY2xhc3M9InBqYXgtbG9hZGVyLWJhciI+ + PGRpdiBjbGFzcz0icHJvZ3Jlc3MiPjwvZGl2PjwvZGl2PgoKICAgIAogICAg + CiAgICAKICAgICAgCgoKCiAgICAgICAgPGRpdiBjbGFzcz0iSGVhZGVyIGdp + c3QtaGVhZGVyIGhlYWRlci1sb2dnZWQtb3V0IiByb2xlPSJiYW5uZXIiPgog + IDxkaXYgY2xhc3M9ImNvbnRhaW5lci1sZyBweC0zIGNsZWFyZml4Ij4KICAg + IDxkaXYgY2xhc3M9ImQtZmxleCBmbGV4LWp1c3RpZnktYmV0d2VlbiI+CiAg + ICAgIDxkaXYgY2xhc3M9ImQtZmxleCI+CiAgICAgICAgPGEgaHJlZj0iLyIg + YXJpYS1sYWJlbD0iR2lzdCBIb21lcGFnZSIgY2xhc3M9ImhlYWRlci1sb2dv + LXdvcmRtYXJrIiBkYXRhLWhvdGtleT0iZyBkIj4KICAgICAgICAgIDxzdmcg + YXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJvY3RpY29uIG9jdGljb24tbG9n + by1naXRodWIiIGhlaWdodD0iMjgiIHZlcnNpb249IjEuMSIgdmlld0JveD0i + MCAwIDQ1IDE2IiB3aWR0aD0iNzgiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9k + ZCIgZD0iTTE4LjUzIDEyLjAzaC0uMDJjLjAwOSAwIC4wMTUuMDEuMDI0LjAx + MWguMDA2bC0uMDEtLjAxem0uMDA0LjAxMWMtLjA5My4wMDEtLjMyNy4wNS0u + NTc0LjA1LS43OCAwLTEuMDUtLjM2LTEuMDUtLjgzVjguMTNoMS41OWMuMDkg + MCAuMTYtLjA4LjE2LS4xOXYtMS43YzAtLjA5LS4wOC0uMTctLjE2LS4xN2gt + MS41OVYzLjk2YzAtLjA4LS4wNS0uMTMtLjE0LS4xM2gtMi4xNmMtLjA5IDAt + LjE0LjA1LS4xNC4xM3YyLjE3cy0xLjA5LjI3LTEuMTYuMjhjLS4wOC4wMi0u + MTMuMDktLjEzLjE3djEuMzZjMCAuMTEuMDguMTkuMTcuMTloMS4xMXYzLjI4 + YzAgMi40NCAxLjcgMi42OSAyLjg2IDIuNjkuNTMgMCAxLjE3LS4xNyAxLjI3 + LS4yMi4wNi0uMDIuMDktLjA5LjA5LS4xNnYtMS41YS4xNzcuMTc3IDAgMCAw + LS4xNDYtLjE4em0yMy42OTYtMi4yYzAtMS44MS0uNzMtMi4wNS0xLjUtMS45 + Ny0uNi4wNC0xLjA4LjM0LTEuMDguMzR2My41MnMuNDkuMzQgMS4yMi4zNmMx + LjAzLjAzIDEuMzYtLjM0IDEuMzYtMi4yNXptMi40My0uMTZjMCAzLjQzLTEu + MTEgNC40MS0zLjA1IDQuNDEtMS42NCAwLTIuNTItLjgzLTIuNTItLjgzcy0u + MDQuNDYtLjA5LjUyYy0uMDMuMDYtLjA4LjA4LS4xNC4wOGgtMS40OGMtLjEg + MC0uMTktLjA4LS4xOS0uMTdsLjAyLTExLjExYzAtLjA5LjA4LS4xNy4xNy0u + MTdoMi4xM2MuMDkgMCAuMTcuMDguMTcuMTd2My43N3MuODItLjUzIDIuMDIt + LjUzbC0uMDEtLjAyYzEuMiAwIDIuOTcuNDUgMi45NyAzLjg4em0tOC43Mi0z + LjYxSDMzLjg0Yy0uMTEgMC0uMTcuMDgtLjE3LjE5djUuNDRzLS41NS4zOS0x + LjMuMzktLjk3LS4zNC0uOTctMS4wOVY2LjI1YzAtLjA5LS4wOC0uMTctLjE3 + LS4xN2gtMi4xNGMtLjA5IDAtLjE3LjA4LS4xNy4xN3Y1LjExYzAgMi4yIDEu + MjMgMi43NSAyLjkyIDIuNzUgMS4zOSAwIDIuNTItLjc3IDIuNTItLjc3cy4w + NS4zOS4wOC40NWMuMDIuMDUuMDkuMDkuMTYuMDloMS4zNGMuMTEgMCAuMTct + LjA4LjE3LS4xN2wuMDItNy40N2MwLS4wOS0uMDgtLjE3LS4xOS0uMTd6bS0y + My43LS4wMWgtMi4xM2MtLjA5IDAtLjE3LjA5LS4xNy4ydjcuMzRjMCAuMi4x + My4yNy4zLjI3aDEuOTJjLjIgMCAuMjUtLjA5LjI1LS4yN1Y2LjIzYzAtLjA5 + LS4wOC0uMTctLjE3LS4xN3ptLTEuMDUtMy4zOGMtLjc3IDAtMS4zOC42MS0x + LjM4IDEuMzggMCAuNzcuNjEgMS4zOCAxLjM4IDEuMzguNzUgMCAxLjM2LS42 + MSAxLjM2LTEuMzggMC0uNzctLjYxLTEuMzgtMS4zNi0xLjM4em0xNi40OS0u + MjVoLTIuMTFjLS4wOSAwLS4xNy4wOC0uMTcuMTd2NC4wOWgtMy4zMVYyLjZj + MC0uMDktLjA4LS4xNy0uMTctLjE3aC0yLjEzYy0uMDkgMC0uMTcuMDgtLjE3 + LjE3djExLjExYzAgLjA5LjA5LjE3LjE3LjE3aDIuMTNjLjA5IDAgLjE3LS4w + OC4xNy0uMTdWOC45NmgzLjMxbC0uMDIgNC43NWMwIC4wOS4wOC4xNy4xNy4x + N2gyLjEzYy4wOSAwIC4xNy0uMDguMTctLjE3VjIuNmMwLS4wOS0uMDgtLjE3 + LS4xNy0uMTd6TTguODEgNy4zNXY1Ljc0YzAgLjA0LS4wMS4xMS0uMDYuMTMg + MCAwLTEuMjUuODktMy4zMS44OS0yLjQ5IDAtNS40NC0uNzgtNS40NC01Ljky + UzIuNTggMS45OSA1LjEgMmMyLjE4IDAgMy4wNi40OSAzLjIuNTguMDQuMDUu + MDYuMDkuMDYuMTRMNy45NCA0LjVjMCAuMDktLjA5LjItLjIuMTctLjM2LS4x + MS0uOS0uMzMtMi4xNy0uMzMtMS40NyAwLTMuMDUuNDItMy4wNSAzLjczczEu + NSAzLjcgMi41OCAzLjdjLjkyIDAgMS4yNS0uMTEgMS4yNS0uMTF2LTIuM0g0 + Ljg4Yy0uMTEgMC0uMTktLjA4LS4xOS0uMTdWNy4zNWMwLS4wOS4wOC0uMTcu + MTktLjE3aDMuNzRjLjExIDAgLjE5LjA4LjE5LjE3eiIvPjwvc3ZnPgogICAg + ICAgICAgPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24g + b2N0aWNvbi1sb2dvLWdpc3QiIGhlaWdodD0iMjgiIHZlcnNpb249IjEuMSIg + dmlld0JveD0iMCAwIDI1IDE2IiB3aWR0aD0iNDAiPjxwYXRoIGZpbGwtcnVs + ZT0iZXZlbm9kZCIgZD0iTTQuNyA4LjczaDIuNDV2NC4wMmMtLjU1LjI3LTEu + NjQuMzQtMi41My4zNC0yLjU2IDAtMy40Ny0yLjItMy40Ny01LjA1IDAtMi44 + NS45MS01LjA2IDMuNDgtNS4wNiAxLjI4IDAgMi4wNi4yMyAzLjI4LjczVjIu + NjZDNy4yNyAyLjMzIDYuMjUgMiA0LjYzIDIgMS4xMyAyIDAgNC42OSAwIDgu + MDNjMCAzLjM0IDEuMTEgNi4wMyA0LjYzIDYuMDMgMS42NCAwIDIuODEtLjI3 + IDMuNTktLjY0VjcuNzNINC43djF6bTYuMzkgMy43MlY2LjA2aC0xLjA1djYu + MjhjMCAxLjI1LjU4IDEuNzIgMS43MiAxLjcydi0uODljLS40OCAwLS42Ny0u + MTYtLjY3LS43di0uMDJ6bS4yNS04LjcyYzAtLjQ0LS4zMy0uNzgtLjc4LS43 + OHMtLjc3LjM0LS43Ny43OC4zMy43OC43Ny43OC43OC0uMzQuNzgtLjc4em00 + LjM0IDUuNjljLTEuNS0uMTMtMS43OC0uNDgtMS43OC0xLjE3IDAtLjc3LjMz + LTEuMzQgMS44OC0xLjM0IDEuMDUgMCAxLjY2LjE2IDIuMjcuMzZ2LS45NGMt + LjY5LS4zLTEuNTItLjM5LTIuMjUtLjM5LTIuMiAwLTIuOTIgMS4yLTIuOTIg + Mi4zMSAwIDEuMDguNDcgMS44OCAyLjczIDIuMDggMS41NS4xMyAxLjc3LjYz + IDEuNzcgMS4zNCAwIC43My0uNDQgMS40Mi0yLjA2IDEuNDItMS4xMSAwLTEu + ODYtLjE5LTIuMzMtLjM2di45NGMuNS4yIDEuNTguMzkgMi4zMy4zOSAyLjM4 + IDAgMy4xNC0xLjIgMy4xNC0yLjQxIDAtMS4yOC0uNTMtMi4wMy0yLjc1LTIu + MjNoLS4wM3ptOC41OC0yLjQ3di0uODZoLTIuNDJ2LTIuNWwtMS4wOC4zMXYy + LjExbC0xLjU2LjQ0di40OGgxLjU2djVjMCAxLjUzIDEuMTkgMi4xMyAyLjUg + Mi4xMy4xOSAwIC41Mi0uMDIuNjktLjA1di0uODljLS4xOS4wMy0uNDEuMDMt + LjYxLjAzLS45NyAwLTEuNS0uMzktMS41LTEuMzRWNi45NGgyLjQydi4wMi0u + MDF6Ii8+PC9zdmc+CjwvYT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaXRlLXNl + YXJjaCBqcy1zaXRlLXNlYXJjaCIgcm9sZT0ic2VhcmNoIj4KICAgICAgICAg + ICAgPGRpdiBjbGFzcz0iaGVhZGVyLXNlYXJjaCIgcm9sZT0ic2VhcmNoIj4K + CjwhLS0gJyJgIC0tPjwhLS0gPC90ZXh0YXJlYT48L3htcD4gLS0+PC9vcHRp + b24+PC9mb3JtPjxmb3JtIGFjY2VwdC1jaGFyc2V0PSJVVEYtOCIgYWN0aW9u + PSIvc2VhcmNoIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUganMtcXVpY2tz + ZWFyY2gtZm9ybSIgbWV0aG9kPSJnZXQiPjxkaXYgc3R5bGU9Im1hcmdpbjow + O3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZSI+PGlucHV0IG5hbWU9InV0Zjgi + IHR5cGU9ImhpZGRlbiIgdmFsdWU9IiYjeDI3MTM7IiAvPjwvZGl2PgogIDxs + YWJlbCBjbGFzcz0iaGVhZGVyLXNlYXJjaC13cmFwcGVyIGZvcm0tY29udHJv + bCBqcy1jaHJvbWVsZXNzLWlucHV0LWNvbnRhaW5lciI+CiAgICA8aW5wdXQg + dHlwZT0idGV4dCIKICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCBqcy1zaXRl + LXNlYXJjaC1mb2N1cyBoZWFkZXItc2VhcmNoLWlucHV0IgogICAgICBkYXRh + LWhvdGtleT0icyIKICAgICAgbmFtZT0icSIKICAgICAgcGxhY2Vob2xkZXI9 + IlNlYXJjaOKApiIKICAgICAgdGFiaW5kZXg9IjEiCiAgICAgIGF1dG9jb3Jy + ZWN0PSJvZmYiCiAgICAgIGF1dG9jb21wbGV0ZT0ib2ZmIgogICAgICBhdXRv + Y2FwaXRhbGl6ZT0ib2ZmIj4KICA8L2xhYmVsPgoKPC9mb3JtPjwvZGl2PgoK + ICAgICAgICA8L2Rpdj4KCiAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXN0eWxl + LW5vbmUgZC1mbGV4IGZsZXgtaXRlbXMtY2VudGVyIHRleHQtYm9sZCBwbC0y + IiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICAgIDxsaT48YSBocmVmPSIv + ZGlzY292ZXIiIGNsYXNzPSJIZWFkZXJOYXZsaW5rIHB4LTIiIGRhdGEtZ2Et + Y2xpY2s9IkhlYWRlciwgZ28gdG8gYWxsIGdpc3RzLCB0ZXh0OmFsbCBnaXN0 + cyI+QWxsIGdpc3RzPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0i + aHR0cHM6Ly9naXRodWIuY29tIiBjbGFzcz0iSGVhZGVyTmF2bGluayBweC0y + IiBkYXRhLWdhLWNsaWNrPSJIZWFkZXIsIGdvIHRvIEdpdEh1YiwgdGV4dDpH + aXRIdWIiPkdpdEh1YjwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwv + ZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyIgcm9s + ZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9qb2luP3Nv + dXJjZT1oZWFkZXItZ2lzdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgZGF0 + YS1nYS1jbGljaz0iSGVhZGVyLCBzaWduIHVwIj5TaWduIHVwIGZvciBhIEdp + dEh1YiBhY2NvdW50PC9hPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9n + aXN0LmdpdGh1Yi5jb20vYXV0aC9naXRodWI/cmV0dXJuX3RvPWh0dHBzJTNB + JTJGJTJGZ2lzdC5naXRodWIuY29tJTJGdmFpZGVoaWpvc2hpJTJGODA4MGFi + OTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EiIGNsYXNzPSJidG4iIGRhdGEt + Z2EtY2xpY2s9IkhlYWRlciwgc2lnbiBpbiI+U2lnbiBpbjwvYT4KICAgICAg + ICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCgoKICA8L2Rp + dj4KCiAgPGRpdiBpZD0ic3RhcnQtb2YtY29udGVudCIgY2xhc3M9InNob3ct + b24tZm9jdXMiPjwvZGl2PgoKICAgIDxkaXYgaWQ9ImpzLWZsYXNoLWNvbnRh + aW5lciI+CjwvZGl2PgoKCgogIDxkaXYgcm9sZT0ibWFpbiIgPgogICAgICAg + IDxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9D + b2RlIj4KICAgIDxkaXYgaWQ9Imdpc3QtcGpheC1jb250YWluZXIiIGNsYXNz + PSJnaXN0LWNvbnRlbnQtd3JhcHBlciIgZGF0YS1wamF4LWNvbnRhaW5lcj4K + ICAgICAgCgoKICA8ZGl2IGNsYXNzPSJnaXN0LWRldGFpbC1pbnRybyBnaXN0 + LWJhbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8 + YSBocmVmPSIvIiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lIGZsb2F0LXJpZ2h0 + Ij5DcmVhdGUgYSBnaXN0IG5vdzwvYT4KICAgICAgPHAgY2xhc3M9ImxlYWQi + PgogICAgICAgIEluc3RhbnRseSBzaGFyZSBjb2RlLCBub3RlcywgYW5kIHNu + aXBwZXRzLgogICAgICA8L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCgo8ZGl2 + IGNsYXNzPSJnaXN0aGVhZCBwYWdlaGVhZCByZXBvaGVhZCBpbnN0YXBhcGVy + X2lnbm9yZSByZWFkYWJpbGl0eS1tZW51IGV4cGVyaW1lbnQtcmVwby1uYXYg + bWItNCI+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIAogIAo8ZGl2 + IGNsYXNzPSJjb250YWluZXIgcmVwb2hlYWQtZGV0YWlscy1jb250YWluZXIi + PgoKICA8dWwgY2xhc3M9InBhZ2VoZWFkLWFjdGlvbnMiPgoKCiAgICA8bGk+ + CiAgICAgICAgPGEgaHJlZj0iL2xvZ2luP3JldHVybl90bz1odHRwcyUzQSUy + RiUyRmdpc3QuZ2l0aHViLmNvbSUyRnZhaWRlaGlqb3NoaSUyRjgwODBhYjkx + M2Y0YTFlOGExYTNiOWUwMzg3YmY1YzNhIiBhcmlhLWxhYmVsPSJZb3UgbXVz + dCBiZSBzaWduZWQgaW4gdG8gc3RhciBhIGdpc3QiIGNsYXNzPSJidG4gYnRu + LXNtIGJ0bi13aXRoLWNvdW50IHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiBy + ZWw9Im5vZm9sbG93Ij4KICAgIDxzdmcgYXJpYS1oaWRkZW49InRydWUiIGNs + YXNzPSJvY3RpY29uIG9jdGljb24tc3RhciIgaGVpZ2h0PSIxNiIgdmVyc2lv + bj0iMS4xIiB2aWV3Qm94PSIwIDAgMTQgMTYiIHdpZHRoPSIxNCI+PHBhdGgg + ZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQgNmwtNC45LS42NEw3IDEgNC45 + IDUuMzYgMCA2bDMuNiAzLjI2TDIuNjcgMTQgNyAxMS42NyAxMS4zMyAxNGwt + LjkzLTQuNzR6Ii8+PC9zdmc+CiAgICBTdGFyCjwvYT4KICA8YSBocmVmPSIv + dmFpZGVoaWpvc2hpLzgwODBhYjkxM2Y0YTFlOGExYTNiOWUwMzg3YmY1YzNh + L3N0YXJnYXplcnMiIGFyaWEtbGFiZWw9IjAgdXNlcnMgc3RhcnJlZCB0aGlz + IGdpc3QiIGNsYXNzPSJzb2NpYWwtY291bnQiPgogICAgMAo8L2E+CiAgICA8 + L2xpPgoKICAgICAgPGxpPgogICAgICAgICAgPGEgaHJlZj0iL2xvZ2luP3Jl + dHVybl90bz1odHRwcyUzQSUyRiUyRmdpc3QuZ2l0aHViLmNvbSUyRnZhaWRl + aGlqb3NoaSUyRjgwODBhYjkxM2Y0YTFlOGExYTNiOWUwMzg3YmY1YzNhIiBh + cmlhLWxhYmVsPSJZb3UgbXVzdCBiZSBzaWduZWQgaW4gdG8gZm9yayBhIGdp + c3QiIGNsYXNzPSJidG4gYnRuLXNtIGJ0bi13aXRoLWNvdW50IHRvb2x0aXBw + ZWQgdG9vbHRpcHBlZC1uIiByZWw9Im5vZm9sbG93Ij4KICAgIDxzdmcgYXJp + YS1oaWRkZW49InRydWUiIGNsYXNzPSJvY3RpY29uIG9jdGljb24tcmVwby1m + b3JrZWQiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAw + IDEwIDE2IiB3aWR0aD0iMTAiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIg + ZD0iTTggMWExLjk5MyAxLjk5MyAwIDAgMC0xIDMuNzJWNkw1IDggMyA2VjQu + NzJBMS45OTMgMS45OTMgMCAwIDAgMiAxYTEuOTkzIDEuOTkzIDAgMCAwLTEg + My43MlY2LjVsMyAzdjEuNzhBMS45OTMgMS45OTMgMCAwIDAgNSAxNWExLjk5 + MyAxLjk5MyAwIDAgMCAxLTMuNzJWOS41bDMtM1Y0LjcyQTEuOTkzIDEuOTkz + IDAgMCAwIDggMXpNMiA0LjJDMS4zNCA0LjIuOCAzLjY1LjggM2MwLS42NS41 + NS0xLjIgMS4yLTEuMi42NSAwIDEuMi41NSAxLjIgMS4yIDAgLjY1LS41NSAx + LjItMS4yIDEuMnptMyAxMGMtLjY2IDAtMS4yLS41NS0xLjItMS4yIDAtLjY1 + LjU1LTEuMiAxLjItMS4yLjY1IDAgMS4yLjU1IDEuMiAxLjIgMCAuNjUtLjU1 + IDEuMi0xLjIgMS4yem0zLTEwYy0uNjYgMC0xLjItLjU1LTEuMi0xLjIgMC0u + NjUuNTUtMS4yIDEuMi0xLjIuNjUgMCAxLjIuNTUgMS4yIDEuMiAwIC42NS0u + NTUgMS4yLTEuMiAxLjJ6Ii8+PC9zdmc+CiAgICBGb3JrCjwvYT4KICA8YSBo + cmVmPSIvdmFpZGVoaWpvc2hpLzgwODBhYjkxM2Y0YTFlOGExYTNiOWUwMzg3 + YmY1YzNhL2ZvcmtzIiBhcmlhLWxhYmVsPSIwIHVzZXJzIGZvcmtlZCB0aGlz + IGdpc3QiIGNsYXNzPSJzb2NpYWwtY291bnQiPgogICAgMAo8L2E+CiAgICAg + IDwvbGk+CiAgPC91bD4KCiAgPGgxIGNsYXNzPSJwdWJsaWMgY3NzLXRydW5j + YXRlIj4KICAgIDxpbWcgYWx0PSJAdmFpZGVoaWpvc2hpIiBjbGFzcz0iYXZh + dGFyIGdpc3QtYXZhdGFyIiBoZWlnaHQ9IjI2IiBzcmM9Imh0dHBzOi8vYXZh + dGFyczIuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjkyMTYxMD9zPTUyJmFt + cDt2PTQiIHdpZHRoPSIyNiIgLz4KICAgIDxzcGFuIGNsYXNzPSJhdXRob3Ii + PjxhIGhyZWY9Ii92YWlkZWhpam9zaGkiIGNsYXNzPSJ1cmwgZm4iIHJlbD0i + YXV0aG9yIj48c3BhbiBpdGVtcHJvcD0iYXV0aG9yIj52YWlkZWhpam9zaGk8 + L3NwYW4+PC9hPjwvc3Bhbj48IS0tCiAgICAgICAgLS0+PHNwYW4gY2xhc3M9 + InBhdGgtZGl2aWRlciI+Lzwvc3Bhbj48IS0tCiAgICAgICAgLS0+PHN0cm9u + ZyBpdGVtcHJvcD0ibmFtZSIgY2xhc3M9Imdpc3QtaGVhZGVyLXRpdGxlIGNz + cy10cnVuY2F0ZS10YXJnZXQiPjxhIGhyZWY9Ii92YWlkZWhpam9zaGkvODA4 + MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EiPmFzdF9lc3ByaW1hX2V4 + YW1wbGUuanM8L2E+PC9zdHJvbmc+CgogICAgPGRpdiBjbGFzcz0iZC1ibG9j + ayB0ZXh0LXNtYWxsIHRleHQtZ3JheSI+CiAgICAgIExhc3QgYWN0aXZlIDx0 + aW1lLWFnbyBkYXRldGltZT0iMjAxNy0xMi0wNVQwMzozOTozN1oiPkRlYyA1 + LCAyMDE3PC90aW1lLWFnbz4KICAgIDwvZGl2PgogIDwvaDE+CjwvZGl2PgoK + PGRpdiBjbGFzcz0iY29udGFpbmVyIGdpc3QtZmlsZS1uYXZpZ2F0aW9uIj4K + ICA8ZGl2IGNsYXNzPSJmbG9hdC1yaWdodCBmaWxlLW5hdmlnYXRpb24tb3B0 + aW9ucyIgZGF0YS1tdWx0aXBsZT4KCiAgICA8ZGl2IGNsYXNzPSJmaWxlLW5h + dmlnYXRpb24tb3B0aW9uIj4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1l + PSJwcm90b2NvbF90eXBlIiB2YWx1ZT0iY2xvbmUiPgoKICA8ZGl2IGNsYXNz + PSJzZWxlY3QtbWVudSBqcy1tZW51LWNvbnRhaW5lciBqcy1zZWxlY3QtbWVu + dSI+CiAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCBqcy1zZWxlY3QtYnV0 + dG9uIGpzLXplcm9jbGlwYm9hcmQtY29udGFpbmVyIj4KICAgICAgPGRpdiBj + bGFzcz0iaW5wdXQtZ3JvdXAtYnV0dG9uIj4KICA8YnV0dG9uIHR5cGU9ImJ1 + dHRvbiIgY2xhc3M9ImJ0biBidG4tc20gc2VsZWN0LW1lbnUtYnV0dG9uIGpz + LW1lbnUtdGFyZ2V0IiBkYXRhLWdhLWNsaWNrPSJSZXBvc2l0b3J5LCBjbG9u + ZSBFbWJlZCwgbG9jYXRpb246cmVwbyBvdmVydmlldyIgYXJpYS1leHBhbmRl + ZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRydWUiPgogICAgRW1iZWQKICA8 + L2J1dHRvbj4KPC9kaXY+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9y + bS1jb250cm9sIGlucHV0LW1vbm9zcGFjZSBpbnB1dC1zbSBqcy16ZXJvY2xp + cGJvYXJkLXRhcmdldCBqcy11cmwtZmllbGQiIHZhbHVlPSImbHQ7c2NyaXB0 + IHNyYz0mcXVvdDtodHRwczovL2dpc3QuZ2l0aHViLmNvbS92YWlkZWhpam9z + aGkvODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EuanMmcXVvdDsm + Z3Q7Jmx0Oy9zY3JpcHQmZ3Q7IiBhcmlhLWxhYmVsPSJDbG9uZSB0aGlzIHJl + cG9zaXRvcnkgYXQgJmx0O3NjcmlwdCBzcmM9JnF1b3Q7aHR0cHM6Ly9naXN0 + LmdpdGh1Yi5jb20vdmFpZGVoaWpvc2hpLzgwODBhYjkxM2Y0YTFlOGExYTNi + OWUwMzg3YmY1YzNhLmpzJnF1b3Q7Jmd0OyZsdDsvc2NyaXB0Jmd0OyIgcmVh + ZG9ubHk+CjxkaXYgY2xhc3M9ImlucHV0LWdyb3VwLWJ1dHRvbiI+CiAgPGJ1 + dHRvbiBhcmlhLWxhYmVsPSJDb3B5IHRvIGNsaXBib2FyZCIgY2xhc3M9Impz + LXplcm9jbGlwYm9hcmQgYnRuIGJ0bi1zbSB6ZXJvY2xpcGJvYXJkLWJ1dHRv + biB0b29sdGlwcGVkIHRvb2x0aXBwZWQtcyIgZGF0YS1jb3BpZWQtaGludD0i + Q29waWVkISIgdHlwZT0iYnV0dG9uIj48c3ZnIGFyaWEtaGlkZGVuPSJ0cnVl + IiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLWNsaXBweSIgaGVpZ2h0PSIxNiIg + dmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTQgMTYiIHdpZHRoPSIxNCI+ + PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAxM2g0djFIMnYtMXpt + NS02SDJ2MWg1Vjd6bTIgM1Y4bC0zIDMgMyAzdi0yaDV2LTJIOXpNNC41IDlI + MnYxaDIuNVY5ek0yIDEyaDIuNXYtMUgydjF6bTkgMWgxdjJjLS4wMi4yOC0u + MTEuNTItLjMuNy0uMTkuMTgtLjQyLjI4LS43LjNIMWMtLjU1IDAtMS0uNDUt + MS0xVjRjMC0uNTUuNDUtMSAxLTFoM2MwLTEuMTEuODktMiAyLTIgMS4xMSAw + IDIgLjg5IDIgMmgzYy41NSAwIDEgLjQ1IDEgMXY1aC0xVjZIMXY5aDEwdi0y + ek0yIDVoOGMwLS41NS0uNDUtMS0xLTFIOGMtLjU1IDAtMS0uNDUtMS0xcy0u + NDUtMS0xLTEtMSAuNDUtMSAxLS40NSAxLTEgMUgzYy0uNTUgMC0xIC40NS0x + IDF6Ii8+PC9zdmc+PC9idXR0b24+CjwvZGl2PgoKICAgIDwvZGl2PgoKICAg + IDxkaXYgY2xhc3M9InNlbGVjdC1tZW51LW1vZGFsLWhvbGRlciI+CiAgICAg + IDxkaXYgY2xhc3M9InNlbGVjdC1tZW51LW1vZGFsIGpzLW1lbnUtY29udGVu + dCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0LW1lbnUtaGVhZGVyIj4K + ICAgICAgICAgIDxzdmcgYXJpYS1sYWJlbD0iQ2xvc2UiIGNsYXNzPSJvY3Rp + Y29uIG9jdGljb24teCBqcy1tZW51LWNsb3NlIiBoZWlnaHQ9IjE2IiByb2xl + PSJpbWciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEyIDE2IiB3aWR0 + aD0iMTIiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNDggOGwz + Ljc1IDMuNzUtMS40OCAxLjQ4TDYgOS40OGwtMy43NSAzLjc1LTEuNDgtMS40 + OEw0LjUyIDggLjc3IDQuMjVsMS40OC0xLjQ4TDYgNi41MmwzLjc1LTMuNzUg + MS40OCAxLjQ4eiIvPjwvc3ZnPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNl + bGVjdC1tZW51LXRpdGxlIj5XaGF0IHdvdWxkIHlvdSBsaWtlIHRvIGRvPzwv + c3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2Vs + ZWN0LW1lbnUtbGlzdCBqcy1uYXZpZ2F0aW9uLWNvbnRhaW5lciIgcm9sZT0i + bWVudSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdC1tZW51LWl0 + ZW0ganMtbmF2aWdhdGlvbi1pdGVtIHNlbGVjdGVkIiByb2xlPSJtZW51aXRl + bSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRk + ZW49InRydWUiIGNsYXNzPSJvY3RpY29uIG9jdGljb24tY2hlY2sgc2VsZWN0 + LW1lbnUtaXRlbS1pY29uIiBoZWlnaHQ9IjE2IiB2ZXJzaW9uPSIxLjEiIHZp + ZXdCb3g9IjAgMCAxMiAxNiIgd2lkdGg9IjEyIj48cGF0aCBmaWxsLXJ1bGU9 + ImV2ZW5vZGQiIGQ9Ik0xMiA1bC04IDgtNC00IDEuNS0xLjVMNCAxMGw2LjUt + Ni41eiIvPjwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVj + dC1tZW51LWl0ZW0tdGV4dCI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlw + ZT0icmFkaW8iIG5hbWU9InByb3RvY29sX3NlbGVjdG9yIiB2YWx1ZT0iZW1i + ZWQiIGNoZWNrZWQ+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2Vs + ZWN0LW1lbnUtaXRlbS1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgIEVtYmVkCiAgICAgICAgICAgICAgICA8L3NwYW4+ + CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXNjcmlwdGlvbiI+ + CiAgICAgICAgICAgICAgICAgICAgRW1iZWQgdGhpcyBnaXN0IGluIHlvdXIg + d2Vic2l0ZS4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAg + ICAgICAgPHNwYW4gY2xhc3M9ImpzLXNlbGVjdC1idXR0b24tdGV4dCBoaWRk + ZW4tc2VsZWN0LWJ1dHRvbi10ZXh0Ij4KICAgICAgICAgICAgICAgICAgPGRp + diBjbGFzcz0iaW5wdXQtZ3JvdXAtYnV0dG9uIj4KICA8YnV0dG9uIHR5cGU9 + ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc20gc2VsZWN0LW1lbnUtYnV0dG9u + IGpzLW1lbnUtdGFyZ2V0IiBkYXRhLWdhLWNsaWNrPSJSZXBvc2l0b3J5LCBj + bG9uZSBFbWJlZCwgbG9jYXRpb246cmVwbyBvdmVydmlldyIgYXJpYS1leHBh + bmRlZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRydWUiPgogICAgRW1iZWQK + ICA8L2J1dHRvbj4KPC9kaXY+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0i + Zm9ybS1jb250cm9sIGlucHV0LW1vbm9zcGFjZSBpbnB1dC1zbSBqcy16ZXJv + Y2xpcGJvYXJkLXRhcmdldCBqcy11cmwtZmllbGQiIHZhbHVlPSImbHQ7c2Ny + aXB0IHNyYz0mcXVvdDtodHRwczovL2dpc3QuZ2l0aHViLmNvbS92YWlkZWhp + am9zaGkvODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EuanMmcXVv + dDsmZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7IiBhcmlhLWxhYmVsPSJDbG9uZSB0aGlz + IHJlcG9zaXRvcnkgYXQgJmx0O3NjcmlwdCBzcmM9JnF1b3Q7aHR0cHM6Ly9n + aXN0LmdpdGh1Yi5jb20vdmFpZGVoaWpvc2hpLzgwODBhYjkxM2Y0YTFlOGEx + YTNiOWUwMzg3YmY1YzNhLmpzJnF1b3Q7Jmd0OyZsdDsvc2NyaXB0Jmd0OyIg + cmVhZG9ubHk+CjxkaXYgY2xhc3M9ImlucHV0LWdyb3VwLWJ1dHRvbiI+CiAg + PGJ1dHRvbiBhcmlhLWxhYmVsPSJDb3B5IHRvIGNsaXBib2FyZCIgY2xhc3M9 + ImpzLXplcm9jbGlwYm9hcmQgYnRuIGJ0bi1zbSB6ZXJvY2xpcGJvYXJkLWJ1 + dHRvbiB0b29sdGlwcGVkIHRvb2x0aXBwZWQtcyIgZGF0YS1jb3BpZWQtaGlu + dD0iQ29waWVkISIgdHlwZT0iYnV0dG9uIj48c3ZnIGFyaWEtaGlkZGVuPSJ0 + cnVlIiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLWNsaXBweSIgaGVpZ2h0PSIx + NiIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTQgMTYiIHdpZHRoPSIx + NCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAxM2g0djFIMnYt + MXptNS02SDJ2MWg1Vjd6bTIgM1Y4bC0zIDMgMyAzdi0yaDV2LTJIOXpNNC41 + IDlIMnYxaDIuNVY5ek0yIDEyaDIuNXYtMUgydjF6bTkgMWgxdjJjLS4wMi4y + OC0uMTEuNTItLjMuNy0uMTkuMTgtLjQyLjI4LS43LjNIMWMtLjU1IDAtMS0u + NDUtMS0xVjRjMC0uNTUuNDUtMSAxLTFoM2MwLTEuMTEuODktMiAyLTIgMS4x + MSAwIDIgLjg5IDIgMmgzYy41NSAwIDEgLjQ1IDEgMXY1aC0xVjZIMXY5aDEw + di0yek0yIDVoOGMwLS41NS0uNDUtMS0xLTFIOGMtLjU1IDAtMS0uNDUtMS0x + cy0uNDUtMS0xLTEtMSAuNDUtMSAxLS40NSAxLTEgMUgzYy0uNTUgMC0xIC40 + NS0xIDF6Ii8+PC9zdmc+PC9idXR0b24+CjwvZGl2PgoKICAgICAgICAgICAg + ICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg + PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdC1tZW51LWl0 + ZW0ganMtbmF2aWdhdGlvbi1pdGVtICIgcm9sZT0ibWVudWl0ZW0iIHRhYmlu + ZGV4PSIwIj4KICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVl + IiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLWNoZWNrIHNlbGVjdC1tZW51LWl0 + ZW0taWNvbiIgaGVpZ2h0PSIxNiIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIw + IDAgMTIgMTYiIHdpZHRoPSIxMiI+PHBhdGggZmlsbC1ydWxlPSJldmVub2Rk + IiBkPSJNMTIgNWwtOCA4LTQtNCAxLjUtMS41TDQgMTBsNi41LTYuNXoiLz48 + L3N2Zz4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWxlY3QtbWVudS1p + dGVtLXRleHQiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlv + IiBuYW1lPSJwcm90b2NvbF9zZWxlY3RvciIgdmFsdWU9InNoYXJlIiA+CiAg + ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VsZWN0LW1lbnUtaXRlbS1o + ZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + IFNoYXJlCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAg + ICAgIDxzcGFuIGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAg + ICAgICAgQ29weSBzaGFyYWJsZSBVUkwgZm9yIHRoaXMgZ2lzdC4KICAgICAg + ICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xh + c3M9ImpzLXNlbGVjdC1idXR0b24tdGV4dCBoaWRkZW4tc2VsZWN0LWJ1dHRv + bi10ZXh0Ij4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQt + Z3JvdXAtYnV0dG9uIj4KICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9 + ImJ0biBidG4tc20gc2VsZWN0LW1lbnUtYnV0dG9uIGpzLW1lbnUtdGFyZ2V0 + IiBkYXRhLWdhLWNsaWNrPSJSZXBvc2l0b3J5LCBjbG9uZSBTaGFyZSwgbG9j + YXRpb246cmVwbyBvdmVydmlldyIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFy + aWEtaGFzcG9wdXA9InRydWUiPgogICAgU2hhcmUKICA8L2J1dHRvbj4KPC9k + aXY+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGlu + cHV0LW1vbm9zcGFjZSBpbnB1dC1zbSBqcy16ZXJvY2xpcGJvYXJkLXRhcmdl + dCBqcy11cmwtZmllbGQiIHZhbHVlPSJodHRwczovL2dpc3QuZ2l0aHViLmNv + bS92YWlkZWhpam9zaGkvODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVj + M2EiIGFyaWEtbGFiZWw9IkNsb25lIHRoaXMgcmVwb3NpdG9yeSBhdCBodHRw + czovL2dpc3QuZ2l0aHViLmNvbS92YWlkZWhpam9zaGkvODA4MGFiOTEzZjRh + MWU4YTFhM2I5ZTAzODdiZjVjM2EiIHJlYWRvbmx5Pgo8ZGl2IGNsYXNzPSJp + bnB1dC1ncm91cC1idXR0b24iPgogIDxidXR0b24gYXJpYS1sYWJlbD0iQ29w + eSB0byBjbGlwYm9hcmQiIGNsYXNzPSJqcy16ZXJvY2xpcGJvYXJkIGJ0biBi + dG4tc20gemVyb2NsaXBib2FyZC1idXR0b24gdG9vbHRpcHBlZCB0b29sdGlw + cGVkLXMiIGRhdGEtY29waWVkLWhpbnQ9IkNvcGllZCEiIHR5cGU9ImJ1dHRv + biI+PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24gb2N0 + aWNvbi1jbGlwcHkiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0Jv + eD0iMCAwIDE0IDE2IiB3aWR0aD0iMTQiPjxwYXRoIGZpbGwtcnVsZT0iZXZl + bm9kZCIgZD0iTTIgMTNoNHYxSDJ2LTF6bTUtNkgydjFoNVY3em0yIDNWOGwt + MyAzIDMgM3YtMmg1di0ySDl6TTQuNSA5SDJ2MWgyLjVWOXpNMiAxMmgyLjV2 + LTFIMnYxem05IDFoMXYyYy0uMDIuMjgtLjExLjUyLS4zLjctLjE5LjE4LS40 + Mi4yOC0uNy4zSDFjLS41NSAwLTEtLjQ1LTEtMVY0YzAtLjU1LjQ1LTEgMS0x + aDNjMC0xLjExLjg5LTIgMi0yIDEuMTEgMCAyIC44OSAyIDJoM2MuNTUgMCAx + IC40NSAxIDF2NWgtMVY2SDF2OWgxMHYtMnpNMiA1aDhjMC0uNTUtLjQ1LTEt + MS0xSDhjLS41NSAwLTEtLjQ1LTEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMS0u + NDUgMS0xIDFIM2MtLjU1IDAtMSAuNDUtMSAxeiIvPjwvc3ZnPjwvYnV0dG9u + Pgo8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAg + ICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2 + IGNsYXNzPSJzZWxlY3QtbWVudS1pdGVtIGpzLW5hdmlnYXRpb24taXRlbSAi + IHJvbGU9Im1lbnVpdGVtIiB0YWJpbmRleD0iMCI+CiAgICAgICAgICAgICAg + PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24gb2N0aWNv + bi1jaGVjayBzZWxlY3QtbWVudS1pdGVtLWljb24iIGhlaWdodD0iMTYiIHZl + cnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEyIDE2IiB3aWR0aD0iMTIiPjxw + YXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDVsLTggOC00LTQgMS41 + LTEuNUw0IDEwbDYuNS02LjV6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgPGRp + diBjbGFzcz0ic2VsZWN0LW1lbnUtaXRlbS10ZXh0Ij4KICAgICAgICAgICAg + ICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icHJvdG9jb2xfc2VsZWN0 + b3IiIHZhbHVlPSJodHRwIiA+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFz + cz0ic2VsZWN0LW1lbnUtaXRlbS1oZWFkaW5nIj4KICAgICAgICAgICAgICAg + ICAgQ2xvbmUgdmlhCiAgICAgICAgICAgICAgICAgIEhUVFBTCiAgICAgICAg + ICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz + PSJkZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgQ2xvbmUgd2l0 + aCBHaXQgb3IgY2hlY2tvdXQgd2l0aCBTVk4gdXNpbmcgdGhlIHJlcG9zaXRv + cnkncyB3ZWIgYWRkcmVzcy4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgog + ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImpzLXNlbGVjdC1idXR0b24t + dGV4dCBoaWRkZW4tc2VsZWN0LWJ1dHRvbi10ZXh0Ij4KICAgICAgICAgICAg + ICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAtYnV0dG9uIj4KICA8YnV0 + dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc20gc2VsZWN0LW1l + bnUtYnV0dG9uIGpzLW1lbnUtdGFyZ2V0IiBkYXRhLWdhLWNsaWNrPSJSZXBv + c2l0b3J5LCBjbG9uZSBIVFRQUywgbG9jYXRpb246cmVwbyBvdmVydmlldyIg + YXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRydWUiPgog + ICAgSFRUUFMKICA8L2J1dHRvbj4KPC9kaXY+CjxpbnB1dCB0eXBlPSJ0ZXh0 + IiBjbGFzcz0iZm9ybS1jb250cm9sIGlucHV0LW1vbm9zcGFjZSBpbnB1dC1z + bSBqcy16ZXJvY2xpcGJvYXJkLXRhcmdldCBqcy11cmwtZmllbGQiIHZhbHVl + PSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS84MDgwYWI5MTNmNGExZThhMWEz + YjllMDM4N2JmNWMzYS5naXQiIGFyaWEtbGFiZWw9IkNsb25lIHRoaXMgcmVw + b3NpdG9yeSBhdCBodHRwczovL2dpc3QuZ2l0aHViLmNvbS84MDgwYWI5MTNm + NGExZThhMWEzYjllMDM4N2JmNWMzYS5naXQiIHJlYWRvbmx5Pgo8ZGl2IGNs + YXNzPSJpbnB1dC1ncm91cC1idXR0b24iPgogIDxidXR0b24gYXJpYS1sYWJl + bD0iQ29weSB0byBjbGlwYm9hcmQiIGNsYXNzPSJqcy16ZXJvY2xpcGJvYXJk + IGJ0biBidG4tc20gemVyb2NsaXBib2FyZC1idXR0b24gdG9vbHRpcHBlZCB0 + b29sdGlwcGVkLXMiIGRhdGEtY29waWVkLWhpbnQ9IkNvcGllZCEiIHR5cGU9 + ImJ1dHRvbiI+PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGlj + b24gb2N0aWNvbi1jbGlwcHkiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIg + dmlld0JveD0iMCAwIDE0IDE2IiB3aWR0aD0iMTQiPjxwYXRoIGZpbGwtcnVs + ZT0iZXZlbm9kZCIgZD0iTTIgMTNoNHYxSDJ2LTF6bTUtNkgydjFoNVY3em0y + IDNWOGwtMyAzIDMgM3YtMmg1di0ySDl6TTQuNSA5SDJ2MWgyLjVWOXpNMiAx + MmgyLjV2LTFIMnYxem05IDFoMXYyYy0uMDIuMjgtLjExLjUyLS4zLjctLjE5 + LjE4LS40Mi4yOC0uNy4zSDFjLS41NSAwLTEtLjQ1LTEtMVY0YzAtLjU1LjQ1 + LTEgMS0xaDNjMC0xLjExLjg5LTIgMi0yIDEuMTEgMCAyIC44OSAyIDJoM2Mu + NTUgMCAxIC40NSAxIDF2NWgtMVY2SDF2OWgxMHYtMnpNMiA1aDhjMC0uNTUt + LjQ1LTEtMS0xSDhjLS41NSAwLTEtLjQ1LTEtMXMtLjQ1LTEtMS0xLTEgLjQ1 + LTEgMS0uNDUgMS0xIDFIM2MtLjU1IDAtMSAuNDUtMSAxeiIvPjwvc3ZnPjwv + YnV0dG9uPgo8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAg + ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwv + ZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdC1tZW51LWxpc3QiIHJv + bGU9Im1lbnUiPgogICAgICAgICAgPGEgY2xhc3M9InNlbGVjdC1tZW51LWl0 + ZW0gc2VsZWN0LW1lbnUtYWN0aW9uIiBocmVmPSJodHRwczovL2hlbHAuZ2l0 + aHViLmNvbS9hcnRpY2xlcy93aGljaC1yZW1vdGUtdXJsLXNob3VsZC1pLXVz + ZSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICA8c3ZnIGFyaWEtaGlk + ZGVuPSJ0cnVlIiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLXF1ZXN0aW9uIHNl + bGVjdC1tZW51LWl0ZW0taWNvbiIgaGVpZ2h0PSIxNiIgdmVyc2lvbj0iMS4x + IiB2aWV3Qm94PSIwIDAgMTQgMTYiIHdpZHRoPSIxNCI+PHBhdGggZmlsbC1y + dWxlPSJldmVub2RkIiBkPSJNNiAxMGgydjJINnYtMnptNC0zLjVDMTAgOC42 + NCA4IDkgOCA5SDZjMC0uNTUuNDUtMSAxLTFoLjVjLjI4IDAgLjUtLjIyLjUt + LjV2LTFjMC0uMjgtLjIyLS41LS41LS41aC0xYy0uMjggMC0uNS4yMi0uNS41 + VjdINGMwLTEuNSAxLjUtMyAzLTNzMyAxIDMgMi41ek03IDIuM2MzLjE0IDAg + NS43IDIuNTYgNS43IDUuN3MtMi41NiA1LjctNS43IDUuN0E1LjcxIDUuNzEg + MCAwIDEgMS4zIDhjMC0zLjE0IDIuNTYtNS43IDUuNy01Ljd6TTcgMUMzLjE0 + IDEgMCA0LjE0IDAgOHMzLjE0IDcgNyA3IDctMy4xNCA3LTctMy4xNC03LTct + N3oiLz48L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0LW1l + bnUtaXRlbS10ZXh0Ij4KICAgICAgICAgICAgICBMZWFybiBtb3JlIGFib3V0 + IGNsb25lIFVSTHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2E+ + CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9k + aXY+CjwvZGl2PgoKCiAgICA8ZGl2IGNsYXNzPSJmaWxlLW5hdmlnYXRpb24t + b3B0aW9uIj4KPC9kaXY+CgoKICAgIDxkaXYgY2xhc3M9ImZpbGUtbmF2aWdh + dGlvbi1vcHRpb24iPgogICAgICA8YSBocmVmPSIvdmFpZGVoaWpvc2hpLzgw + ODBhYjkxM2Y0YTFlOGExYTNiOWUwMzg3YmY1YzNhL2FyY2hpdmUvNjZjMzUy + OGY1NGJmYWUwNDdkNGE3MGMyOTE1MmFiMTMxMGRjZDIwZi56aXAiCiAgICAg + ICAgICBjbGFzcz0iYnRuIGJ0bi1zbSIKICAgICAgICAgIHJlbD0ibm9mb2xs + b3ciCiAgICAgICAgICBkYXRhLWdhLWNsaWNrPSJHaXN0LCBkb3dubG9hZCB6 + aXAsIGxvY2F0aW9uOmdpc3Qgb3ZlcnZpZXciPgogICAgICAgIERvd25sb2Fk + IFpJUAogICAgICA8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBj + bGFzcz0iZmxvYXQtbGVmdCI+CiAgICA8bmF2IGNsYXNzPSJyZXBvbmF2IGpz + LXJlcG8tbmF2IGpzLXNpZGVuYXYtY29udGFpbmVyLXBqYXgiCiAgICAgcm9s + ZT0ibmF2aWdhdGlvbiIKICAgICBkYXRhLXBqYXg9IiNnaXN0LXBqYXgtY29u + dGFpbmVyIj4KCiAgPGEgaHJlZj0iL3ZhaWRlaGlqb3NoaS84MDgwYWI5MTNm + NGExZThhMWEzYjllMDM4N2JmNWMzYSIgYXJpYS1sYWJlbD0iQ29kZSIgY2xh + c3M9ImpzLXNlbGVjdGVkLW5hdmlnYXRpb24taXRlbSBzZWxlY3RlZCByZXBv + bmF2LWl0ZW0iIGRhdGEtaG90a2V5PSJnIGMiIGRhdGEtcGpheD0idHJ1ZSIg + ZGF0YS1zZWxlY3RlZC1saW5rcz0iZ2lzdF9jb2RlIC92YWlkZWhpam9zaGkv + ODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EiPgogICAgPHN2ZyBh + cmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24gb2N0aWNvbi1jb2Rl + IiBoZWlnaHQ9IjE2IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxNCAx + NiIgd2lkdGg9IjE0Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05 + LjUgM0w4IDQuNSAxMS41IDggOCAxMS41IDkuNSAxMyAxNCA4IDkuNSAzem0t + NSAwTDAgOGw0LjUgNUw2IDExLjUgMi41IDggNiA0LjUgNC41IDN6Ii8+PC9z + dmc+CiAgICBDb2RlCjwvYT4KICAgIDxhIGhyZWY9Ii92YWlkZWhpam9zaGkv + ODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAzODdiZjVjM2EvcmV2aXNpb25zIiBh + cmlhLWxhYmVsPSJSZXZpc2lvbnMiIGNsYXNzPSJqcy1zZWxlY3RlZC1uYXZp + Z2F0aW9uLWl0ZW0gcmVwb25hdi1pdGVtIiBkYXRhLWhvdGtleT0iZyByIiBk + YXRhLXBqYXg9InRydWUiIGRhdGEtc2VsZWN0ZWQtbGlua3M9Imdpc3RfcmV2 + aXNpb25zIC92YWlkZWhpam9zaGkvODA4MGFiOTEzZjRhMWU4YTFhM2I5ZTAz + ODdiZjVjM2EvcmV2aXNpb25zIj4KICAgICAgPHN2ZyBhcmlhLWhpZGRlbj0i + dHJ1ZSIgY2xhc3M9Im9jdGljb24gb2N0aWNvbi1naXQtY29tbWl0IiBoZWln + aHQ9IjE2IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxNCAxNiIgd2lk + dGg9IjE0Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC44NiA3 + Yy0uNDUtMS43Mi0yLTMtMy44Ni0zLTEuODYgMC0zLjQxIDEuMjgtMy44NiAz + SDB2MmgzLjE0Yy40NSAxLjcyIDIgMyAzLjg2IDMgMS44NiAwIDMuNDEtMS4y + OCAzLjg2LTNIMTRWN2gtMy4xNHpNNyAxMC4yYy0xLjIyIDAtMi4yLS45OC0y + LjItMi4yIDAtMS4yMi45OC0yLjIgMi4yLTIuMiAxLjIyIDAgMi4yLjk4IDIu + MiAyLjIgMCAxLjIyLS45OCAyLjItMi4yIDIuMnoiLz48L3N2Zz4KICAgICAg + UmV2aXNpb25zCiAgICAgIDxzcGFuIGNsYXNzPSJDb3VudGVyIj4yPC9zcGFu + Pgo8L2E+Cgo8L25hdj4KCiAgPC9kaXY+CjwvZGl2PgoKCiAgPC9kaXY+Cjwv + ZGl2PgoKPGRpdiBjbGFzcz0iY29udGFpbmVyIG5ldy1kaXNjdXNzaW9uLXRp + bWVsaW5lIGV4cGVyaW1lbnQtcmVwby1uYXYiPgogIDxkaXYgY2xhc3M9InJl + cG9zaXRvcnktY29udGVudCBnaXN0LWNvbnRlbnQiPgogICAgCiAgPGRpdj4K + ICAgIDxkaXYgY2xhc3M9InJlcG9zaXRvcnktbWV0YSBqcy1kZXRhaWxzLWNv + bnRhaW5lciBEZXRhaWxzIj4KPC9kaXY+CgoKICAgICAgICA8ZGl2IGNsYXNz + PSJqcy1naXN0LWZpbGUtdXBkYXRlLWNvbnRhaW5lciBqcy10YXNrLWxpc3Qt + Y29udGFpbmVyIGZpbGUtYm94Ij4KICA8ZGl2IGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMiIGNsYXNzPSJmaWxlIj4KICAgICAgPGRpdiBjbGFz + cz0iZmlsZS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtYWN0 + aW9ucyI+CgogICAgICAgICAgPGEgaHJlZj0iL3ZhaWRlaGlqb3NoaS84MDgw + YWI5MTNmNGExZThhMWEzYjllMDM4N2JmNWMzYS9yYXcvNjZjMzUyOGY1NGJm + YWUwNDdkNGE3MGMyOTE1MmFiMTMxMGRjZDIwZi9hc3RfZXNwcmltYV9leGFt + cGxlLmpzIiBjbGFzcz0iYnRuIGJ0bi1zbSAiPlJhdzwvYT4KICAgICAgICA8 + L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWluZm8iPgogICAgICAg + ICAgPHNwYW4gY2xhc3M9Imljb24iPgogICAgICAgICAgICA8c3ZnIGFyaWEt + aGlkZGVuPSJ0cnVlIiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLWdpc3QiIGhl + aWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEyIDE2IiB3 + aWR0aD0iMTIiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNSA1 + TDEwIDcuNSA3LjUgMTBsLS43NS0uNzVMOC41IDcuNSA2Ljc1IDUuNzUgNy41 + IDV6bS0zIDBMMiA3LjUgNC41IDEwbC43NS0uNzVMMy41IDcuNWwxLjc1LTEu + NzVMNC41IDV6TTAgMTNWMmMwLS41NS40NS0xIDEtMWgxMGMuNTUgMCAxIC40 + NSAxIDF2MTFjMCAuNTUtLjQ1IDEtMSAxSDFjLS41NSAwLTEtLjQ1LTEtMXpt + MSAwaDEwVjJIMXYxMXoiLz48L3N2Zz4KICAgICAgICAgIDwvc3Bhbj4KICAg + ICAgICAgIDxhIGNsYXNzPSJ0b29sdGlwcGVkIHRvb2x0aXBwZWQtcyBjc3Mt + dHJ1bmNhdGUiIGFyaWEtbGFiZWw9IlBlcm1hbGluayIgaHJlZj0iI2ZpbGUt + YXN0X2VzcHJpbWFfZXhhbXBsZS1qcyI+CiAgICAgICAgICAgIDxzdHJvbmcg + Y2xhc3M9InVzZXItc2VsZWN0LWNvbnRhaW4gZ2lzdC1ibG9iLW5hbWUgY3Nz + LXRydW5jYXRlLXRhcmdldCI+CiAgICAgICAgICAgICAgYXN0X2VzcHJpbWFf + ZXhhbXBsZS5qcwogICAgICAgICAgICA8L3N0cm9uZz4KICAgICAgICAgIDwv + YT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAKCiAgPGRpdiBp + dGVtcHJvcD0idGV4dCIgY2xhc3M9ImJsb2Itd3JhcHBlciBkYXRhIHR5cGUt + amF2YXNjcmlwdCI+CiAgICAgIDx0YWJsZSBjbGFzcz0iaGlnaGxpZ2h0IHRh + Yi1zaXplIGpzLWZpbGUtbGluZS1jb250YWluZXIiIGRhdGEtdGFiLXNpemU9 + IjgiPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTDEiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51 + bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMSI+PC90ZD4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzEiIGNsYXNzPSJi + bG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+PHNwYW4g + Y2xhc3M9InBsLWMiPjxzcGFuIGNsYXNzPSJwbC1jIj4vLzwvc3Bhbj4gVXNp + bmcgRXNwcmltYSwgYSBFQ01BU2NyaXB0IHBhcnNlciB3cml0dGVuIGluIEVD + TUFTY3JpcHQgPC9zcGFuPjwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4K + ICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1M + MiIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUt + bnVtYmVyPSIyIj48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUxDMiIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNv + ZGUtaW5uZXIganMtZmlsZS1saW5lIj48c3BhbiBjbGFzcz0icGwtYyI+PHNw + YW4gY2xhc3M9InBsLWMiPi8vPC9zcGFuPiB2YXIgZXNwcmltYSA9IHJlcXVp + cmUoJiMzOTtlc3ByaW1hJiMzOTspOzwvc3Bhbj48L3RkPgogICAgICA8L3Ry + PgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1h + X2V4YW1wbGUtanMtTDMiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJl + ciIgZGF0YS1saW5lLW51bWJlcj0iMyI+PC90ZD4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzMiIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+PHNwYW4gY2xh + c3M9InBsLWMiPjxzcGFuIGNsYXNzPSJwbC1jIj4vLzwvc3Bhbj4gdmFyIHBy + b2dyYW0gPSAmIzM5O2NvbnN0IGFuc3dlciA9IDQyJiMzOTs7PC9zcGFuPjwv + dGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZp + bGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNCIgY2xhc3M9ImJsb2ItbnVt + IGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI0Ij48L3RkPgog + ICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxD + NCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1s + aW5lIj4KPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0 + ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw1IiBjbGFzcz0i + YmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjUi + PjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1w + bGUtanMtTEM1IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPjxzcGFuIGNsYXNzPSJwbC1jIj48c3BhbiBjbGFzcz0i + cGwtYyI+Ly88L3NwYW4+IFN5bnRheDwvc3Bhbj48L3RkPgogICAgICA8L3Ry + PgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1h + X2V4YW1wbGUtanMtTDYiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJl + ciIgZGF0YS1saW5lLW51bWJlcj0iNiI+PC90ZD4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzYiIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ezwvdGQ+CiAg + ICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0 + X2VzcHJpbWFfZXhhbXBsZS1qcy1MNyIgY2xhc3M9ImJsb2ItbnVtIGpzLWxp + bmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI3Ij48L3RkPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNyIgY2xh + c3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4g + IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVv + dDs8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bh + bj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNs + YXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + UHJvZ3JhbTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3Nw + YW4+LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MOCIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI4Ij48 + L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUxDOCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMt + ZmlsZS1saW5lIj4gIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0i + cGwtcGRzIj4mcXVvdDs8L3NwYW4+Ym9keTxzcGFuIGNsYXNzPSJwbC1wZHMi + PiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3Nw + YW4+IFs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRk + IGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDkiIGNsYXNzPSJi + bG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iOSI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzkiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpz + LWZpbGUtbGluZSI+ICAgIHs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TDEwIiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGlu + ZS1udW1iZXI9IjEwIj48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUxDMTAiIGNsYXNzPSJibG9iLWNvZGUgYmxv + Yi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgPHNwYW4gY2xhc3M9 + InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj50eXBl + PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3Bh + biBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBsLXMiPjxz + cGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5WYXJpYWJsZURlY2xh + cmF0aW9uPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bh + bj4sPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUwxMSIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSIxMSI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzExIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPiAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ZGVjbGFyYXRpb25zPHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFz + cz0icGwtayI+Ojwvc3Bhbj4gWzwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0 + cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1q + cy1MMTIiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1s + aW5lLW51bWJlcj0iMTIiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFz + dF9lc3ByaW1hX2V4YW1wbGUtanMtTEMxMiIgY2xhc3M9ImJsb2ItY29kZSBi + bG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgezwvdGQ+ + CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUt + YXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMTMiIGNsYXNzPSJibG9iLW51bSBq + cy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMTMiPjwvdGQ+CiAg + ICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEMx + MyIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1s + aW5lIj4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJw + bC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsi + Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+VmFyaWFibGVEZWNsYXJhdG9yPHNwYW4gY2xh + c3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj4sPC90ZD4KICAgICAg + PC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUwxNCIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUt + bnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSIxNCI+PC90ZD4KICAgICAgICA8 + dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzE0IiBjbGFz + cz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAg + ICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJw + bC1wZHMiPiZxdW90Ozwvc3Bhbj5pZDxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+ + IHs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlk + PSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDE1IiBjbGFzcz0iYmxv + Yi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjE1Ij48 + L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUxDMTUiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpz + LWZpbGUtbGluZSI+ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBs + LXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj50eXBlPHNw + YW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBj + bGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFu + IGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5JZGVudGlmaWVyPHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj4sPC90ZD4KICAg + ICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUwxNiIgY2xhc3M9ImJsb2ItbnVtIGpzLWxp + bmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSIxNiI+PC90ZD4KICAgICAg + ICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzE2IiBj + bGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUi + PiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+bmFtZTxzcGFuIGNsYXNzPSJw + bC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsi + Pjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+cmVzdWx0PHNwYW4gY2xhc3M9InBsLXBkcyI+ + JnF1b3Q7PC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICA8L3RyPgogICAgICA8 + dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUt + anMtTDE3IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEt + bGluZS1udW1iZXI9IjE3Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1h + c3RfZXNwcmltYV9leGFtcGxlLWpzLUxDMTciIGNsYXNzPSJibG9iLWNvZGUg + YmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgICAgICAgICB9 + LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMTgiIGNsYXNzPSJibG9i + LW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMTgiPjwv + dGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUt + anMtTEMxOCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMt + ZmlsZS1saW5lIj4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48 + c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+aW5pdDxzcGFuIGNs + YXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9 + InBsLWsiPjo8L3NwYW4+IHs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TDE5IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGlu + ZS1udW1iZXI9IjE5Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUxDMTkiIGNsYXNzPSJibG9iLWNvZGUgYmxv + Yi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgICAgICAgICAgICAg + PHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90 + Ozwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFu + Pjwvc3Bhbj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xh + c3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5C + aW5hcnlFeHByZXNzaW9uPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9z + cGFuPjwvc3Bhbj4sPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAg + ICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUwyMCIg + Y2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVt + YmVyPSIyMCI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJp + bWFfZXhhbXBsZS1qcy1MQzIwIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29k + ZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICAgICAgICAgICAgICAgIDxzcGFu + IGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3Nw + YW4+b3BlcmF0b3I8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFz + cz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPis8 + c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPiw8L3Rk + PgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxl + LWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDIxIiBjbGFzcz0iYmxvYi1udW0g + anMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjIxIj48L3RkPgog + ICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxD + MjEiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUt + bGluZSI+ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsLXMiPjxz + cGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5sZWZ0PHNwYW4gY2xh + c3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0i + cGwtayI+Ojwvc3Bhbj4gezwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4K + ICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1M + MjIiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5l + LW51bWJlcj0iMjIiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTEMyMiIgY2xhc3M9ImJsb2ItY29kZSBibG9i + LWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAg + ICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9z + cGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4g + Y2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bh + bj5MaXRlcmFsPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwv + c3Bhbj4sPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0 + ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUwyMyIgY2xhc3M9 + ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSIy + MyI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhh + bXBsZS1qcy1MQzIzIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5l + ciBqcy1maWxlLWxpbmUiPiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBj + bGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFu + PnZhbHVlPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bh + bj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBs + LWMxIj41PC9zcGFuPiw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAg + ICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDI0 + IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1u + dW1iZXI9IjI0Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUxDMjQiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1j + b2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgICAgICAgICAgICAgICAg + IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVv + dDs8L3NwYW4+cmF3PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFu + Pjwvc3Bhbj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xh + c3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj41 + PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48L3Rk + PgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxl + LWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDI1IiBjbGFzcz0iYmxvYi1udW0g + anMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjI1Ij48L3RkPgog + ICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxD + MjUiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUt + bGluZSI+ICAgICAgICAgICAgICAgICAgfSw8L3RkPgogICAgICA8L3RyPgog + ICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTDI2IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIi + IGRhdGEtbGluZS1udW1iZXI9IjI2Ij48L3RkPgogICAgICAgIDx0ZCBpZD0i + ZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDMjYiIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgICAg + ICAgICAgICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1w + ZHMiPiZxdW90Ozwvc3Bhbj5yaWdodDxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+ + IHs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlk + PSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDI3IiBjbGFzcz0iYmxv + Yi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjI3Ij48 + L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUxDMjciIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpz + LWZpbGUtbGluZSI+ICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz + PSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dHlw + ZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNw + YW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48 + c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+QmluYXJ5RXhwcmVz + c2lvbjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+ + LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMjgiIGNsYXNzPSJibG9i + LW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMjgiPjwv + dGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUt + anMtTEMyOCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMt + ZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9 + InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5vcGVy + YXRvcjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+ + PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1z + Ij48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+KjxzcGFuIGNs + YXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+LDwvdGQ+CiAgICAg + IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2Vz + cHJpbWFfZXhhbXBsZS1qcy1MMjkiIGNsYXNzPSJibG9iLW51bSBqcy1saW5l + LW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMjkiPjwvdGQ+CiAgICAgICAg + PHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEMyOSIgY2xh + c3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4g + ICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFu + IGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5sZWZ0PHNwYW4gY2xhc3M9 + InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGwt + ayI+Ojwvc3Bhbj4gezwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMzAi + IGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51 + bWJlcj0iMzAiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTEMzMCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNv + ZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAgICAg + ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4m + cXVvdDs8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwv + c3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFu + IGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3Nw + YW4+TGl0ZXJhbDxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48 + L3NwYW4+LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8 + dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMzEiIGNsYXNz + PSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0i + MzEiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTEMzMSIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5u + ZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAgICAgICAgIDxz + cGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFz + cz0icGwtYzEiPjE8L3NwYW4+LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0 + cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1q + cy1MMzIiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1s + aW5lLW51bWJlcj0iMzIiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFz + dF9lc3ByaW1hX2V4YW1wbGUtanMtTEMzMiIgY2xhc3M9ImJsb2ItY29kZSBi + bG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAg + ICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+cmF3PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1 + b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4g + PHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90 + Ozwvc3Bhbj4xPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwv + c3Bhbj48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRk + IGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDMzIiBjbGFzcz0i + YmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjMz + Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFt + cGxlLWpzLUxDMzMiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVy + IGpzLWZpbGUtbGluZSI+ICAgICAgICAgICAgICAgICAgICAgIH0sPC90ZD4K + ICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1h + c3RfZXNwcmltYV9leGFtcGxlLWpzLUwzNCIgY2xhc3M9ImJsb2ItbnVtIGpz + LWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSIzNCI+PC90ZD4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzM0 + IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxp + bmUiPiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGwtcyI+ + PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnJpZ2h0PHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFz + cz0icGwtayI+Ojwvc3Bhbj4gezwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0 + cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1q + cy1MMzUiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1s + aW5lLW51bWJlcj0iMzUiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFz + dF9lc3ByaW1hX2V4YW1wbGUtanMtTEMzNSIgY2xhc3M9ImJsb2ItY29kZSBi + bG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAg + ICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+ + IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVv + dDs8L3NwYW4+TGl0ZXJhbDxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwv + c3Bhbj48L3NwYW4+LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMzYi + IGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51 + bWJlcj0iMzYiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTEMzNiIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNv + ZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAgICAg + ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4m + cXVvdDs8L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3Bh + biBjbGFzcz0icGwtYzEiPjEyPC9zcGFuPiw8L3RkPgogICAgICA8L3RyPgog + ICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTDM3IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIi + IGRhdGEtbGluZS1udW1iZXI9IjM3Ij48L3RkPgogICAgICAgIDx0ZCBpZD0i + ZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDMzciIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgICAgICAg + ICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xh + c3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnJhdzxzcGFuIGNsYXNzPSJwbC1w + ZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8 + L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRz + Ij4mcXVvdDs8L3NwYW4+MTI8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMzgi + IGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51 + bWJlcj0iMzgiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTEMzOCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNv + ZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICAgICAg + fTwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MMzkiIGNsYXNzPSJibG9i + LW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iMzkiPjwv + dGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUt + anMtTEMzOSIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMt + ZmlsZS1saW5lIj4gICAgICAgICAgICAgICAgICB9PC90ZD4KICAgICAgPC90 + cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmlt + YV9leGFtcGxlLWpzLUw0MCIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVt + YmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI0MCI+PC90ZD4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzQwIiBjbGFzcz0i + YmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICAg + ICAgICAgICAgfTwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAg + ICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNDEiIGNs + YXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJl + cj0iNDEiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1h + X2V4YW1wbGUtanMtTEM0MSIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUt + aW5uZXIganMtZmlsZS1saW5lIj4gICAgICAgICAgfTwvdGQ+CiAgICAgIDwv + dHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJp + bWFfZXhhbXBsZS1qcy1MNDIiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51 + bWJlciIgZGF0YS1saW5lLW51bWJlcj0iNDIiPjwvdGQ+CiAgICAgICAgPHRk + IGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM0MiIgY2xhc3M9 + ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAg + ICBdLDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNDMiIGNsYXNzPSJi + bG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iNDMi + PjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1w + bGUtanMtTEM0MyIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIg + anMtZmlsZS1saW5lIj4gICAgICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPmtpbmQ8c3BhbiBjbGFzcz0i + cGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1r + Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBs + LXBkcyI+JnF1b3Q7PC9zcGFuPnZhcjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRy + PgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpz + LUw0NCIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxp + bmUtbnVtYmVyPSI0NCI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0 + X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzQ0IiBjbGFzcz0iYmxvYi1jb2RlIGJs + b2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICB9PC90ZD4KICAgICAg + PC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUw0NSIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUt + bnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI0NSI+PC90ZD4KICAgICAgICA8 + dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzQ1IiBjbGFz + cz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAg + XSw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlk + PSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDQ2IiBjbGFzcz0iYmxv + Yi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjQ2Ij48 + L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUxDNDYiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpz + LWZpbGUtbGluZSI+ICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9 + InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnNvdXJjZVR5cGU8c3BhbiBjbGFzcz0i + cGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1r + Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBs + LXBkcyI+JnF1b3Q7PC9zcGFuPnNjcmlwdDxzcGFuIGNsYXNzPSJwbC1wZHMi + PiZxdW90Ozwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgPC90cj4KICAgICAg + PHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUw0NyIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRh + LWxpbmUtbnVtYmVyPSI0NyI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUt + YXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzQ3IiBjbGFzcz0iYmxvYi1jb2Rl + IGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPn08L3RkPgogICAgICA8 + L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTDQ4IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1u + dW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjQ4Ij48L3RkPgogICAgICAgIDx0 + ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNDgiIGNsYXNz + PSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+Cjwv + dGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZp + bGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNDkiIGNsYXNzPSJibG9iLW51 + bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iNDkiPjwvdGQ+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TEM0OSIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmls + ZS1saW5lIj4KPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw1MCIgY2xh + c3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVy + PSI1MCI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFf + ZXhhbXBsZS1qcy1MQzUwIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1p + bm5lciBqcy1maWxlLWxpbmUiPjxzcGFuIGNsYXNzPSJwbC1jIj48c3BhbiBj + bGFzcz0icGwtYyI+Ly88L3NwYW4+IFRva2VuIExpc3Q8L3NwYW4+PC90ZD4K + ICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1h + c3RfZXNwcmltYV9leGFtcGxlLWpzLUw1MSIgY2xhc3M9ImJsb2ItbnVtIGpz + LWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI1MSI+PC90ZD4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzUx + IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxp + bmUiPls8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRk + IGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDUyIiBjbGFzcz0i + YmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjUy + Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFt + cGxlLWpzLUxDNTIiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVy + IGpzLWZpbGUtbGluZSI+ICB7PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRy + PgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpz + LUw1MyIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxp + bmUtbnVtYmVyPSI1MyI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0 + X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzUzIiBjbGFzcz0iYmxvYi1jb2RlIGJs + b2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICA8c3BhbiBjbGFzcz0i + cGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnR5cGU8 + c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFu + IGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNw + YW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPktleXdvcmQ8c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPiw8L3RkPgogICAg + ICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTDU0IiBjbGFzcz0iYmxvYi1udW0ganMtbGlu + ZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjU0Ij48L3RkPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNTQiIGNs + YXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ + ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4m + cXVvdDs8L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3Bh + biBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9z + cGFuPnZhcjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3Nw + YW4+PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw1NSIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI1NSI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzU1IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPiAgfSw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TDU2IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGlu + ZS1udW1iZXI9IjU2Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUxDNTYiIGNsYXNzPSJibG9iLWNvZGUgYmxv + Yi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICB7PC90ZD4KICAgICAgPC90 + cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmlt + YV9leGFtcGxlLWpzLUw1NyIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVt + YmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI1NyI+PC90ZD4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzU3IiBjbGFzcz0i + YmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICA8 + c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7 + PC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFz + cz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPklk + ZW50aWZpZXI8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9z + cGFuPiw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRk + IGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDU4IiBjbGFzcz0i + YmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjU4 + Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFt + cGxlLWpzLUxDNTgiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVy + IGpzLWZpbGUtbGluZSI+ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0i + cGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1r + Ij46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBs + LXBkcyI+JnF1b3Q7PC9zcGFuPnJlc3VsdDxzcGFuIGNsYXNzPSJwbC1wZHMi + PiZxdW90Ozwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgPC90cj4KICAgICAg + PHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUw1OSIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRh + LWxpbmUtbnVtYmVyPSI1OSI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUt + YXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzU5IiBjbGFzcz0iYmxvYi1jb2Rl + IGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgfSw8L3RkPgogICAg + ICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTDYwIiBjbGFzcz0iYmxvYi1udW0ganMtbGlu + ZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjYwIj48L3RkPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNjAiIGNs + YXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ + ICB7PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw2MSIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI2MSI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzYxIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPiAgICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xh + c3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46 + PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBk + cyI+JnF1b3Q7PC9zcGFuPlB1bmN0dWF0b3I8c3BhbiBjbGFzcz0icGwtcGRz + Ij4mcXVvdDs8L3NwYW4+PC9zcGFuPiw8L3RkPgogICAgICA8L3RyPgogICAg + ICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1w + bGUtanMtTDYyIiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRh + dGEtbGluZS1udW1iZXI9IjYyIj48L3RkPgogICAgICAgIDx0ZCBpZD0iZmls + ZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNjIiIGNsYXNzPSJibG9iLWNv + ZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgIDxzcGFuIGNs + YXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + dmFsdWU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFu + PjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwt + cyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPj08c3BhbiBj + bGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAg + IDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2Vz + cHJpbWFfZXhhbXBsZS1qcy1MNjMiIGNsYXNzPSJibG9iLW51bSBqcy1saW5l + LW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iNjMiPjwvdGQ+CiAgICAgICAg + PHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM2MyIgY2xh + c3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4g + IH0sPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw2NCIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI2NCI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzY0IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPiAgezwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4K + ICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1M + NjUiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5l + LW51bWJlcj0iNjUiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTEM2NSIgY2xhc3M9ImJsb2ItY29kZSBibG9i + LWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgPHNwYW4gY2xhc3M9InBs + LXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj50eXBlPHNw + YW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBj + bGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFu + IGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj5OdW1lcmljPHNwYW4gY2xh + c3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj4sPC90ZD4KICAgICAg + PC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUw2NiIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUt + bnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI2NiI+PC90ZD4KICAgICAgICA8 + dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzY2IiBjbGFz + cz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAg + ICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1 + b3Q7PC9zcGFuPnZhbHVlPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9z + cGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4g + Y2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bh + bj41PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48 + L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJm + aWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDY3IiBjbGFzcz0iYmxvYi1u + dW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjY3Ij48L3Rk + PgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpz + LUxDNjciIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZp + bGUtbGluZSI+ICB9LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNjgi + IGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51 + bWJlcj0iNjgiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3By + aW1hX2V4YW1wbGUtanMtTEM2OCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNv + ZGUtaW5uZXIganMtZmlsZS1saW5lIj4gIHs8L3RkPgogICAgICA8L3RyPgog + ICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTDY5IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIi + IGRhdGEtbGluZS1udW1iZXI9IjY5Ij48L3RkPgogICAgICAgIDx0ZCBpZD0i + ZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNjkiIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgIDxzcGFu + IGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3Nw + YW4+dHlwZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3Nw + YW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJw + bC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+UHVuY3R1 + YXRvcjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+ + LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNzAiIGNsYXNzPSJibG9i + LW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iNzAiPjwv + dGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUt + anMtTEM3MCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMt + ZmlsZS1saW5lIj4gICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNz + PSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJwbC1w + ZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8 + L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRz + Ij4mcXVvdDs8L3NwYW4+KzxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwv + c3Bhbj48L3NwYW4+PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAg + ICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw3MSIg + Y2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVt + YmVyPSI3MSI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJp + bWFfZXhhbXBsZS1qcy1MQzcxIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29k + ZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgfSw8L3RkPgogICAgICA8L3RyPgog + ICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTDcyIiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIi + IGRhdGEtbGluZS1udW1iZXI9IjcyIj48L3RkPgogICAgICAgIDx0ZCBpZD0i + ZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNzIiIGNsYXNzPSJibG9i + LWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICB7PC90ZD4K + ICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1h + c3RfZXNwcmltYV9leGFtcGxlLWpzLUw3MyIgY2xhc3M9ImJsb2ItbnVtIGpz + LWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI3MyI+PC90ZD4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzcz + IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxp + bmUiPiAgICA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBk + cyI+JnF1b3Q7PC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVv + dDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8 + c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7 + PC9zcGFuPlB1bmN0dWF0b3I8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+PC9zcGFuPiw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAg + ICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDc0 + IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1u + dW1iZXI9Ijc0Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUxDNzQiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1j + b2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgIDxzcGFuIGNsYXNzPSJwbC1z + Ij48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dmFsdWU8c3Bh + biBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNs + YXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPig8c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjwvdGQ+CiAgICAgIDwvdHI+CiAg + ICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhh + bXBsZS1qcy1MNzUiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIg + ZGF0YS1saW5lLW51bWJlcj0iNzUiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJm + aWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM3NSIgY2xhc3M9ImJsb2It + Y29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gIH0sPC90ZD4K + ICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1h + c3RfZXNwcmltYV9leGFtcGxlLWpzLUw3NiIgY2xhc3M9ImJsb2ItbnVtIGpz + LWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI3NiI+PC90ZD4KICAg + ICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzc2 + IiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxp + bmUiPiAgezwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8 + dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MNzciIGNsYXNz + PSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0i + NzciPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4 + YW1wbGUtanMtTEM3NyIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5u + ZXIganMtZmlsZS1saW5lIj4gICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFu + IGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj50eXBlPHNwYW4gY2xhc3M9 + InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icGwt + ayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJw + bC1wZHMiPiZxdW90Ozwvc3Bhbj5OdW1lcmljPHNwYW4gY2xhc3M9InBsLXBk + cyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj4sPC90ZD4KICAgICAgPC90cj4KICAg + ICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFt + cGxlLWpzLUw3OCIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBk + YXRhLWxpbmUtbnVtYmVyPSI3OCI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZp + bGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzc4IiBjbGFzcz0iYmxvYi1j + b2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICA8c3BhbiBj + bGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFu + PnZhbHVlPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bh + bj48c3BhbiBjbGFzcz0icGwtayI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9InBs + LXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj4xPHNwYW4g + Y2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjwvc3Bhbj48L3RkPgogICAg + ICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTDc5IiBjbGFzcz0iYmxvYi1udW0ganMtbGlu + ZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9Ijc5Ij48L3RkPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDNzkiIGNs + YXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ + ICB9LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MODAiIGNsYXNzPSJi + bG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iODAi + PjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1w + bGUtanMtTEM4MCIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIg + anMtZmlsZS1saW5lIj4gIHs8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TDgxIiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGlu + ZS1udW1iZXI9IjgxIj48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUxDODEiIGNsYXNzPSJibG9iLWNvZGUgYmxv + Yi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgIDxzcGFuIGNsYXNzPSJw + bC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dHlwZTxz + cGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4g + Y2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3Bh + biBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+UHVuY3R1YXRvcjxzcGFu + IGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+LDwvdGQ+CiAg + ICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0 + X2VzcHJpbWFfZXhhbXBsZS1qcy1MODIiIGNsYXNzPSJibG9iLW51bSBqcy1s + aW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iODIiPjwvdGQ+CiAgICAg + ICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM4MiIg + Y2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5l + Ij4gICAgPHNwYW4gY2xhc3M9InBsLXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMi + PiZxdW90Ozwvc3Bhbj52YWx1ZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90 + Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+IDxz + cGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+KjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3Nw + YW4+PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw4MyIgY2xhc3M9ImJs + b2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI4MyI+ + PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBs + ZS1qcy1MQzgzIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBq + cy1maWxlLWxpbmUiPiAgfSw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+ + CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMt + TDg0IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGlu + ZS1udW1iZXI9Ijg0Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3Rf + ZXNwcmltYV9leGFtcGxlLWpzLUxDODQiIGNsYXNzPSJibG9iLWNvZGUgYmxv + Yi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICB7PC90ZD4KICAgICAgPC90 + cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmlt + YV9leGFtcGxlLWpzLUw4NSIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVt + YmVyIiBkYXRhLWxpbmUtbnVtYmVyPSI4NSI+PC90ZD4KICAgICAgICA8dGQg + aWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzg1IiBjbGFzcz0i + YmxvYi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgICA8 + c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7 + PC9zcGFuPnR5cGU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFz + cz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPk51 + bWVyaWM8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFu + Piw8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlk + PSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDg2IiBjbGFzcz0iYmxv + Yi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9Ijg2Ij48 + L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxl + LWpzLUxDODYiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpz + LWZpbGUtbGluZSI+ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFz + cz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46 + PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBk + cyI+JnF1b3Q7PC9zcGFuPjEyPHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7 + PC9zcGFuPjwvc3Bhbj48L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAg + ICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDg3 + IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1u + dW1iZXI9Ijg3Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNw + cmltYV9leGFtcGxlLWpzLUxDODciIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1j + b2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICB9LDwvdGQ+CiAgICAgIDwvdHI+ + CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFf + ZXhhbXBsZS1qcy1MODgiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJl + ciIgZGF0YS1saW5lLW51bWJlcj0iODgiPjwvdGQ+CiAgICAgICAgPHRkIGlk + PSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM4OCIgY2xhc3M9ImJs + b2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gIHs8L3Rk + PgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxl + LWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDg5IiBjbGFzcz0iYmxvYi1udW0g + anMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9Ijg5Ij48L3RkPgog + ICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxD + ODkiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUt + bGluZSI+ICAgIDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwt + cGRzIj4mcXVvdDs8L3NwYW4+dHlwZTxzcGFuIGNsYXNzPSJwbC1wZHMiPiZx + dW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InBsLWsiPjo8L3NwYW4+ + IDxzcGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVv + dDs8L3NwYW4+UHVuY3R1YXRvcjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90 + Ozwvc3Bhbj48L3NwYW4+LDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4K + ICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1M + OTAiIGNsYXNzPSJibG9iLW51bSBqcy1saW5lLW51bWJlciIgZGF0YS1saW5l + LW51bWJlcj0iOTAiPjwvdGQ+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9l + c3ByaW1hX2V4YW1wbGUtanMtTEM5MCIgY2xhc3M9ImJsb2ItY29kZSBibG9i + LWNvZGUtaW5uZXIganMtZmlsZS1saW5lIj4gICAgPHNwYW4gY2xhc3M9InBs + LXMiPjxzcGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj52YWx1ZTxz + cGFuIGNsYXNzPSJwbC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PHNwYW4g + Y2xhc3M9InBsLWsiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJwbC1zIj48c3Bh + biBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+KTxzcGFuIGNsYXNzPSJw + bC1wZHMiPiZxdW90Ozwvc3Bhbj48L3NwYW4+PC90ZD4KICAgICAgPC90cj4K + ICAgICAgPHRyPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9l + eGFtcGxlLWpzLUw5MSIgY2xhc3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVy + IiBkYXRhLWxpbmUtbnVtYmVyPSI5MSI+PC90ZD4KICAgICAgICA8dGQgaWQ9 + ImZpbGUtYXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MQzkxIiBjbGFzcz0iYmxv + Yi1jb2RlIGJsb2ItY29kZS1pbm5lciBqcy1maWxlLWxpbmUiPiAgfSw8L3Rk + PgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxl + LWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDkyIiBjbGFzcz0iYmxvYi1udW0g + anMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9IjkyIj48L3RkPgog + ICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxD + OTIiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUt + bGluZSI+ICB7PC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAg + IDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUw5MyIgY2xh + c3M9ImJsb2ItbnVtIGpzLWxpbmUtbnVtYmVyIiBkYXRhLWxpbmUtbnVtYmVy + PSI5MyI+PC90ZD4KICAgICAgICA8dGQgaWQ9ImZpbGUtYXN0X2VzcHJpbWFf + ZXhhbXBsZS1qcy1MQzkzIiBjbGFzcz0iYmxvYi1jb2RlIGJsb2ItY29kZS1p + bm5lciBqcy1maWxlLWxpbmUiPiAgICA8c3BhbiBjbGFzcz0icGwtcyI+PHNw + YW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPnR5cGU8c3BhbiBjbGFz + cz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJw + bC1rIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0icGwtcyI+PHNwYW4gY2xhc3M9 + InBsLXBkcyI+JnF1b3Q7PC9zcGFuPlB1bmN0dWF0b3I8c3BhbiBjbGFzcz0i + cGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPiw8L3RkPgogICAgICA8L3Ry + PgogICAgICA8dHI+CiAgICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1h + X2V4YW1wbGUtanMtTDk0IiBjbGFzcz0iYmxvYi1udW0ganMtbGluZS1udW1i + ZXIiIGRhdGEtbGluZS1udW1iZXI9Ijk0Ij48L3RkPgogICAgICAgIDx0ZCBp + ZD0iZmlsZS1hc3RfZXNwcmltYV9leGFtcGxlLWpzLUxDOTQiIGNsYXNzPSJi + bG9iLWNvZGUgYmxvYi1jb2RlLWlubmVyIGpzLWZpbGUtbGluZSI+ICAgIDxz + cGFuIGNsYXNzPSJwbC1zIj48c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8 + L3NwYW4+dmFsdWU8c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+ + PC9zcGFuPjxzcGFuIGNsYXNzPSJwbC1rIj46PC9zcGFuPiA8c3BhbiBjbGFz + cz0icGwtcyI+PHNwYW4gY2xhc3M9InBsLXBkcyI+JnF1b3Q7PC9zcGFuPjs8 + c3BhbiBjbGFzcz0icGwtcGRzIj4mcXVvdDs8L3NwYW4+PC9zcGFuPjwvdGQ+ + CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQgaWQ9ImZpbGUt + YXN0X2VzcHJpbWFfZXhhbXBsZS1qcy1MOTUiIGNsYXNzPSJibG9iLW51bSBq + cy1saW5lLW51bWJlciIgZGF0YS1saW5lLW51bWJlcj0iOTUiPjwvdGQ+CiAg + ICAgICAgPHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTEM5 + NSIgY2xhc3M9ImJsb2ItY29kZSBibG9iLWNvZGUtaW5uZXIganMtZmlsZS1s + aW5lIj4gIH08L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAg + PHRkIGlkPSJmaWxlLWFzdF9lc3ByaW1hX2V4YW1wbGUtanMtTDk2IiBjbGFz + cz0iYmxvYi1udW0ganMtbGluZS1udW1iZXIiIGRhdGEtbGluZS1udW1iZXI9 + Ijk2Ij48L3RkPgogICAgICAgIDx0ZCBpZD0iZmlsZS1hc3RfZXNwcmltYV9l + eGFtcGxlLWpzLUxDOTYiIGNsYXNzPSJibG9iLWNvZGUgYmxvYi1jb2RlLWlu + bmVyIGpzLWZpbGUtbGluZSI+XTwvdGQ+CiAgICAgIDwvdHI+CjwvdGFibGU+ + CgoKICA8L2Rpdj4KCiAgPC9kaXY+CiAgCjwvZGl2PgoKCiAgICA8YSBuYW1l + PSJjb21tZW50cyI+PC9hPgogICAgPGRpdiBjbGFzcz0iZGlzY3Vzc2lvbi10 + aW1lbGluZSBnaXN0LWRpc2N1c3Npb24tdGltZWxpbmUganMtcXVvdGUtc2Vs + ZWN0aW9uLWNvbnRhaW5lciAiPgogICAgICA8ZGl2IGNsYXNzPSJqcy1kaXNj + dXNzaW9uIGpzLXNvY2tldC1jaGFubmVsIiBkYXRhLWNoYW5uZWw9Im1hcmtl + ZC1hcy1yZWFkOmdpc3Q6ODM4MTI5NDAiPgogICAgICAgIAoKCgo8IS0tIFJl + bmRlcmVkIHRpbWVsaW5lIHNpbmNlIDIwMTctMTItMDQgMTk6Mzk6MzcgLS0+ + CjxkaXYgaWQ9InBhcnRpYWwtdGltZWxpbmUtbWFya2VyIgogICAgICBjbGFz + cz0ianMtdGltZWxpbmUtbWFya2VyIGpzLXVwZGF0YWJsZS1jb250ZW50Igog + ICAgICBkYXRhLXVybD0iL3ZhaWRlaGlqb3NoaS84MDgwYWI5MTNmNGExZThh + MWEzYjllMDM4N2JmNWMzYS9zaG93X3BhcnRpYWw/cGFydGlhbD1naXN0JTJG + dGltZWxpbmVfbWFya2VyJmFtcDtzaW5jZT0xNTEyNDQ1MTc3IgogICAgICBk + YXRhLWxhc3QtbW9kaWZpZWQ9IlR1ZSwgMDUgRGVjIDIwMTcgMDM6Mzk6Mzcg + R01UIgogICAgICA+CjwvZGl2PgoKCiAgICAgICAgPGRpdiBjbGFzcz0iZGlz + Y3Vzc2lvbi10aW1lbGluZS1hY3Rpb25zIj4KICAgICAgICAgICAgPGRpdiBj + bGFzcz0iZmxhc2ggZmxhc2gtd2FybiBtdC0zIj4KICAgIDxhIGhyZWY9Ii9q + b2luP3NvdXJjZT1jb21tZW50LWdpc3QiIGNsYXNzPSJidG4gYnRuLXByaW1h + cnkiIHJlbD0ibm9mb2xsb3ciPlNpZ24gdXAgZm9yIGZyZWU8L2E+CiAgICA8 + c3Ryb25nPnRvIGpvaW4gdGhpcyBjb252ZXJzYXRpb24gb24gR2l0SHViPC9z + dHJvbmc+LgogICAgQWxyZWFkeSBoYXZlIGFuIGFjY291bnQ/CiAgICA8YSBo + cmVmPSIvbG9naW4/cmV0dXJuX3RvPWh0dHBzJTNBJTJGJTJGZ2lzdC5naXRo + dWIuY29tJTJGdmFpZGVoaWpvc2hpJTJGODA4MGFiOTEzZjRhMWU4YTFhM2I5 + ZTAzODdiZjVjM2EiIHJlbD0ibm9mb2xsb3ciPlNpZ24gaW4gdG8gY29tbWVu + dDwvYT4KPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAg + IDwvZGl2Pgo8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0ibW9kYWwt + YmFja2Ryb3AganMtdG91Y2gtZXZlbnRzIj48L2Rpdj4KPC9kaXY+PCEtLSAv + LmNvbnRhaW5lciAtLT4KCiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPC9kaXY+ + CgogICAgICAKPGRpdiBjbGFzcz0iZm9vdGVyIGNvbnRhaW5lci1sZyBweC0z + IiByb2xlPSJjb250ZW50aW5mbyI+CiAgPGRpdiBjbGFzcz0icG9zaXRpb24t + cmVsYXRpdmUgZC1mbGV4IGZsZXgtanVzdGlmeS1iZXR3ZWVuIHB5LTYgbXQt + NiBmNiB0ZXh0LWdyYXkgYm9yZGVyLXRvcCBib3JkZXItZ3JheS1saWdodCAi + PgogICAgPHVsIGNsYXNzPSJsaXN0LXN0eWxlLW5vbmUgZC1mbGV4IGZsZXgt + d3JhcCAiPgogICAgICA8bGkgY2xhc3M9Im1yLTMiPiZjb3B5OyAyMDE4IDxz + cGFuIHRpdGxlPSIwLjM1NDc4cyBmcm9tIHVuaWNvcm4tMzQ4Mzk0ODI4OC05 + a21ueiI+R2l0SHViPC9zcGFuPiwgSW5jLjwvbGk+CiAgICAgICAgPGxpIGNs + YXNzPSJtci0zIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2l0ZS90 + ZXJtcyIgZGF0YS1nYS1jbGljaz0iRm9vdGVyLCBnbyB0byB0ZXJtcywgdGV4 + dDp0ZXJtcyI+VGVybXM8L2E+PC9saT4KICAgICAgICA8bGkgY2xhc3M9Im1y + LTMiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zaXRlL3ByaXZhY3ki + IGRhdGEtZ2EtY2xpY2s9IkZvb3RlciwgZ28gdG8gcHJpdmFjeSwgdGV4dDpw + cml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJt + ci0zIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VjdXJpdHkiIGRh + dGEtZ2EtY2xpY2s9IkZvb3RlciwgZ28gdG8gc2VjdXJpdHksIHRleHQ6c2Vj + dXJpdHkiPlNlY3VyaXR5PC9hPjwvbGk+CiAgICAgICAgPGxpIGNsYXNzPSJt + ci0zIj48YSBocmVmPSJodHRwczovL3N0YXR1cy5naXRodWIuY29tLyIgZGF0 + YS1nYS1jbGljaz0iRm9vdGVyLCBnbyB0byBzdGF0dXMsIHRleHQ6c3RhdHVz + Ij5TdGF0dXM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6 + Ly9oZWxwLmdpdGh1Yi5jb20iIGRhdGEtZ2EtY2xpY2s9IkZvb3RlciwgZ28g + dG8gaGVscCwgdGV4dDpoZWxwIj5IZWxwPC9hPjwvbGk+CiAgICA8L3VsPgoK + ICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbSIgYXJpYS1sYWJlbD0i + SG9tZXBhZ2UiIGNsYXNzPSJmb290ZXItb2N0aWNvbiIgdGl0bGU9IkdpdEh1 + YiI+CiAgICAgIDxzdmcgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJvY3Rp + Y29uIG9jdGljb24tbWFyay1naXRodWIiIGhlaWdodD0iMjQiIHZlcnNpb249 + IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMjQiPjxwYXRoIGZp + bGwtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOGMw + IDMuNTQgMi4yOSA2LjUzIDUuNDcgNy41OS40LjA3LjU1LS4xNy41NS0uMzgg + MC0uMTktLjAxLS44Mi0uMDEtMS40OS0yLjAxLjM3LTIuNTMtLjQ5LTIuNjkt + Ljk0LS4wOS0uMjMtLjQ4LS45NC0uODItMS4xMy0uMjgtLjE1LS42OC0uNTIt + LjAxLS41My42My0uMDEgMS4wOC41OCAxLjIzLjgyLjcyIDEuMjEgMS44Ny44 + NyAyLjMzLjY2LjA3LS41Mi4yOC0uODcuNTEtMS4wNy0xLjc4LS4yLTMuNjQt + Ljg5LTMuNjQtMy45NSAwLS44Ny4zMS0xLjU5LjgyLTIuMTUtLjA4LS4yLS4z + Ni0xLjAyLjA4LTIuMTIgMCAwIC42Ny0uMjEgMi4yLjgyLjY0LS4xOCAxLjMy + LS4yNyAyLS4yNy42OCAwIDEuMzYuMDkgMiAuMjcgMS41My0xLjA0IDIuMi0u + ODIgMi4yLS44Mi40NCAxLjEuMTYgMS45Mi4wOCAyLjEyLjUxLjU2LjgyIDEu + MjcuODIgMi4xNSAwIDMuMDctMS44NyAzLjc1LTMuNjUgMy45NS4yOS4yNS41 + NC43My41NCAxLjQ4IDAgMS4wNy0uMDEgMS45My0uMDEgMi4yIDAgLjIxLjE1 + LjQ2LjU1LjM4QTguMDEzIDguMDEzIDAgMCAwIDE2IDhjMC00LjQyLTMuNTgt + OC04LTh6Ii8+PC9zdmc+CjwvYT4KICAgIDx1bCBjbGFzcz0ibGlzdC1zdHls + ZS1ub25lIGQtZmxleCBmbGV4LXdyYXAgIj4KICAgICAgICA8bGkgY2xhc3M9 + Im1yLTMiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWN0IiBk + YXRhLWdhLWNsaWNrPSJGb290ZXIsIGdvIHRvIGNvbnRhY3QsIHRleHQ6Y29u + dGFjdCI+Q29udGFjdCBHaXRIdWI8L2E+PC9saT4KICAgICAgPGxpIGNsYXNz + PSJtci0zIj48YSBocmVmPSJodHRwczovL2RldmVsb3Blci5naXRodWIuY29t + IiBkYXRhLWdhLWNsaWNrPSJGb290ZXIsIGdvIHRvIGFwaSwgdGV4dDphcGki + PkFQSTwvYT48L2xpPgogICAgICA8bGkgY2xhc3M9Im1yLTMiPjxhIGhyZWY9 + Imh0dHBzOi8vdHJhaW5pbmcuZ2l0aHViLmNvbSIgZGF0YS1nYS1jbGljaz0i + Rm9vdGVyLCBnbyB0byB0cmFpbmluZywgdGV4dDp0cmFpbmluZyI+VHJhaW5p + bmc8L2E+PC9saT4KICAgICAgPGxpIGNsYXNzPSJtci0zIj48YSBocmVmPSJo + dHRwczovL3Nob3AuZ2l0aHViLmNvbSIgZGF0YS1nYS1jbGljaz0iRm9vdGVy + LCBnbyB0byBzaG9wLCB0ZXh0OnNob3AiPlNob3A8L2E+PC9saT4KICAgICAg + ICA8bGkgY2xhc3M9Im1yLTMiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv + bS9ibG9nIiBkYXRhLWdhLWNsaWNrPSJGb290ZXIsIGdvIHRvIGJsb2csIHRl + eHQ6YmxvZyI+QmxvZzwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJo + dHRwczovL2dpdGh1Yi5jb20vYWJvdXQiIGRhdGEtZ2EtY2xpY2s9IkZvb3Rl + ciwgZ28gdG8gYWJvdXQsIHRleHQ6YWJvdXQiPkFib3V0PC9hPjwvbGk+Cgog + ICAgPC91bD4KICA8L2Rpdj4KPC9kaXY+CgoKCiAgPGRpdiBpZD0iYWpheC1l + cnJvci1tZXNzYWdlIiBjbGFzcz0iYWpheC1lcnJvci1tZXNzYWdlIGZsYXNo + IGZsYXNoLWVycm9yIj4KICAgIDxzdmcgYXJpYS1oaWRkZW49InRydWUiIGNs + YXNzPSJvY3RpY29uIG9jdGljb24tYWxlcnQiIGhlaWdodD0iMTYiIHZlcnNp + b249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTYiPjxwYXRo + IGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguODY1IDEuNTJjLS4xOC0uMzEt + LjUxLS41LS44Ny0uNXMtLjY5LjE5LS44Ny41TC4yNzUgMTMuNWMtLjE4LjMx + LS4xOC42OSAwIDEgLjE5LjMxLjUyLjUuODcuNWgxMy43Yy4zNiAwIC42OS0u + MTkuODYtLjUuMTctLjMxLjE4LS42OS4wMS0xTDguODY1IDEuNTJ6TTguOTk1 + IDEzaC0ydi0yaDJ2MnptMC0zaC0yVjZoMnY0eiIvPjwvc3ZnPgogICAgPGJ1 + dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmbGFzaC1jbG9zZSBqcy1hamF4 + LWVycm9yLWRpc21pc3MiIGFyaWEtbGFiZWw9IkRpc21pc3MgZXJyb3IiPgog + ICAgICA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0ib2N0aWNvbiBv + Y3RpY29uLXgiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0i + MCAwIDEyIDE2IiB3aWR0aD0iMTIiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9k + ZCIgZD0iTTcuNDggOGwzLjc1IDMuNzUtMS40OCAxLjQ4TDYgOS40OGwtMy43 + NSAzLjc1LTEuNDgtMS40OEw0LjUyIDggLjc3IDQuMjVsMS40OC0xLjQ4TDYg + Ni41MmwzLjc1LTMuNzUgMS40OCAxLjQ4eiIvPjwvc3ZnPgogICAgPC9idXR0 + b24+CiAgICBZb3UgY2FuJ3QgcGVyZm9ybSB0aGF0IGFjdGlvbiBhdCB0aGlz + IHRpbWUuCiAgPC9kaXY+CgoKICAgIDxzY3JpcHQgY3Jvc3NvcmlnaW49ImFu + b255bW91cyIgc3JjPSJodHRwczovL2Fzc2V0cy1jZG4uZ2l0aHViLmNvbS9h + c3NldHMvY29tcGF0LWU0MmE4YmY5YzM4MDc1ODczNGUzOTg1MWRiMDRkZTdj + YmVlYjJmMzg2MGVmYmQ0ODFjOTZhYzEyYzI1YTZlY2IuanMiPjwvc2NyaXB0 + PgogICAgPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0 + dHBzOi8vYXNzZXRzLWNkbi5naXRodWIuY29tL2Fzc2V0cy9mcmFtZXdvcmtz + LWZiMTllOWM5NzZlZGU4NjU0ZTBkYjcwMzcwNzIwNGEzMjJkNzg1MzQ2ZTYz + NTM4NDM3ODdkMmQ0YWE3ZTE0MGUuanMiPjwvc2NyaXB0PgogICAgCiAgICA8 + c2NyaXB0IGFzeW5jPSJhc3luYyIgY3Jvc3NvcmlnaW49ImFub255bW91cyIg + c3JjPSJodHRwczovL2Fzc2V0cy1jZG4uZ2l0aHViLmNvbS9hc3NldHMvZ2l0 + aHViLTgzODdhNTkwOTYxMzJlMGIyYmU1MzVjYzdhM2I4MGIxMjZiNzc2MGIy + ZmNkYmU1NmZiMzYzOWRkNmNlZDhkZWQuanMiPjwvc2NyaXB0PgogICAgCiAg + ICAKICAgIAogICAgCiAgPGRpdiBjbGFzcz0ianMtc3RhbGUtc2Vzc2lvbi1m + bGFzaCBzdGFsZS1zZXNzaW9uLWZsYXNoIGZsYXNoIGZsYXNoLXdhcm4gZmxh + c2gtYmFubmVyIGQtbm9uZSI+CiAgICA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVl + IiBjbGFzcz0ib2N0aWNvbiBvY3RpY29uLWFsZXJ0IiBoZWlnaHQ9IjE2IiB2 + ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2Ij48 + cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljg2NSAxLjUyYy0uMTgt + LjMxLS41MS0uNS0uODctLjVzLS42OS4xOS0uODcuNUwuMjc1IDEzLjVjLS4x + OC4zMS0uMTguNjkgMCAxIC4xOS4zMS41Mi41Ljg3LjVoMTMuN2MuMzYgMCAu + NjktLjE5Ljg2LS41LjE3LS4zMS4xOC0uNjkuMDEtMUw4Ljg2NSAxLjUyek04 + Ljk5NSAxM2gtMnYtMmgydjJ6bTAtM2gtMlY2aDJ2NHoiLz48L3N2Zz4KICAg + IDxzcGFuIGNsYXNzPSJzaWduZWQtaW4tdGFiLWZsYXNoIj5Zb3Ugc2lnbmVk + IGluIHdpdGggYW5vdGhlciB0YWIgb3Igd2luZG93LiA8YSBocmVmPSIiPlJl + bG9hZDwvYT4gdG8gcmVmcmVzaCB5b3VyIHNlc3Npb24uPC9zcGFuPgogICAg + PHNwYW4gY2xhc3M9InNpZ25lZC1vdXQtdGFiLWZsYXNoIj5Zb3Ugc2lnbmVk + IG91dCBpbiBhbm90aGVyIHRhYiBvciB3aW5kb3cuIDxhIGhyZWY9IiI+UmVs + b2FkPC9hPiB0byByZWZyZXNoIHlvdXIgc2Vzc2lvbi48L3NwYW4+CiAgPC9k + aXY+CiAgPGRpdiBjbGFzcz0iZmFjZWJveCIgaWQ9ImZhY2Vib3giIHN0eWxl + PSJkaXNwbGF5Om5vbmU7Ij4KICA8ZGl2IGNsYXNzPSJmYWNlYm94LXBvcHVw + Ij4KICAgIDxkaXYgY2xhc3M9ImZhY2Vib3gtY29udGVudCIgcm9sZT0iZGlh + bG9nIiBhcmlhLWxhYmVsbGVkYnk9ImZhY2Vib3gtaGVhZGVyIiBhcmlhLWRl + c2NyaWJlZGJ5PSJmYWNlYm94LWRlc2NyaXB0aW9uIj4KICAgIDwvZGl2Pgog + ICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmYWNlYm94LWNsb3Nl + IGpzLWZhY2Vib3gtY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIG1vZGFsIj4K + ICAgICAgPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24g + b2N0aWNvbi14IiBoZWlnaHQ9IjE2IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9 + IjAgMCAxMiAxNiIgd2lkdGg9IjEyIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5v + ZGQiIGQ9Ik03LjQ4IDhsMy43NSAzLjc1LTEuNDggMS40OEw2IDkuNDhsLTMu + NzUgMy43NS0xLjQ4LTEuNDhMNC41MiA4IC43NyA0LjI1bDEuNDgtMS40OEw2 + IDYuNTJsMy43NS0zLjc1IDEuNDggMS40OHoiLz48L3N2Zz4KICAgIDwvYnV0 + dG9uPgogIDwvZGl2Pgo8L2Rpdj4KCgogIDwvYm9keT4KPC9odG1sPgoK + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:21 GMT +- request: + method: get + uri: https://circleci.com/blog/feed.xml + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/xml + Date: + - Mon, 08 Jan 2018 19:17:22 GMT + Etag: + - '"673cee8d071e8ae691849da3389f0094"' + Last-Modified: + - Fri, 05 Jan 2018 23:47:06 GMT + Server: + - nginx + X-Amz-Id-2: + - Yr1SHyhXhTxSdSFwgCzaO946qV3Pk6RV2zmSnqRwEnchbP6hnGe8nkWLhQB1IqXCzXMhzLUpni8= + X-Amz-Request-Id: + - A8BEA87D7FCF431C + X-Frame-Options: + - SAMEORIGIN + Content-Length: + - '15765' + Connection: + - keep-alive + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2 + ZXJzaW9uPSIyLjAiCiAgeG1sOmJhc2U9Imh0dHBzOi8vY2lyY2xlY2kuY29t + LyIKICB4bWxuczphdG9tPSJodHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20i + CiAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv + Ij4KICA8Y2hhbm5lbD4KICAgIDx0aXRsZT5UaGUgQ2lyY2xlQ0kgQmxvZyBG + ZWVkIC0gQ2lyY2xlQ0k8L3RpdGxlPgogICAgPGRlc2NyaXB0aW9uPlN0YXkg + dXAgdG8gZGF0ZSB3aXRoIHRoZSBsYXRlc3QgbmV3cywgdXBkYXRlcywgYW5k + IGhhY2tzIGZyb20gQ2lyY2xlQ0kuPC9kZXNjcmlwdGlvbj4KICAgIDxsaW5r + Pmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvPC9saW5rPgogICAgPGF0b206 + bGluayBocmVmPSJodHRwczovL2NpcmNsZWNpLmNvbS9ibG9nL2ZlZWQueG1s + IiByZWw9InNlbGYiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+CiAg + ICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5NaWdyYXRp + bmcgZnJvbSBidWRkeWJ1aWxkIHRvIENpcmNsZUNJIDwvdGl0bGU+CiAgICAg + ICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9taWdyYXRpbmct + ZnJvbS1idWRkeWJ1aWxkLXRvLWNpcmNsZWNpLzwvbGluaz4KICAgICAgICA8 + cHViRGF0ZT5XZWQsIDAzIEphbiAyMDE4IDA5OjQzOjAwIC0wODAwPC9wdWJE + YXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczov + L2NpcmNsZWNpLmNvbS9ibG9nL21pZ3JhdGluZy1mcm9tLWJ1ZGR5YnVpbGQt + dG8tY2lyY2xlY2kvPC9ndWlkPgogICAgICAgIAogICAgICAgICAgPGRjOmNy + ZWF0b3I+QWxleGV5IEtsb2NoYXk8L2RjOmNyZWF0b3I+CiAgICAgICAgCiAg + ICAgICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O3AmZ3Q7QWZ0ZXIg + YW4gYWNxdWlzaXRpb24gYnkgQXBwbGUsICZsdDthIGhyZWY9JnF1b3Q7aHR0 + cHM6Ly93d3cuYnVkZHlidWlsZC5jb20vYmxvZy9idWRkeWJ1aWxkLWlzLW5v + dy1wYXJ0LW9mLWFwcGxlJnF1b3Q7Jmd0O3llc3RlcmRheSBidWRkeWJ1aWxk + IGFubm91bmNlZCB0aGV5IHdpbGwgYmUgZGlzY29udGludWluZyBzZXJ2aWNl + IGZvciBBbmRyb2lkIGJ1aWxkcyBhbmQgZnJlZSBpT1MgcGxhbnMmbHQ7L2Em + Z3Q7LiBDb25ncmF0dWxhdGlvbnMgYXJlIGluIG9yZGVyIHRvIHRoZSBidWRk + eWJ1aWxkIHRlYW0sIHRob3VnaCB0aGUgbmV3cyBoYXMgbGVmdCBzb21lIHRl + YW1zIGxvb2tpbmcgZm9yIGEgcmVwbGFjZW1lbnQgQ0kgc3lzdGVtIGZvciB0 + aGVpciBtb2JpbGUgYnVpbGRzLiBXZSBwdXQgdG9nZXRoZXIgdGhpcyBjb21w + YXJpc29uIHRvIGhlbHAgdGVhbXMgZGVjaWRlIHdoZXRoZXIgQ2lyY2xlQ0kg + aXMgdGhlIHJpZ2h0IHRvb2wgZm9yIHRoZW0uJmx0Oy9wJmd0OwoKJmx0O2gy + IGlkPSZxdW90O2hvdy1kby1jaXJjbGVjaS1hbmQtYnVkZHlidWlsZC1jb21w + YXJlJnF1b3Q7Jmd0O0hvdyBkbyBDaXJjbGVDSSBhbmQgYnVkZHlidWlsZCBj + b21wYXJlPyZsdDsvaDImZ3Q7CiZsdDtwJmd0OyZsdDthIG5hbWU9JnF1b3Q7 + Y2hhcnQmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvcCZndDsKJmx0O3RhYmxl + IHN0eWxlPSZxdW90O3RhYmxlLWxheW91dDogZml4ZWQmcXVvdDsmZ3Q7CiAg + Jmx0O3RyJmd0OwogICAgJmx0O3RoJmd0OyZsdDsvdGgmZ3Q7CiAgICAmbHQ7 + dGggc3R5bGU9JnF1b3Q7d2lkdGg6MzAlJnF1b3Q7Jmd0O0NpcmNsZUNJJmx0 + Oy90aCZndDsKICAgICZsdDt0aCBzdHlsZT0mcXVvdDt3aWR0aDozMCUmcXVv + dDsmZ3Q7YnVkZHlidWlsZCZsdDsvdGgmZ3Q7CiAgJmx0Oy90ciZndDsKICAm + bHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7TW9iaWxlIHN1cHBvcnQgKG1hY09T + LCBBbmRyb2lkKSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyFJmx0Oy90 + ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICZsdDsvdHIm + Z3Q7CiAgICZsdDt0ciZndDsKICAgICZsdDt0ZCZndDtOb24tbW9iaWxlIHBy + b2plY3Qgc3VwcG9ydCZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyFJmx0 + Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinYwmbHQ7L3RkJmd0OwogICZsdDsv + dHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7QnVpbGQgaXNvbGF0 + aW9uIGZvciBtYWNPUyBhbmQgQW5kcm9pZCZsdDsvdGQmZ3Q7CiAgICAmbHQ7 + dGQmZ3Q74pyFJmx0Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3Rk + Jmd0OwogICZsdDsvdHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7 + U3VwcG9ydCBmb3Igb3BlbiBzb3VyY2UgcHJvamVjdHMmbHQ7L3RkJmd0Owog + ICAgJmx0O3RkJmd0O+KchSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74pyF + Jmx0Oy90ZCZndDsKICAmbHQ7L3RyJmd0OwogJmx0O3RyJmd0OwogICAgJmx0 + O3RkJmd0O0F1dG9tYXRlZCB1cGxvYWRzIHRvIGlUdW5lcyBDb25uZWN0Jmx0 + Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICAgJmx0 + O3RkJmd0O+KchSZsdDsvdGQmZ3Q7CiAgJmx0Oy90ciZndDsKICZsdDt0ciZn + dDsKICAgICZsdDt0ZCZndDtSdW4gbWFjT1MgYW5kIExpbnV4IGpvYnMgaW4g + dGhlIHNhbWUgV29ya2Zsb3cmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+Kc + hSZsdDsvdGQmZ3Q7CiAgICAmbHQ7dGQmZ3Q74p2MJmx0Oy90ZCZndDsKICAm + bHQ7L3RyJmd0OwogJmx0O3RyJmd0OwogICAgJmx0O3RkJmd0O01hbnVhbCBh + cHByb3ZhbCBzdGVwIHdpdGggV29ya2Zsb3dzJmx0Oy90ZCZndDsKICAgICZs + dDt0ZCZndDvinIUmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+KdjCZsdDsv + dGQmZ3Q7CiAgJmx0Oy90ciZndDsKICZsdDt0ciZndDsKICAgICZsdDt0ZCZn + dDtDb25maWd1cmF0aW9uIGluIHRoZSBVSSZsdDsvdGQmZ3Q7CiAgICAmbHQ7 + dGQmZ3Q74p2MJmx0Oy90ZCZndDsKICAgICZsdDt0ZCZndDvinIUmbHQ7L3Rk + Jmd0OwogICZsdDsvdHImZ3Q7CiAmbHQ7dHImZ3Q7CiAgICAmbHQ7dGQmZ3Q7 + Q29sbGFib3JhdG9ycyB3aXRob3V0IEdpdEh1YiAvIEJpdGJ1Y2tldCBhY2Nl + c3MmbHQ7L3RkJmd0OwogICAgJmx0O3RkJmd0O+KdjCZsdDsvdGQmZ3Q7CiAg + ICAmbHQ7dGQmZ3Q74pyFJmx0Oy90ZCZndDsKICAgJmx0Oy90ciZndDsKJmx0 + Oy90YWJsZSZndDsKCjwvZGVzY3JpcHRpb24+CiAgICAgICAgCiAgICAgIDwv + aXRlbT4KICAgIAogICAgICAKICAgICAgPGl0ZW0+CiAgICAgICAgPHRpdGxl + PjEwIFdheXMgWW91J3JlIERvaW5nIERldk9wcyBXcm9uZzwvdGl0bGU+CiAg + ICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy8xMC13YXlz + LXlvdS1yZS1kb2luZy1kZXZvcHMtd3JvbmcvPC9saW5rPgogICAgICAgIDxw + dWJEYXRlPldlZCwgMjAgRGVjIDIwMTcgMTA6MTc6MDAgLTA4MDA8L3B1YkRh + dGU+CiAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9InRydWUiPmh0dHBzOi8v + Y2lyY2xlY2kuY29tL2Jsb2cvMTAtd2F5cy15b3UtcmUtZG9pbmctZGV2b3Bz + LXdyb25nLzwvZ3VpZD4KICAgICAgICAKICAgICAgICAKICAgICAgICAgIDxk + ZXNjcmlwdGlvbj4mbHQ7cCZndDsmbHQ7aW1nIHNyYz0mcXVvdDsvYmxvZy9t + ZWRpYS9EZXZPcHMtQ29kaW5nLTAxICgxKS5wbmcmcXVvdDsgYWx0PSZxdW90 + O0Rldk9wcy1Db2RpbmctMDEgKDEpLnBuZyZxdW90OyAvJmd0OyZsdDsvcCZn + dDsKCiZsdDtwJmd0O1RoZSB0ZXJtIERldk9wcyBpcyBnZXR0aW5nIGEgbG90 + IG9mIGF0dGVudGlvbiB0aGVzZSBkYXlzLCBhbmQgZm9yIGdvb2QgcmVhc29u + OiBhZG9wdGluZyBEZXZPcHMgcHJhY3RpY2VzIGhlbHBzIHRlYW1zIHdvcmsg + bW9yZSBlZmZpY2llbnRseSwgc2hpcCBiZXR0ZXIgY29kZSBhbmQgbWFrZSBj + dXN0b21lcnMgaGFwcGllci4gQnV0IGFsb25nIHdpdGggdGhlIHRlcm3igJlz + IGluY3JlYXNpbmcgcG9wdWxhcml0eSwgd2XigJl2ZSBhbHNvIHNlZW4gc29t + ZSBjb21tb24gcGl0ZmFsbHMgdGVhbXMgYXR0ZW1wdGluZyB0byDigJxkbyBE + ZXZPcHPigJ0gZmFsbCBpbnRvLiZsdDsvcCZndDsKCjwvZGVzY3JpcHRpb24+ + CiAgICAgICAgCiAgICAgIDwvaXRlbT4KICAgIAogICAgICAKICAgICAgPGl0 + ZW0+CiAgICAgICAgPHRpdGxlPkRvbid0IExldCBDb2RlIEZyZWV6ZSBMZWF2 + ZSBZb3UgT3V0IGluIHRoZSBDb2xkPC90aXRsZT4KICAgICAgICA8bGluaz5o + dHRwczovL2NpcmNsZWNpLmNvbS9ibG9nL2Rvbi10LWxldC1jb2RlLWZyZWV6 + ZS1sZWF2ZS15b3Utb3V0LWluLXRoZS1jb2xkLzwvbGluaz4KICAgICAgICA8 + cHViRGF0ZT5UaHUsIDE0IERlYyAyMDE3IDA2OjI0OjAwIC0wODAwPC9wdWJE + YXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczov + L2NpcmNsZWNpLmNvbS9ibG9nL2Rvbi10LWxldC1jb2RlLWZyZWV6ZS1sZWF2 + ZS15b3Utb3V0LWluLXRoZS1jb2xkLzwvZ3VpZD4KICAgICAgICAKICAgICAg + ICAgIDxkYzpjcmVhdG9yPkdpbGxpYW4gQmVuQXJ5PC9kYzpjcmVhdG9yPgog + ICAgICAgIAogICAgICAgIAogICAgICAgICAgPGRlc2NyaXB0aW9uPiZsdDto + MiBpZD0mcXVvdDt0aGluZ3MtdG8tZG8taW5zdGVhZC1vZi1kZXBsb3lpbmcm + cXVvdDsmZ3Q7NyBUaGluZ3MgdG8gRG8gSW5zdGVhZCBvZiBEZXBsb3lpbmcm + bHQ7L2gyJmd0OwoKJmx0O3AmZ3Q7Jmx0O2ltZyBzcmM9JnF1b3Q7L2Jsb2cv + bWVkaWEvQ29kZUZyZWV6ZS12Mi5qcGcmcXVvdDsgYWx0PSZxdW90O0NvZGVG + cmVlemUtdjIuanBnJnF1b3Q7IC8mZ3Q7Jmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7 + QXJvdW5kIHRoaXMgdGltZSBvZiB5ZWFyLCBtYW55IGNvbXBhbmllcyBpbnN0 + aXR1dGUgYSDigJxjb2RlIGZyZWV6ZeKAnSB0aGF0IHB1dHMgYSBzdG9wIHRv + IG5ldyBkZXBsb3lzIGZvciBhIGNlcnRhaW4gcGVyaW9kIG9mIHRpbWUgKG9m + dGVuIHRvIHdhaXQgb3V0IHRoZSBob2xpZGF5IHJldGFpbCBydXNoLCBvciB1 + bnRpbCB0ZWFtcyBhcmUgYmFjayBpbiBmdWxsIGZvcmNlIGluIHRoZSBvZmZp + Y2UgcG9zdC12YWNhdGlvbikuJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7V2hpbGUg + bmV3IGZlYXR1cmVzIG1heSBub3QgYmUgZ29pbmcgb3V0IHRvIGN1c3RvbWVy + cyBkdXJpbmcgdGhpcyB0aW1lLCB0aGF0IGRvZXNu4oCZdCBtZWFuIHRoYXQg + bWVhbmluZ2Z1bCB3b3JrIGlzbuKAmXQgaGFwcGVuaW5nIG9uIGVuZ2luZWVy + aW5nIHRlYW1zLiBUaGlzIGlzIGEgdGltZSB0aGF0IGlzIGZ1bGwgb2YgcGxh + bm5pbmcsIHJvYWRtYXBwaW5nLCBhbmQgc2V0dGluZyB0ZWFtcyB1cCBmb3Ig + c3VjY2VzcyBpbiB0aGUgY29taW5nIHllYXIuIEl0IGNhbiBhbHNvIGJlIGEg + ZnJ1aXRmdWwgdGltZSBmb3IgcGVyc29uYWwgb3IgdGVhbS13aWRlIGV4cGVy + aW1lbnRhdGlvbiwgZ29hbC1zZXR0aW5nLCBhbmQgZmluZS10dW5pbmcgb2Yg + ZXhpc3Rpbmcgc3lzdGVtcyAoZm9yIGV4YW1wbGUsICZsdDthIGhyZWY9JnF1 + b3Q7aHR0cHM6Ly9jaXJjbGVjaS5jb20vZG9jcy8yLjAvbWlncmF0aW5nLWZy + b20tMS0yLyZxdW90OyZndDttaWdyYXRpbmcgZnJvbSBDaXJjbGVDSSAxLjAg + dG8gMi4wJmx0Oy9hJmd0OykmbHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgog + ICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVt + PgogICAgICAgIDx0aXRsZT5Ib3cgdG8gQnVpbGQgSW1tdXRhYmxlIEluZnJh + c3RydWN0dXJlIHdpdGggUGFja2VyIGFuZCBDaXJjbGVDSSBXb3JrZmxvd3M8 + L3RpdGxlPgogICAgICAgIDxsaW5rPmh0dHBzOi8vY2lyY2xlY2kuY29tL2Js + b2cvaG93LXRvLWJ1aWxkLWltbXV0YWJsZS1pbmZyYXN0cnVjdHVyZS13aXRo + LXBhY2tlci1hbmQtY2lyY2xlY2ktd29ya2Zsb3dzLzwvbGluaz4KICAgICAg + ICA8cHViRGF0ZT5UdWUsIDEyIERlYyAyMDE3IDA4OjQ0OjAwIC0wODAwPC9w + dWJEYXRlPgogICAgICAgIDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRw + czovL2NpcmNsZWNpLmNvbS9ibG9nL2hvdy10by1idWlsZC1pbW11dGFibGUt + aW5mcmFzdHJ1Y3R1cmUtd2l0aC1wYWNrZXItYW5kLWNpcmNsZWNpLXdvcmtm + bG93cy88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRvcj5C + ZWFyPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAogICAgICAgICAg + PGRlc2NyaXB0aW9uPiZsdDtwJmd0O0hhc2hpQ29ycCAmbHQ7YSBocmVmPSZx + dW90O2h0dHBzOi8vd3d3Lmhhc2hpY29ycC5jb20vYmxvZy9oYXNoaWNvcnAt + dGVycmFmb3JtLWVudGVycHJpc2UtZ2VuZXJhbC1hdmFpbGFiaWxpdHkmcXVv + dDsmZ3Q7cmVjZW50bHkgYW5ub3VuY2VkJmx0Oy9hJmd0OyB0aGF0IHRoZXkg + YXJlIGRlcHJlY2F0aW5nIEF0bGFzIGFuZCB3aWxsIG9mZmVyIFRlcnJhZm9y + bSBFbnRlcnByaXNlIGFzIGEgc3RhbmRhbG9uZSBwcm9kdWN0IHRvIGl0cyBj + dXN0b21lcnMuIEluIHRoaXMgcG9zdCwgd2Ugd2lsbCBvdXRsaW5lIGhvdyB0 + byByZXBsaWNhdGUgeW91ciBBdGxhcyBwaXBlbGluZSB3aXRoIFBhY2tlciBh + bmQgQ2lyY2xlQ0ksIHdpdGggZXhhbXBsZXMgb2YgUGFja2VyIGpvYiBjb25m + aWd1cmF0aW9uLCBBTUkgZ2VuZXJhdGlvbiwgdXNpbmcgVGVycmFmb3JtIHRv + IG1hbmFnZSBjaGFuZ2UsIGFuZCBzdG9yaW5nIGFydGlmYWN0cyBpbiBTMy4m + bHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgogICAgICAgIAogICAgICA8L2l0 + ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5I + b3cgdG8gSGFuZGxlIEphdmEgT09NIEVycm9yczwvdGl0bGU+CiAgICAgICAg + PGxpbms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9ob3ctdG8taGFuZGxl + LWphdmEtb29tLWVycm9ycy88L2xpbms+CiAgICAgICAgPHB1YkRhdGU+V2Vk + LCAwNiBEZWMgMjAxNyAwNzoxODowMCAtMDgwMDwvcHViRGF0ZT4KICAgICAg + ICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6Ly9jaXJjbGVjaS5j + b20vYmxvZy9ob3ctdG8taGFuZGxlLWphdmEtb29tLWVycm9ycy88L2d1aWQ+ + CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRvcj5Sb3NlIEthcGxhbi1C + b21iZXJnPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAogICAgICAg + ICAgPGRlc2NyaXB0aW9uPiZsdDtwJmd0OyZsdDtpbWcgc3JjPSZxdW90Oy9i + bG9nL21lZGlhL09PTS1GdWxsLXYxMC5naWYmcXVvdDsgYWx0PSZxdW90O09P + TS1GdWxsLXYxMC5naWYmcXVvdDsgLyZndDsmbHQ7L3AmZ3Q7CgombHQ7cCZn + dDtUcnlpbmcgdG8ga2VlcCBKYXZh4oCZcyBtZW1vcnkgdXNhZ2UgdW5kZXIg + Y29udHJvbCBpbiBhICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly9jaXJjbGVj + aS5jb20vY29udGludW91cy1pbnRlZ3JhdGlvbi8mcXVvdDsmZ3Q7Q0kmbHQ7 + L2EmZ3Q7IGVudmlyb25tZW50IGNhbiBiZSBzb21ldGhpbmcgb2YgYSBkYXJr + IGFydC4mbHQ7L3AmZ3Q7CgombHQ7cCZndDtXaXRoIHRoZSB3ZWFsdGggb2Yg + YnVpbGQgZnJhbWV3b3JrcyBhdmFpbGFibGUgZm9yIEphdmEvQW5kcm9pZCBw + cm9qZWN0cyDigJQgSmF2YSwgR3JhZGxlLCBNYXZlbiAobm90IHRvIG1lbnRp + b24gS290bGluIGFuZCBpdHMgb3duIHRvb2xpbmcgZWNvc3lzdGVtKSDigJQg + aXQgY2FuIGJlIGRpZmZpY3VsdCB0byBjb250cm9sIHdoZXJlIHlvdXIgbWVt + b3J5IGlzIGdvaW5nIGFuZCBob3cgdG8gbGltaXQgaXQuIFRoZXJlIGFyZSBh + IHZhcmlldHkgb2YgZGlmZmVyZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyB5 + b3UgY2FuIHNldCB0byBtYW5hZ2UgbWVtb3J5IHVzYWdlLCBhbGwgd2l0aCBz + aW1pbGFyIG5hbWVzIGFuZCBzeW50YXguIFRoZXNlIHZhcmlhYmxlcyBpbnRl + cmFjdCB3aXRoIG9uZSBhbm90aGVyIGluIHdheXMgdGhhdCBtaWdodCBub3Qg + aW5pdGlhbGx5IG1ha2UgbXVjaCBzZW5zZS4mbHQ7L3AmZ3Q7Cgo8L2Rlc2Ny + aXB0aW9uPgogICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAg + ICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5Gcm9tIENvZGUgQ293Ym95IHRv + IEluZnJhc3RydWN0dXJlIEFyY2hpdGVjdDwvdGl0bGU+CiAgICAgICAgPGxp + bms+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9mcm9tLWNvZGUtY293Ym95 + LXRvLWluZnJhc3RydWN0dXJlLWFyY2hpdGVjdC88L2xpbms+CiAgICAgICAg + PHB1YkRhdGU+VHVlLCAwNSBEZWMgMjAxNyAwNDozNzowMCAtMDgwMDwvcHVi + RGF0ZT4KICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6 + Ly9jaXJjbGVjaS5jb20vYmxvZy9mcm9tLWNvZGUtY293Ym95LXRvLWluZnJh + c3RydWN0dXJlLWFyY2hpdGVjdC88L2d1aWQ+CiAgICAgICAgCiAgICAgICAg + ICA8ZGM6Y3JlYXRvcj5CcmVvbiBLbmlnaHQ8L2RjOmNyZWF0b3I+CiAgICAg + ICAgCiAgICAgICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O2gyIGlk + PSZxdW90O3RoaW5ncy1pLXdpc2gtaWQta25vd24tYXMtYS1kZXZlbG9wZXIm + cXVvdDsmZ3Q7NSB0aGluZ3MgSSB3aXNoIEnigJlkIGtub3duIGFzIGEgZGV2 + ZWxvcGVyJmx0Oy9oMiZndDsKCiZsdDtwJmd0OyZsdDtpbWcgc3JjPSZxdW90 + Oy9ibG9nL21lZGlhLzAxLUNvd2JveS12Ny5qcGcmcXVvdDsgYWx0PSZxdW90 + OzAxLUNvd2JveS12Ny5qcGcmcXVvdDsgLyZndDsmbHQ7L3AmZ3Q7CgombHQ7 + cCZndDtUaGVyZeKAmXMgYSBkaWZmZXJlbmNlIGJldHdlZW4gdW5kZXJzdGFu + ZGluZyBob3cgdG8gd3JpdGUgYW4gYXBwLCBhbmQgdW5kZXJzdGFuZGluZyB0 + aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdCB3b3JrcyB1bmRlcm5lYXRoIGl0LiBX + aGVuIEkgdHJhbnNpdGlvbmVkIGZyb20gYSBkZXZlbG9wZXIgdG8gYW4gU1JF + IChzaXRlIHJlbGlhYmlsaXR5IGVuZ2luZWVyKSB0aGlzIHllYXIsIGFuZCBz + YXcgaG93IGRpc3RyaWJ1dGVkIHN5c3RlbXMgd29ya2VkIGF0IGFuIGFjdHVh + bCBjb21wYW55LCBpdCByZWFsbHkgY2hhbmdlZCB0aGUgd2F5IEkgdGhvdWdo + dCBhYm91dCB3cml0aW5nIGNvZGUuJmx0Oy9wJmd0OwoKJmx0O3AmZ3Q7V2hl + biB5b3XigJlyZSBkb2luZyBzb2Z0d2FyZSBkZXZlbG9wbWVudCBleGNsdXNp + dmVseSB5b3XigJlyZSBub3QgdGhpbmtpbmcgYWJvdXQgaG93IGl04oCZcyBn + b2luZyB0byBiZSBoZWxkIHVwLiBXaGVuIEkgZGVwbG95ZWQgbXkgZmlyc3Qg + d2Vic2l0ZSwgSSBoYWQgbm8gaWRlYSBob3cgdG8gbGF5IHRoaXMgZG93bi4g + SSBkaWRu4oCZdCBjYXJlIG11Y2ggYWJvdXQgd3JpdGluZyB0ZXN0cy4gTGV0 + 4oCZcyBrZWVwIGl0IHJlYWw6IEkganVzdCBjYXJlZCBhYm91dCBhZGRpbmcg + bmV3IGZlYXR1cmVzIGFuZCBzZWVpbmcgdGhlIGVuZCBwcm9kdWN0LiBJIGRp + ZG7igJl0IHVuZGVyc3RhbmQgaG93IHRvIGhvc3Qgc3RhdGljIGltYWdlcywg + b3IgY29uZmlndXJlIGEgc2VydmVyLiZsdDsvcCZndDsKCiZsdDtwJmd0O0hl + cmUgYXJlIHNvbWUgdGhpbmdzIEkgd2lzaCBJ4oCZZCBiZWVuIG1vcmUgZm9j + dXNlZCBvbiB3aGVuIEkgd2FzIGp1c3Qgd29ya2luZyBvbiBkZXZlbG9wbWVu + dDombHQ7L3AmZ3Q7Cgo8L2Rlc2NyaXB0aW9uPgogICAgICAgIAogICAgICA8 + L2l0ZW0+CiAgICAKICAgICAgCiAgICAgIDxpdGVtPgogICAgICAgIDx0aXRs + ZT5UaGUgRmVlZGJhY2sgTG9vcDogSG93IHRvIEFkYXB0IHRvIENvbnN0YW50 + IENoYW5nZTwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVj + aS5jb20vYmxvZy90aGUtZmVlZGJhY2stbG9vcC1ob3ctdG8tYWRhcHQtdG8t + Y29uc3RhbnQtY2hhbmdlLzwvbGluaz4KICAgICAgICA8cHViRGF0ZT5UaHUs + IDMwIE5vdiAyMDE3IDA3OjI4OjAwIC0wODAwPC9wdWJEYXRlPgogICAgICAg + IDxndWlkIGlzUGVybWFMaW5rPSJ0cnVlIj5odHRwczovL2NpcmNsZWNpLmNv + bS9ibG9nL3RoZS1mZWVkYmFjay1sb29wLWhvdy10by1hZGFwdC10by1jb25z + dGFudC1jaGFuZ2UvPC9ndWlkPgogICAgICAgIAogICAgICAgICAgPGRjOmNy + ZWF0b3I+QWxlayBTaGFybWE8L2RjOmNyZWF0b3I+CiAgICAgICAgCiAgICAg + ICAgCiAgICAgICAgICA8ZGVzY3JpcHRpb24+Jmx0O3AmZ3Q7Jmx0O2ltZyBz + cmM9JnF1b3Q7L2Jsb2cvbWVkaWEvRmVlZGJhY2tMb29wLXYyLmpwZyZxdW90 + OyBhbHQ9JnF1b3Q7RmVlZGJhY2tMb29wLXYyLmpwZyZxdW90OyAvJmd0OyZs + dDsvcCZndDsKCiZsdDtwJmd0O1dlIGxpdmUgaW4gYW4gYWNjZWxlcmF0aW5n + IHdvcmxkLiZsdDsvcCZndDsKCiZsdDtwJmd0O0luZm9ybWF0aW9uIGlzIGJl + aW5nIGNyZWF0ZWQsIGRpc3NlbWluYXRlZCwgcHJvY2Vzc2VkLCBhbmQgcmVn + dXJnaXRhdGVkIGF0ICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly93ZWItYXNz + ZXRzLmRvbW8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + MTdfZG9tb19kYXRhLW5ldmVyLXNsZWVwcy01LTAxLnBuZyZxdW90OyZndDt1 + bnByZWNlZGVudGVkIHJhdGVzJmx0Oy9hJmd0Oy4gQnV0IG91ciBicmFpbnMg + YXJlbuKAmXQgYWRhcHRpbmcgdG8gdGhpcyBicmVha25lY2sgcGFjZTsgYXMg + dGhlIGFtb3VudCBvZiAmbHQ7ZW0mZ3Q7dGhpbmdzJmx0Oy9lbSZndDsgaW5j + cmVhc2VzLCBvdXIgYXR0ZW50aW9uIHNwYW5zIGhhdmUgYmVlbiBkZWNyZWFz + aW5nIHRvIHByb3RlY3Qgb3Vyc2VsdmVzIGZyb20gdGhlIGluY2Vzc2FudCBi + YXJyYWdlIG9mIGluZm9ybWF0aW9uLiZsdDsvcCZndDsKCiZsdDtwJmd0O0Fu + ZCB0aGUgd29ybGQgaXMgY2hhbmdpbmcgdG8gY29tcGVuc2F0ZSBmb3Igb3Vy + IGxhY2sgb2YgZm9jdXMuIEZhY2Vib29rIGFuZCBUd2l0dGVyIGRlbGl2ZXIg + ZW5kbGVzcyBmZWVkcyBvZiBiaXRlLXNpemVkIGNvbnRlbnQsIGJvbWJhcmRp + bmcgYnJhaW5zIHdpdGggZG9wYW1pbmUg4oCUICZsdDthIGhyZWY9JnF1b3Q7 + aHR0cHM6Ly93d3cuZm9yYmVzLmNvbS9zaXRlcy9iaWFuY2FzYWxvbmdhLzIw + MTcvMDIvMjgvYnVyYmVycnlzLWJ1eS1ub3ctc2VlLW5vdy1mZWJydWFyeS1z + aG93LXJldm9sdXRpb25pemVzLXRoZS1wYWNlLW9mLWx1eHVyeS1yZXRhaWwv + IzUzMGI3MzFhNTVhZSZxdW90OyZndDtCdXJiZXJyeeKAmXMgcmVsZWFzZXMg + ZnJlc2ggZGVzaWducyBvbmUgZGF5IGFmdGVyIHNob3djYXNpbmcgdGhlbSZs + dDsvYSZndDsg4oCUIGFuZCB0aGUgdHdpbiBhcnRmb3JtcyBvZiBlbW9qaSBh + bmQgbWVtZXMgZGlzdGlsbCBvdXIgdGhvdWdodHMgaW50byBpbWFnZXMuJmx0 + Oy9wJmd0OwoKPC9kZXNjcmlwdGlvbj4KICAgICAgICAKICAgICAgPC9pdGVt + PgogICAgCiAgICAgIAogICAgICA8aXRlbT4KICAgICAgICA8dGl0bGU+Q29u + dGludW91cyBEcnVwYWwgUGFydCBJSTogRHJ1cGFsIDggQ0k8L3RpdGxlPgog + ICAgICAgIDxsaW5rPmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvY29udGlu + dW91cy1kcnVwYWwtcDItY29udGludW91cy1pbnRlZ3JhdGlvbi88L2xpbms+ + CiAgICAgICAgPHB1YkRhdGU+VHVlLCAyOCBOb3YgMjAxNyAwNTowMDowMCAt + MDgwMDwvcHViRGF0ZT4KICAgICAgICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1 + ZSI+aHR0cHM6Ly9jaXJjbGVjaS5jb20vYmxvZy9jb250aW51b3VzLWRydXBh + bC1wMi1jb250aW51b3VzLWludGVncmF0aW9uLzwvZ3VpZD4KICAgICAgICAK + ICAgICAgICAgIDxkYzpjcmVhdG9yPlJpY2FyZG8gTiBGZWxpY2lhbm88L2Rj + OmNyZWF0b3I+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICA8ZGVzY3Jp + cHRpb24+Jmx0O3AmZ3Q7V2XigJlyZSBsZWFybmluZyBob3cgdG8gbW92ZSBm + YXN0ZXIgd2l0aCBEcnVwYWwsIG1vdmluZyBjaGFuZ2VzIGZyb20gYSBkZXbi + gJlzIGxhcHRvcCB0byBwcm9kdWN0aW9uIHF1aWNrbHkgd2hpbGUgbWFpbnRh + aW5pbmcgKGlmIG5vdCBpbmNyZWFzaW5nKSBxdWFsaXR5LiBJbiAmbHQ7YSBo + cmVmPSZxdW90O2h0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvY29udGludW91 + cy1kcnVwYWwtcDEtbWFpbnRhaW5pbmctd2l0aC1kb2NrZXItZ2l0LWNvbXBv + c2VyLyZxdW90OyZndDtwYXJ0IDEmbHQ7L2EmZ3Q7IG9mIHRoaXMgJmx0O2Vt + Jmd0O0NvbnRpbnVvdXMgRHJ1cGFsJmx0Oy9lbSZndDsgc2VyaWVzLCB3ZSBj + b3ZlcmVkIGhvdyB0byBnZXQgdXAgYW5kIHJ1bm5pbmcgd2l0aCBEcnVwYWwg + dXNpbmcgYSBtb2Rlcm4gdG9vbHNldC4gSW4gdGhpcyBwb3N0IHdl4oCZcmUg + Z29pbmcgdG8gY29udGludWUgd2hlcmUgcGFydCAxIGxlZnQgb2ZmIGFuZCBi + cmluZyBvdXIgRHJ1cGFsIHdlYnNpdGUgaW50byBDaXJjbGVDSS4gV2XigJls + bCBydW4gUUEgdGVzdHMgb24gdGhlIHNpdGUgdG8gbWFrZSBzdXJlIGV2ZXJ5 + dGhpbmcgaXMgcnVubmluZyBhcyBleHBlY3RlZCwgYW5kIG9wdGlvbmFsbHkg + UEhQVW5pdCB0ZXN0IGZvciBjdXN0b20gbW9kdWxlcyBvciB0aGVtZXMgd2Ug + bWF5IGhhdmUuIExldOKAmXMgZGl2ZSBpbi4mbHQ7L3AmZ3Q7Cgo8L2Rlc2Ny + aXB0aW9uPgogICAgICAgIAogICAgICA8L2l0ZW0+CiAgICAKICAgICAgCiAg + ICAgIDxpdGVtPgogICAgICAgIDx0aXRsZT5PbmJvYXJkaW5nIG9udG8gYSBE + aXN0cmlidXRlZCBUZWFtOiBSZWFjaCBPdXQgYW5kIEFzayBTb21lb25lPC90 + aXRsZT4KICAgICAgICA8bGluaz5odHRwczovL2NpcmNsZWNpLmNvbS9ibG9n + L29uYm9hcmRpbmctb250by1hLWRpc3RyaWJ1dGVkLXRlYW0vPC9saW5rPgog + ICAgICAgIDxwdWJEYXRlPldlZCwgMTUgTm92IDIwMTcgMjM6MDQ6MDAgLTA4 + MDA8L3B1YkRhdGU+CiAgICAgICAgPGd1aWQgaXNQZXJtYUxpbms9InRydWUi + Pmh0dHBzOi8vY2lyY2xlY2kuY29tL2Jsb2cvb25ib2FyZGluZy1vbnRvLWEt + ZGlzdHJpYnV0ZWQtdGVhbS88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8 + ZGM6Y3JlYXRvcj5GaW9uYSBXYWxzaDwvZGM6Y3JlYXRvcj4KICAgICAgICAK + ICAgICAgICAKICAgICAgICAgIDxkZXNjcmlwdGlvbj4mbHQ7cCZndDsmbHQ7 + aW1nIHNyYz0mcXVvdDsvYmxvZy9tZWRpYS9WaWRlb01lZXQtdjIuanBnJnF1 + b3Q7IGFsdD0mcXVvdDtWaWRlb01lZXQtdjIuanBnJnF1b3Q7IC8mZ3Q7Jmx0 + Oy9wJmd0OwoKJmx0O3AmZ3Q7SSBzdGFydGVkIGF0IENpcmNsZUNJIEhRIGlu + IFNhbiBGcmFuY2lzY28gYXMgYSBTb2x1dGlvbnMgRW5naW5lZXIgdGhpcyBw + YXN0IEF1Z3VzdC4gV2l0aCBhIGpvYiBoaXN0b3J5IG9mIHdvcmtpbmcgYXQg + bXVjaCBsYXJnZXIgY29tcGFuaWVzIHN1Y2ggYXMgZUJheSBhbmQgUGF5UGFs + LCBiZWluZyBhdCBhIHN0YXJ0LXVwIHdhcyBhIGJpZyBjaGFuZ2UgZm9yIG1l + LiZsdDsvcCZndDsKCiZsdDtwJmd0O0FuZCBzbyBJIGZvdW5kIG15c2VsZiBn + cmFwcGxpbmcgd2l0aCBhIG5ldyBwcm9ibGVtOiBob3cgdG8gb25ib2FyZC4g + SSB3YXMgbW9yZSBhY2N1c3RvbWVkIHRvIHN1cGVyIHN0cnVjdHVyZWQgd2Vl + ay1sb25nIChvciBldmVuIGxvbmdlcikgb25ib2FyZGluZyBmb3JtYXRzLCB3 + aGljaCBJIGhhZCBmb3VuZCB0byBiZSBkcnkgYW5kIGRhdGEtaGVhdnkuJmx0 + Oy9wJmd0OwoKJmx0O3AmZ3Q7QXQgQ2lyY2xlQ0ksIHRoZSBjdWx0dXJlIGlz + IHZlcnkgcmVtb3RlIGZyaWVuZGx5LiBNeSBtYW5hZ2VyIEtldmluIGxpdmVz + IGluIFNlYXR0bGUgYW5kIHdvcmtzIHJlbW90ZWx5IGZyb20gdGhlcmUuIEkg + aGF2ZSBjby13b3JrZXJzIG9uIG15IHRlYW0gYmFzZWQgb3V0IG9mIE5ldyBZ + b3JrIGFuZCBDb2xvcmFkby4gRm9yIG15IGZpcnN0IHdlZWssIEtldmluIHRy + YXZlbGVkIGRvd24gdG8gdGhlIFNhbiBGcmFuY2lzY28gb2ZmaWNlIHRvIHdl + bGNvbWUgbWUgYW5kIHRvIGtpY2sgb2ZmIHRoZSBvbmJvYXJkaW5nIHByb2Nl + c3MuIEl0IHdhcyByZWFsbHkgaGVscGZ1bCB0byBoYXZlIHNvbWUgMToxIHRy + YWluaW5nIHRpbWUgYW5kIHRvIGdldCBzb21lIHN1Z2dlc3Rpb25zIG9uIHdo + YXQgYXJlYXMgdG8gY29udGludWUgZm9jdXNpbmcgbXkgdGltZSBvbi4gU29s + dXRpb25zIEVuZ2luZWVycyBsZWFkIHRoZSB0ZWNobmljYWwgaW1wbGVtZW50 + YXRpb24gYW5kIGRheS10by1kYXkgbWFuYWdlbWVudCBvZiBDaXJjbGVDSSBU + cmlhbHMsIGVuc3VyaW5nIGVhcmx5IGN1c3RvbWVyIHN1Y2Nlc3MgYW5kIGEg + bG9uZy10ZXJtIGJ1c2luZXNzIHJlbGF0aW9uc2hpcC4gTmV3IGhpcmVzIGlu + IHRoaXMgcm9sZSBvZnRlbiBzdGFydCB3aXRoIGEgd2VlayBvbiBzdXBwb3J0 + IGR1dHkgdG8gaGVscCBsZWFybiB0aGUgcHJvZHVjdC4mbHQ7L3AmZ3Q7Cgom + bHQ7cCZndDtBZnRlciB0aGUgbmV3bmVzcyBhbmQgZXhjaXRlbWVudCBvZiBt + eSBmaXJzdCB3ZWVrLCBJIGZlbHQgYSBsaXR0bGUgdW5zdXJlIG9mIHRoZSBi + ZXN0IHdheSB0byBzb2FrIHVwIG1vcmUgQ2lyY2xlQ0kgdHJpYmFsIGtub3ct + aG93LiBUaGVyZSB3ZXJlIHBsZW50eSBvZiBwZW9wbGUgd2hvIGNvdWxkIGFu + c3dlciBhbnkgdGVjaG5pY2FsIHF1ZXN0aW9ucyBJIG1pZ2h0IGhhdmUsIGJ1 + dCBkdXJpbmcgdGhvc2UgYmVnaW5uaW5nIGRheXMgYW5kIHdlZWtzIEkgZGlk + buKAmXQgYWx3YXlzIGtub3cgcXVpdGUgd2hhdCAob3Igd2hvbSkgdG8gYXNr + LiZsdDsvcCZndDsKCjwvZGVzY3JpcHRpb24+CiAgICAgICAgCiAgICAgIDwv + aXRlbT4KICAgIAogICAgICAKICAgICAgPGl0ZW0+CiAgICAgICAgPHRpdGxl + Pk9uZSBNb3JlIFRoaW5nOiBBcHBsZSBEZXZlbG9wZXJzIENhbiBOb3cgQnVp + bGQgZm9yIG1hY09TLCBpT1MsIHR2T1MsIGFuZCB3YXRjaE9TIG9uIENpcmNs + ZUNJIDIuMDwvdGl0bGU+CiAgICAgICAgPGxpbms+aHR0cHM6Ly9jaXJjbGVj + aS5jb20vYmxvZy9vbmUtbW9yZS10aGluZy1hcHBsZS1kZXZlbG9wZXJzLWNh + bi1ub3ctYnVpbGQtZm9yLW1hY29zLWlvcy10dm9zLWFuZC13YXRjaG9zLW9u + LWNpcmNsZWNpLTItMC88L2xpbms+CiAgICAgICAgPHB1YkRhdGU+VHVlLCAx + NCBOb3YgMjAxNyAwODowMDowMCAtMDgwMDwvcHViRGF0ZT4KICAgICAgICA8 + Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6Ly9jaXJjbGVjaS5jb20v + YmxvZy9vbmUtbW9yZS10aGluZy1hcHBsZS1kZXZlbG9wZXJzLWNhbi1ub3ct + YnVpbGQtZm9yLW1hY29zLWlvcy10dm9zLWFuZC13YXRjaG9zLW9uLWNpcmNs + ZWNpLTItMC88L2d1aWQ+CiAgICAgICAgCiAgICAgICAgICA8ZGM6Y3JlYXRv + cj5LdW5hbCBKYWluPC9kYzpjcmVhdG9yPgogICAgICAgIAogICAgICAgIAog + ICAgICAgICAgPGRlc2NyaXB0aW9uPiZsdDtwJmd0O1N0YXJ0aW5nIHRvZGF5 + LCBDaXJjbGVDSSAyLjAgaXMgYXZhaWxhYmxlIGZvciBjdXN0b21lcnMgYnVp + bGRpbmcgYXBwbGljYXRpb25zIGZvciBpT1MsIG1hY09TLCB0dk9TLCBvciB3 + YXRjaE9TLiBUZWFtcyBidWlsZGluZyBmb3IgQXBwbGUgZGV2aWNlcyBjYW4g + bm93IGFjY2VzcyBXb3JrZmxvd3MgdG8gY3VzdG9taXplIHRoZWlyIGFwcCBk + ZWxpdmVyeSBwaXBlbGluZSwgYnVpbGQgZm9yIEFwcGxlIHBsYXRmb3Jtcywg + QW5kcm9pZCwgYW5kIExpbnV4IHVzaW5nIGEgc2luZ2xlIGNvbmZpZ3VyYXRp + b24gZmlsZSwgYW5kIGhhdmUgY29tcGxldGUgY29udHJvbCBvdmVyIHRoZWly + IFhjb2RlIHZlcnNpb25zLiZsdDsvcCZndDsKCiZsdDtwJmd0OyZsdDtpbWcg + c3JjPSZxdW90Oy9ibG9nL21lZGlhL21hY09TLXY0LmdpZiZxdW90OyBhbHQ9 + JnF1b3Q7bWFjT1MtdjQuZ2lmJnF1b3Q7IC8mZ3Q7Jmx0Oy9wJmd0OwoKJmx0 + O3AmZ3Q7RGV2ZWxvcGVycyBjYW4gbm93IGFsc28gc2NoZWR1bGUgam9icywg + bWFraW5nIHRhc2tzIGxpa2Ugc2ltdWx0YW5lb3VzbHkgdXBkYXRpbmcgYXBw + cyBhY3Jvc3MgYWxsIG9wZXJhdGluZyBzeXN0ZW1zIGluIHRoZSBBcHAgU3Rv + cmUgYW5kIEdvb2dsZSBQbGF5IFN0b3JlIGVhc3kuJmx0Oy9wJmd0OwoKPC9k + ZXNjcmlwdGlvbj4KICAgICAgICAKICAgICAgPC9pdGVtPgogICAgCiAgPC9j + aGFubmVsPgo8L3Jzcz4K + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:22 GMT +- request: + method: get + uri: https://medium.com/feed/@macsiri/ + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Date: + - Mon, 08 Jan 2018 19:17:23 GMT + Content-Type: + - text/xml; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439043070:c1fc9d2fe8 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - private, must-revalidate, max-age=900 + Expires: + - Mon, 08 Jan 2018 19:32:23 GMT + Pragma: + - private + Tk: + - T + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17f230ea7925a-EWR + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48cnNzIHht + bG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1s + bnM6Y29udGVudD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9j + b250ZW50LyIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9B + dG9tIiB2ZXJzaW9uPSIyLjAiIHhtbG5zOmNjPSJodHRwOi8vY3liZXIubGF3 + LmhhcnZhcmQuZWR1L3Jzcy9jcmVhdGl2ZUNvbW1vbnNSc3NNb2R1bGUuaHRt + bCI+CiAgICA8Y2hhbm5lbD4KICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbU3Rv + cmllcyBieSBNYWMgU2lyaSBvbiBNZWRpdW1dXT48L3RpdGxlPgogICAgICAg + IDxkZXNjcmlwdGlvbj48IVtDREFUQVtTdG9yaWVzIGJ5IE1hYyBTaXJpIG9u + IE1lZGl1bV1dPjwvZGVzY3JpcHRpb24+CiAgICAgICAgPGxpbms+aHR0cHM6 + Ly9tZWRpdW0uY29tL0BtYWNzaXJpP3NvdXJjZT1yc3MtNGIyNjA1ZGE5Mzhm + LS0tLS0tMjwvbGluaz4KICAgICAgICA8aW1hZ2U+CiAgICAgICAgICAgIDx1 + cmw+aHR0cHM6Ly9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9maXQvYy8xNTAv + MTUwLzAqdzJibXRXbGFsZEtGbGI4ZS48L3VybD4KICAgICAgICAgICAgPHRp + dGxlPlN0b3JpZXMgYnkgTWFjIFNpcmkgb24gTWVkaXVtPC90aXRsZT4KICAg + ICAgICAgICAgPGxpbms+aHR0cHM6Ly9tZWRpdW0uY29tL0BtYWNzaXJpP3Nv + dXJjZT1yc3MtNGIyNjA1ZGE5MzhmLS0tLS0tMjwvbGluaz4KICAgICAgICA8 + L2ltYWdlPgogICAgICAgIDxnZW5lcmF0b3I+TWVkaXVtPC9nZW5lcmF0b3I+ + CiAgICAgICAgPGxhc3RCdWlsZERhdGU+TW9uLCAwOCBKYW4gMjAxOCAxOTox + NzoxNyBHTVQ8L2xhc3RCdWlsZERhdGU+CiAgICAgICAgPGF0b206bGluayBo + cmVmPSJodHRwczovL21lZGl1bS5jb20vZmVlZC9AbWFjc2lyaSIgcmVsPSJz + ZWxmIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIi8+CiAgICAgICAgPHdl + Yk1hc3Rlcj48IVtDREFUQVt5b3VyZnJpZW5kc0BtZWRpdW0uY29tXV0+PC93 + ZWJNYXN0ZXI+CiAgICAgICAgPGF0b206bGluayBocmVmPSJodHRwOi8vbWVk + aXVtLnN1cGVyZmVlZHIuY29tIiByZWw9Imh1YiIvPgogICAgICAgIDxpdGVt + PgogICAgICAgICAgICA8dGl0bGU+PCFbQ0RBVEFbVGVzdGluZyBSU1MgRmVl + ZF1dPjwvdGl0bGU+CiAgICAgICAgICAgIDxsaW5rPmh0dHBzOi8vbWVkaXVt + LmNvbS9AbWFjc2lyaS90ZXN0aW5nLXJzcy1mZWVkLTZhZjA0YjdlNTdlMT9z + b3VyY2U9cnNzLTRiMjYwNWRhOTM4Zi0tLS0tLTI8L2xpbms+CiAgICAgICAg + ICAgIDxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cHM6Ly9tZWRpdW0u + Y29tL3AvNmFmMDRiN2U1N2UxPC9ndWlkPgogICAgICAgICAgICA8Y2F0ZWdv + cnk+PCFbQ0RBVEFbdGVzdF1dPjwvY2F0ZWdvcnk+CiAgICAgICAgICAgIDxk + YzpjcmVhdG9yPjwhW0NEQVRBW01hYyBTaXJpXV0+PC9kYzpjcmVhdG9yPgog + ICAgICAgICAgICA8cHViRGF0ZT5UdWUsIDAyIEphbiAyMDE4IDE5OjA2OjMw + IEdNVDwvcHViRGF0ZT4KICAgICAgICAgICAgPGF0b206dXBkYXRlZD4yMDE4 + LTAxLTAyVDE5OjA2OjMwLjk2OFo8L2F0b206dXBkYXRlZD4KICAgICAgICAg + ICAgPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD55b3V0dWJlIGxpbmvC + oGhlcmU8L3A+PGlmcmFtZSBzcmM9Imh0dHBzOi8vY2RuLmVtYmVkbHkuY29t + L3dpZGdldHMvbWVkaWEuaHRtbD9zcmM9aHR0cHMlM0ElMkYlMkZ3d3cueW91 + dHViZS5jb20lMkZlbWJlZCUyRlFPQ2FhY084d3VzJTNGZmVhdHVyZSUzRG9l + bWJlZCZhbXA7dXJsPWh0dHAlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZ3 + YXRjaCUzRnYlM0RRT0NhYWNPOHd1cyZhbXA7aW1hZ2U9aHR0cHMlM0ElMkYl + MkZpLnl0aW1nLmNvbSUyRnZpJTJGUU9DYWFjTzh3dXMlMkZocWRlZmF1bHQu + anBnJmFtcDtrZXk9YTE5ZmNjMTg0Yjk3MTFlMWI0NzY0MDQwZDNkYzVjMDcm + YW1wO3R5cGU9dGV4dCUyRmh0bWwmYW1wO3NjaGVtYT15b3V0dWJlIiB3aWR0 + aD0iODU0IiBoZWlnaHQ9IjQ4MCIgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGlu + Zz0ibm8iPjxhIGhyZWY9Imh0dHBzOi8vbWVkaXVtLmNvbS9tZWRpYS83ZGE3 + NGJiMzBmOGEyYTgyYjBhY2I4OWIyMTNhMDE4Yi9ocmVmIj5odHRwczovL21l + ZGl1bS5jb20vbWVkaWEvN2RhNzRiYjMwZjhhMmE4MmIwYWNiODliMjEzYTAx + OGIvaHJlZjwvYT48L2lmcmFtZT48cD50d2VldCBoZXJlPC9wPjxzdHlsZT5i + b2R5W2RhdGEtdHd0dHItcmVuZGVyZWQ9InRydWUiXSB7YmFja2dyb3VuZC1j + b2xvcjogdHJhbnNwYXJlbnQ7fS50d2l0dGVyLXR3ZWV0IHttYXJnaW46IGF1 + dG8gIWltcG9ydGFudDt9PC9zdHlsZT48YmxvY2txdW90ZSBjbGFzcz0idHdp + dHRlci10d2VldCIgZGF0YS1jb252ZXJzYXRpb249Im5vbmUiIGRhdGEtYWxp + Z249ImNlbnRlciIgZGF0YS1kbnQ9InRydWUiPjxwPkkmIzM5O20gYSBmdWxs + LXN0YWNrIGRldmVsb3BlcjwvcD48cD4mI3gyMDBhOyZtZGFzaDsmI3gyMDBh + OzxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vYmVuZGhhbHBlcm4vc3Rh + dHVzLzk0ODI1NjA4MzM1MjczNTc0NCI+QGJlbmRoYWxwZXJuPC9hPjwvcD48 + L2Jsb2NrcXVvdGU+PHNjcmlwdCBzcmM9Ii8vcGxhdGZvcm0udHdpdHRlci5j + b20vd2lkZ2V0cy5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PjxzY3Jp + cHQ+ZnVuY3Rpb24gbm90aWZ5UmVzaXplKGhlaWdodCkge2hlaWdodCA9IGhl + aWdodCA/IGhlaWdodCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZz + ZXRIZWlnaHQ7IHZhciByZXNpemVkID0gZmFsc2U7IGlmICh3aW5kb3cuZG9u + a2V5ICYmIGRvbmtleS5yZXNpemUpIHtkb25rZXkucmVzaXplKGhlaWdodCk7 + IHJlc2l6ZWQgPSB0cnVlO31pZiAocGFyZW50ICYmIHBhcmVudC5fcmVzaXpl + SWZyYW1lKSB7dmFyIG9iaiA9IHtpZnJhbWU6IHdpbmRvdy5mcmFtZUVsZW1l + bnQsIGhlaWdodDogaGVpZ2h0fTsgcGFyZW50Ll9yZXNpemVJZnJhbWUob2Jq + KTsgcmVzaXplZCA9IHRydWU7fWlmICh3aW5kb3cubG9jYXRpb24gJiYgd2lu + ZG93LmxvY2F0aW9uLmhhc2ggPT09ICIjYW1wPTEiICYmIHdpbmRvdy5wYXJl + bnQgJiYgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSkge3dpbmRvdy5wYXJl + bnQucG9zdE1lc3NhZ2Uoe3NlbnRpbmVsOiAiYW1wIiwgdHlwZTogImVtYmVk + LXNpemUiLCBoZWlnaHQ6IGhlaWdodH0sICIqIik7fWlmICh3aW5kb3cud2Vi + a2l0ICYmIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzICYmIHdpbmRv + dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnJlc2l6ZSkge3dpbmRvdy53ZWJr + aXQubWVzc2FnZUhhbmRsZXJzLnJlc2l6ZS5wb3N0TWVzc2FnZShoZWlnaHQp + OyByZXNpemVkID0gdHJ1ZTt9cmV0dXJuIHJlc2l6ZWQ7fXR3dHRyLmV2ZW50 + cy5iaW5kKCdyZW5kZXJlZCcsIGZ1bmN0aW9uIChldmVudCkge25vdGlmeVJl + c2l6ZSgpO30pOyB0d3R0ci5ldmVudHMuYmluZCgncmVzaXplJywgZnVuY3Rp + b24gKGV2ZW50KSB7bm90aWZ5UmVzaXplKCk7fSk7PC9zY3JpcHQ+PHNjcmlw + dD5pZiAocGFyZW50ICYmIHBhcmVudC5fcmVzaXplSWZyYW1lKSB7dmFyIG1h + eFdpZHRoID0gcGFyc2VJbnQod2luZG93LmZyYW1lRWxlbWVudC5nZXRBdHRy + aWJ1dGUoIndpZHRoIikpOyBpZiAoIDUwMCAgPCBtYXhXaWR0aCkge3dpbmRv + dy5mcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICI1MDAiKTt9 + fTwvc2NyaXB0PjxwPkdpdGh1YiBnaXN0wqBoZXJlPC9wPjxpZnJhbWUgc3Jj + PSIiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZyYW1lYm9yZGVyPSIwIiBzY3Jv + bGxpbmc9Im5vIj48YSBocmVmPSJodHRwczovL21lZGl1bS5jb20vbWVkaWEv + Nzc3YWU4YjdkODkxNmU1NjViODRiNzA0YzA4OGNmMGMvaHJlZiI+aHR0cHM6 + Ly9tZWRpdW0uY29tL21lZGlhLzc3N2FlOGI3ZDg5MTZlNTY1Yjg0YjcwNGMw + ODhjZjBjL2hyZWY8L2E+PC9pZnJhbWU+PGltZyBzcmM9Imh0dHBzOi8vbWVk + aXVtLmNvbS9fL3N0YXQ/ZXZlbnQ9cG9zdC5jbGllbnRWaWV3ZWQmcmVmZXJy + ZXJTb3VyY2U9ZnVsbF9yc3MmcG9zdElkPTZhZjA0YjdlNTdlMSIgd2lkdGg9 + IjEiIGhlaWdodD0iMSI+XV0+PC9jb250ZW50OmVuY29kZWQ+CiAgICAgICAg + PC9pdGVtPgogICAgPC9jaGFubmVsPgo8L3Jzcz4= + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:23 GMT +- request: + method: get + uri: https://medium.com/media/7da74bb30f8a2a82b0acb89b213a018b/href + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 302 + message: Found + headers: + Date: + - Mon, 08 Jan 2018 19:17:23 GMT + Content-Type: + - application/octet-stream + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self''; connect-src https://localhost https://*.instapaper.com + https://*.stripe.com https://getpocket.com https://medium.com:443 https://*.medium.com:443 + https://*.medium.com https://medium.com https://*.medium.com https://*.algolia.net + https://cdn-static-1.medium.com https://dnqgz544uhbo8.cloudfront.net https://cdn-videos-1.medium.com + https://cdn-audio-1.medium.com https://*.lightstep.com https://app.zencoder.com + ''self''; font-src data: https://*.amazonaws.com https://*.medium.com https://glyph.medium.com + https://medium.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net + https://use.typekit.net https://cdn-static-1.medium.com ''self''; frame-src + chromenull: https: webviewprogressproxy: medium: ''self''; img-src blob: data: + https: ''self''; media-src https://*.cdn.vine.co https://d1fcbxp97j4nb2.cloudfront.net + https://d262ilb51hltx0.cloudfront.net https://*.medium.com https://gomiro.medium.com + https://miro.medium.com https://pbs.twimg.com ''self'' blob:; object-src ''self''; + script-src ''unsafe-eval'' ''unsafe-inline'' about: https: ''self''; style-src + ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com' + X-Frame-Options: + - sameorigin + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - 1; mode=block + X-Ua-Compatible: + - IE=edge, Chrome=1 + X-Powered-By: + - Medium + X-Obvious-Tid: + - 1515439043263:c7cb0b91d6d1 + X-Obvious-Info: + - 32149-6b210f5,6b210f579c2 + Link: + - ; rel="humans" + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Expires: + - Thu, 09 Sep 1999 09:09:09 GMT + Pragma: + - no-cache + Tk: + - T + Location: + - https://www.youtube.com/watch?v=QOCaacO8wus + Strict-Transport-Security: + - max-age=15552000; includeSubDomains; preload + Server: + - cloudflare-nginx + Cf-Ray: + - 3da17f241ac69260-EWR + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:23 GMT +- request: + method: get + uri: https://www.youtube.com/watch?v=QOCaacO8wus + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + X-Xss-Protection: + - 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube + Strict-Transport-Security: + - max-age=31536000 + Expires: + - Tue, 27 Apr 1971 19:44:06 EST + Cache-Control: + - no-cache + Content-Type: + - text/html; charset=utf-8 + X-Frame-Options: + - SAMEORIGIN + X-Content-Type-Options: + - nosniff + P3p: + - CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en + for more info." + Date: + - Mon, 08 Jan 2018 19:17:23 GMT + Server: + - YouTube Frontend Proxy + Alt-Svc: + - hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; + quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35" + Transfer-Encoding: + - chunked + body: + encoding: ASCII-8BIT + string: !binary |- + PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRhdGEtY2FzdC1hcGkt + ZW5hYmxlZD0idHJ1ZSI+PGhlYWQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8i + ID5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6 + aXRhbGljO2ZvbnQtd2VpZ2h0OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRp + dW0gSXRhbGljJyksbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSx1cmwo + Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvT0xmZkdCVGFGMFhG + T1cxZ251SEYwWjBFQVZ4dDBHMGJpRW50cDQzUXQ2RS50dGYpZm9ybWF0KCd0 + cnVldHlwZScpO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2Zv + bnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1Jv + Ym90byBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLUl0YWxpYycpLHVybCgvL2Zv + bnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9XNHdEc0JVbHV5dzB0SzN0 + eWtoWEVmZXNaVzJ4T1EteHNOcU80N201NURBLnR0Zilmb3JtYXQoJ3RydWV0 + eXBlJyk7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1z + dHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3Rv + IFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250 + cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvek43R0JGd2ZNUDR1QTZBUjBI + Q29MUS50dGYpZm9ybWF0KCd0cnVldHlwZScpO31AZm9udC1mYWNle2ZvbnQt + ZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0 + OjUwMDtzcmM6bG9jYWwoJ1JvYm90byBNZWRpdW0nKSxsb2NhbCgnUm9ib3Rv + LU1lZGl1bScpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Yx + OC9SeFpKZG56ZW8zUjV6U2V4Z2U4VVVhQ1djeW5mX2NEeFh3Q0x4aWl4RzFj + LnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7fTwvc3R5bGU+PHNjcmlwdCBuYW1l + PSJ3d3ctcm9ib3RvIiA+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50 + LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBS + b2JvdG8iLCAiRSIpO2RvY3VtZW50LmZvbnRzLmxvYWQoIjUwMCAxMHB0IFJv + Ym90byIsICJFIik7fTwvc2NyaXB0PjxzY3JpcHQgPnZhciB5dGNzaSA9IHtn + dDogZnVuY3Rpb24obikge24gPSAobiB8fCAnJykgKyAnZGF0YV8nO3JldHVy + biB5dGNzaVtuXSB8fCAoeXRjc2lbbl0gPSB7dGljazoge30saW5mbzoge319 + KTt9LG5vdzogd2luZG93LnBlcmZvcm1hbmNlICYmIHdpbmRvdy5wZXJmb3Jt + YW5jZS50aW1pbmcgJiZ3aW5kb3cucGVyZm9ybWFuY2Uubm93ID8gZnVuY3Rp + b24oKSB7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdh + dGlvblN0YXJ0ICsgd2luZG93LnBlcmZvcm1hbmNlLm5vdygpO30gOiBmdW5j + dGlvbigpIHtyZXR1cm4gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTt9LHRpY2s6 + IGZ1bmN0aW9uKGwsIHQsIG4pIHt0aWNrcyA9IHl0Y3NpLmd0KG4pLnRpY2s7 + dmFyIHYgPSB0IHx8IHl0Y3NpLm5vdygpO2lmICh0aWNrc1tsXSkge3RpY2tz + WydfJyArIGxdID0gKHRpY2tzWydfJyArIGxdIHx8IFt0aWNrc1tsXV0pO3Rp + Y2tzWydfJyArIGxdLnB1c2godik7fXRpY2tzW2xdID0gdjt9LGluZm86IGZ1 + bmN0aW9uKGssIHYsIG4pIHt5dGNzaS5ndChuKS5pbmZvW2tdID0gdjt9LHNl + dFN0YXJ0OiBmdW5jdGlvbihzLCB0LCBuKSB7eXRjc2kuaW5mbygneXRfc3Rz + Jywgcywgbik7eXRjc2kudGljaygnX3N0YXJ0JywgdCwgbik7fX07KGZ1bmN0 + aW9uKHcsIGQpIHt5dGNzaS5zZXRTdGFydCgnZGhzJywgdy5wZXJmb3JtYW5j + ZSA/IHcucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQgOiBudWxs + KTt2YXIgaXNQcmVyZW5kZXIgPSAoZC52aXNpYmlsaXR5U3RhdGUgfHwgZC53 + ZWJraXRWaXNpYmlsaXR5U3RhdGUpID09ICdwcmVyZW5kZXInO3ZhciB2TmFt + ZSA9ICghZC52aXNpYmlsaXR5U3RhdGUgJiYgZC53ZWJraXRWaXNpYmlsaXR5 + U3RhdGUpPyAnd2Via2l0dmlzaWJpbGl0eWNoYW5nZScgOiAndmlzaWJpbGl0 + eWNoYW5nZSc7aWYgKGlzUHJlcmVuZGVyKSB7eXRjc2kuaW5mbygncHJlcmVu + ZGVyJywgMSk7dmFyIHN0YXJ0VGljayA9IGZ1bmN0aW9uKCkge3l0Y3NpLnNl + dFN0YXJ0KCdkaHMnKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsIHN0 + YXJ0VGljayk7fTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsIHN0YXJ0VGlj + aywgZmFsc2UpO31pZiAoZC5hZGRFdmVudExpc3RlbmVyKSB7ZC5hZGRFdmVu + dExpc3RlbmVyKHZOYW1lLCBmdW5jdGlvbigpIHt5dGNzaS50aWNrKCd2Yycp + O30sIGZhbHNlKTt9dmFyIHNsdCA9IGZ1bmN0aW9uKGVsLCB0KSB7c2V0VGlt + ZW91dChmdW5jdGlvbigpIHt2YXIgbiA9IHl0Y3NpLm5vdygpO2VsLmxvYWRU + aW1lID0gbjtpZiAoZWwuc2x0KSB7ZWwuc2x0KCk7fX0sIHQpO307dy5fX3l0 + UklMID0gZnVuY3Rpb24oZWwpIHtpZiAoIWVsLmdldEF0dHJpYnV0ZSgnZGF0 + YS10aHVtYicpKSB7aWYgKHcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKSB7dy5y + ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7c2x0KGVsLCAwKTt9 + KTt9IGVsc2Uge3NsdChlbCwgMTYpO319fTt9KSh3aW5kb3csIGRvY3VtZW50 + KTs8L3NjcmlwdD48c2NyaXB0ID52YXIgeXRjZmcgPSB7ZDogZnVuY3Rpb24o + KSB7cmV0dXJuICh3aW5kb3cueXQgJiYgeXQuY29uZmlnXykgfHwgeXRjZmcu + ZGF0YV8gfHwgKHl0Y2ZnLmRhdGFfID0ge30pO30sZ2V0OiBmdW5jdGlvbihr + LCBvKSB7cmV0dXJuIChrIGluIHl0Y2ZnLmQoKSkgPyB5dGNmZy5kKClba10g + OiBvO30sc2V0OiBmdW5jdGlvbigpIHt2YXIgYSA9IGFyZ3VtZW50cztpZiAo + YS5sZW5ndGggPiAxKSB7eXRjZmcuZCgpW2FbMF1dID0gYVsxXTt9IGVsc2Ug + e2ZvciAodmFyIGsgaW4gYVswXSkge3l0Y2ZnLmQoKVtrXSA9IGFbMF1ba107 + fX19fTs8L3NjcmlwdD4gIDxzY3JpcHQ+eXRjZmcuc2V0KCJST09UX1ZFX1RZ + UEUiLCAzODMyKTt5dGNmZy5zZXQoIkVWRU5UX0lEIiwgInc4TlRXb0wyRjR1 + bmh3YjFrS1hRQ0EiKTs8L3NjcmlwdD4KICA8c2NyaXB0ID55dGNmZy5zZXQo + IkVYUF9IVE1MNV9TRVJWRVJTSURFX1BBR0VBRF9JRF9TRVRTX0NPT0tJRSIs + IGZhbHNlKTt5dGNmZy5zZXQoIkxBQ1QiLCBudWxsKTs8L3NjcmlwdD4KICAK + CgoKCiAgPHNjcmlwdD4KICAgICAgICAoZnVuY3Rpb24oKXt2YXIgYj17YToi + Y29udGVudC1zbmFwLXdpZHRoLTEiLGI6ImNvbnRlbnQtc25hcC13aWR0aC0y + IixjOiJjb250ZW50LXNuYXAtd2lkdGgtMyJ9O2Z1bmN0aW9uIGYoKXt2YXIg + YT1bXSxjO2ZvcihjIGluIGIpYS5wdXNoKGJbY10pO3JldHVybiBhfQpmdW5j + dGlvbiBoKGEpe3ZhciBjPWYoKS5jb25jYXQoWyJndWlkZS1waW5uZWQiLCJz + aG93LWd1aWRlIl0pLGU9Yy5sZW5ndGgsZz1bXTthLnJlcGxhY2UoL1xTKy9n + LGZ1bmN0aW9uKGEpe2Zvcih2YXIgZD0wO2Q8ZTtkKyspaWYoYT09Y1tkXSly + ZXR1cm47Zy5wdXNoKGEpfSk7CnJldHVybiBnfQo7ZnVuY3Rpb24gayhhLGMs + ZSl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImh0bWwi + KVswXSxkPWgoZy5jbGFzc05hbWUpO2EmJjEyNTE8PSh3aW5kb3cuaW5uZXJX + aWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSYm + KGQucHVzaCgiZ3VpZGUtcGlubmVkIiksYyYmZC5wdXNoKCJzaG93LWd1aWRl + IikpO2UmJihlPSh3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1l + bnRFbGVtZW50LmNsaWVudFdpZHRoKS0yMS01MCwxMjUxPD0od2luZG93Lmlu + bmVyV2lkdGh8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0 + aCkmJmEmJmMmJihlLT0yMzApLGQucHVzaCgxMjYyPD1lPyJjb250ZW50LXNu + YXAtd2lkdGgtMyI6MTA1Njw9ZT8iY29udGVudC1zbmFwLXdpZHRoLTIiOiJj + b250ZW50LXNuYXAtd2lkdGgtMSIpKTtnLmNsYXNzTmFtZT1kLmpvaW4oIiAi + KX0KdmFyIGw9WyJ5dCIsInd3dyIsIm1hc3RoZWFkIiwic2l6aW5nIiwicnVu + QmVmb3JlQm9keUlzUmVhZHkiXSxtPXRoaXM7bFswXWluIG18fCFtLmV4ZWNT + Y3JpcHR8fG0uZXhlY1NjcmlwdCgidmFyICIrbFswXSk7Zm9yKHZhciBuO2wu + bGVuZ3RoJiYobj1sLnNoaWZ0KCkpOylsLmxlbmd0aHx8dm9pZCAwPT09az9t + W25dJiZtW25dIT09T2JqZWN0LnByb3RvdHlwZVtuXT9tPW1bbl06bT1tW25d + PXt9Om1bbl09azt9KS5jYWxsKHRoaXMpOwoKICAgICAgdHJ5IHt3aW5kb3cu + eXRidWZmZXIgPSB7fTt5dGJ1ZmZlci5oYW5kbGVDbGljayA9IGZ1bmN0aW9u + KGUpIHt2YXIgZWxlbWVudCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDt3 + aGlsZSAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7aWYgKC8oXnwgKXl0LWNh + bi1idWZmZXIoIHwkKS8udGVzdChlbGVtZW50LmNsYXNzTmFtZSkpIHt3aW5k + b3cueXRidWZmZXIgPSB7YnVmZmVyZWRDbGljazogZX07ZWxlbWVudC5jbGFz + c05hbWUgKz0gJyB5dC1pcy1idWZmZXJlZCc7YnJlYWs7fWVsZW1lbnQgPSBl + bGVtZW50LnBhcmVudEVsZW1lbnQ7fX07aWYgKGRvY3VtZW50LmFkZEV2ZW50 + TGlzdGVuZXIpIHtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs + IHl0YnVmZmVyLmhhbmRsZUNsaWNrKTt9IGVsc2Uge2RvY3VtZW50LmF0dGFj + aEV2ZW50KCdvbmNsaWNrJywgeXRidWZmZXIuaGFuZGxlQ2xpY2spO319IGNh + dGNoKGUpIHt9CgogICAgeXQud3d3Lm1hc3RoZWFkLnNpemluZy5ydW5CZWZv + cmVCb2R5SXNSZWFkeShmYWxzZSxmYWxzZSx0cnVlKTsKICA8L3NjcmlwdD4K + CiAgICAgIDxzY3JpcHQgc3JjPSIveXRzL2pzYmluL3NjaGVkdWxlci12Zmxm + Szk2ek8vc2NoZWR1bGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIG5h + bWU9InNjaGVkdWxlci9zY2hlZHVsZXIiID48L3NjcmlwdD4KCgogICAgPHNj + cmlwdCA+dmFyIHl0aW1nID0ge307eXRpbWcuY291bnQgPSAxO3l0aW1nLnBy + ZWxvYWQgPSBmdW5jdGlvbihzcmMpIHt2YXIgaW1nID0gbmV3IEltYWdlKCk7 + dmFyIGNvdW50ID0gKyt5dGltZy5jb3VudDt5dGltZ1tjb3VudF0gPSBpbWc7 + aW1nLm9ubG9hZCA9IGltZy5vbmVycm9yID0gZnVuY3Rpb24oKSB7ZGVsZXRl + IHl0aW1nW2NvdW50XTt9O2ltZy5zcmMgPSBzcmM7fTs8L3NjcmlwdD4KCgog + ICAgICA8c2NyaXB0IHNyYz0iL3l0cy9qc2Jpbi93d3ctcGFnZWFkLWlkLXZm + bHpHZzlIei93d3ctcGFnZWFkLWlkLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3Jp + cHQiIG5hbWU9Ind3dy1wYWdlYWQtaWQvd3d3LXBhZ2VhZC1pZCIgIGFzeW5j + Pjwvc2NyaXB0PgoKICAgICAgPHNjcmlwdCBzcmM9Ii95dHMvanNiaW4vcGxh + eWVyLXZmbElmejhwQi9lbl9VUy9iYXNlLmpzIiAgbmFtZT0icGxheWVyL2Jh + c2UiID48L3NjcmlwdD4KCgoKICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy + ZWY9Ii95dHMvY3NzYmluL3d3dy1jb3JlLXZmbHBnNzZaUi5jc3MiIG5hbWU9 + Ind3dy1jb3JlIj4KICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm + PSIveXRzL2Nzc2Jpbi9wbGF5ZXItdmZsX1Y5UlViL3d3dy1wbGF5ZXIuY3Nz + IiBuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciI+CgogIDxsaW5rIHJlbD0ic3R5 + bGVzaGVldCIgaHJlZj0iL3l0cy9jc3NiaW4vd3d3LXBhZ2VmcmFtZS12ZmxQ + a01yRUsuY3NzIiBuYW1lPSJ3d3ctcGFnZWZyYW1lIj4KICAgICAgPHNjcmlw + dD55dGltZy5wcmVsb2FkKCJodHRwczpcL1wvcjYtLS1zbi04eGdwMXZvLXhm + Z3ouZ29vZ2xldmlkZW8uY29tXC9nZW5lcmF0ZV8yMDQ/Y29ubjIiKTt5dGlt + Zy5wcmVsb2FkKCJodHRwczpcL1wvcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29v + Z2xldmlkZW8uY29tXC9nZW5lcmF0ZV8yMDQiKTs8L3NjcmlwdD4KCjx0aXRs + ZT5XaGF0IElzIExpZmU/IElzIERlYXRoIFJlYWw/IC0gWW91VHViZTwvdGl0 + bGU+PGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lnlv + dXR1YmUuY29tL3dhdGNoP3Y9UU9DYWFjTzh3dXMiPjxsaW5rIHJlbD0iYWx0 + ZXJuYXRlIiBtZWRpYT0iaGFuZGhlbGQiIGhyZWY9Imh0dHBzOi8vbS55b3V0 + dWJlLmNvbS93YXRjaD92PVFPQ2FhY084d3VzIj48bGluayByZWw9ImFsdGVy + bmF0ZSIgbWVkaWE9Im9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBw + eCkiIGhyZWY9Imh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PVFPQ2Fh + Y084d3VzIj4gICAgICA8bWV0YSBuYW1lPSJ0aXRsZSIgY29udGVudD0iV2hh + dCBJcyBMaWZlPyBJcyBEZWF0aCBSZWFsPyI+CgogICAgICAgIDxtZXRhIG5h + bWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJTbyB3aGF0IGlzIHRoZSBkaWZm + ZXJlbmNlIGJldHdlZW4geW91IGFuZCBhIHJvY2s/IFRoaXMgc2VlbXMgbGlr + ZSBhbiBlYXN5LCBldmVuIHN0dXBpZCBxdWVzdGlvbi4gQnV0IGV2ZW4gdGhl + IHNtYXJ0ZXN0IHBlb3BsZSBvbiBlYXJ0aCBoYXZlIG5vIGlkZWEgd2hlcmUg + dG8gLi4uIj4KCiAgICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50 + PSJsaWZlLCBhbGl2ZSwgbWVhbmluZywgUmVhbCwgYWZ0ZXJsaWZlLCBBbG9u + ZSwgeW91LCBtZSwgbG9uZWx5LCB3aGF0IGlzIGxpZmUsIENlbGxzLCBtb3J0 + YWwsIGhhY2tzLCBpbW1vcnRhbCwgaW1tb3J0YWxpdHksIEF0b21zLCBldm9s + dXRpb24sIGFnZSwgZWxlbWVudHMsIHNwLi4uIj4KCjxsaW5rIHJlbD0ibWFu + aWZlc3QiIGhyZWY9Ii9tYW5pZmVzdC5qc29uIj48bGluayByZWw9InNob3J0 + bGluayIgaHJlZj0iaHR0cHM6Ly95b3V0dS5iZS9RT0NhYWNPOHd1cyI+PGxp + bmsgcmVsPSJzZWFyY2giIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5zZWFyY2hk + ZXNjcmlwdGlvbit4bWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29t + L29wZW5zZWFyY2g/bG9jYWxlPWVuX1VTIiB0aXRsZT0iWW91VHViZSBWaWRl + byBTZWFyY2giPjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0 + cHM6Ly9zLnl0aW1nLmNvbS95dHMvaW1nL2Zhdmljb24tdmZsOHFTVjJGLmlj + byIgdHlwZT0iaW1hZ2UveC1pY29uIj4gICAgIDxsaW5rIHJlbD0iaWNvbiIg + aHJlZj0iL3l0cy9pbWcvZmF2aWNvbl8zMi12ZmxPb2dFSUQucG5nIiBzaXpl + cz0iMzJ4MzIiPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL3l0cy9pbWcvZmF2 + aWNvbl80OC12ZmxWakJfUWsucG5nIiBzaXplcz0iNDh4NDgiPjxsaW5rIHJl + bD0iaWNvbiIgaHJlZj0iL3l0cy9pbWcvZmF2aWNvbl85Ni12ZmxXOUVjMHcu + cG5nIiBzaXplcz0iOTZ4OTYiPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL3l0 + cy9pbWcvZmF2aWNvbl8xNDQtdmZsaUxBZmFCLnBuZyIgc2l6ZXM9IjE0NHgx + NDQiPjxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjZmYwMDAw + Ij4gICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJhbmRyb2lk + LWFwcDovL2NvbS5nb29nbGUuYW5kcm9pZC55b3V0dWJlL2h0dHAvd3d3Lnlv + dXR1YmUuY29tL3dhdGNoP3Y9UU9DYWFjTzh3dXMiPgogICAgPGxpbmsgcmVs + PSJhbHRlcm5hdGUiIGhyZWY9Imlvcy1hcHA6Ly81NDQwMDc2NjQvdm5kLnlv + dXR1YmUvd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UU9DYWFjTzh3dXMiPgoK + ICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9u + L2pzb24rb2VtYmVkIiBocmVmPSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL29l + bWJlZD9mb3JtYXQ9anNvbiZhbXA7dXJsPWh0dHBzJTNBJTJGJTJGd3d3Lnlv + dXR1YmUuY29tJTJGd2F0Y2glM0Z2JTNEUU9DYWFjTzh3dXMiIHRpdGxlPSJX + aGF0IElzIExpZmU/IElzIERlYXRoIFJlYWw/Ij4KICA8bGluayByZWw9ImFs + dGVybmF0ZSIgdHlwZT0idGV4dC94bWwrb2VtYmVkIiBocmVmPSJodHRwOi8v + d3d3LnlvdXR1YmUuY29tL29lbWJlZD9mb3JtYXQ9eG1sJmFtcDt1cmw9aHR0 + cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZ3YXRjaCUzRnYlM0RRT0Nh + YWNPOHd1cyIgdGl0bGU9IldoYXQgSXMgTGlmZT8gSXMgRGVhdGggUmVhbD8i + PgoKICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250 + ZW50PSJZb3VUdWJlIj4KICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIg + Y29udGVudD0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1RT0Nh + YWNPOHd1cyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRl + bnQ9IldoYXQgSXMgTGlmZT8gSXMgRGVhdGggUmVhbD8iPgogICAgPG1ldGEg + cHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2kueXRpbWcu + Y29tL3ZpL1FPQ2FhY084d3VzL21heHJlc2RlZmF1bHQuanBnIj4KCiAgICAg + IDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iU28g + d2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHlvdSBhbmQgYSByb2Nr + PyBUaGlzIHNlZW1zIGxpa2UgYW4gZWFzeSwgZXZlbiBzdHVwaWQgcXVlc3Rp + b24uIEJ1dCBldmVuIHRoZSBzbWFydGVzdCBwZW9wbGUgb24gZWFydGggaGF2 + ZSBubyBpZGVhIHdoZXJlIHRvIC4uLiI+CgogICAgPG1ldGEgcHJvcGVydHk9 + ImFsOmlvczphcHBfc3RvcmVfaWQiIGNvbnRlbnQ9IjU0NDAwNzY2NCI+CiAg + ICA8bWV0YSBwcm9wZXJ0eT0iYWw6aW9zOmFwcF9uYW1lIiBjb250ZW50PSJZ + b3VUdWJlIj4KICAgICAgPG1ldGEgcHJvcGVydHk9ImFsOmlvczp1cmwiIGNv + bnRlbnQ9InZuZC55b3V0dWJlOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9 + UU9DYWFjTzh3dXMmYW1wO2ZlYXR1cmU9YXBwbGlua3MiPgoKICAgICAgPG1l + dGEgcHJvcGVydHk9ImFsOmFuZHJvaWQ6dXJsIiBjb250ZW50PSJ2bmQueW91 + dHViZTovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVFPQ2FhY084d3VzJmFt + cDtmZWF0dXJlPWFwcGxpbmtzIj4KICAgIDxtZXRhIHByb3BlcnR5PSJhbDph + bmRyb2lkOmFwcF9uYW1lIiBjb250ZW50PSJZb3VUdWJlIj4KICAgIDxtZXRh + IHByb3BlcnR5PSJhbDphbmRyb2lkOnBhY2thZ2UiIGNvbnRlbnQ9ImNvbS5n + b29nbGUuYW5kcm9pZC55b3V0dWJlIj4KICAgIDxtZXRhIHByb3BlcnR5PSJh + bDp3ZWI6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93 + YXRjaD92PVFPQ2FhY084d3VzJmFtcDtmZWF0dXJlPWFwcGxpbmtzIj4KCiAg + ICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0idmlkZW8iPgog + ICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp1cmwiIGNvbnRlbnQ9 + Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1FPQ2FhY084d3VzIj4K + ICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86c2VjdXJlX3VybCIg + Y29udGVudD0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvUU9DYWFj + Tzh3dXMiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0eXBl + IiBjb250ZW50PSJ0ZXh0L2h0bWwiPgogICAgICAgIDxtZXRhIHByb3BlcnR5 + PSJvZzp2aWRlbzp3aWR0aCIgY29udGVudD0iMTI4MCI+CiAgICAgICAgPG1l + dGEgcHJvcGVydHk9Im9nOnZpZGVvOmhlaWdodCIgY29udGVudD0iNzIwIj4K + ICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dXJsIiBjb250ZW50 + PSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3YvUU9DYWFjTzh3dXM/dmVyc2lv + bj0zJmFtcDthdXRvaGlkZT0xIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0i + b2c6dmlkZW86c2VjdXJlX3VybCIgY29udGVudD0iaHR0cHM6Ly93d3cueW91 + dHViZS5jb20vdi9RT0NhYWNPOHd1cz92ZXJzaW9uPTMmYW1wO2F1dG9oaWRl + PTEiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0eXBlIiBj + b250ZW50PSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCI+CiAgICAg + ICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOndpZHRoIiBjb250ZW50PSIx + MjgwIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86aGVpZ2h0 + IiBjb250ZW50PSI3MjAiPgoKICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6 + dmlkZW86dGFnIiBjb250ZW50PSJsaWZlIj4KICAgICAgICA8bWV0YSBwcm9w + ZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250ZW50PSJhbGl2ZSI+CiAgICAgICAg + PG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0ibWVhbmlu + ZyI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29u + dGVudD0iUmVhbCI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVv + OnRhZyIgY29udGVudD0iYWZ0ZXJsaWZlIj4KICAgICAgICA8bWV0YSBwcm9w + ZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250ZW50PSJBbG9uZSI+CiAgICAgICAg + PG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0ieW91Ij4K + ICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250ZW50 + PSJtZSI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIg + Y29udGVudD0ibG9uZWx5Ij4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6 + dmlkZW86dGFnIiBjb250ZW50PSJ3aGF0IGlzIGxpZmUiPgogICAgICAgIDxt + ZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNvbnRlbnQ9IkNlbGxzIj4K + ICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250ZW50 + PSJtb3J0YWwiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0 + YWciIGNvbnRlbnQ9ImhhY2tzIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0i + b2c6dmlkZW86dGFnIiBjb250ZW50PSJpbW1vcnRhbCI+CiAgICAgICAgPG1l + dGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0iaW1tb3J0YWxp + dHkiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNv + bnRlbnQ9IkF0b21zIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlk + ZW86dGFnIiBjb250ZW50PSJldm9sdXRpb24iPgogICAgICAgIDxtZXRhIHBy + b3BlcnR5PSJvZzp2aWRlbzp0YWciIGNvbnRlbnQ9ImFnZSI+CiAgICAgICAg + PG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0iZWxlbWVu + dHMiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNv + bnRlbnQ9InNwYWNlIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlk + ZW86dGFnIiBjb250ZW50PSJib2R5Ij4KICAgICAgICA8bWV0YSBwcm9wZXJ0 + eT0ib2c6dmlkZW86dGFnIiBjb250ZW50PSJ1bml2ZXJzZSI+CiAgICAgICAg + PG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0iZnVubnki + PgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNvbnRl + bnQ9Imh1bWFuIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86 + dGFnIiBjb250ZW50PSJlYXJ0aCI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9 + Im9nOnZpZGVvOnRhZyIgY29udGVudD0ic2NpZW5jZSI+CiAgICAgICAgPG1l + dGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0icGhpbG9zb3Bo + eSI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29u + dGVudD0iY2VsbCI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVv + OnRhZyIgY29udGVudD0ic3VuIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0i + b2c6dmlkZW86dGFnIiBjb250ZW50PSJiaXJ0aCI+CiAgICAgICAgPG1ldGEg + cHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0id2FpdCBidXQgd2h5 + Ij4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250 + ZW50PSJsb3ZlIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86 + dGFnIiBjb250ZW50PSJwcm90ZWluIj4KICAgICAgICA8bWV0YSBwcm9wZXJ0 + eT0ib2c6dmlkZW86dGFnIiBjb250ZW50PSJ0b2dldGhlciI+CiAgICAgICAg + PG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29udGVudD0iY29tbWFu + ZCBhbmQgY29ucXVlciI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZp + ZGVvOnRhZyIgY29udGVudD0ic2Nocm9kaW5nZXIiPgogICAgICAgIDxtZXRh + IHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNvbnRlbnQ9InNjaHLDtmRpbmdl + ciI+CiAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVvOnRhZyIgY29u + dGVudD0iZmxhdCBkZXNpZ24iPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJv + Zzp2aWRlbzp0YWciIGNvbnRlbnQ9ImluZm9ncmFwaGljIj4KICAgICAgICA8 + bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86dGFnIiBjb250ZW50PSJhbmltYXRp + b24iPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp0YWciIGNv + bnRlbnQ9Ikt1cnpnZXNhZ3QiPgogICAgICAgIDxtZXRhIHByb3BlcnR5PSJv + Zzp2aWRlbzp0YWciIGNvbnRlbnQ9IkNvbnNjaW91c25lc3MiPgoKICAgIDxt + ZXRhIHByb3BlcnR5PSJmYjphcHBfaWQiIGNvbnRlbnQ9Ijg3NzQxMTI0MzA1 + Ij4KCiAgICAgICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50 + PSJwbGF5ZXIiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250 + ZW50PSJAeW91dHViZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnVybCIg + Y29udGVudD0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1RT0Nh + YWNPOHd1cyI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250 + ZW50PSJXaGF0IElzIExpZmU/IElzIERlYXRoIFJlYWw/Ij4KICAgIDxtZXRh + IG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNvIHdoYXQg + aXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB5b3UgYW5kIGEgcm9jaz8gVGhp + cyBzZWVtcyBsaWtlIGFuIGVhc3ksIGV2ZW4gc3R1cGlkIHF1ZXN0aW9uLiBC + dXQgZXZlbiB0aGUgc21hcnRlc3QgcGVvcGxlIG9uIGVhcnRoIGhhdmUgbm8g + aWRlYSB3aGVyZSB0byAuLi4iPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpp + bWFnZSIgY29udGVudD0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9RT0NhYWNP + OHd1cy9tYXhyZXNkZWZhdWx0LmpwZyI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0 + dGVyOmFwcDpuYW1lOmlwaG9uZSIgY29udGVudD0iWW91VHViZSI+CiAgICA8 + bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDppcGhvbmUiIGNvbnRlbnQ9IjU0 + NDAwNzY2NCI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmlw + YWQiIGNvbnRlbnQ9IllvdVR1YmUiPgogICAgPG1ldGEgbmFtZT0idHdpdHRl + cjphcHA6aWQ6aXBhZCIgY29udGVudD0iNTQ0MDA3NjY0Ij4KICAgICAgPG1l + dGEgbmFtZT0idHdpdHRlcjphcHA6dXJsOmlwaG9uZSIgY29udGVudD0idm5k + LnlvdXR1YmU6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1RT0NhYWNPOHd1 + cyZhbXA7ZmVhdHVyZT1hcHBsaW5rcyI+CiAgICAgIDxtZXRhIG5hbWU9InR3 + aXR0ZXI6YXBwOnVybDppcGFkIiBjb250ZW50PSJ2bmQueW91dHViZTovL3d3 + dy55b3V0dWJlLmNvbS93YXRjaD92PVFPQ2FhY084d3VzJmFtcDtmZWF0dXJl + PWFwcGxpbmtzIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6YXBwOm5hbWU6 + Z29vZ2xlcGxheSIgY29udGVudD0iWW91VHViZSI+CiAgICA8bWV0YSBuYW1l + PSJ0d2l0dGVyOmFwcDppZDpnb29nbGVwbGF5IiBjb250ZW50PSJjb20uZ29v + Z2xlLmFuZHJvaWQueW91dHViZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVy + OmFwcDp1cmw6Z29vZ2xlcGxheSIgY29udGVudD0iaHR0cHM6Ly93d3cueW91 + dHViZS5jb20vd2F0Y2g/dj1RT0NhYWNPOHd1cyI+CiAgICAgIDxtZXRhIG5h + bWU9InR3aXR0ZXI6cGxheWVyIiBjb250ZW50PSJodHRwczovL3d3dy55b3V0 + dWJlLmNvbS9lbWJlZC9RT0NhYWNPOHd1cyI+CiAgICAgIDxtZXRhIG5hbWU9 + InR3aXR0ZXI6cGxheWVyOndpZHRoIiBjb250ZW50PSIxMjgwIj4KICAgICAg + PG1ldGEgbmFtZT0idHdpdHRlcjpwbGF5ZXI6aGVpZ2h0IiBjb250ZW50PSI3 + MjAiPgoKICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii95 + dHMvY3NzYmluL3d3dy13YXRjaC10cmFuc2NyaXB0LXZmbHA5X25faS5jc3Mi + IG5hbWU9Ind3dy13YXRjaC10cmFuc2NyaXB0Ij4KCjxzdHlsZT4uZXhwLWlu + dmVydC1sb2dvIC5oYXRzLWxvZ28ge2JhY2tncm91bmQ6IG5vLXJlcGVhdCB1 + cmwoL3l0cy9pbWcvcmluZ28vaGl0Y2hoaWtlci9sb2dvX21pbmlfZ3JheS12 + ZmxmYW5Ha2gucG5nKTt3aWR0aDogNjVweDtoZWlnaHQ6IDE1cHg7fS5leHAt + aW52ZXJ0LWxvZ28gI2hlYWRlcjpiZWZvcmUsLmV4cC1pbnZlcnQtbG9nbyAu + eXBjLWpvaW4tZmFtaWx5LWhlYWRlciAubG9nbywuZXhwLWludmVydC1sb2dv + ICNmb290ZXItbG9nbyAuZm9vdGVyLWxvZ28taWNvbiwuZXhwLWludmVydC1s + b2dvICN5dC1tYXN0aGVhZCAjbG9nby1jb250YWluZXIgLmxvZ28sLmV4cC1p + bnZlcnQtbG9nbyAjbWFzdGhlYWQgI2xvZ28tY29udGFpbmVyLC5leHAtaW52 + ZXJ0LWxvZ28gLmFkbWluLW1hc3RoZWFkLWxvZ28gYSwuZXhwLWludmVydC1s + b2dvICN5dC1zaWRlYmFyLXN0eWxlZ3VpZGUtbG9nbyAjbG9nbyB7YmFja2dy + b3VuZDogbm8tcmVwZWF0IHVybCgveXRzL2ltZy9yaW5nby9oaXRjaGhpa2Vy + L2xvZ29fc21hbGwtdmZsSHB6R1ptLnBuZyk7d2lkdGg6IDEwMHB4O2hlaWdo + dDogMzBweDt9LmV4cC1pbnZlcnQtbG9nby5pbnZlcnRlZC1oZHBpICNoZWFk + ZXI6YmVmb3JlLC5leHAtaW52ZXJ0LWxvZ28uaW52ZXJ0ZWQtaGRwaSAueXBj + LWpvaW4tZmFtaWx5LWhlYWRlciAubG9nbywuZXhwLWludmVydC1sb2dvLmlu + dmVydGVkLWhkcGkgI2Zvb3Rlci1sb2dvIC5mb290ZXItbG9nby1pY29uLC5l + eHAtaW52ZXJ0LWxvZ28uaW52ZXJ0ZWQtaGRwaSAjeXQtbWFzdGhlYWQgI2xv + Z28tY29udGFpbmVyIC5sb2dvLC5leHAtaW52ZXJ0LWxvZ28uaW52ZXJ0ZWQt + aGRwaSAjbWFzdGhlYWQgI2xvZ28tY29udGFpbmVyLC5leHAtaW52ZXJ0LWxv + Z28uaW52ZXJ0ZWQtaGRwaSAuYWRtaW4tbWFzdGhlYWQtbG9nbyBhLC5leHAt + aW52ZXJ0LWxvZ28uaW52ZXJ0ZWQtaGRwaSAjeXQtc2lkZWJhci1zdHlsZWd1 + aWRlLWxvZ28gI2xvZ28ge2JhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoL3l0 + cy9pbWcvcmluZ28vaGl0Y2hoaWtlci9sb2dvX3NtYWxsXzJ4LXZmbDRfY0Zx + bi5wbmcpO2JhY2tncm91bmQtc2l6ZTogMTAwcHggMzBweDt3aWR0aDogMTAw + cHg7aGVpZ2h0OiAzMHB4O30uZXhwLWludmVydC1sb2dvLmV4cC1mdXNpb24t + bmF2LXJlZGVzaWduIC5tYXN0aGVhZC1sb2dvLXJlbmRlcmVyLWxvZ28ge2Jh + Y2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoL3l0cy9pbWcvcmluZ28vaGl0Y2ho + aWtlci95dF9wbGF5X2xvZ28tdmZsTGZrNHlELnBuZyk7d2lkdGg6IDQwcHg7 + aGVpZ2h0OiAyOHB4O30uZXhwLWludmVydC1sb2dvLmludmVydGVkLWhkcGku + ZXhwLWZ1c2lvbi1uYXYtcmVkZXNpZ24gLm1hc3RoZWFkLWxvZ28tcmVuZGVy + ZXItbG9nbyB7YmFja2dyb3VuZDogbm8tcmVwZWF0IHVybCgveXRzL2ltZy9y + aW5nby9oaXRjaGhpa2VyL3l0X3BsYXlfbG9nb18yeC12ZmxYeDVQZzMucG5n + KTt3aWR0aDogNDBweDtoZWlnaHQ6IDI4cHg7fUBtZWRpYSBzY3JlZW4gYW5k + IChtYXgtd2lkdGg6IDY1NnB4KSB7LmV4cC1pbnZlcnQtbG9nbyAjeXQtbWFz + dGhlYWQgI2xvZ28tY29udGFpbmVyIC5sb2dvIHtiYWNrZ3JvdW5kOiBuby1y + ZXBlYXQgdXJsKC95dHMvaW1nL3JpbmdvL2hpdGNoaGlrZXIveXRfcGxheV9s + b2dvLXZmbExmazR5RC5wbmcpO3dpZHRoOiA0MHB4O2hlaWdodDogMjhweDt9 + LmV4cC1pbnZlcnQtbG9nby5pbnZlcnRlZC1oZHBpICN5dC1tYXN0aGVhZCAj + bG9nby1jb250YWluZXIgLmxvZ28ge2JhY2tncm91bmQ6IG5vLXJlcGVhdCB1 + cmwoL3l0cy9pbWcvcmluZ28vaGl0Y2hoaWtlci95dF9wbGF5X2xvZ29fMngt + dmZsWHg1UGczLnBuZyk7YmFja2dyb3VuZC1zaXplOiA0MHB4IDI4cHg7d2lk + dGg6IDQwcHg7aGVpZ2h0OiAyOHB4O319QG1lZGlhIG9ubHkgc2NyZWVuIGFu + ZCAobWluLXdpZHRoOiAwcHgpIGFuZCAobWF4LXdpZHRoOiA0OThweCksb25s + eSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ5OXB4KSBhbmQgKG1heC13aWR0 + aDogNzA0cHgpIHsuZXhwLWludmVydC1sb2dvLmV4cC1yZXNwb25zaXZlICN5 + dC1tYXN0aGVhZCAjbG9nby1jb250YWluZXIge2JhY2tncm91bmQ6IG5vLXJl + cGVhdCB1cmwoL3l0cy9pbWcvcmluZ28vaGl0Y2hoaWtlci95dF9wbGF5X2xv + Z28tdmZsTGZrNHlELnBuZyk7d2lkdGg6IDQwcHg7aGVpZ2h0OiAyOHB4O30u + ZXhwLWludmVydC1sb2dvLmludmVydGVkLWhkcGkuZXhwLXJlc3BvbnNpdmUg + I3l0LW1hc3RoZWFkICNsb2dvLWNvbnRhaW5lciB7YmFja2dyb3VuZDogbm8t + cmVwZWF0IHVybCgveXRzL2ltZy9yaW5nby9oaXRjaGhpa2VyL3l0X3BsYXlf + bG9nb18yeC12ZmxYeDVQZzMucG5nKTtiYWNrZ3JvdW5kLXNpemU6IDQwcHgg + MjhweDt3aWR0aDogNDBweDtoZWlnaHQ6IDI4cHg7fX0uZXhwLWludmVydC1s + b2dvICN5dC1tYXN0aGVhZCAjbG9nby1jb250YWluZXIgLmxvZ28tcmVkIHti + YWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKC95dHMvaW1nL3JpbmdvL2hpdGNo + aGlrZXIvbG9nb195b3V0dWJlX3JlZC12ZmxaeGNTUjEucG5nKTt3aWR0aDog + MTMycHg7aGVpZ2h0OiAzMHB4O30uZXhwLWludmVydC1sb2dvLmludmVydGVk + LWhkcGkgI3l0LW1hc3RoZWFkICNsb2dvLWNvbnRhaW5lciAubG9nby1yZWQg + e2JhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwoL3l0cy9pbWcvcmluZ28vaGl0 + Y2hoaWtlci9sb2dvX3lvdXR1YmVfcmVkXzJ4LXZmbE9TSEFfbi5wbmcpO2Jh + Y2tncm91bmQtc2l6ZTogMTMycHggMzBweDt3aWR0aDogMTMycHg7aGVpZ2h0 + OiAzMHB4O30uZXhwLWludmVydC1sb2dvIC5ndWlkZS1pdGVtIC5ndWlkZS12 + aWRlby15b3V0dWJlLXJlZC1pY29uIHtiYWNrZ3JvdW5kOiBuby1yZXBlYXQg + dXJsKC95dHMvaW1nL3JpbmdvL2hpdGNoaGlrZXIvdmlkZW9feW91dHViZV9y + ZWQtdmZsb3ZHVGR6LnBuZyk7d2lkdGg6IDIwcHg7aGVpZ2h0OiAyMHB4O30u + ZXhwLWludmVydC1sb2dvLmludmVydGVkLWhkcGkgLmd1aWRlLWl0ZW0gLmd1 + aWRlLXZpZGVvLXlvdXR1YmUtcmVkLWljb24ge2JhY2tncm91bmQ6IG5vLXJl + cGVhdCB1cmwoL3l0cy9pbWcvcmluZ28vaGl0Y2hoaWtlci92aWRlb195b3V0 + dWJlX3JlZF8yeC12ZmxxTWRnRU0ucG5nKTtiYWNrZ3JvdW5kLXNpemU6IDIw + cHggMjBweDt3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7fS5leHAtaW52ZXJ0 + LWxvZ28gLmd1aWRlLWl0ZW06aG92ZXIgLmd1aWRlLXZpZGVvLXlvdXR1YmUt + cmVkLWljb24sLmV4cC1pbnZlcnQtbG9nbyAuZ3VpZGUtaXRlbS5ndWlkZS1p + dGVtLXNlbGVjdGVkIC5ndWlkZS12aWRlby15b3V0dWJlLXJlZC1pY29uIHti + YWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKC95dHMvaW1nL3JpbmdvL2hpdGNo + aGlrZXIvdmlkZW9feW91dHViZV9yZWRfaG92ZXItdmZsZ1Y0R3YwLnBuZyk7 + d2lkdGg6IDIwcHg7aGVpZ2h0OiAyMHB4O30uZXhwLWludmVydC1sb2dvLmlu + dmVydGVkLWhkcGkgLmd1aWRlLWl0ZW06aG92ZXIgLmd1aWRlLXZpZGVvLXlv + dXR1YmUtcmVkLWljb24sLmV4cC1pbnZlcnQtbG9nby5pbnZlcnRlZC1oZHBp + IC5ndWlkZS1pdGVtLmd1aWRlLWl0ZW0tc2VsZWN0ZWQgLmd1aWRlLXZpZGVv + LXlvdXR1YmUtcmVkLWljb24ge2JhY2tncm91bmQ6IG5vLXJlcGVhdCB1cmwo + L3l0cy9pbWcvcmluZ28vaGl0Y2hoaWtlci92aWRlb195b3V0dWJlX3JlZF9o + b3Zlcl8yeC12ZmxZalpIdmYucG5nKTtiYWNrZ3JvdW5kLXNpemU6IDIwcHgg + MjBweDt3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7fS5leHAtaW52ZXJ0LWxv + Z28gbGkuZ3VpZGUtc2VjdGlvbiBoMywuZXhwLWludmVydC1sb2dvIGxpLmd1 + aWRlLXNlY3Rpb24gaDMgYSB7Y29sb3I6ICNmMDA7fS5leHAtaW52ZXJ0LWxv + Z28gYS55dC11aXgtYnV0dG9uLWVwaWMtbmF2LWl0ZW06aG92ZXIsLmV4cC1p + bnZlcnQtbG9nbyBhLnl0LXVpeC1idXR0b24tZXBpYy1uYXYtaXRlbS5zZWxl + Y3RlZCwuZXhwLWludmVydC1sb2dvIGEueXQtdWl4LWJ1dHRvbi1lcGljLW5h + di1pdGVtLnl0LXVpeC1idXR0b24tdG9nZ2xlZCwuZXhwLWludmVydC1sb2dv + IGEueXQtdWl4LWJ1dHRvbi1lcGljLW5hdi1pdGVtLnBhcnRpYWxseS1zZWxl + Y3RlZCwuZXhwLWludmVydC1sb2dvIGEueXQtdWl4LWJ1dHRvbi1lcGljLW5h + di1pdGVtLnBhcnRpYWxseS1zZWxlY3RlZDpob3ZlciwuZXhwLWludmVydC1s + b2dvIGJ1dHRvbi55dC11aXgtYnV0dG9uLWVwaWMtbmF2LWl0ZW06aG92ZXIs + LmV4cC1pbnZlcnQtbG9nbyBidXR0b24ueXQtdWl4LWJ1dHRvbi1lcGljLW5h + di1pdGVtLnNlbGVjdGVkLC5leHAtaW52ZXJ0LWxvZ28gYnV0dG9uLnl0LXVp + eC1idXR0b24tZXBpYy1uYXYtaXRlbS55dC11aXgtYnV0dG9uLXRvZ2dsZWQs + LmV4cC1pbnZlcnQtbG9nbyAuZXBpYy1uYXYtaXRlbTpob3ZlciwuZXhwLWlu + dmVydC1sb2dvIC5lcGljLW5hdi1pdGVtLnNlbGVjdGVkLC5leHAtaW52ZXJ0 + LWxvZ28gLmVwaWMtbmF2LWl0ZW0ueXQtdWl4LWJ1dHRvbi10b2dnbGVkLC5l + eHAtaW52ZXJ0LWxvZ28gLmVwaWMtbmF2LWl0ZW0taGVhZGluZywuZXhwLWlu + dmVydC1sb2dvIC55dC1nYi1zaGVsZi1pdGVtLXRodW1idGFiLnl0LWdiLXNl + bGVjdGVkLXNoZWxmLXRhYjo6YmVmb3JlIHtib3JkZXItY29sb3I6ICNmMDA7 + fS5leHAtaW52ZXJ0LWxvZ28gLnJlc3VtZS1wbGF5YmFjay1wcm9ncmVzcy1i + YXIsLmV4cC1pbnZlcnQtbG9nbyAueXQtdWl4LWJ1dHRvbi1zdWJzY3JpYmUt + YnJhbmRlZCwuZXhwLWludmVydC1sb2dvIC55dC11aXgtYnV0dG9uLXN1YnNj + cmliZS1icmFuZGVkW2Rpc2FibGVkXSwuZXhwLWludmVydC1sb2dvIC55dC11 + aXgtYnV0dG9uLXN1YnNjcmliZS1icmFuZGVkW2Rpc2FibGVkXTpob3Zlciwu + ZXhwLWludmVydC1sb2dvIC55dC11aXgtYnV0dG9uLXN1YnNjcmliZS1icmFu + ZGVkW2Rpc2FibGVkXTphY3RpdmUsLmV4cC1pbnZlcnQtbG9nbyAueXQtdWl4 + LWJ1dHRvbi1zdWJzY3JpYmUtYnJhbmRlZFtkaXNhYmxlZF06Zm9jdXMsLmV4 + cC1pbnZlcnQtbG9nbyAuc2Itbm90aWYtb24gLnl0LXVpeC1idXR0b24tY29u + dGVudCwuZXhwLWludmVydC1sb2dvIC5ndWlkZS1pdGVtLmd1aWRlLWl0ZW0t + c2VsZWN0ZWQsLmV4cC1pbnZlcnQtbG9nbyAuZ3VpZGUtaXRlbS5ndWlkZS1p + dGVtLXNlbGVjdGVkOmhvdmVyLC5leHAtaW52ZXJ0LWxvZ28gLmd1aWRlLWl0 + ZW0uZ3VpZGUtaXRlbS1zZWxlY3RlZCAueXQtZGVlbXBoYXNpemVkLXRleHQs + LmV4cC1pbnZlcnQtbG9nbyAuZ3VpZGUtaXRlbS5ndWlkZS1pdGVtLXNlbGVj + dGVkOmhvdmVyIC55dC1kZWVtcGhhc2l6ZWQtdGV4dCB7YmFja2dyb3VuZC1j + b2xvcjogI2YwMDt9LmV4cC1pbnZlcnQtbG9nbyAueXQtdWl4LWJ1dHRvbi1z + dWJzY3JpYmUtYnJhbmRlZDpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogI2Q5 + MGExNzt9LmV4cC1pbnZlcnQtbG9nbyAueXQtdWl4LWJ1dHRvbi1zdWJzY3Jp + YmUtYnJhbmRlZC55dC1pcy1idWZmZXJlZCwuZXhwLWludmVydC1sb2dvIC55 + dC11aXgtYnV0dG9uLXN1YnNjcmliZS1icmFuZGVkOmFjdGl2ZSwuZXhwLWlu + dmVydC1sb2dvIC55dC11aXgtYnV0dG9uLXN1YnNjcmliZS1icmFuZGVkLnl0 + LXVpeC1idXR0b24tdG9nZ2xlZCwuZXhwLWludmVydC1sb2dvIC55dC11aXgt + YnV0dG9uLXN1YnNjcmliZS1icmFuZGVkLnl0LXVpeC1idXR0b24tYWN0aXZl + LC5leHAtaW52ZXJ0LWxvZ28gLnl0LXVpeC1idXR0b24tc3Vic2NyaWJlZC1i + cmFuZGVkLmV4dGVybmFsLC5leHAtaW52ZXJ0LWxvZ28gLnl0LXVpeC1idXR0 + b24tc3Vic2NyaWJlZC1icmFuZGVkLmV4dGVybmFsW2Rpc2FibGVkXSwuZXhw + LWludmVydC1sb2dvIC55dC11aXgtYnV0dG9uLXN1YnNjcmliZWQtYnJhbmRl + ZC5leHRlcm5hbDphY3RpdmUsLmV4cC1pbnZlcnQtbG9nbyAueXQtdWl4LWJ1 + dHRvbi1zdWJzY3JpYmVkLWJyYW5kZWQuZXh0ZXJuYWwueXQtdWl4LWJ1dHRv + bi10b2dnbGVkLC5leHAtaW52ZXJ0LWxvZ28gLnl0LXVpeC1idXR0b24tc3Vi + c2NyaWJlZC1icmFuZGVkLmV4dGVybmFsLnl0LXVpeC1idXR0b24tYWN0aXZl + IHtiYWNrZ3JvdW5kLWNvbG9yOiAjYTYwODEyO308L3N0eWxlPjxzdHlsZT4u + ZXhwLWludmVydC1sb2dvICNoZWFkZXI6YmVmb3JlLCAuZXhwLWludmVydC1s + b2dvIC55cGMtam9pbi1mYW1pbHktaGVhZGVyIC5sb2dvLCAuZXhwLWludmVy + dC1sb2dvICNmb290ZXItbG9nbyAuZm9vdGVyLWxvZ28taWNvbiwgLmV4cC1p + bnZlcnQtbG9nbyAjeXQtbWFzdGhlYWQgI2xvZ28tY29udGFpbmVyIC5sb2dv + LCAuZXhwLWludmVydC1sb2dvICNtYXN0aGVhZCAjbG9nby1jb250YWluZXIs + IC5leHAtaW52ZXJ0LWxvZ28gLmFkbWluLW1hc3RoZWFkLWxvZ28gYSwgLmV4 + cC1pbnZlcnQtbG9nbyAjeXQtc2lkZWJhci1zdHlsZWd1aWRlLWxvZ28gI2xv + Z28geyBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKC95dHMvaW1nL3Jpbmdv + L2hpdGNoaGlrZXIvbG9nb19zbWFsbF8yeC12Zmw0X2NGcW4ucG5nKTsgYmFj + a2dyb3VuZC1zaXplOiAxMDBweCAzMHB4OyB9IC5leHAtaW52ZXJ0LWxvZ28g + I3l0LW1hc3RoZWFkICNsb2dvLWNvbnRhaW5lciAubG9nby1yZWQgeyBiYWNr + Z3JvdW5kOiBuby1yZXBlYXQgdXJsKC95dHMvaW1nL3JpbmdvL2hpdGNoaGlr + ZXIvbG9nb195b3V0dWJlX3JlZF8yeC12ZmxPU0hBX24ucG5nKTsgYmFja2dy + b3VuZC1zaXplOiAxMzJweCAzMHB4OyB9IEBtZWRpYSBvbmx5IHNjcmVlbiBh + bmQgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDogNDk4cHgpLCBv + bmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDk5cHgpIGFuZCAobWF4LXdp + ZHRoOiA3MDRweCkgeyAuZXhwLWludmVydC1sb2dvLmV4cC1yZXNwb25zaXZl + ICN5dC1tYXN0aGVhZCAjbG9nby1jb250YWluZXIgeyBiYWNrZ3JvdW5kOiBu + by1yZXBlYXQgdXJsKC95dHMvaW1nL3JpbmdvL2hpdGNoaGlrZXIveXRfcGxh + eV9sb2dvXzJ4LXZmbFh4NVBnMy5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDQw + cHggMjhweDsgfSB9IC5ndWlkZS1zb3J0LWNvbnRhaW5lciB7ZGlzcGxheTog + bm9uZX08L3N0eWxlPjwvaGVhZD4gIDxib2R5IGRpcj0ibHRyIiBpZD0iYm9k + eSIgY2xhc3M9IiAgdmlzaWJpbGl0eS1sb2dnaW5nLWVuYWJsZWQgIGx0ciAg + ICBleHAtaW52ZXJ0LWxvZ28gZXhwLW1vdXNlb3Zlci1pbWcgZXhwLXJlc3Bv + bnNpdmUgZXhwLXNjcm9sbGFibGUtZ3VpZGUgZXhwLXNlYXJjaC1iaWctdGh1 + bWJzICAgc2l0ZS1jZW50ZXItYWxpZ25lZCBzaXRlLWFzLWdpYW50LWNhcmQg + YXBwYmFyLWhpZGRlbiAgIG5vdC1uaXJ2YW5hLWRvZ2Zvb2QgICAgZmxleC13 + aWR0aC1lbmFibGVkICAgICAgZmxleC13aWR0aC1lbmFibGVkLXNuYXAgICAg + ZGVsYXllZC1mcmFtZS1zdHlsZXMtbm90LWluICAiIGRhdGEtc3BmLW5hbWU9 + IndhdGNoIj4KPGRpdiBpZD0iZWFybHktYm9keSI+PC9kaXY+PGRpdiBpZD0i + Ym9keS1jb250YWluZXIiPjxkaXYgaWQ9ImExMXktYW5ub3VuY2VtZW50cy1j + b250YWluZXIiIHJvbGU9ImFsZXJ0Ij48ZGl2IGlkPSJhMTF5LWFubm91bmNl + bWVudHMtbWVzc2FnZSI+PC9kaXY+PC9kaXY+PGZvcm0gbmFtZT0ibG9nb3V0 + Rm9ybSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249Ii9sb2dvdXQiPjxpbnB1dCB0 + eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbl9sb2dvdXQiIHZhbHVlPSIxIj48 + L2Zvcm0+PGRpdiBpZD0ibWFzdGhlYWQtcG9zaXRpb25lciI+ICA8ZGl2IGlk + PSJ0aWNrZXItY29udGVudCI+CiAgICAgICAgCgogIDwvZGl2PgogIDxkaXYg + aWQ9Inl0LW1hc3RoZWFkLWNvbnRhaW5lciIgY2xhc3M9ImNsZWFyZml4IHl0 + LWJhc2UtZ3V0dGVyIj4gIDxidXR0b24gaWQ9ImExMXktc2tpcC1uYXYiIGNs + YXNzPSJza2lwLW5hdiIgZGF0YS10YXJnZXQtaWQ9Im1haW4iIHRhYmluZGV4 + PSIzIj4KU2tpcCBuYXZpZ2F0aW9uCiAgPC9idXR0b24+CjxkaXYgaWQ9Inl0 + LW1hc3RoZWFkIj48ZGl2IGNsYXNzPSJ5dC1tYXN0aGVhZC1sb2dvLWNvbnRh + aW5lciAiPiAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiB5dC11aXgt + YnV0dG9uLXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9uLXRleHQgeXQtdWl4 + LWJ1dHRvbi1lbXB0eSB5dC11aXgtYnV0dG9uLWhhcy1pY29uIGFwcGJhci1n + dWlkZS10b2dnbGUgYXBwYmFyLWd1aWRlLWNsaWNrYWJsZS1hbmNlc3RvciIg + dHlwZT0iYnV0dG9uIiBvbmNsaWNrPSI7cmV0dXJuIGZhbHNlOyIgaWQ9ImFw + cGJhci1ndWlkZS1idXR0b24iIGFyaWEtY29udHJvbHM9ImFwcGJhci1ndWlk + ZS1tZW51IiBhcmlhLWxhYmVsPSJHdWlkZSI+PHNwYW4gY2xhc3M9Inl0LXVp + eC1idXR0b24taWNvbi13cmFwcGVyIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1 + dHRvbi1pY29uIHl0LXVpeC1idXR0b24taWNvbi1hcHBiYXItZ3VpZGUgeXQt + c3ByaXRlIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPgogIDxkaXYgaWQ9ImFw + cGJhci1tYWluLWd1aWRlLW5vdGlmaWNhdGlvbi1jb250YWluZXIiPjwvZGl2 + Pgo8c3BhbiBpZD0ieXQtbWFzdGhlYWQtbG9nby1mcmFnbWVudCI+PGEgaHJl + Zj0iLyIgY2xhc3M9Im1hc3RoZWFkLWxvZ28tcmVuZGVyZXIgeXQtdWl4LXNl + c3Npb25saW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJp + dGN0PUNBVVFzVjRpRXdqQzRfQ3Vpc25ZQWhXTDA4RUtIWFZJQ1lvby1CMCIg + IGlkPSJsb2dvLWNvbnRhaW5lciIgdGl0bGU9IllvdVR1YmUgSG9tZSI+ICA8 + c3BhbiBjbGFzcz0ibG9nbyBtYXN0aGVhZC1sb2dvLXJlbmRlcmVyLWxvZ28g + eXQtc3ByaXRlIiB0aXRsZT0iWW91VHViZSBIb21lIj48L3NwYW4+CjwvYT48 + L3NwYW4+PC9kaXY+PGRpdiBpZD0ieXQtbWFzdGhlYWQtc2lnbmluIj48YSAg + aHJlZj0iLy93d3cueW91dHViZS5jb20vdXBsb2FkIiBjbGFzcz0ieXQtdWl4 + LWJ1dHRvbiAgIHl0LXVpeC1zZXNzaW9ubGluayB5dC11aXgtYnV0dG9uLW9w + YWNpdHkgeXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRv + bi1oYXMtaWNvbiB5dC11aXgtdG9vbHRpcCB5dC11aXgtYnV0dG9uLWVtcHR5 + IiBkYXRhLXNlc3Npb25saW5rPSJlaT13OE5UV29MMkY0dW5od2Ixa0tYUUNB + JmFtcDtmZWF0dXJlPW1oc2IiIGlkPSJ1cGxvYWQtYnRuIiB0aXRsZT0iVXBs + b2FkIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1pY29uLXdyYXBwZXIi + PjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWljb24geXQtdWl4LWJ1dHRv + bi1pY29uLW1hdGVyaWFsLXVwbG9hZCB5dC1zcHJpdGUiPjwvc3Bhbj48L3Nw + YW4+PC9hPjxkaXYgY2xhc3M9InNpZ25pbi1jb250YWluZXIgIj48YnV0dG9u + IGNsYXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZh + dWx0IHl0LXVpeC1idXR0b24tcHJpbWFyeSIgdHlwZT0iYnV0dG9uIiBvbmNs + aWNrPSI7d2luZG93LmxvY2F0aW9uLmhyZWY9dGhpcy5nZXRBdHRyaWJ1dGUo + JiMzOTtocmVmJiMzOTspO3JldHVybiBmYWxzZTsiIHJvbGU9ImxpbmsiIGhy + ZWY9Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4/ + cGFzc2l2ZT10cnVlJmFtcDtobD1lbiZhbXA7Y29udGludWU9aHR0cHMlM0El + MkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZuZXh0JTNEJTI1MkZ3 + YXRjaCUyNTNGdiUyNTNEUU9DYWFjTzh3dXMlMjZmZWF0dXJlJTNEc2lnbl9p + bl9idXR0b24lMjZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZobCUz + RGVuJTI2YXBwJTNEZGVza3RvcCZhbXA7dWlsZWw9MyZhbXA7c2VydmljZT15 + b3V0dWJlIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50Ij5T + aWduIGluPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgaWQ9Inl0 + LW1hc3RoZWFkLWNvbnRlbnQiPjxmb3JtIGlkPSJtYXN0aGVhZC1zZWFyY2gi + IGNsYXNzPSIgIHNlYXJjaC1mb3JtIGNvbnNvbGlkYXRlZC1mb3JtICB2dmUt + Y2hlY2siIGFjdGlvbj0iL3Jlc3VsdHMiIG9uc3VibWl0PSJpZiAoZG9jdW1l + bnQuZ2V0RWxlbWVudEJ5SWQoJiMzOTttYXN0aGVhZC1zZWFyY2gtdGVybSYj + Mzk7KS52YWx1ZSA9PSAmIzM5OyYjMzk7KSByZXR1cm4gZmFsc2U7IiBkYXRh + LWNsaWNrdHJhY2tpbmc9IkNBRVE3VkFpRXdqQzRfQ3Vpc25ZQWhXTDA4RUtI + WFZJQ1lvby1CMCIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5nPSJDQUVRN1ZB + aUV3akM0X0N1aXNuWUFoV0wwOEVLSFhWSUNZb28tQjAiPjxidXR0b24gY2xh + c3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQg + eXQtdWl4LWJ1dHRvbi1kZWZhdWx0IHNlYXJjaC1idG4tY29tcG9uZW50IHNl + YXJjaC1idXR0b24iIHR5cGU9InN1Ym1pdCIgb25jbGljaz0iaWYgKGRvY3Vt + ZW50LmdldEVsZW1lbnRCeUlkKCYjMzk7bWFzdGhlYWQtc2VhcmNoLXRlcm0m + IzM5OykudmFsdWUgPT0gJiMzOTsmIzM5OykgcmV0dXJuIGZhbHNlOyBkb2N1 + bWVudC5nZXRFbGVtZW50QnlJZCgmIzM5O21hc3RoZWFkLXNlYXJjaCYjMzk7 + KS5zdWJtaXQoKTsgcmV0dXJuIGZhbHNlOztyZXR1cm4gdHJ1ZTsiIGRpcj0i + bHRyIiB0YWJpbmRleD0iMiIgaWQ9InNlYXJjaC1idG4iPjxzcGFuIGNsYXNz + PSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPlNlYXJjaDwvc3Bhbj48L2J1dHRv + bj48ZGl2IGlkPSJtYXN0aGVhZC1zZWFyY2gtdGVybXMiIGNsYXNzPSJtYXN0 + aGVhZC1zZWFyY2gtdGVybXMtYm9yZGVyIiBkaXI9Imx0ciI+PGlucHV0IGlk + PSJtYXN0aGVhZC1zZWFyY2gtdGVybSIgYXV0b2NvbXBsZXRlPSJvZmYiICBv + bmtleWRvd249ImlmICghdGhpcy52YWx1ZSAmYW1wOyZhbXA7IChldmVudC5r + ZXlDb2RlID09IDQwIHx8IGV2ZW50LmtleUNvZGUgPT0gMzIgfHwgZXZlbnQu + a2V5Q29kZSA9PSAzNCkpIHt0aGlzLm9ua2V5ZG93biA9IG51bGw7IHRoaXMu + Ymx1cigpO30iIGNsYXNzPSJzZWFyY2gtdGVybSBtYXN0aGVhZC1zZWFyY2gt + cmVuZGVyZXItaW5wdXQgeXQtdWl4LWZvcm0taW5wdXQtYmlkaSIgbmFtZT0i + c2VhcmNoX3F1ZXJ5IiB2YWx1ZT0iIiB0eXBlPSJ0ZXh0IiB0YWJpbmRleD0i + MSIgcGxhY2Vob2xkZXI9IlNlYXJjaCIgdGl0bGU9IlNlYXJjaCIgYXJpYS1s + YWJlbD0iU2VhcmNoIj48L2Rpdj48L2Zvcm0+PC9kaXY+PC9kaXY+PC9kaXY+ + CiAgICA8ZGl2IGlkPSJtYXN0aGVhZC1hcHBiYXItY29udGFpbmVyIiBjbGFz + cz0iY2xlYXJmaXgiPjxkaXYgaWQ9Im1hc3RoZWFkLWFwcGJhciI+PGRpdiBp + ZD0iYXBwYmFyLWNvbnRlbnQiIGNsYXNzPSIiPjwvZGl2PjwvZGl2PjwvZGl2 + PgoKPC9kaXY+PGRpdiBpZD0ibWFzdGhlYWQtcG9zaXRpb25lci1oZWlnaHQt + b2Zmc2V0Ij48L2Rpdj48ZGl2IGlkPSJwYWdlLWNvbnRhaW5lciI+PGRpdiBp + ZD0icGFnZSIgY2xhc3M9IiAgd2F0Y2ggICAgICAgIHZpZGVvLVFPQ2FhY084 + d3VzIGNsZWFyZml4Ij48ZGl2IGlkPSJndWlkZSIgY2xhc3M9Inl0LXNjcm9s + bGJhciI+ICAgIDxkaXYgaWQ9ImFwcGJhci1ndWlkZS1tZW51IiBjbGFzcz0i + YXBwYmFyLW1lbnUgYXBwYmFyLWd1aWRlLW1lbnUtbGF5b3V0IGFwcGJhci1n + dWlkZS1jbGlja2FibGUtYW5jZXN0b3IiPgogICAgPGRpdiBpZD0iZ3VpZGUt + Y29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZ3VpZGUtbW9kdWxlLWNv + bnRlbnQgZ3VpZGUtbW9kdWxlLWxvYWRpbmciPgogICAgICAgICAgPHAgY2xh + c3M9Inl0LXNwaW5uZXIgIj4KICAgICAgICA8c3BhbiBjbGFzcz0ieXQtc3Bp + bm5lci1pbWcgIHl0LXNwcml0ZSIgdGl0bGU9IkxvYWRpbmcgaWNvbiI+PC9z + cGFuPgoKICAgIDxzcGFuIGNsYXNzPSJ5dC1zcGlubmVyLW1lc3NhZ2UiPgpM + b2FkaW5nLi4uCiAgICA8L3NwYW4+CiAgPC9wPgoKICAgICAgPC9kaXY+CiAg + ICA8L2Rpdj4KICA8L2Rpdj4KCjwvZGl2PjxkaXYgY2xhc3M9ImFsZXJ0cy13 + cmFwcGVyIj48ZGl2IGlkPSJhbGVydHMiIGNsYXNzPSJjb250ZW50LWFsaWdu + bWVudCI+ICAgIAogIDxkaXYgaWQ9ImVkaXRvci1wcm9ncmVzcy1hbGVydC1j + b250YWluZXIiPjwvZGl2PgogIDxkaXYgY2xhc3M9Inl0LWFsZXJ0IHl0LWFs + ZXJ0LWRlZmF1bHQgeXQtYWxlcnQtd2FybiBoaWQgIiBpZD0iZWRpdG9yLXBy + b2dyZXNzLWFsZXJ0LXRlbXBsYXRlIj4gIDxkaXYgY2xhc3M9Inl0LWFsZXJ0 + LWljb24iPgogICAgPHNwYW4gY2xhc3M9Imljb24gbWFzdGVyLXNwcml0ZSB5 + dC1zcHJpdGUiPjwvc3Bhbj4KICA8L2Rpdj4KPGRpdiBjbGFzcz0ieXQtYWxl + cnQtY29udGVudCIgcm9sZT0iYWxlcnQiPjwvZGl2PjxkaXYgY2xhc3M9Inl0 + LWFsZXJ0LWJ1dHRvbnMiPjxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24g + eXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1jbG9z + ZSBjbG9zZSB5dC11aXgtY2xvc2UiIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0i + O3JldHVybiBmYWxzZTsiIGFyaWEtbGFiZWw9IkNsb3NlIiBkYXRhLWNsb3Nl + LXBhcmVudC1jbGFzcz0ieXQtYWxlcnQiPjxzcGFuIGNsYXNzPSJ5dC11aXgt + YnV0dG9uLWNvbnRlbnQiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjwvZGl2Pjwv + ZGl2PgoKICAgIDxkaXYgaWQ9ImVkaXQtY29uZmlybWF0aW9uLWFsZXJ0Ij48 + L2Rpdj4KICA8ZGl2IGNsYXNzPSJ5dC1hbGVydCB5dC1hbGVydC1hY3Rpb25h + YmxlIHl0LWFsZXJ0LWluZm8gaGlkICIgaWQ9ImVkaXQtY29uZmlybWF0aW9u + LWFsZXJ0LXRlbXBsYXRlIj4gIDxkaXYgY2xhc3M9Inl0LWFsZXJ0LWljb24i + PgogICAgPHNwYW4gY2xhc3M9Imljb24gbWFzdGVyLXNwcml0ZSB5dC1zcHJp + dGUiPjwvc3Bhbj4KICA8L2Rpdj4KPGRpdiBjbGFzcz0ieXQtYWxlcnQtY29u + dGVudCIgcm9sZT0iYWxlcnQiPiAgICA8ZGl2IGNsYXNzPSJ5dC1hbGVydC1t + ZXNzYWdlIiB0YWJpbmRleD0iMCI+CiAgICA8L2Rpdj4KPC9kaXY+PGRpdiBj + bGFzcz0ieXQtYWxlcnQtYnV0dG9ucyI+ICA8YnV0dG9uIGNsYXNzPSJ5dC11 + aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IHl0LXVpeC1i + dXR0b24tYWxlcnQtaW5mbyB5dC11aXgtYnV0dG9uLWhhcy1pY29uIGVkaXQt + Y29uZmlybWF0aW9uLXllcyIgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSI7cmV0 + dXJuIGZhbHNlOyI+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24taWNvbi13 + cmFwcGVyIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1pY29uIHl0LXVp + eC1idXR0b24taWNvbi13YXRjaC1saWtlLWludmVydCB5dC1zcHJpdGUiPjwv + c3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24tY29udGVu + dCI+WWVhaCwga2VlcCBpdDwvc3Bhbj48L2J1dHRvbj4KICA8YnV0dG9uIGNs + YXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0 + IHl0LXVpeC1idXR0b24tYWxlcnQtaW5mbyB5dC11aXgtYnV0dG9uLWhhcy1p + Y29uIGVkaXQtY29uZmlybWF0aW9uLW5vIiB0eXBlPSJidXR0b24iIG9uY2xp + Y2s9IjtyZXR1cm4gZmFsc2U7Ij48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRv + bi1pY29uLXdyYXBwZXIiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWlj + b24geXQtdWl4LWJ1dHRvbi1pY29uLXdhdGNoLXVubGlrZS1pbnZlcnQgeXQt + c3ByaXRlIj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0 + dG9uLWNvbnRlbnQiPlVuZG88L3NwYW4+PC9idXR0b24+CjxidXR0b24gY2xh + c3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQg + eXQtdWl4LWJ1dHRvbi1jbG9zZSBjbG9zZSB5dC11aXgtY2xvc2UiIHR5cGU9 + ImJ1dHRvbiIgb25jbGljaz0iO3JldHVybiBmYWxzZTsiIGFyaWEtbGFiZWw9 + IkNsb3NlIiBkYXRhLWNsb3NlLXBhcmVudC1jbGFzcz0ieXQtYWxlcnQiPjxz + cGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPkNsb3NlPC9zcGFu + PjwvYnV0dG9uPjwvZGl2PjwvZGl2PgoKCgo8L2Rpdj48L2Rpdj48ZGl2IGlk + PSJoZWFkZXIiPjwvZGl2PjxkaXYgaWQ9InBsYXllciIgY2xhc3M9IiAgY29u + dGVudC1hbGlnbm1lbnQgICAgICAgd2F0Y2gtc21hbGwgICIgcm9sZT0iY29t + cGxlbWVudGFyeSI+PGRpdiBpZD0idGhlYXRlci1iYWNrZ3JvdW5kIiBjbGFz + cz0icGxheWVyLWhlaWdodCI+PC9kaXY+ICA8ZGl2IGlkPSJwbGF5ZXItbW9s + ZS1jb250YWluZXIiPgogICAgPGRpdiBpZD0icGxheWVyLXVuYXZhaWxhYmxl + IiBjbGFzcz0iICAgIGhpZCAgICBwbGF5ZXItd2lkdGggcGxheWVyLWhlaWdo + dCAgICBwbGF5ZXItdW5hdmFpbGFibGUgIj4KICAgICAgICAgICAgICA8aW1n + IGNsYXNzPSJpY29uIG1laCIgc3JjPSIveXRzL2ltZy9waXhlbC12ZmwzejVX + ZlcuZ2lmIiBkYXRhLWljb249Ii95dHMvaW1nL21laDctdmZsR2V2ZWo3LnBu + ZyIgYWx0PSIiPgogIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgPGgxIGlk + PSJ1bmF2YWlsYWJsZS1tZXNzYWdlIiBjbGFzcz0ibWVzc2FnZSI+CiAgICAg + ICAgICAgICAgVGhpcyB2aWRlbyBpcyB1bmF2YWlsYWJsZS4KCiAgICA8L2gx + PgogICAgPGRpdiBpZD0idW5hdmFpbGFibGUtc3VibWVzc2FnZSIgY2xhc3M9 + InN1Ym1lc3NhZ2UiPgogICAgPC9kaXY+CiAgPC9kaXY+CgoKICAgIDwvZGl2 + PgoKICAgIDxkaXYgaWQ9InBsYXllci1hcGkiIGNsYXNzPSJwbGF5ZXItd2lk + dGggcGxheWVyLWhlaWdodCBvZmYtc2NyZWVuLXRhcmdldCBwbGF5ZXItYXBp + IiB0YWJJbmRleD0iLTEiPjwvZGl2PgogICAgICAgIDxzY3JpcHQgPmlmICh3 + aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiY2ZnIiwgbnVsbCwg + JycpO308L3NjcmlwdD4KICAgIDxzY3JpcHQgPnZhciB5dHBsYXllciA9IHl0 + cGxheWVyIHx8IHt9O3l0cGxheWVyLmNvbmZpZyA9IHsiYXJncyI6eyJpc19s + aXN0ZWQiOiIxIiwibWlkcm9sbF9wcmVmZXRjaF9zaXplIjoiMSIsImxlbmd0 + aF9zZWNvbmRzIjoiMzU2IiwiYmFzZVVybCI6Imh0dHBzOlwvXC93d3cueW91 + dHViZS5jb21cL3BhZ2VhZFwvdmlld3Rocm91Z2hjb252ZXJzaW9uXC85NjI5 + ODU2NTZcLyIsInZtIjoiQ0FFUUFSZ0UiLCJpdl9pbnZpZGVvX3VybCI6Imh0 + dHBzOlwvXC93d3cueW91dHViZS5jb21cL2Fubm90YXRpb25zX2ludmlkZW8/ + Y2FwX2hpc3Q9MVx1MDAyNnZpZGVvX2lkPVFPQ2FhY084d3VzXHUwMDI2Y2xp + ZW50PTFcdTAwMjZlaT13OE5UV29MMkY0dW5od2Ixa0tYUUNBIiwidnNzX2hv + c3QiOiJzLnlvdXR1YmUuY29tIiwiYyI6IldFQiIsInB0ayI6InlvdXR1YmVf + c2luZ2xlIiwic3Rvcnlib2FyZF9zcGVjIjoiaHR0cHM6XC9cL2k5Lnl0aW1n + LmNvbVwvc2JcL1FPQ2FhY084d3VzXC9zdG9yeWJvYXJkM19MJExcLyROLmpw + Z3w0OCMyNyMxMDAjMTAjMTAjMCNkZWZhdWx0I3JzJEFPbjRDTEJTdWJ2bVd2 + NFBaOFpmWFo0V2RYU2NUeVFwTkF8ODAjNDUjNzMjMTAjMTAjNTAwMCNNJE0j + cnMkQU9uNENMQjVYQmltRGg2aEMzbWJCQm1SQTVnMHlVbW5vQXwxNjAjOTAj + NzMjNSM1IzUwMDAjTSRNI3JzJEFPbjRDTEM4UVZzLWRXdTRJdjRiUm9XR1Jo + SFROeWpOWFEiLCJobCI6ImVuX1VTIiwicHl2X2FkX2NoYW5uZWwiOiJQeXZX + YXRjaEluUmVsYXRlZCtQeXZXYXRjaE5vQWRYK1B5dllUV2F0Y2grWXRMb1By + aSthZnZfdXNlcl9pZF9zWFZrMzdibHRIeEQxckRQd3ROTThRK2Fmdl91c2Vy + X2t1cnpnZXNhZ3Qrbm9uX2xwdytwdyt5dF9jaWRfNDA3NTA4NTcreXRfZ3Ar + eXRfbXB2aWRfazdpU0VTbllrRjZFMW1aUSt5dF9ub18zNjAreXRfbm9fYXAr + eXRfbm9fd2EreXRkZXZpY2VfMSt5dGRldmljZXZlcl8xLjIwMTgwMTA0Iiwi + dm1hcCI6Ilx1MDAzYz94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwi + VVRGLThcIj9cdTAwM2VcdTAwM2N2bWFwOlZNQVAgeG1sbnM6dm1hcD1cImh0 + dHA6XC9cL3d3dy5pYWIubmV0XC92aWRlb3N1aXRlXC92bWFwXCIgeG1sbnM6 + eXQ9XCJodHRwOlwvXC95b3V0dWJlLmNvbVwiIHZlcnNpb249XCIxLjBcIlx1 + MDAzZVx1MDAzY3ZtYXA6QWRCcmVhayBicmVha1R5cGU9XCJsaW5lYXJcIiB0 + aW1lT2Zmc2V0PVwic3RhcnRcIlx1MDAzZVx1MDAzY3ZtYXA6QWRTb3VyY2Ug + YWxsb3dNdWx0aXBsZUFkcyA9IFwiZmFsc2VcIlx1MDAzZVx1MDAzY3ZtYXA6 + VkFTVERhdGFcdTAwM2VcdTAwM2NWQVNUIHZlcnNpb249XCIzLjBcIlx1MDAz + ZVx1MDAzY0FkXHUwMDNlXHUwMDNjV3JhcHBlclx1MDAzZVx1MDAzY0FkU3lz + dGVtIHZlcnNpb249XCIxXCJcdTAwM2VZVDpEb3VibGVDbGlja1x1MDAzY1wv + QWRTeXN0ZW1cdTAwM2VcdTAwM2NWQVNUQWRUYWdVUklcdTAwM2VcdTAwM2Mh + W0NEQVRBW2h0dHBzOlwvXC9wdWJhZHMuZy5kb3VibGVjbGljay5uZXRcL2dh + bXBhZFwvYWRzP2FkX3J1bGU9MFx1MDAyNmNpdV9zenM9MzAweDI1MFx1MDAy + NmVpZD0xNjU3MjA1MzdcdTAwMjZlbnY9dnBcdTAwMjZnZGZwX3JlcT0xXHUw + MDI2aXU9XC80MDYxXC9jb20ueXRwd2F0Y2guZWR1Y2F0aW9uXHUwMDI2bG9l + aWQ9MjM3MDYzMTksMjM3MDk3OTNcdTAwMjZvc2Q9Mlx1MDAyNm91dHB1dD14 + bWxfdmFzdDNcdTAwMjZwdWNyZD1DZ1lJQUJBQUdBQVx1MDAyNnNjb3I9MVx1 + MDAyNnNjcD1hdiUzRDElMjZrcGVpZCUzRHNYVmszN2JsdEh4RDFyRFB3dE5N + OFElMjZrcGlkJTNENDA3NTA4NTclMjZrcHUlM0RLdXJ6Z2VzYWd0JTI2a3Zp + ZCUzRFFPQ2FhY084d3VzJTI2bXB2aWQlM0RrN2lTRVNuWWtGNkUxbVpRJTI2 + c3NsJTNEMSUyNmFmdiUzRDElMjZkYnAlM0RDaFpaYTI5SldWRjBlRXBKWVds + a1dsOTRiR2haVjNWQkVBRWdBU2dBJTI2ZGNfeXQlM0QxJTI2ZXhjbF9jYXQl + M0Q0MDc1MDg1NyUyNmsyJTNEMTc0LDQzNSw0NDQlMjZrNSUzRDE3NF80MzVf + NDQ0JTI2a2NvdW50cnklM0R1cyUyNmtnYSUzRC0xJTI2a2dnJTNELTElMjZr + Z3B0JTNEMSUyNmtsZyUzRGVuJTI2a215ZCUzRHdhdGNoLWNoYW5uZWwtYnJh + bmQtZGl2JTI2a28lM0RwJTI2a3IlM0RBJTI2a3R5cGUlM0RncHRjJTI2a3Zs + ZyUzRGVuJTI2a3Z6JTNEMjA0JTI2bHUlM0QwLDEyMjQxLDE1MSwyMDE4YTEl + MjZubGZiJTNEMSUyNnBvcyUzRHByZSUyNnZyZXglM0Q1MCUyNnl0MXN0JTNE + MSUyNnl0M3BhdiUzRDElMjZ5dGNhdCUzRDI3JTI2eXRkZXZpY2UlM0QxJTI2 + eXRkZXZpY2V2ZXIlM0QxLjIwMTgwMTA0JTI2eXRleHAlM0Q5NDIyNTk2LDk0 + MzgwNjcsOTQ1MjY0Myw5NDcxMjM5LDk0NzQ1OTQsOTQ3NTY4Miw5NDc2NDA4 + LDk0ODcyMDYsOTQ4ODk5MSwyMzcwNDg0NiwyMzcwNjMxOSwyMzcwNzY2NSwy + MzcwOTc5MywyMzcxNTUwMSwyMzcxNTkwOCwyMzcxNjExOSwyMzcxNjY5NCwy + MzcxNzAwMCwyMzcxNzA3MiwyMzcxODQ4NiwyMzcxOTAzNCUyNnl0X2VjJTNE + NCUyNnl0X2VjMiUzRDE0XHUwMDI2c2RraT0xODgwM0RFRFx1MDAyNnN6PTQ4 + MHg3MFx1MDAyNnVudmlld2VkX3Bvc2l0aW9uX3N0YXJ0PTFcdTAwMjZ2aWQ9 + UU9DYWFjTzh3dXNcdTAwMjZ2cG9zPXByZXJvbGxcdTAwMjZ5dGRldmljZT0x + XHUwMDI2eXRfcHQ9QVBiM0YyLUJsSDBmT2pOc3UyU2g3VGVwakRIUmtqb3ZB + OWJpN0M2X0dxanZlUjVscEpmSUNDTmZCaDQ2ZzlsQnR0aHVXNmN4R1NlN3di + QXpLbnJNLUZvUTdpUFBkWU9JdzlKenVJXzI1T3NSMVpOUHhxRDhZUFU4WVNK + dzRwR0wxcS1oU3RtQTRySDBFSGN0aTlYNF1dXHUwMDNlXHUwMDNjXC9WQVNU + QWRUYWdVUklcdTAwM2VcdTAwM2NJbXByZXNzaW9uXHUwMDNlXHUwMDNjIVtD + REFUQVtodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3N0YXRzXC9h + ZHM/dmVyPTJcdTAwMjZucz0xXHUwMDI2ZXZlbnQ9Mlx1MDAyNmRldmljZT0x + XHUwMDI2Y29udGVudF92PVFPQ2FhY084d3VzXHUwMDI2ZWw9ZGV0YWlscGFn + ZVx1MDAyNmVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0FcdTAwMjZkZXZpY2V2 + ZXI9MS4yMDE4MDEwNFx1MDAyNmFzcj1DZ0J3QVFcdTAwMjZmb3JtYXQ9W0ZP + Uk1BVF9OQU1FU1BBQ0VdX1tGT1JNQVRfVFlQRV1fW0ZPUk1BVF9TVUJUWVBF + XVx1MDAyNmJyZWFrX3R5cGU9W0JSRUFLX1RZUEVdXHUwMDI2Y29ubj1bQ09O + Tl1cdTAwMjZjcG49W0NQTl1cdTAwMjZsYWN0PVtMQUNUXVx1MDAyNm1fcG9z + PVtNSURST0xMX1BPU11cdTAwMjZtdD1bTVRdXHUwMDI2cF9oPVtQX0hdXHUw + MDI2cF93PVtQX1ddXHUwMDI2cnd0PVtSV1RdXHUwMDI2c2Rrdj1bU0RLVl1c + dTAwMjZzbG90X3Bvcz1bU0xPVF9QT1NdXHUwMDI2dmlzPVtWSVNdXHUwMDI2 + dm9sPVtWT0xdXHUwMDI2d3Q9W1dUXVx1MDAyNmFkX2Nwbj1bQURfQ1BOXVx1 + MDAyNmFkX2lkPVtBRF9JRF1cdTAwMjZhZF9sZW49W0FEX0xFTl1cdTAwMjZh + ZF9tdD1bQURfTVRdXHUwMDI2YWRfc3lzPVtBRF9TWVNdXHUwMDI2YWRfdj1b + QURfVl1cdTAwMjZhcWk9XV1cdTAwM2VcdTAwM2NcL0ltcHJlc3Npb25cdTAw + M2VcdTAwM2NFcnJvclx1MDAzZVx1MDAzYyFbQ0RBVEFbaHR0cHM6XC9cL3d3 + dy55b3V0dWJlLmNvbVwvYXBpXC9zdGF0c1wvYWRzP3Zlcj0yXHUwMDI2bnM9 + MVx1MDAyNmV2ZW50PTVcdTAwMjZkZXZpY2U9MVx1MDAyNmNvbnRlbnRfdj1R + T0NhYWNPOHd1c1x1MDAyNmVsPWRldGFpbHBhZ2VcdTAwMjZlaT13OE5UV29M + MkY0dW5od2Ixa0tYUUNBXHUwMDI2ZGV2aWNldmVyPTEuMjAxODAxMDRcdTAw + MjZmb3JtYXQ9W0ZPUk1BVF9OQU1FU1BBQ0VdX1tGT1JNQVRfVFlQRV1fW0ZP + Uk1BVF9TVUJUWVBFXVx1MDAyNmJyZWFrX3R5cGU9W0JSRUFLX1RZUEVdXHUw + MDI2Y29ubj1bQ09OTl1cdTAwMjZjcG49W0NQTl1cdTAwMjZsYWN0PVtMQUNU + XVx1MDAyNm1fcG9zPVtNSURST0xMX1BPU11cdTAwMjZtdD1bTVRdXHUwMDI2 + cF9oPVtQX0hdXHUwMDI2cF93PVtQX1ddXHUwMDI2cnd0PVtSV1RdXHUwMDI2 + c2Rrdj1bU0RLVl1cdTAwMjZzbG90X3Bvcz1bU0xPVF9QT1NdXHUwMDI2dmlz + PVtWSVNdXHUwMDI2dm9sPVtWT0xdXHUwMDI2d3Q9W1dUXVx1MDAyNmFkX2Nw + bj1bQURfQ1BOXVx1MDAyNmFkX2lkPVtBRF9JRF1cdTAwMjZhZF9sZW49W0FE + X0xFTl1cdTAwMjZhZF9tdD1bQURfTVRdXHUwMDI2YWRfc3lzPVtBRF9TWVNd + XHUwMDI2YWRfdj1bQURfVl1cdTAwMjZibG9ja2luZ19lcnJvcj1bQkxPQ0tJ + TkdfRVJST1JdXHUwMDI2ZXJyb3JfbXNnPVtFUlJPUl9NU0ddXHUwMDI2aW1h + X2Vycm9yPVtJTUFfRVJST1JdXHUwMDI2aW50ZXJuYWxfaWQ9W0lOVEVSTkFM + X0lEXVx1MDAyNmVycm9yX2NvZGU9W1lUX0VSUk9SX0NPREVdXHUwMDI2YXFp + PV1dXHUwMDNlXHUwMDNjXC9FcnJvclx1MDAzZVx1MDAzY0NyZWF0aXZlc1x1 + MDAzZVx1MDAzY0NyZWF0aXZlXHUwMDNlXHUwMDNjTm9uTGluZWFyQWRzXHUw + MDNlXHUwMDNjVHJhY2tpbmdFdmVudHNcdTAwM2VcdTAwM2NUcmFja2luZyBl + dmVudD1cImNsb3NlXCJcdTAwM2VcdTAwM2MhW0NEQVRBW2h0dHBzOlwvXC93 + d3cueW91dHViZS5jb21cL2FwaVwvc3RhdHNcL2Fkcz92ZXI9Mlx1MDAyNm5z + PTFcdTAwMjZldmVudD00XHUwMDI2ZGV2aWNlPTFcdTAwMjZjb250ZW50X3Y9 + UU9DYWFjTzh3dXNcdTAwMjZlbD1kZXRhaWxwYWdlXHUwMDI2ZWk9dzhOVFdv + TDJGNHVuaHdiMWtLWFFDQVx1MDAyNmRldmljZXZlcj0xLjIwMTgwMTA0XHUw + MDI2Zm9ybWF0PVtGT1JNQVRfTkFNRVNQQUNFXV9bRk9STUFUX1RZUEVdX1tG + T1JNQVRfU1VCVFlQRV1cdTAwMjZicmVha190eXBlPVtCUkVBS19UWVBFXVx1 + MDAyNmNvbm49W0NPTk5dXHUwMDI2Y3BuPVtDUE5dXHUwMDI2bGFjdD1bTEFD + VF1cdTAwMjZtX3Bvcz1bTUlEUk9MTF9QT1NdXHUwMDI2bXQ9W01UXVx1MDAy + NnBfaD1bUF9IXVx1MDAyNnBfdz1bUF9XXVx1MDAyNnJ3dD1bUldUXVx1MDAy + NnNka3Y9W1NES1ZdXHUwMDI2c2xvdF9wb3M9W1NMT1RfUE9TXVx1MDAyNnZp + cz1bVklTXVx1MDAyNnZvbD1bVk9MXVx1MDAyNnd0PVtXVF1cdTAwMjZhZF9j + cG49W0FEX0NQTl1cdTAwMjZhZF9pZD1bQURfSURdXHUwMDI2YWRfbXQ9W0FE + X01UXVx1MDAyNmFkX3N5cz1bQURfU1lTXVx1MDAyNmFkX3Y9W0FEX1ZdXHUw + MDI2aV94PVtJX1hdXHUwMDI2aV95PVtJX1ldXHUwMDI2YXFpPV1dXHUwMDNl + XHUwMDNjXC9UcmFja2luZ1x1MDAzZVx1MDAzY1wvVHJhY2tpbmdFdmVudHNc + dTAwM2VcdTAwM2NOb25MaW5lYXJcdTAwM2VcdTAwM2NOb25MaW5lYXJDbGlj + a1RyYWNraW5nXHUwMDNlXHUwMDNjIVtDREFUQVtodHRwczpcL1wvd3d3Lnlv + dXR1YmUuY29tXC9hcGlcL3N0YXRzXC9hZHM/dmVyPTJcdTAwMjZucz0xXHUw + MDI2ZXZlbnQ9Nlx1MDAyNmRldmljZT0xXHUwMDI2Y29udGVudF92PVFPQ2Fh + Y084d3VzXHUwMDI2ZWw9ZGV0YWlscGFnZVx1MDAyNmVpPXc4TlRXb0wyRjR1 + bmh3YjFrS1hRQ0FcdTAwMjZkZXZpY2V2ZXI9MS4yMDE4MDEwNFx1MDAyNmZv + cm1hdD1bRk9STUFUX05BTUVTUEFDRV1fW0ZPUk1BVF9UWVBFXV9bRk9STUFU + X1NVQlRZUEVdXHUwMDI2YnJlYWtfdHlwZT1bQlJFQUtfVFlQRV1cdTAwMjZj + b25uPVtDT05OXVx1MDAyNmNwbj1bQ1BOXVx1MDAyNmxhY3Q9W0xBQ1RdXHUw + MDI2bV9wb3M9W01JRFJPTExfUE9TXVx1MDAyNm10PVtNVF1cdTAwMjZwX2g9 + W1BfSF1cdTAwMjZwX3c9W1BfV11cdTAwMjZyd3Q9W1JXVF1cdTAwMjZzZGt2 + PVtTREtWXVx1MDAyNnNsb3RfcG9zPVtTTE9UX1BPU11cdTAwMjZ2aXM9W1ZJ + U11cdTAwMjZ2b2w9W1ZPTF1cdTAwMjZ3dD1bV1RdXHUwMDI2YWRfY3BuPVtB + RF9DUE5dXHUwMDI2YWRfaWQ9W0FEX0lEXVx1MDAyNmFkX2xlbj1bQURfTEVO + XVx1MDAyNmFkX210PVtBRF9NVF1cdTAwMjZhZF9zeXM9W0FEX1NZU11cdTAw + MjZhZF92PVtBRF9WXVx1MDAyNmlfeD1bSV9YXVx1MDAyNmlfeT1bSV9ZXVx1 + MDAyNmFxaT1bQVFJXV1dXHUwMDNlXHUwMDNjXC9Ob25MaW5lYXJDbGlja1Ry + YWNraW5nXHUwMDNlXHUwMDNjXC9Ob25MaW5lYXJcdTAwM2VcdTAwM2NcL05v + bkxpbmVhckFkc1x1MDAzZVx1MDAzY1wvQ3JlYXRpdmVcdTAwM2VcdTAwM2Nc + L0NyZWF0aXZlc1x1MDAzZVx1MDAzY0V4dGVuc2lvbnNcdTAwM2VcdTAwM2NF + eHRlbnNpb24gdHlwZT1cIndhdGVyZmFsbFwiIGZhbGxiYWNrX2luZGV4PVwi + MVwiXC9cdTAwM2VcdTAwM2NFeHRlbnNpb24gdHlwZT1cImFjdGl2ZXZpZXdc + Ilx1MDAzZVx1MDAzY0N1c3RvbVRyYWNraW5nXHUwMDNlXHUwMDNjVHJhY2tp + bmcgZXZlbnQ9XCJ2aWV3YWJsZV9pbXByZXNzaW9uXCJcdTAwM2VcdTAwM2Mh + W0NEQVRBW2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvc3RhdHNc + L2Fkcz92ZXI9Mlx1MDAyNm5zPTFcdTAwMjZldmVudD0xMVx1MDAyNmRldmlj + ZT0xXHUwMDI2Y29udGVudF92PVFPQ2FhY084d3VzXHUwMDI2ZWw9ZGV0YWls + cGFnZVx1MDAyNmVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0FcdTAwMjZkZXZp + Y2V2ZXI9MS4yMDE4MDEwNFx1MDAyNmZvcm1hdD1bRk9STUFUX05BTUVTUEFD + RV1fW0ZPUk1BVF9UWVBFXV9bRk9STUFUX1NVQlRZUEVdXHUwMDI2YnJlYWtf + dHlwZT1bQlJFQUtfVFlQRV1cdTAwMjZjb25uPVtDT05OXVx1MDAyNmNwbj1b + Q1BOXVx1MDAyNmxhY3Q9W0xBQ1RdXHUwMDI2bV9wb3M9W01JRFJPTExfUE9T + XVx1MDAyNm10PVtNVF1cdTAwMjZwX2g9W1BfSF1cdTAwMjZwX3c9W1BfV11c + dTAwMjZyd3Q9W1JXVF1cdTAwMjZzZGt2PVtTREtWXVx1MDAyNnNsb3RfcG9z + PVtTTE9UX1BPU11cdTAwMjZ2aXM9W1ZJU11cdTAwMjZ2b2w9W1ZPTF1cdTAw + MjZ3dD1bV1RdXHUwMDI2YWRfY3BuPVtBRF9DUE5dXHUwMDI2YWRfaWQ9W0FE + X0lEXVx1MDAyNmFkX2xlbj1bQURfTEVOXVx1MDAyNmFkX210PVtBRF9NVF1c + dTAwMjZhZF9zeXM9W0FEX1NZU11cdTAwMjZhZF92PVtBRF9WXVx1MDAyNmFx + aT1dXVx1MDAzZVx1MDAzY1wvVHJhY2tpbmdcdTAwM2VcdTAwM2NcL0N1c3Rv + bVRyYWNraW5nXHUwMDNlXHUwMDNjXC9FeHRlbnNpb25cdTAwM2VcdTAwM2Nc + L0V4dGVuc2lvbnNcdTAwM2VcdTAwM2NcL1dyYXBwZXJcdTAwM2VcdTAwM2Nc + L0FkXHUwMDNlXHUwMDNjQWRcdTAwM2VcdTAwM2NXcmFwcGVyXHUwMDNlXHUw + MDNjQWRTeXN0ZW0gdmVyc2lvbj1cIjFcIlx1MDAzZVlUOkFkU2Vuc2VcdTAw + M2NcL0FkU3lzdGVtXHUwMDNlXHUwMDNjVkFTVEFkVGFnVVJJXHUwMDNlXHUw + MDNjIVtDREFUQVtodHRwczpcL1wvZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2su + bmV0XC9wYWdlYWRcL2Fkcz9hZF90eXBlPXRleHRfaW1hZ2VcdTAwMjZjaGFu + bmVsPVZlcnRpY2FsXzE3NCUyQlZlcnRpY2FsXzQzNSUyQlZlcnRpY2FsXzQ0 + NCUyQmFmdl9vdmVybGF5JTJCYWZ2X3VzZXJfaWRfc1hWazM3Ymx0SHhEMXJE + UHd0Tk04USUyQmFmdl91c2VyX2t1cnpnZXNhZ3QlMkJpbnZpZGVvX292ZXJs + YXlfNDgweDcwX2NhdDI3JTJCeXRfYnMyJTJCeXRfY2lkXzQwNzUwODU3JTJC + eXRfZ3AlMkJ5dF9tcHZpZF9rN2lTRVNuWWtGNkUxbVpRJTJCeXRfbm9fMzYw + JTJCeXRfbm9fYXAlMkJ5dF9ub193YSUyQnl0ZGV2aWNlXzElMkJ5dGRldmlj + ZXZlcl8xLjIwMTgwMTA0JTJCeXRlbF9kZXRhaWxwYWdlJTJCeXRwc19kZWZh + dWx0XHUwMDI2Y2xpZW50PWNhLXB1Yi02MjE5ODExNzQ3MDQ5MzcxXHUwMDI2 + ZGJwPUNoWlphMjlKV1ZGMGVFcEpZV2xrV2w5NGJHaFpWM1ZCRUFFZ0FTZ0Fc + dTAwMjZkZXNjcmlwdGlvbl91cmw9aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJl + LmNvbSUyRnZpZGVvJTJGUU9DYWFjTzh3dXNcdTAwMjZobD1lblx1MDAyNmhv + c3Q9Y2EtaG9zdC1wdWItMjQ3NTIyODQyMDAxNTIzMFx1MDAyNmh0X2lkPTE1 + MjA5NjkxXHUwMDI2bG9laWQ9OTQyMjU5Niw5NDM4MDY3LDk0NTI2NDMsOTQ3 + MTIzOSw5NDc0NTk0LDk0NzU2ODIsOTQ3NjQwOCw5NDg3MjA2LDk0ODg5OTEs + MjM3MDQ4NDYsMjM3MDYzMTksMjM3MDc2NjUsMjM3MDk3OTMsMjM3MTU1MDEs + MjM3MTU5MDgsMjM3MTYxMTksMjM3MTY2OTQsMjM3MTcwMDAsMjM3MTcwNzIs + MjM3MTg0ODYsMjM3MTkwMzRcdTAwMjZvc2Q9Mlx1MDAyNnB1Y3JkPUNnWUlB + QkFBR0FBXHUwMDI2c2RraT0xODgwM0RFRFx1MDAyNnVybD1odHRwJTNBJTJG + JTJGd3d3LnlvdXR1YmUuY29tJTJGdmlkZW8lMkZRT0NhYWNPOHd1c1x1MDAy + NnZpZGVvYWRfc3RhcnRfZGVsYXk9MFx1MDAyNnZfcD1EUm1EZkQ4bElIeEtS + QSUzRCUzRFx1MDAyNnl0ZGV2aWNlPTFcdTAwMjZ5dGRldmljZXZlcj0xLjIw + MTgwMTA0XHUwMDI2eXRfcHQ9QVBiM0YyLUJsSDBmT2pOc3UyU2g3VGVwakRI + Umtqb3ZBOWJpN0M2X0dxanZlUjVscEpmSUNDTmZCaDQ2ZzlsQnR0aHVXNmN4 + R1NlN3diQXpLbnJNLUZvUTdpUFBkWU9JdzlKenVJXzI1T3NSMVpOUHhxRDhZ + UFU4WVNKdzRwR0wxcS1oU3RtQTRySDBFSGN0aTlYNFx1MDAyNnl0X3Zpcz0w + XV1cdTAwM2VcdTAwM2NcL1ZBU1RBZFRhZ1VSSVx1MDAzZVx1MDAzY0ltcHJl + c3Npb25cdTAwM2VcdTAwM2MhW0NEQVRBW2h0dHBzOlwvXC93d3cueW91dHVi + ZS5jb21cL2FwaVwvc3RhdHNcL2Fkcz92ZXI9Mlx1MDAyNm5zPTFcdTAwMjZl + dmVudD0yXHUwMDI2ZGV2aWNlPTFcdTAwMjZjb250ZW50X3Y9UU9DYWFjTzh3 + dXNcdTAwMjZlbD1kZXRhaWxwYWdlXHUwMDI2ZWk9dzhOVFdvTDJGNHVuaHdi + MWtLWFFDQVx1MDAyNmRldmljZXZlcj0xLjIwMTgwMTA0XHUwMDI2YXNyPUNn + QndBUVx1MDAyNmZvcm1hdD1bRk9STUFUX05BTUVTUEFDRV1fW0ZPUk1BVF9U + WVBFXV9bRk9STUFUX1NVQlRZUEVdXHUwMDI2YnJlYWtfdHlwZT1bQlJFQUtf + VFlQRV1cdTAwMjZjb25uPVtDT05OXVx1MDAyNmNwbj1bQ1BOXVx1MDAyNmxh + Y3Q9W0xBQ1RdXHUwMDI2bV9wb3M9W01JRFJPTExfUE9TXVx1MDAyNm10PVtN + VF1cdTAwMjZwX2g9W1BfSF1cdTAwMjZwX3c9W1BfV11cdTAwMjZyd3Q9W1JX + VF1cdTAwMjZzZGt2PVtTREtWXVx1MDAyNnNsb3RfcG9zPVtTTE9UX1BPU11c + dTAwMjZ2aXM9W1ZJU11cdTAwMjZ2b2w9W1ZPTF1cdTAwMjZ3dD1bV1RdXHUw + MDI2YWRfY3BuPVtBRF9DUE5dXHUwMDI2YWRfaWQ9W0FEX0lEXVx1MDAyNmFk + X2xlbj1bQURfTEVOXVx1MDAyNmFkX210PVtBRF9NVF1cdTAwMjZhZF9zeXM9 + W0FEX1NZU11cdTAwMjZhZF92PVtBRF9WXVx1MDAyNmFxaT1dXVx1MDAzZVx1 + MDAzY1wvSW1wcmVzc2lvblx1MDAzZVx1MDAzY0Vycm9yXHUwMDNlXHUwMDNj + IVtDREFUQVtodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3N0YXRz + XC9hZHM/dmVyPTJcdTAwMjZucz0xXHUwMDI2ZXZlbnQ9NVx1MDAyNmRldmlj + ZT0xXHUwMDI2Y29udGVudF92PVFPQ2FhY084d3VzXHUwMDI2ZWw9ZGV0YWls + cGFnZVx1MDAyNmVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0FcdTAwMjZkZXZp + Y2V2ZXI9MS4yMDE4MDEwNFx1MDAyNmZvcm1hdD1bRk9STUFUX05BTUVTUEFD + RV1fW0ZPUk1BVF9UWVBFXV9bRk9STUFUX1NVQlRZUEVdXHUwMDI2YnJlYWtf + dHlwZT1bQlJFQUtfVFlQRV1cdTAwMjZjb25uPVtDT05OXVx1MDAyNmNwbj1b + Q1BOXVx1MDAyNmxhY3Q9W0xBQ1RdXHUwMDI2bV9wb3M9W01JRFJPTExfUE9T + XVx1MDAyNm10PVtNVF1cdTAwMjZwX2g9W1BfSF1cdTAwMjZwX3c9W1BfV11c + dTAwMjZyd3Q9W1JXVF1cdTAwMjZzZGt2PVtTREtWXVx1MDAyNnNsb3RfcG9z + PVtTTE9UX1BPU11cdTAwMjZ2aXM9W1ZJU11cdTAwMjZ2b2w9W1ZPTF1cdTAw + MjZ3dD1bV1RdXHUwMDI2YWRfY3BuPVtBRF9DUE5dXHUwMDI2YWRfaWQ9W0FE + X0lEXVx1MDAyNmFkX2xlbj1bQURfTEVOXVx1MDAyNmFkX210PVtBRF9NVF1c + dTAwMjZhZF9zeXM9W0FEX1NZU11cdTAwMjZhZF92PVtBRF9WXVx1MDAyNmJs + b2NraW5nX2Vycm9yPVtCTE9DS0lOR19FUlJPUl1cdTAwMjZlcnJvcl9tc2c9 + W0VSUk9SX01TR11cdTAwMjZpbWFfZXJyb3I9W0lNQV9FUlJPUl1cdTAwMjZp + bnRlcm5hbF9pZD1bSU5URVJOQUxfSURdXHUwMDI2ZXJyb3JfY29kZT1bWVRf + RVJST1JfQ09ERV1cdTAwMjZhcWk9XV1cdTAwM2VcdTAwM2NcL0Vycm9yXHUw + MDNlXHUwMDNjQ3JlYXRpdmVzXHUwMDNlXHUwMDNjQ3JlYXRpdmVcdTAwM2Vc + dTAwM2NOb25MaW5lYXJBZHNcdTAwM2VcdTAwM2NUcmFja2luZ0V2ZW50c1x1 + MDAzZVx1MDAzY1RyYWNraW5nIGV2ZW50PVwiY2xvc2VcIlx1MDAzZVx1MDAz + YyFbQ0RBVEFbaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBpXC9zdGF0 + c1wvYWRzP3Zlcj0yXHUwMDI2bnM9MVx1MDAyNmV2ZW50PTRcdTAwMjZkZXZp + Y2U9MVx1MDAyNmNvbnRlbnRfdj1RT0NhYWNPOHd1c1x1MDAyNmVsPWRldGFp + bHBhZ2VcdTAwMjZlaT13OE5UV29MMkY0dW5od2Ixa0tYUUNBXHUwMDI2ZGV2 + aWNldmVyPTEuMjAxODAxMDRcdTAwMjZmb3JtYXQ9W0ZPUk1BVF9OQU1FU1BB + Q0VdX1tGT1JNQVRfVFlQRV1fW0ZPUk1BVF9TVUJUWVBFXVx1MDAyNmJyZWFr + X3R5cGU9W0JSRUFLX1RZUEVdXHUwMDI2Y29ubj1bQ09OTl1cdTAwMjZjcG49 + W0NQTl1cdTAwMjZsYWN0PVtMQUNUXVx1MDAyNm1fcG9zPVtNSURST0xMX1BP + U11cdTAwMjZtdD1bTVRdXHUwMDI2cF9oPVtQX0hdXHUwMDI2cF93PVtQX1dd + XHUwMDI2cnd0PVtSV1RdXHUwMDI2c2Rrdj1bU0RLVl1cdTAwMjZzbG90X3Bv + cz1bU0xPVF9QT1NdXHUwMDI2dmlzPVtWSVNdXHUwMDI2dm9sPVtWT0xdXHUw + MDI2d3Q9W1dUXVx1MDAyNmFkX2Nwbj1bQURfQ1BOXVx1MDAyNmFkX2lkPVtB + RF9JRF1cdTAwMjZhZF9tdD1bQURfTVRdXHUwMDI2YWRfc3lzPVtBRF9TWVNd + XHUwMDI2YWRfdj1bQURfVl1cdTAwMjZpX3g9W0lfWF1cdTAwMjZpX3k9W0lf + WV1cdTAwMjZhcWk9XV1cdTAwM2VcdTAwM2NcL1RyYWNraW5nXHUwMDNlXHUw + MDNjXC9UcmFja2luZ0V2ZW50c1x1MDAzZVx1MDAzY05vbkxpbmVhclx1MDAz + ZVx1MDAzY05vbkxpbmVhckNsaWNrVHJhY2tpbmdcdTAwM2VcdTAwM2MhW0NE + QVRBW2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvc3RhdHNcL2Fk + cz92ZXI9Mlx1MDAyNm5zPTFcdTAwMjZldmVudD02XHUwMDI2ZGV2aWNlPTFc + dTAwMjZjb250ZW50X3Y9UU9DYWFjTzh3dXNcdTAwMjZlbD1kZXRhaWxwYWdl + XHUwMDI2ZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQVx1MDAyNmRldmljZXZl + cj0xLjIwMTgwMTA0XHUwMDI2Zm9ybWF0PVtGT1JNQVRfTkFNRVNQQUNFXV9b + Rk9STUFUX1RZUEVdX1tGT1JNQVRfU1VCVFlQRV1cdTAwMjZicmVha190eXBl + PVtCUkVBS19UWVBFXVx1MDAyNmNvbm49W0NPTk5dXHUwMDI2Y3BuPVtDUE5d + XHUwMDI2bGFjdD1bTEFDVF1cdTAwMjZtX3Bvcz1bTUlEUk9MTF9QT1NdXHUw + MDI2bXQ9W01UXVx1MDAyNnBfaD1bUF9IXVx1MDAyNnBfdz1bUF9XXVx1MDAy + NnJ3dD1bUldUXVx1MDAyNnNka3Y9W1NES1ZdXHUwMDI2c2xvdF9wb3M9W1NM + T1RfUE9TXVx1MDAyNnZpcz1bVklTXVx1MDAyNnZvbD1bVk9MXVx1MDAyNnd0 + PVtXVF1cdTAwMjZhZF9jcG49W0FEX0NQTl1cdTAwMjZhZF9pZD1bQURfSURd + XHUwMDI2YWRfbGVuPVtBRF9MRU5dXHUwMDI2YWRfbXQ9W0FEX01UXVx1MDAy + NmFkX3N5cz1bQURfU1lTXVx1MDAyNmFkX3Y9W0FEX1ZdXHUwMDI2aV94PVtJ + X1hdXHUwMDI2aV95PVtJX1ldXHUwMDI2YXFpPVtBUUldXV1cdTAwM2VcdTAw + M2NcL05vbkxpbmVhckNsaWNrVHJhY2tpbmdcdTAwM2VcdTAwM2NcL05vbkxp + bmVhclx1MDAzZVx1MDAzY1wvTm9uTGluZWFyQWRzXHUwMDNlXHUwMDNjXC9D + cmVhdGl2ZVx1MDAzZVx1MDAzY1wvQ3JlYXRpdmVzXHUwMDNlXHUwMDNjRXh0 + ZW5zaW9uc1x1MDAzZVx1MDAzY0V4dGVuc2lvbiB0eXBlPVwid2F0ZXJmYWxs + XCIgZmFsbGJhY2tfaW5kZXg9XCIyXCJcL1x1MDAzZVx1MDAzY0V4dGVuc2lv + biB0eXBlPVwiYWN0aXZldmlld1wiXHUwMDNlXHUwMDNjQ3VzdG9tVHJhY2tp + bmdcdTAwM2VcdTAwM2NUcmFja2luZyBldmVudD1cInZpZXdhYmxlX2ltcHJl + c3Npb25cIlx1MDAzZVx1MDAzYyFbQ0RBVEFbaHR0cHM6XC9cL3d3dy55b3V0 + dWJlLmNvbVwvYXBpXC9zdGF0c1wvYWRzP3Zlcj0yXHUwMDI2bnM9MVx1MDAy + NmV2ZW50PTExXHUwMDI2ZGV2aWNlPTFcdTAwMjZjb250ZW50X3Y9UU9DYWFj + Tzh3dXNcdTAwMjZlbD1kZXRhaWxwYWdlXHUwMDI2ZWk9dzhOVFdvTDJGNHVu + aHdiMWtLWFFDQVx1MDAyNmRldmljZXZlcj0xLjIwMTgwMTA0XHUwMDI2Zm9y + bWF0PVtGT1JNQVRfTkFNRVNQQUNFXV9bRk9STUFUX1RZUEVdX1tGT1JNQVRf + U1VCVFlQRV1cdTAwMjZicmVha190eXBlPVtCUkVBS19UWVBFXVx1MDAyNmNv + bm49W0NPTk5dXHUwMDI2Y3BuPVtDUE5dXHUwMDI2bGFjdD1bTEFDVF1cdTAw + MjZtX3Bvcz1bTUlEUk9MTF9QT1NdXHUwMDI2bXQ9W01UXVx1MDAyNnBfaD1b + UF9IXVx1MDAyNnBfdz1bUF9XXVx1MDAyNnJ3dD1bUldUXVx1MDAyNnNka3Y9 + W1NES1ZdXHUwMDI2c2xvdF9wb3M9W1NMT1RfUE9TXVx1MDAyNnZpcz1bVklT + XVx1MDAyNnZvbD1bVk9MXVx1MDAyNnd0PVtXVF1cdTAwMjZhZF9jcG49W0FE + X0NQTl1cdTAwMjZhZF9pZD1bQURfSURdXHUwMDI2YWRfbGVuPVtBRF9MRU5d + XHUwMDI2YWRfbXQ9W0FEX01UXVx1MDAyNmFkX3N5cz1bQURfU1lTXVx1MDAy + NmFkX3Y9W0FEX1ZdXHUwMDI2YXFpPV1dXHUwMDNlXHUwMDNjXC9UcmFja2lu + Z1x1MDAzZVx1MDAzY1wvQ3VzdG9tVHJhY2tpbmdcdTAwM2VcdTAwM2NcL0V4 + dGVuc2lvblx1MDAzZVx1MDAzY1wvRXh0ZW5zaW9uc1x1MDAzZVx1MDAzY1wv + V3JhcHBlclx1MDAzZVx1MDAzY1wvQWRcdTAwM2VcdTAwM2NcL1ZBU1RcdTAw + M2VcdTAwM2NcL3ZtYXA6VkFTVERhdGFcdTAwM2VcdTAwM2NcL3ZtYXA6QWRT + b3VyY2VcdTAwM2VcdTAwM2N2bWFwOlRyYWNraW5nRXZlbnRzXHUwMDNlXHUw + MDNjdm1hcDpUcmFja2luZyBldmVudD1cImVycm9yXCJcdTAwM2VcdTAwM2Mh + W0NEQVRBW2h0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvc3RhdHNc + L2Fkcz92ZXI9Mlx1MDAyNm5zPTFcdTAwMjZldmVudD0xXHUwMDI2ZGV2aWNl + PTFcdTAwMjZjb250ZW50X3Y9UU9DYWFjTzh3dXNcdTAwMjZlbD1kZXRhaWxw + YWdlXHUwMDI2ZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQVx1MDAyNmRldmlj + ZXZlcj0xLjIwMTgwMTA0XHUwMDI2YnJlYWtfdHlwZT1bQlJFQUtfVFlQRV1c + dTAwMjZjb25uPVtDT05OXVx1MDAyNmNwbj1bQ1BOXVx1MDAyNmxhY3Q9W0xB + Q1RdXHUwMDI2bV9wb3M9W01JRFJPTExfUE9TXVx1MDAyNm10PVtNVF1cdTAw + MjZwX2g9W1BfSF1cdTAwMjZwX3c9W1BfV11cdTAwMjZyd3Q9W1JXVF1cdTAw + MjZzZGt2PVtTREtWXVx1MDAyNnNsb3RfcG9zPVtTTE9UX1BPU11cdTAwMjZ2 + aXM9W1ZJU11cdTAwMjZ2b2w9W1ZPTF1cdTAwMjZ3dD1bV1RdXV1cdTAwM2Vc + dTAwM2NcL3ZtYXA6VHJhY2tpbmdcdTAwM2VcdTAwM2NcL3ZtYXA6VHJhY2tp + bmdFdmVudHNcdTAwM2VcdTAwM2N2bWFwOkV4dGVuc2lvbnNcdTAwM2VcdTAw + M2N2bWFwOkV4dGVuc2lvbiB0eXBlPVwiWW91VHViZVwiXHUwMDNlXHUwMDNj + eXQ6QnJlYWtQcm9wZXJ0eSBicmVha190eXBlPVwiQlJFQUtfVFlQRV9QUkVf + Uk9MTFwiXC9cdTAwM2VcdTAwM2NcL3ZtYXA6RXh0ZW5zaW9uXHUwMDNlXHUw + MDNjXC92bWFwOkV4dGVuc2lvbnNcdTAwM2VcdTAwM2NcL3ZtYXA6QWRCcmVh + a1x1MDAzZVx1MDAzY3ZtYXA6RXh0ZW5zaW9uc1x1MDAzZVx1MDAzY3ZtYXA6 + RXh0ZW5zaW9uIHR5cGU9XCJZb3VUdWJlXCJcdTAwM2VcdTAwM2NUcmFja2lu + Z0RlY29yYXRpb24gbWF0Y2g9XCJeaHR0cHM/OlwvXC8oKChbYS16XVthLXow + LTkuLV0qXFwuKT8oeW91dHViZXxjb3JwXFwuZ29vZ2xlKS5jb21cL2FwaVwv + c3RhdHNcL2Fkcyl8KCh3d3dcXC4pP3lvdXR1YmVcXC5jb21cL3BhZ2VhZFwv + cHN1bCkpXCIgaGVhZGVycz1cImRldmljZSx1c2VyXCJcL1x1MDAzZVx1MDAz + Y1RyYWNraW5nTWFjcm8gbWF0Y2g9XCJeaHR0cHM/OlwvXC8oc2VjdXJlXFwt + dWF0XFwtZHByXFwuaW1yd29ybGR3aWRlfHNlY3VyZVxcLWdnXFwuaW1yd29y + bGR3aWRlfHNiXFwuc2NvcmVjYXJkcmVzZWFyY2gpXFwuY29tXC9cIiBtYWNy + b3M9XCJkZXZpY2VfaWRcIlwvXHUwMDNlXHUwMDNjUmVnZXhVcmlNYWNyb1Zh + bGlkYXRvclx1MDAzZVx1MDAzY01hY3JvVG9SZWdleFVyaXMgbWFjcm89XCJO + SUVMU0VOX0RFVklDRV9JRFwiXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9 + XCJeaHR0cHM/OlwvXC8oc2VjdXJlXFwtdWF0XFwtZHByXFwuaW1yd29ybGR3 + aWRlfHNlY3VyZVxcLWdnXFwuaW1yd29ybGR3aWRlfHNiXFwuc2NvcmVjYXJk + cmVzZWFyY2gpXFwuY29tXC9cIlwvXHUwMDNlXHUwMDNjXC9NYWNyb1RvUmVn + ZXhVcmlzXHUwMDNlXHUwMDNjTWFjcm9Ub1JlZ2V4VXJpcyBtYWNybz1cIkNP + TVNDT1JFX0RFVklDRV9JRFwiXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9 + XCJeaHR0cHM/OlwvXC8oc2VjdXJlXFwtdWF0XFwtZHByXFwuaW1yd29ybGR3 + aWRlfHNlY3VyZVxcLWdnXFwuaW1yd29ybGR3aWRlfHNiXFwuc2NvcmVjYXJk + cmVzZWFyY2gpXFwuY29tXC9cIlwvXHUwMDNlXHUwMDNjXC9NYWNyb1RvUmVn + ZXhVcmlzXHUwMDNlXHUwMDNjTWFjcm9Ub1JlZ2V4VXJpcyBtYWNybz1cIk1P + QVRfSU5JVFwiXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/ + OlwvXC95dHNcXC5tb2F0YWRzXFwuY29tXCJcL1x1MDAzZVx1MDAzY1JlZ2V4 + VXJpIHZhbHVlPVwiXmh0dHBzPzpcL1wveXRzLXRlc3RpbmdcXC5tb2F0YWRz + XFwuY29tXCJcL1x1MDAzZVx1MDAzY1JlZ2V4VXJpIHZhbHVlPVwiXmh0dHBz + PzpcL1wvcGFnZWFkMlxcLmdvb2dsZXN5bmRpY2F0aW9uXFwuY29tXC9wYWdl + YWRcL2dlbl8yMDRcIlwvXHUwMDNlXHUwMDNjXC9NYWNyb1RvUmVnZXhVcmlz + XHUwMDNlXHUwMDNjTWFjcm9Ub1JlZ2V4VXJpcyBtYWNybz1cIk1PQVRfVklF + V0FCSUxJVFlcIlx1MDAzZVx1MDAzY1JlZ2V4VXJpIHZhbHVlPVwiXmh0dHBz + PzpcL1wvW14uXSpcXC5tb2F0YWRzXFwuY29tXCJcL1x1MDAzZVx1MDAzY1Jl + Z2V4VXJpIHZhbHVlPVwiXmh0dHBzPzpcL1wvcGFnZWFkMlxcLmdvb2dsZXN5 + bmRpY2F0aW9uXFwuY29tXC9wYWdlYWRcL2dlbl8yMDRcIlwvXHUwMDNlXHUw + MDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9wdWJhZHNcXC5nXFwu + ZG91YmxlY2xpY2tcXC5uZXRcIlwvXHUwMDNlXHUwMDNjXC9NYWNyb1RvUmVn + ZXhVcmlzXHUwMDNlXHUwMDNjTWFjcm9Ub1JlZ2V4VXJpcyBtYWNybz1cIklB + U19WSUVXQUJJTElUWVwiXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJe + aHR0cHM/OlwvXC9wbVxcLmFkc2FmZXByb3RlY3RlZFxcLmNvbVwveW91dHVi + ZVwiXC9cdTAwM2VcdTAwM2NSZWdleFVyaSB2YWx1ZT1cIl5odHRwcz86XC9c + L3BtXFwudGVzdC1hZHNhZmVwcm90ZWN0ZWRcXC5jb21cL3lvdXR1YmVcIlwv + XHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9wYWdl + YWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb21cL3BhZ2VhZFwvZ2VuXzIw + NFwiXC9cdTAwM2VcdTAwM2NSZWdleFVyaSB2YWx1ZT1cIl5odHRwcz86XC9c + L3B1YmFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldFwiXC9cdTAwM2VcdTAw + M2NcL01hY3JvVG9SZWdleFVyaXNcdTAwM2VcdTAwM2NNYWNyb1RvUmVnZXhV + cmlzIG1hY3JvPVwiRFZfVklFV0FCSUxJVFlcIlx1MDAzZVx1MDAzY1JlZ2V4 + VXJpIHZhbHVlPVwiXmh0dHBzPzpcL1wvZVswLTldK1xcLnl0XFwuc3JzXFwu + ZG91YmxldmVyaWZ5XFwuY29tXCJcL1x1MDAzZVx1MDAzY1JlZ2V4VXJpIHZh + bHVlPVwiXmh0dHBzPzpcL1wvcGFnZWFkMlxcLmdvb2dsZXN5bmRpY2F0aW9u + XFwuY29tXC9wYWdlYWRcL2dlbl8yMDRcIlwvXHUwMDNlXHUwMDNjUmVnZXhV + cmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9wdWJhZHNcXC5nXFwuZG91YmxlY2xp + Y2tcXC5uZXRcIlwvXHUwMDNlXHUwMDNjXC9NYWNyb1RvUmVnZXhVcmlzXHUw + MDNlXHUwMDNjTWFjcm9Ub1JlZ2V4VXJpcyBtYWNybz1cIkdPT0dMRV9WSUVX + QUJJTElUWVwiXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/ + OlwvXC9wYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb21cIlwvXHUw + MDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9wdWJhZHNc + XC5nXFwuZG91YmxlY2xpY2tcXC5uZXRcIlwvXHUwMDNlXHUwMDNjUmVnZXhV + cmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9nb29nbGVhZHNcXC5nXFwuZG91Ymxl + Y2xpY2tcXC5uZXRcIlwvXHUwMDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJe + aHR0cHM/OlwvXC8oW2EtejAtOV0rXFwuKSp5b3V0dWJlXFwuY29tXCJcL1x1 + MDAzZVx1MDAzY1JlZ2V4VXJpIHZhbHVlPVwiXmh0dHBzPzpcL1wvYWRbXFwu + LV0oW2EtejAtOV0rXFwuKXswLDF9ZG91YmxlY2xpY2tcXC5uZXRcIlwvXHUw + MDNlXHUwMDNjUmVnZXhVcmkgdmFsdWU9XCJeaHR0cHM/OlwvXC9hZGVcXC5n + b29nbGVzeW5kaWNhdGlvblxcLmNvbVwiXC9cdTAwM2VcdTAwM2NcL01hY3Jv + VG9SZWdleFVyaXNcdTAwM2VcdTAwM2NcL1JlZ2V4VXJpTWFjcm9WYWxpZGF0 + b3JcdTAwM2VcdTAwM2NcL3ZtYXA6RXh0ZW5zaW9uXHUwMDNlXHUwMDNjXC92 + bWFwOkV4dGVuc2lvbnNcdTAwM2VcdTAwM2NcL3ZtYXA6Vk1BUFx1MDAzZSIs + Iml2X2xvYWRfcG9saWN5IjoiMSIsImZhZGVfb3V0X2R1cmF0aW9uX21pbGxp + c2Vjb25kcyI6IjEwMDAiLCJpbnN0cmVhbV9sb25nIjpmYWxzZSwiaW5uZXJ0 + dWJlX2FwaV9rZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19Z + OV8xMXFjVzgiLCJhZF90YWciOiJodHRwczpcL1wvcHViYWRzLmcuZG91Ymxl + Y2xpY2submV0XC9nYW1wYWRcL2Fkcz9hZF9ydWxlPTBcdTAwMjZjaXVfc3pz + PTMwMHgyNTBcdTAwMjZlaWQ9MTY1NzIwNTM3XHUwMDI2ZW52PXZwXHUwMDI2 + Z2RmcF9yZXE9MVx1MDAyNml1PVwvNDA2MVwvY29tLnl0cHdhdGNoLmVkdWNh + dGlvblx1MDAyNmxvZWlkPTIzNzA2MzE5LDIzNzA5NzkzXHUwMDI2b3NkPTJc + dTAwMjZvdXRwdXQ9eG1sX3Zhc3QzXHUwMDI2cHVjcmQ9Q2dZSUFCQUFHQUFc + dTAwMjZzY29yPTFcdTAwMjZzY3A9YXYlM0QxJTI2a3BlaWQlM0RzWFZrMzdi + bHRIeEQxckRQd3ROTThRJTI2a3BpZCUzRDQwNzUwODU3JTI2a3B1JTNES3Vy + emdlc2FndCUyNmt2aWQlM0RRT0NhYWNPOHd1cyUyNm1wdmlkJTNEazdpU0VT + bllrRjZFMW1aUSUyNnNzbCUzRDElMjZhZnYlM0QxJTI2ZGJwJTNEQ2haWmEy + OUpXVkYwZUVwSllXbGtXbDk0YkdoWlYzVkJFQUVnQVNnQSUyNmRjX3l0JTNE + MSUyNmV4Y2xfY2F0JTNENDA3NTA4NTclMjZrMiUzRDE3NCw0MzUsNDQ0JTI2 + azUlM0QxNzRfNDM1XzQ0NCUyNmtjb3VudHJ5JTNEdXMlMjZrZ2ElM0QtMSUy + NmtnZyUzRC0xJTI2a2dwdCUzRDElMjZrbGclM0RlbiUyNmtteWQlM0R3YXRj + aC1jaGFubmVsLWJyYW5kLWRpdiUyNmtvJTNEcCUyNmtyJTNEQSUyNmt0eXBl + JTNEZ3B0YyUyNmt2bGclM0RlbiUyNmt2eiUzRDIwNCUyNmx1JTNEMCwxMjI0 + MSwxNTEsMjAxOGExJTI2bmxmYiUzRDElMjZwb3MlM0RwcmUlMjZ2cmV4JTNE + NTAlMjZ5dDFzdCUzRDElMjZ5dDNwYXYlM0QxJTI2eXRjYXQlM0QyNyUyNnl0 + ZGV2aWNlJTNEMSUyNnl0ZGV2aWNldmVyJTNEMS4yMDE4MDEwNCUyNnl0ZXhw + JTNEOTQyMjU5Niw5NDM4MDY3LDk0NTI2NDMsOTQ3MTIzOSw5NDc0NTk0LDk0 + NzU2ODIsOTQ3NjQwOCw5NDg3MjA2LDk0ODg5OTEsMjM3MDQ4NDYsMjM3MDYz + MTksMjM3MDc2NjUsMjM3MDk3OTMsMjM3MTU1MDEsMjM3MTU5MDgsMjM3MTYx + MTksMjM3MTY2OTQsMjM3MTcwMDAsMjM3MTcwNzIsMjM3MTg0ODYsMjM3MTkw + MzQlMjZ5dF9lYyUzRDQlMjZ5dF9lYzIlM0QxNFx1MDAyNnNka2k9MTg4MDNE + RURcdTAwMjZzej00ODB4NzBcdTAwMjZ1bnZpZXdlZF9wb3NpdGlvbl9zdGFy + dD0xXHUwMDI2dmlkPVFPQ2FhY084d3VzXHUwMDI2dnBvcz1wcmVyb2xsXHUw + MDI2eXRkZXZpY2U9MVx1MDAyNnl0X3B0PUFQYjNGMi1CbEgwZk9qTnN1MlNo + N1RlcGpESFJram92QTliaTdDNl9HcWp2ZVI1bHBKZklDQ05mQmg0Nmc5bEJ0 + dGh1VzZjeEdTZTd3YkF6S25yTS1Gb1E3aVBQZFlPSXc5Snp1SV8yNU9zUjFa + TlB4cUQ4WVBVOFlTSnc0cEdMMXEtaFN0bUE0ckgwRUhjdGk5WDQiLCJjbCI6 + IjE4MDk2MjgzOCIsInVybF9lbmNvZGVkX2ZtdF9zdHJlYW1fbWFwIjoidXJs + PWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29vZ2xldmlk + ZW8uY29tJTJGdmlkZW9wbGF5YmFjayUzRnJhdGVieXBhc3MlM0R5ZXMlMjZp + dGFnJTNEMjIlMjZlaSUzRHc4TlRXb0wyRjR1bmh3YjFrS1hRQ0ElMjZtaW1l + JTNEdmlkZW8lMjUyRm1wNCUyNmluaXRjd25kYnBzJTNEMTEzNzUwMCUyNmlw + Yml0cyUzRDAlMjZtdCUzRDE1MTU0Mzg5MDQlMjZzaWduYXR1cmUlM0Q4MkNG + RTkwREE1MTBENTk5Mjc1RkMwNTUzOEQ5QjBCM0Q0RDY3NEYxLkFDQTg5RTcz + QURGRDYxMjM2MzgzNDQzNUVDQUY0Q0M3NTNFNjgzOUQlMjZyZXF1aXJlc3Ns + JTNEeWVzJTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZtdiUzRG0lMjZz + b3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmR1ciUzRDM1Ni40MjYlMjZs + bXQlM0QxNTA3MjkxMDE2OTU4OTAwJTI2aXAlM0QxMDguMjEuMTkyLjE4NiUy + NmlkJTNEby1BQXRPZ2Y2UmNTUm4wOERnR29kc0NxT3lzbnlQMjlDNHd3WUZy + bmtYQzRMTiUyNm1uJTNEc24tOHhncDF2by14Zmd6JTI2bW0lM0QzMSUyNmtl + eSUzRHl0NiUyNmV4cGlyZSUzRDE1MTU0NjA2NDMlMjZzcGFyYW1zJTNEZHVy + JTI1MkNlaSUyNTJDaWQlMjUyQ2luaXRjd25kYnBzJTI1MkNpcCUyNTJDaXBi + aXRzJTI1MkNpdGFnJTI1MkNsbXQlMjUyQ21pbWUlMjUyQ21tJTI1MkNtbiUy + NTJDbXMlMjUyQ212JTI1MkNwY20yY21zJTI1MkNwbCUyNTJDcmF0ZWJ5cGFz + cyUyNTJDcmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNleHBpcmVcdTAwMjZp + dGFnPTIyXHUwMDI2cXVhbGl0eT1oZDcyMFx1MDAyNnR5cGU9dmlkZW8lMkZt + cDQlM0IrY29kZWNzJTNEJTIyYXZjMS42NDAwMUYlMkMrbXA0YS40MC4yJTIy + LHVybD1odHRwcyUzQSUyRiUyRnI2LS0tc24tOHhncDF2by14Zmd6Lmdvb2ds + ZXZpZGVvLmNvbSUyRnZpZGVvcGxheWJhY2slM0ZyYXRlYnlwYXNzJTNEeWVz + JTI2aXRhZyUzRDQzJTI2ZWklM0R3OE5UV29MMkY0dW5od2Ixa0tYUUNBJTI2 + bWltZSUzRHZpZGVvJTI1MkZ3ZWJtJTI2aW5pdGN3bmRicHMlM0QxMTM3NTAw + JTI2aXBiaXRzJTNEMCUyNm10JTNEMTUxNTQzODkwNCUyNnNpZ25hdHVyZSUz + REJBQ0NDRDEwRDdGMEYzQjZBQTFBNjA1QjdBN0EwNjdCMzU2MTM1MzkuNUYy + RjAxODRDOEFGMzNDRkUxOEJFRkExNEQ3QUJGNDRGODAxMUQ2OCUyNnJlcXVp + cmVzc2wlM0R5ZXMlMjZjbGVuJTNEMTkzMTI4MDYlMjZtcyUzRGF1JTI2cGNt + MmNtcyUzRHllcyUyNm12JTNEbSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZwbCUz + RDI0JTI2ZHVyJTNEMC4wMDAlMjZsbXQlM0QxNDE4MzA4ODMxOTAyNDgwJTI2 + aXAlM0QxMDguMjEuMTkyLjE4NiUyNmlkJTNEby1BQXRPZ2Y2UmNTUm4wOERn + R29kc0NxT3lzbnlQMjlDNHd3WUZybmtYQzRMTiUyNm1uJTNEc24tOHhncDF2 + by14Zmd6JTI2bW0lM0QzMSUyNmdpciUzRHllcyUyNmtleSUzRHl0NiUyNmV4 + cGlyZSUzRDE1MTU0NjA2NDMlMjZzcGFyYW1zJTNEY2xlbiUyNTJDZHVyJTI1 + MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5pdGN3bmRicHMlMjUyQ2lwJTI1 + MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2xtdCUyNTJDbWltZSUyNTJDbW0lMjUy + Q21uJTI1MkNtcyUyNTJDbXYlMjUyQ3BjbTJjbXMlMjUyQ3BsJTI1MkNyYXRl + YnlwYXNzJTI1MkNyZXF1aXJlc3NsJTI1MkNzb3VyY2UlMjUyQ2V4cGlyZVx1 + MDAyNml0YWc9NDNcdTAwMjZxdWFsaXR5PW1lZGl1bVx1MDAyNnR5cGU9dmlk + ZW8lMkZ3ZWJtJTNCK2NvZGVjcyUzRCUyMnZwOC4wJTJDK3ZvcmJpcyUyMix1 + cmw9aHR0cHMlM0ElMkYlMkZyNi0tLXNuLTh4Z3Axdm8teGZnei5nb29nbGV2 + aWRlby5jb20lMkZ2aWRlb3BsYXliYWNrJTNGcmF0ZWJ5cGFzcyUzRHllcyUy + Nml0YWclM0QxOCUyNmVpJTNEdzhOVFdvTDJGNHVuaHdiMWtLWFFDQSUyNm1p + bWUlM0R2aWRlbyUyNTJGbXA0JTI2aW5pdGN3bmRicHMlM0QxMTM3NTAwJTI2 + aXBiaXRzJTNEMCUyNm10JTNEMTUxNTQzODkwNCUyNnNpZ25hdHVyZSUzRDQ2 + ODA2NUE3ODZDMDg1NTg2RjdCOTA1RkREMDU5NzZGRkEzNjgxMDYuQzdBOTA2 + QkM2NEM4QkVFRjJGMTVCNkIwQjExNTg4M0Y0RUM2NkIwQiUyNnJlcXVpcmVz + c2wlM0R5ZXMlMjZjbGVuJTNEMTczMzUwMzglMjZtcyUzRGF1JTI2cGNtMmNt + cyUzRHllcyUyNm12JTNEbSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZwbCUzRDI0 + JTI2ZHVyJTNEMzU2LjQyNiUyNmxtdCUzRDE0NTgxOTI5NjY3NjI3NDklMjZp + cCUzRDEwOC4yMS4xOTIuMTg2JTI2aWQlM0RvLUFBdE9nZjZSY1NSbjA4RGdH + b2RzQ3FPeXNueVAyOUM0d3dZRnJua1hDNExOJTI2bW4lM0Rzbi04eGdwMXZv + LXhmZ3olMjZtbSUzRDMxJTI2Z2lyJTNEeWVzJTI2a2V5JTNEeXQ2JTI2ZXhw + aXJlJTNEMTUxNTQ2MDY0MyUyNnNwYXJhbXMlM0RjbGVuJTI1MkNkdXIlMjUy + Q2VpJTI1MkNnaXIlMjUyQ2lkJTI1MkNpbml0Y3duZGJwcyUyNTJDaXAlMjUy + Q2lwYml0cyUyNTJDaXRhZyUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJD + bW4lMjUyQ21zJTI1MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JhdGVi + eXBhc3MlMjUyQ3JlcXVpcmVzc2wlMjUyQ3NvdXJjZSUyNTJDZXhwaXJlXHUw + MDI2aXRhZz0xOFx1MDAyNnF1YWxpdHk9bWVkaXVtXHUwMDI2dHlwZT12aWRl + byUyRm1wNCUzQitjb2RlY3MlM0QlMjJhdmMxLjQyMDAxRSUyQyttcDRhLjQw + LjIlMjIsdXJsPWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ou + Z29vZ2xldmlkZW8uY29tJTJGdmlkZW9wbGF5YmFjayUzRml0YWclM0QzNiUy + NmVpJTNEdzhOVFdvTDJGNHVuaHdiMWtLWFFDQSUyNm1pbWUlM0R2aWRlbyUy + NTJGM2dwcCUyNmluaXRjd25kYnBzJTNEMTEzNzUwMCUyNmlwYml0cyUzRDAl + MjZtdCUzRDE1MTU0Mzg5MDQlMjZzaWduYXR1cmUlM0Q2QUQ2QUU0MUZFOEVD + NkE0RTNGODBCMDQ3ODIyMDU4NkM3MDlGOUFCLkFFNDk1Q0ZFM0MwMkMyMDFC + QkZBNEYyMTUzMDBGODQyMDAxNTRFMjklMjZyZXF1aXJlc3NsJTNEeWVzJTI2 + Y2xlbiUzRDEwMDY0NzkzJTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZt + diUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmR1ciUzRDM1 + Ni41NjUlMjZsbXQlM0QxNDE4MzA4NDIwMzAxMjkyJTI2aXAlM0QxMDguMjEu + MTkyLjE4NiUyNmlkJTNEby1BQXRPZ2Y2UmNTUm4wOERnR29kc0NxT3lzbnlQ + MjlDNHd3WUZybmtYQzRMTiUyNm1uJTNEc24tOHhncDF2by14Zmd6JTI2bW0l + M0QzMSUyNmdpciUzRHllcyUyNmtleSUzRHl0NiUyNmV4cGlyZSUzRDE1MTU0 + NjA2NDMlMjZzcGFyYW1zJTNEY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2ly + JTI1MkNpZCUyNTJDaW5pdGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUy + Q2l0YWclMjUyQ2xtdCUyNTJDbWltZSUyNTJDbW0lMjUyQ21uJTI1MkNtcyUy + NTJDbXYlMjUyQ3BjbTJjbXMlMjUyQ3BsJTI1MkNyZXF1aXJlc3NsJTI1MkNz + b3VyY2UlMjUyQ2V4cGlyZVx1MDAyNml0YWc9MzZcdTAwMjZxdWFsaXR5PXNt + YWxsXHUwMDI2dHlwZT12aWRlbyUyRjNncHAlM0IrY29kZWNzJTNEJTIybXA0 + di4yMC4zJTJDK21wNGEuNDAuMiUyMix1cmw9aHR0cHMlM0ElMkYlMkZyNi0t + LXNuLTh4Z3Axdm8teGZnei5nb29nbGV2aWRlby5jb20lMkZ2aWRlb3BsYXli + YWNrJTNGaXRhZyUzRDE3JTI2ZWklM0R3OE5UV29MMkY0dW5od2Ixa0tYUUNB + JTI2bWltZSUzRHZpZGVvJTI1MkYzZ3BwJTI2aW5pdGN3bmRicHMlM0QxMTM3 + NTAwJTI2aXBiaXRzJTNEMCUyNm10JTNEMTUxNTQzODkwNCUyNnNpZ25hdHVy + ZSUzRDQ0MDI1MDMwOENFOTQ1RkU0MzQ3OEM2MzMwMTUxMEUyOERGM0JDOEIu + N0VEODNGNkQ1RjU4NkJCNkRGMEI1Q0NBMDcxRjkwRkU3NTEwQTUwRSUyNnJl + cXVpcmVzc2wlM0R5ZXMlMjZjbGVuJTNEMzYzNzMwNyUyNm1zJTNEYXUlMjZw + Y20yY21zJTNEeWVzJTI2bXYlM0RtJTI2c291cmNlJTNEeW91dHViZSUyNnBs + JTNEMjQlMjZkdXIlM0QzNTYuNTE5JTI2bG10JTNEMTQxODMwODM4NDM4Mjcy + MSUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1Ju + MDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4 + Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYl + MjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGNsZW4lMjUyQ2R1 + ciUyNTJDZWklMjUyQ2dpciUyNTJDaWQlMjUyQ2luaXRjd25kYnBzJTI1MkNp + cCUyNTJDaXBiaXRzJTI1MkNpdGFnJTI1MkNsbXQlMjUyQ21pbWUlMjUyQ21t + JTI1MkNtbiUyNTJDbXMlMjUyQ212JTI1MkNwY20yY21zJTI1MkNwbCUyNTJD + cmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNleHBpcmVcdTAwMjZpdGFnPTE3 + XHUwMDI2cXVhbGl0eT1zbWFsbFx1MDAyNnR5cGU9dmlkZW8lMkYzZ3BwJTNC + K2NvZGVjcyUzRCUyMm1wNHYuMjAuMyUyQyttcDRhLjQwLjIlMjIiLCJhbGxv + d19odG1sNV9hZHMiOiIxIiwiYWRfZGV2aWNlIjoiMSIsImNyIjoiVVMiLCJm + bXRfbGlzdCI6IjIyXC8xMjgweDcyMCw0M1wvNjQweDM2MCwxOFwvNjQweDM2 + MCwzNlwvMzIweDE4MCwxN1wvMTc2eDE0NCIsInVjaWQiOiJVQ3NYVmszN2Js + dEh4RDFyRFB3dE5NOFEiLCJmb2NFbmFibGVkIjoiMSIsImFsbG93X2VtYmVk + IjoiMSIsImxvYWRlclVybCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21c + L3dhdGNoP3Y9UU9DYWFjTzh3dXMiLCJsb2VpZCI6Ijk0MjI1OTYsOTQzODA2 + Nyw5NDUyNjQzLDk0NzEyMzksOTQ3NDU5NCw5NDc1NjgyLDk0NzY0MDgsOTQ4 + NzIwNiw5NDg4OTkxLDIzNzA0ODQ2LDIzNzA2MzE5LDIzNzA3NjY1LDIzNzA5 + NzkzLDIzNzE1NTAxLDIzNzE1OTA4LDIzNzE2MTE5LDIzNzE2Njk0LDIzNzE3 + MDAwLDIzNzE3MDcyLDIzNzE4NDg2LDIzNzE5MDM0IiwiZ3V0X3RhZyI6Ilwv + NDA2MVwveXRwd2F0Y2giLCJhZF9sb2dnaW5nX2ZsYWciOiIxIiwiaXNtYiI6 + IjkxMDAwMDAiLCJhZF9mbGFncyI6IjAiLCJzaG93X2NvbnRlbnRfdGh1bWJu + YWlsIjp0cnVlLCJwbGF5ZXJfcmVzcG9uc2UiOiJ7XCJwbGF5YmFja1RyYWNr + aW5nXCI6e30sXCJjYXB0aW9uc1wiOntcInBsYXllckNhcHRpb25zVHJhY2ts + aXN0UmVuZGVyZXJcIjp7XCJjYXB0aW9uVHJhY2tzXCI6W3tcImJhc2VVcmxc + IjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0 + P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUy + Q25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15 + dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0 + MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0 + OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1 + MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdz + JTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1hclwiLFwibmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIkFyYWJpY1wifSxcInZzc0lkXCI6XCIuYXJc + IixcImxhbmd1YWdlQ29kZVwiOlwiYXJcIixcInJ0bFwiOnRydWUsXCJpc1Ry + YW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93 + d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUy + Q2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxc + dTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWdu + YXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBD + Ni4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1 + MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1 + NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNl + eHBpcmVcXHUwMDI2bGFuZz1helwiLFwibmFtZVwiOntcInNpbXBsZVRleHRc + IjpcIkF6ZXJiYWlqYW5pXCJ9LFwidnNzSWRcIjpcIi5helwiLFwibGFuZ3Vh + Z2VDb2RlXCI6XCJhelwiLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJi + YXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3Rp + bWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tv + JTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAw + MjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMz + NDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0 + NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBz + PWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFz + cl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9Ym5cIixc + Im5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJCYW5nbGFcIn0sXCJ2c3NJZFwi + OlwiLmJuXCIsXCJsYW5ndWFnZUNvZGVcIjpcImJuXCIsXCJpc1RyYW5zbGF0 + YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91 + dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJD + amElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2 + PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9 + NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVG + NThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhs + PWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQz + XFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVc + XHUwMDI2bGFuZz1iZ1wiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkJ1 + bGdhcmlhblwifSxcInZzc0lkXCI6XCIuYmdcIixcImxhbmd1YWdlQ29kZVwi + OlwiYmdcIixcImlzVHJhbnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwi + OlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/ + YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJD + bmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0 + dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQw + MThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5 + NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUw + MDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3Ml + MkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZsYW5nPWNhXCIsXCJuYW1lXCI6 + e1wic2ltcGxlVGV4dFwiOlwiQ2F0YWxhblwifSxcInZzc0lkXCI6XCIuY2Fc + IixcImxhbmd1YWdlQ29kZVwiOlwiY2FcIixcImlzVHJhbnNsYXRhYmxlXCI6 + dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNv + bVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0 + JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFj + Tzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFB + NTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYy + Q0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNc + XHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2 + c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZs + YW5nPXpoXCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiQ2hpbmVzZVwi + fSxcInZzc0lkXCI6XCIuemhcIixcImxhbmd1YWdlQ29kZVwiOlwiemhcIixc + ImlzVHJhbnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6 + XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdz + PWZyJTJDZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUy + Q3J1XFx1MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAy + NnNpZ25hdHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMz + QzM4MEM2LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlG + QjZcXHUwMDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJl + PTE1MTU0NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJD + diUyQ2V4cGlyZVxcdTAwMjZsYW5nPXpoLVRXXCIsXCJuYW1lXCI6e1wic2lt + cGxlVGV4dFwiOlwiQ2hpbmVzZSAoVGFpd2FuKVwifSxcInZzc0lkXCI6XCIu + emgtVFdcIixcImxhbmd1YWdlQ29kZVwiOlwiemgtVFdcIixcImlzVHJhbnNs + YXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55 + b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4l + MkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAy + NnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVy + ZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBG + RUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2 + aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQy + NDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGly + ZVxcdTAwMjZsYW5nPWhyXCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwi + Q3JvYXRpYW5cIn0sXCJ2c3NJZFwiOlwiLmhyXCIsXCJsYW5ndWFnZUNvZGVc + IjpcImhyXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxc + IjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0 + P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUy + Q25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15 + dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0 + MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0 + OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1 + MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdz + JTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1jc1wiLFwibmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIkN6ZWNoXCJ9LFwidnNzSWRcIjpcIi5jc1wi + LFwibGFuZ3VhZ2VDb2RlXCI6XCJjc1wiLFwiaXNUcmFuc2xhdGFibGVcIjp0 + cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29t + XC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQl + MkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNP + OHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1 + MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJD + RTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xc + dTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZz + cGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxh + bmc9ZGFcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJEYW5pc2hcIn0s + XCJ2c3NJZFwiOlwiLmRhXCIsXCJsYW5ndWFnZUNvZGVcIjpcImRhXCIsXCJp + c1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwv + XC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1m + ciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNy + dVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZz + aWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0Mz + ODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2 + XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0x + NTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3Yl + MkNleHBpcmVcXHUwMDI2bGFuZz1ubFwiLFwibmFtZVwiOntcInNpbXBsZVRl + eHRcIjpcIkR1dGNoXCJ9LFwidnNzSWRcIjpcIi5ubFwiLFwibGFuZ3VhZ2VD + b2RlXCI6XCJubFwiLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNl + VXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVk + dGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJD + cHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZr + ZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVC + NTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYx + NTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFz + clxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9s + YW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmtpbmQ9YXNyXFx1MDAy + Nmxhbmc9ZW5cIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJFbmdsaXNo + IChhdXRvLWdlbmVyYXRlZClcIn0sXCJ2c3NJZFwiOlwiYS5lblwiLFwibGFu + Z3VhZ2VDb2RlXCI6XCJlblwiLFwia2luZFwiOlwiYXNyXCIsXCJpc1RyYW5z + bGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cu + eW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2Vu + JTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAw + MjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1 + cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4w + RkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAy + NmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0 + MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBp + cmVcXHUwMDI2bGFuZz1lblwiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpc + IkVuZ2xpc2hcIn0sXCJ2c3NJZFwiOlwiLmVuXCIsXCJsYW5ndWFnZUNvZGVc + IjpcImVuXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxc + IjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0 + P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUy + Q25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15 + dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0 + MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0 + OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1 + MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdz + JTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1ldFwiLFwibmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIkVzdG9uaWFuXCJ9LFwidnNzSWRcIjpcIi5l + dFwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJldFwiLFwiaXNUcmFuc2xhdGFibGVc + Ijp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUu + Y29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJD + aXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0Nh + YWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVE + MUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFG + NjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9V + U1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAw + MjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAy + Nmxhbmc9ZmlcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJGaW5uaXNo + XCJ9LFwidnNzSWRcIjpcIi5maVwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJmaVwi + LFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRw + czpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFu + Z3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2Vz + JTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUw + MDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0Mz + MzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIw + OUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBp + cmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMl + MkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9ZnJcIixcIm5hbWVcIjp7XCJzaW1w + bGVUZXh0XCI6XCJGcmVuY2hcIn0sXCJ2c3NJZFwiOlwiLmZyXCIsXCJsYW5n + dWFnZUNvZGVcIjpcImZyXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtc + ImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwv + dGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJD + a28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1 + MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTND + MzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRC + RTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNh + cHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9 + YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1nbFwi + LFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkdhbGljaWFuXCJ9LFwidnNz + SWRcIjpcIi5nbFwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJnbFwiLFwiaXNUcmFu + c2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3 + LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNl + biUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUw + MDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0 + dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYu + MEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAw + MjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2 + NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhw + aXJlXFx1MDAyNmxhbmc9ZGVcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6 + XCJHZXJtYW5cIn0sXCJ2c3NJZFwiOlwiLmRlXCIsXCJsYW5ndWFnZUNvZGVc + IjpcImRlXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxc + IjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0 + P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUy + Q25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15 + dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0 + MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0 + OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1 + MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdz + JTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1lbFwiLFwibmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIkdyZWVrXCJ9LFwidnNzSWRcIjpcIi5lbFwi + LFwibGFuZ3VhZ2VDb2RlXCI6XCJlbFwiLFwiaXNUcmFuc2xhdGFibGVcIjp0 + cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29t + XC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQl + MkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNP + OHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1 + MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJD + RTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xc + dTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZz + cGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxh + bmc9aXdcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJIZWJyZXdcIn0s + XCJ2c3NJZFwiOlwiLml3XCIsXCJsYW5ndWFnZUNvZGVcIjpcIml3XCIsXCJy + dGxcIjp0cnVlLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJs + XCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4 + dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQl + MkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9 + eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlC + NDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTky + NDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxc + dTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5n + cyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9aGlcIixcIm5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJIaW5kaVwifSxcInZzc0lkXCI6XCIuaGlc + IixcImxhbmd1YWdlQ29kZVwiOlwiaGlcIixcImlzVHJhbnNsYXRhYmxlXCI6 + dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNv + bVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0 + JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFj + Tzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFB + NTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYy + Q0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNc + XHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2 + c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZs + YW5nPWh1XCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiSHVuZ2FyaWFu + XCJ9LFwidnNzSWRcIjpcIi5odVwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJodVwi + LFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRw + czpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFu + Z3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2Vz + JTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUw + MDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0Mz + MzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIw + OUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBp + cmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMl + MkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9aWRcIixcIm5hbWVcIjp7XCJzaW1w + bGVUZXh0XCI6XCJJbmRvbmVzaWFuXCJ9LFwidnNzSWRcIjpcIi5pZFwiLFwi + bGFuZ3VhZ2VDb2RlXCI6XCJpZFwiLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVl + fSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9h + cGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNk + ZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1 + c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDky + N0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAx + NjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAw + MjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFy + YW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9 + aXRcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJJdGFsaWFuXCJ9LFwi + dnNzSWRcIjpcIi5pdFwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJpdFwiLFwiaXNU + cmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wv + d3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIl + MkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVc + XHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2ln + bmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgw + QzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxc + dTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUx + NTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJD + ZXhwaXJlXFx1MDAyNmxhbmc9amFcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0 + XCI6XCJKYXBhbmVzZVwifSxcInZzc0lkXCI6XCIuamFcIixcImxhbmd1YWdl + Q29kZVwiOlwiamFcIixcImlzVHJhbnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFz + ZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBpXC90aW1l + ZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUy + Q3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2 + a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1 + QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZG + MTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1h + c3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3Jf + bGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZsYW5nPWtvXCIsXCJu + YW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiS29yZWFuXCJ9LFwidnNzSWRcIjpc + Ii5rb1wiLFwibGFuZ3VhZ2VDb2RlXCI6XCJrb1wiLFwiaXNUcmFuc2xhdGFi + bGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJodHRwczpcL1wvd3d3LnlvdXR1 + YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2ph + JTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1R + T0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2 + NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4 + RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlxcdTAwMjZobD1l + bl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xc + dTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1 + MDAyNmxhbmc9bXJcIixcIm5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJNYXJh + dGhpXCJ9LFwidnNzSWRcIjpcIi5tclwiLFwibGFuZ3VhZ2VDb2RlXCI6XCJt + clwiLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJsXCI6XCJo + dHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3Jf + bGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUy + Q2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9eXR0dDFc + XHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJD + N0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVD + OTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxcdTAwMjZl + eHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5ncyUyQ2Nh + cHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9bm9cIixcIm5hbWVcIjp7XCJz + aW1wbGVUZXh0XCI6XCJOb3J3ZWdpYW5cIn0sXCJ2c3NJZFwiOlwiLm5vXCIs + XCJsYW5ndWFnZUNvZGVcIjpcIm5vXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRy + dWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21c + L2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUy + Q2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084 + d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUw + OTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNF + MDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1 + MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNw + YXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFu + Zz1mYVwiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlBlcnNpYW5cIn0s + XCJ2c3NJZFwiOlwiLmZhXCIsXCJsYW5ndWFnZUNvZGVcIjpcImZhXCIsXCJy + dGxcIjp0cnVlLFwiaXNUcmFuc2xhdGFibGVcIjp0cnVlfSx7XCJiYXNlVXJs + XCI6XCJodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4 + dD9hc3JfbGFuZ3M9ZnIlMkNlbiUyQ2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQl + MkNubCUyQ2VzJTJDcnVcXHUwMDI2dj1RT0NhYWNPOHd1c1xcdTAwMjZrZXk9 + eXR0dDFcXHUwMDI2c2lnbmF0dXJlPTQ2NjVEMUE1MDkyN0EzQzMzNDVCNTlC + NDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4RjFGNjJDRTAxNjU0QkU0NkYxNTky + NDk2QzVDOTIwOUZCNlxcdTAwMjZobD1lbl9VU1xcdTAwMjZjYXBzPWFzclxc + dTAwMjZleHBpcmU9MTUxNTQ2NDI0M1xcdTAwMjZzcGFyYW1zPWFzcl9sYW5n + cyUyQ2NhcHMlMkN2JTJDZXhwaXJlXFx1MDAyNmxhbmc9cGxcIixcIm5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJQb2xpc2hcIn0sXCJ2c3NJZFwiOlwiLnBs + XCIsXCJsYW5ndWFnZUNvZGVcIjpcInBsXCIsXCJpc1RyYW5zbGF0YWJsZVwi + OnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHViZS5j + b21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNp + dCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2Fh + Y084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQx + QTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2 + MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VT + XFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAy + NnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2 + bGFuZz1wdFwiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlBvcnR1Z3Vl + c2VcIn0sXCJ2c3NJZFwiOlwiLnB0XCIsXCJsYW5ndWFnZUNvZGVcIjpcInB0 + XCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0 + dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9s + YW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJD + ZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxc + dTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3 + QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5 + MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4 + cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2Fw + cyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1wdC1CUlwiLFwibmFtZVwiOntc + InNpbXBsZVRleHRcIjpcIlBvcnR1Z3Vlc2UgKEJyYXppbClcIn0sXCJ2c3NJ + ZFwiOlwiLnB0LUJSXCIsXCJsYW5ndWFnZUNvZGVcIjpcInB0LUJSXCIsXCJp + c1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwv + XC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1m + ciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNy + dVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZz + aWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0Mz + ODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2 + XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0x + NTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3Yl + MkNleHBpcmVcXHUwMDI2bGFuZz1wdC1QVFwiLFwibmFtZVwiOntcInNpbXBs + ZVRleHRcIjpcIlBvcnR1Z3Vlc2UgKFBvcnR1Z2FsKVwifSxcInZzc0lkXCI6 + XCIucHQtUFRcIixcImxhbmd1YWdlQ29kZVwiOlwicHQtUFRcIixcImlzVHJh + bnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3 + dy55b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJD + ZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1 + MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25h + dHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2 + LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUw + MDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0 + NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4 + cGlyZVxcdTAwMjZsYW5nPXJvXCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwi + OlwiUm9tYW5pYW5cIn0sXCJ2c3NJZFwiOlwiLnJvXCIsXCJsYW5ndWFnZUNv + ZGVcIjpcInJvXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VV + cmxcIjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0 + ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNw + dCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtl + eT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1 + OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1 + OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNy + XFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xh + bmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1ydVwiLFwibmFt + ZVwiOntcInNpbXBsZVRleHRcIjpcIlJ1c3NpYW5cIn0sXCJ2c3NJZFwiOlwi + LnJ1XCIsXCJsYW5ndWFnZUNvZGVcIjpcInJ1XCIsXCJpc1RyYW5zbGF0YWJs + ZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHVi + ZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamEl + MkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFP + Q2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2 + NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThG + MUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVu + X1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1 + MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUw + MDI2bGFuZz1zclwiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlNlcmJp + YW5cIn0sXCJ2c3NJZFwiOlwiLnNyXCIsXCJsYW5ndWFnZUNvZGVcIjpcInNy + XCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0 + dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9s + YW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJD + ZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxc + dTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3 + QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5 + MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4 + cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2Fw + cyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz1za1wiLFwibmFtZVwiOntcInNp + bXBsZVRleHRcIjpcIlNsb3Zha1wifSxcInZzc0lkXCI6XCIuc2tcIixcImxh + bmd1YWdlQ29kZVwiOlwic2tcIixcImlzVHJhbnNsYXRhYmxlXCI6dHJ1ZX0s + e1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBp + XC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0JTJDZGUl + MkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFjTzh3dXNc + XHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFBNTA5MjdB + M0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYyQ0UwMTY1 + NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNcXHUwMDI2 + Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2c3BhcmFt + cz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZsYW5nPWVz + XCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiU3BhbmlzaFwifSxcInZz + c0lkXCI6XCIuZXNcIixcImxhbmd1YWdlQ29kZVwiOlwiZXNcIixcImlzVHJh + bnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3 + dy55b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJD + ZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1 + MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25h + dHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2 + LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUw + MDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0 + NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4 + cGlyZVxcdTAwMjZsYW5nPWVzLTQxOVwiLFwibmFtZVwiOntcInNpbXBsZVRl + eHRcIjpcIlNwYW5pc2ggKExhdGluIEFtZXJpY2EpXCJ9LFwidnNzSWRcIjpc + Ii5lcy00MTlcIixcImxhbmd1YWdlQ29kZVwiOlwiZXMtNDE5XCIsXCJpc1Ry + YW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93 + d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUy + Q2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxc + dTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWdu + YXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBD + Ni4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1 + MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1 + NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNl + eHBpcmVcXHUwMDI2bGFuZz1lcy1NWFwiLFwibmFtZVwiOntcInNpbXBsZVRl + eHRcIjpcIlNwYW5pc2ggKE1leGljbylcIn0sXCJ2c3NJZFwiOlwiLmVzLU1Y + XCIsXCJsYW5ndWFnZUNvZGVcIjpcImVzLU1YXCIsXCJpc1RyYW5zbGF0YWJs + ZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHVi + ZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamEl + MkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFP + Q2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2 + NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThG + MUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVu + X1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1 + MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUw + MDI2bGFuZz1lcy1FU1wiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlNw + YW5pc2ggKFNwYWluKVwifSxcInZzc0lkXCI6XCIuZXMtRVNcIixcImxhbmd1 + YWdlQ29kZVwiOlwiZXMtRVNcIixcImlzVHJhbnNsYXRhYmxlXCI6dHJ1ZX0s + e1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3dy55b3V0dWJlLmNvbVwvYXBp + XC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJDZW4lMkNqYSUyQ2l0JTJDZGUl + MkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1MDAyNnY9UU9DYWFjTzh3dXNc + XHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25hdHVyZT00NjY1RDFBNTA5MjdB + M0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2LjBGRUY1OEYxRjYyQ0UwMTY1 + NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUwMDI2aGw9ZW5fVVNcXHUwMDI2 + Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0NjQyNDNcXHUwMDI2c3BhcmFt + cz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4cGlyZVxcdTAwMjZsYW5nPXN2 + XCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiU3dlZGlzaFwifSxcInZz + c0lkXCI6XCIuc3ZcIixcImxhbmd1YWdlQ29kZVwiOlwic3ZcIixcImlzVHJh + bnNsYXRhYmxlXCI6dHJ1ZX0se1wiYmFzZVVybFwiOlwiaHR0cHM6XC9cL3d3 + dy55b3V0dWJlLmNvbVwvYXBpXC90aW1lZHRleHQ/YXNyX2xhbmdzPWZyJTJD + ZW4lMkNqYSUyQ2l0JTJDZGUlMkNrbyUyQ3B0JTJDbmwlMkNlcyUyQ3J1XFx1 + MDAyNnY9UU9DYWFjTzh3dXNcXHUwMDI2a2V5PXl0dHQxXFx1MDAyNnNpZ25h + dHVyZT00NjY1RDFBNTA5MjdBM0MzMzQ1QjU5QjQwMThCQzdDMzMzQzM4MEM2 + LjBGRUY1OEYxRjYyQ0UwMTY1NEJFNDZGMTU5MjQ5NkM1QzkyMDlGQjZcXHUw + MDI2aGw9ZW5fVVNcXHUwMDI2Y2Fwcz1hc3JcXHUwMDI2ZXhwaXJlPTE1MTU0 + NjQyNDNcXHUwMDI2c3BhcmFtcz1hc3JfbGFuZ3MlMkNjYXBzJTJDdiUyQ2V4 + cGlyZVxcdTAwMjZsYW5nPXRhXCIsXCJuYW1lXCI6e1wic2ltcGxlVGV4dFwi + OlwiVGFtaWxcIn0sXCJ2c3NJZFwiOlwiLnRhXCIsXCJsYW5ndWFnZUNvZGVc + IjpcInRhXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxc + IjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0 + P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUy + Q25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15 + dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0 + MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0 + OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1 + MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdz + JTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFuZz10aFwiLFwibmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIlRoYWlcIn0sXCJ2c3NJZFwiOlwiLnRoXCIs + XCJsYW5ndWFnZUNvZGVcIjpcInRoXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRy + dWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwvXC93d3cueW91dHViZS5jb21c + L2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1mciUyQ2VuJTJDamElMkNpdCUy + Q2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNydVxcdTAwMjZ2PVFPQ2FhY084 + d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZzaWduYXR1cmU9NDY2NUQxQTUw + OTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0MzODBDNi4wRkVGNThGMUY2MkNF + MDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2XFx1MDAyNmhsPWVuX1VTXFx1 + MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0xNTE1NDY0MjQzXFx1MDAyNnNw + YXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmVcXHUwMDI2bGFu + Zz10clwiLFwibmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlR1cmtpc2hcIn0s + XCJ2c3NJZFwiOlwiLnRyXCIsXCJsYW5ndWFnZUNvZGVcIjpcInRyXCIsXCJp + c1RyYW5zbGF0YWJsZVwiOnRydWV9LHtcImJhc2VVcmxcIjpcImh0dHBzOlwv + XC93d3cueW91dHViZS5jb21cL2FwaVwvdGltZWR0ZXh0P2Fzcl9sYW5ncz1m + ciUyQ2VuJTJDamElMkNpdCUyQ2RlJTJDa28lMkNwdCUyQ25sJTJDZXMlMkNy + dVxcdTAwMjZ2PVFPQ2FhY084d3VzXFx1MDAyNmtleT15dHR0MVxcdTAwMjZz + aWduYXR1cmU9NDY2NUQxQTUwOTI3QTNDMzM0NUI1OUI0MDE4QkM3QzMzM0Mz + ODBDNi4wRkVGNThGMUY2MkNFMDE2NTRCRTQ2RjE1OTI0OTZDNUM5MjA5RkI2 + XFx1MDAyNmhsPWVuX1VTXFx1MDAyNmNhcHM9YXNyXFx1MDAyNmV4cGlyZT0x + NTE1NDY0MjQzXFx1MDAyNnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3Yl + MkNleHBpcmVcXHUwMDI2bGFuZz12aVwiLFwibmFtZVwiOntcInNpbXBsZVRl + eHRcIjpcIlZpZXRuYW1lc2VcIn0sXCJ2c3NJZFwiOlwiLnZpXCIsXCJsYW5n + dWFnZUNvZGVcIjpcInZpXCIsXCJpc1RyYW5zbGF0YWJsZVwiOnRydWV9XSxc + ImF1ZGlvVHJhY2tzXCI6W3tcImNhcHRpb25UcmFja0luZGljZXNcIjpbMCwx + LDIsMyw0LDUsNiw3LDgsOSwxMCwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwy + MCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwz + NSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSwxMV0sXCJkZWZhdWx0 + Q2FwdGlvblRyYWNrSW5kZXhcIjoxMixcInZpc2liaWxpdHlcIjpcIlVOS05P + V05cIixcImhhc0RlZmF1bHRUcmFja1wiOnRydWV9XSxcInRyYW5zbGF0aW9u + TGFuZ3VhZ2VzXCI6W3tcImxhbmd1YWdlQ29kZVwiOlwiYWZcIixcImxhbmd1 + YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkFmcmlrYWFuc1wifX0se1wi + bGFuZ3VhZ2VDb2RlXCI6XCJzcVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2lt + cGxlVGV4dFwiOlwiQWxiYW5pYW5cIn19LHtcImxhbmd1YWdlQ29kZVwiOlwi + YW1cIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkFtaGFy + aWNcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwiYXJcIixcImxhbmd1YWdlTmFt + ZVwiOntcInNpbXBsZVRleHRcIjpcIkFyYWJpY1wifX0se1wibGFuZ3VhZ2VD + b2RlXCI6XCJoeVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwi + OlwiQXJtZW5pYW5cIn19LHtcImxhbmd1YWdlQ29kZVwiOlwiYXpcIixcImxh + bmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkF6ZXJiYWlqYW5pXCJ9 + fSx7XCJsYW5ndWFnZUNvZGVcIjpcImJuXCIsXCJsYW5ndWFnZU5hbWVcIjp7 + XCJzaW1wbGVUZXh0XCI6XCJCYW5nbGFcIn19LHtcImxhbmd1YWdlQ29kZVwi + OlwiZXVcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkJh + c3F1ZVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJiZVwiLFwibGFuZ3VhZ2VO + YW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiQmVsYXJ1c2lhblwifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJic1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiQm9zbmlhblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJiZ1wi + LFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiQnVsZ2FyaWFu + XCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcIm15XCIsXCJsYW5ndWFnZU5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJCdXJtZXNlXCJ9fSx7XCJsYW5ndWFnZUNv + ZGVcIjpcImNhXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6 + XCJDYXRhbGFuXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImNlYlwiLFwibGFu + Z3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiQ2VidWFub1wifX0se1wi + bGFuZ3VhZ2VDb2RlXCI6XCJ6aC1IYW5zXCIsXCJsYW5ndWFnZU5hbWVcIjp7 + XCJzaW1wbGVUZXh0XCI6XCJDaGluZXNlIChTaW1wbGlmaWVkKVwifX0se1wi + bGFuZ3VhZ2VDb2RlXCI6XCJ6aC1IYW50XCIsXCJsYW5ndWFnZU5hbWVcIjp7 + XCJzaW1wbGVUZXh0XCI6XCJDaGluZXNlIChUcmFkaXRpb25hbClcIn19LHtc + Imxhbmd1YWdlQ29kZVwiOlwiY29cIixcImxhbmd1YWdlTmFtZVwiOntcInNp + bXBsZVRleHRcIjpcIkNvcnNpY2FuXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpc + ImhyXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJDcm9h + dGlhblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJjc1wiLFwibGFuZ3VhZ2VO + YW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiQ3plY2hcIn19LHtcImxhbmd1YWdl + Q29kZVwiOlwiZGFcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRc + IjpcIkRhbmlzaFwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJubFwiLFwibGFu + Z3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiRHV0Y2hcIn19LHtcImxh + bmd1YWdlQ29kZVwiOlwiZW5cIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBs + ZVRleHRcIjpcIkVuZ2xpc2hcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwiZW9c + IixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkVzcGVyYW50 + b1wifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJldFwiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiRXN0b25pYW5cIn19LHtcImxhbmd1YWdl + Q29kZVwiOlwiZmlsXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0 + XCI6XCJGaWxpcGlub1wifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJmaVwiLFwi + bGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiRmlubmlzaFwifX0s + e1wibGFuZ3VhZ2VDb2RlXCI6XCJmclwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wi + c2ltcGxlVGV4dFwiOlwiRnJlbmNoXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpc + ImdsXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJHYWxp + Y2lhblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJrYVwiLFwibGFuZ3VhZ2VO + YW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiR2VvcmdpYW5cIn19LHtcImxhbmd1 + YWdlQ29kZVwiOlwiZGVcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRl + eHRcIjpcIkdlcm1hblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJlbFwiLFwi + bGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiR3JlZWtcIn19LHtc + Imxhbmd1YWdlQ29kZVwiOlwiZ3VcIixcImxhbmd1YWdlTmFtZVwiOntcInNp + bXBsZVRleHRcIjpcIkd1amFyYXRpXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpc + Imh0XCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJIYWl0 + aWFuIENyZW9sZVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJoYVwiLFwibGFu + Z3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiSGF1c2FcIn19LHtcImxh + bmd1YWdlQ29kZVwiOlwiaGF3XCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1w + bGVUZXh0XCI6XCJIYXdhaWlhblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJp + d1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiSGVicmV3 + XCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImhpXCIsXCJsYW5ndWFnZU5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJIaW5kaVwifX0se1wibGFuZ3VhZ2VDb2Rl + XCI6XCJobW5cIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpc + Ikhtb25nXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImh1XCIsXCJsYW5ndWFn + ZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJIdW5nYXJpYW5cIn19LHtcImxh + bmd1YWdlQ29kZVwiOlwiaXNcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBs + ZVRleHRcIjpcIkljZWxhbmRpY1wifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJp + Z1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiSWdib1wi + fX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJpZFwiLFwibGFuZ3VhZ2VOYW1lXCI6 + e1wic2ltcGxlVGV4dFwiOlwiSW5kb25lc2lhblwifX0se1wibGFuZ3VhZ2VD + b2RlXCI6XCJnYVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwi + OlwiSXJpc2hcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwiaXRcIixcImxhbmd1 + YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkl0YWxpYW5cIn19LHtcImxh + bmd1YWdlQ29kZVwiOlwiamFcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBs + ZVRleHRcIjpcIkphcGFuZXNlXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImp2 + XCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJKYXZhbmVz + ZVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJrblwiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiS2FubmFkYVwifX0se1wibGFuZ3VhZ2VD + b2RlXCI6XCJra1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwi + OlwiS2F6YWtoXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImttXCIsXCJsYW5n + dWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJLaG1lclwifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJrb1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiS29yZWFuXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcImt1XCIs + XCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJLdXJkaXNoXCJ9 + fSx7XCJsYW5ndWFnZUNvZGVcIjpcImt5XCIsXCJsYW5ndWFnZU5hbWVcIjp7 + XCJzaW1wbGVUZXh0XCI6XCJLeXJneXpcIn19LHtcImxhbmd1YWdlQ29kZVwi + OlwibG9cIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkxh + b1wifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJsYVwiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiTGF0aW5cIn19LHtcImxhbmd1YWdlQ29k + ZVwiOlwibHZcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpc + IkxhdHZpYW5cIn19LHtcImxhbmd1YWdlQ29kZVwiOlwibHRcIixcImxhbmd1 + YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIkxpdGh1YW5pYW5cIn19LHtc + Imxhbmd1YWdlQ29kZVwiOlwibGJcIixcImxhbmd1YWdlTmFtZVwiOntcInNp + bXBsZVRleHRcIjpcIkx1eGVtYm91cmdpc2hcIn19LHtcImxhbmd1YWdlQ29k + ZVwiOlwibWtcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpc + Ik1hY2Vkb25pYW5cIn19LHtcImxhbmd1YWdlQ29kZVwiOlwibWdcIixcImxh + bmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIk1hbGFnYXN5XCJ9fSx7 + XCJsYW5ndWFnZUNvZGVcIjpcIm1zXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJz + aW1wbGVUZXh0XCI6XCJNYWxheVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJt + bFwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiTWFsYXlh + bGFtXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcIm10XCIsXCJsYW5ndWFnZU5h + bWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJNYWx0ZXNlXCJ9fSx7XCJsYW5ndWFn + ZUNvZGVcIjpcIm1pXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0 + XCI6XCJNYW9yaVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJtclwiLFwibGFu + Z3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiTWFyYXRoaVwifX0se1wi + bGFuZ3VhZ2VDb2RlXCI6XCJtblwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2lt + cGxlVGV4dFwiOlwiTW9uZ29saWFuXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpc + Im5lXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJOZXBh + bGlcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwibm9cIixcImxhbmd1YWdlTmFt + ZVwiOntcInNpbXBsZVRleHRcIjpcIk5vcndlZ2lhblwifX0se1wibGFuZ3Vh + Z2VDb2RlXCI6XCJueVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4 + dFwiOlwiTnlhbmphXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInBzXCIsXCJs + YW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJQYXNodG9cIn19LHtc + Imxhbmd1YWdlQ29kZVwiOlwiZmFcIixcImxhbmd1YWdlTmFtZVwiOntcInNp + bXBsZVRleHRcIjpcIlBlcnNpYW5cIn19LHtcImxhbmd1YWdlQ29kZVwiOlwi + cGxcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlBvbGlz + aFwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJwdFwiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiUG9ydHVndWVzZVwifX0se1wibGFuZ3Vh + Z2VDb2RlXCI6XCJwYVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4 + dFwiOlwiUHVuamFiaVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJyb1wiLFwi + bGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiUm9tYW5pYW5cIn19 + LHtcImxhbmd1YWdlQ29kZVwiOlwicnVcIixcImxhbmd1YWdlTmFtZVwiOntc + InNpbXBsZVRleHRcIjpcIlJ1c3NpYW5cIn19LHtcImxhbmd1YWdlQ29kZVwi + Olwic21cIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlNh + bW9hblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJnZFwiLFwibGFuZ3VhZ2VO + YW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiU2NvdHRpc2ggR2FlbGljXCJ9fSx7 + XCJsYW5ndWFnZUNvZGVcIjpcInNyXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJz + aW1wbGVUZXh0XCI6XCJTZXJiaWFuXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpc + InNuXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJTaG9u + YVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJzZFwiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiU2luZGhpXCJ9fSx7XCJsYW5ndWFnZUNv + ZGVcIjpcInNpXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6 + XCJTaW5oYWxhXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInNrXCIsXCJsYW5n + dWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJTbG92YWtcIn19LHtcImxh + bmd1YWdlQ29kZVwiOlwic2xcIixcImxhbmd1YWdlTmFtZVwiOntcInNpbXBs + ZVRleHRcIjpcIlNsb3ZlbmlhblwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJz + b1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiU29tYWxp + XCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInN0XCIsXCJsYW5ndWFnZU5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJTb3V0aGVybiBTb3Rob1wifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJlc1wiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiU3BhbmlzaFwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJzdVwi + LFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiU3VuZGFuZXNl + XCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInN3XCIsXCJsYW5ndWFnZU5hbWVc + Ijp7XCJzaW1wbGVUZXh0XCI6XCJTd2FoaWxpXCJ9fSx7XCJsYW5ndWFnZUNv + ZGVcIjpcInN2XCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6 + XCJTd2VkaXNoXCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInRnXCIsXCJsYW5n + dWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJUYWppa1wifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJ0YVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiVGFtaWxcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwidGVcIixc + Imxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIlRlbHVndVwifX0s + e1wibGFuZ3VhZ2VDb2RlXCI6XCJ0aFwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wi + c2ltcGxlVGV4dFwiOlwiVGhhaVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJ0 + clwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiVHVya2lz + aFwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJ1a1wiLFwibGFuZ3VhZ2VOYW1l + XCI6e1wic2ltcGxlVGV4dFwiOlwiVWtyYWluaWFuXCJ9fSx7XCJsYW5ndWFn + ZUNvZGVcIjpcInVyXCIsXCJsYW5ndWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0 + XCI6XCJVcmR1XCJ9fSx7XCJsYW5ndWFnZUNvZGVcIjpcInV6XCIsXCJsYW5n + dWFnZU5hbWVcIjp7XCJzaW1wbGVUZXh0XCI6XCJVemJla1wifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJ2aVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiVmlldG5hbWVzZVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6XCJj + eVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiV2Vsc2hc + In19LHtcImxhbmd1YWdlQ29kZVwiOlwiZnlcIixcImxhbmd1YWdlTmFtZVwi + OntcInNpbXBsZVRleHRcIjpcIldlc3Rlcm4gRnJpc2lhblwifX0se1wibGFu + Z3VhZ2VDb2RlXCI6XCJ4aFwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxl + VGV4dFwiOlwiWGhvc2FcIn19LHtcImxhbmd1YWdlQ29kZVwiOlwieWlcIixc + Imxhbmd1YWdlTmFtZVwiOntcInNpbXBsZVRleHRcIjpcIllpZGRpc2hcIn19 + LHtcImxhbmd1YWdlQ29kZVwiOlwieW9cIixcImxhbmd1YWdlTmFtZVwiOntc + InNpbXBsZVRleHRcIjpcIllvcnViYVwifX0se1wibGFuZ3VhZ2VDb2RlXCI6 + XCJ6dVwiLFwibGFuZ3VhZ2VOYW1lXCI6e1wic2ltcGxlVGV4dFwiOlwiWnVs + dVwifX1dLFwiZGVmYXVsdEF1ZGlvVHJhY2tJbmRleFwiOjAsXCJjb250cmli + dXRlXCI6e1wiY2FwdGlvbnNNZXRhZGF0YVJlbmRlcmVyXCI6e1wiYWRkU3Vi + dGl0bGVzVGV4dFwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiQWRkIHN1YnRp + dGxlc1wvQ0NcIixcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJh + Y2tpbmdQYXJhbXNcIjpcIkNBTVF1MmtpRXdqQzRfQ3Vpc25ZQWhXTDA4RUtI + WFZJQ1lvby1CMD1cIixcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJcL3Rp + bWVkdGV4dF92aWRlbz92PVFPQ2FhY084d3VzXFx1MDAyNnJlZj13YXRjaFwi + fX19XX0sXCJub1N1YnRpdGxlc1RleHRcIjp7XCJzaW1wbGVUZXh0XCI6XCJU + aGlzIHZpZGVvIGRvZXNuJ3QgaGF2ZSBzdWJ0aXRsZXMgb3IgY2xvc2VkIGNh + cHRpb25zIHlldC5cIn0sXCJwcm9tb1N1YnRpdGxlc1RleHRcIjp7XCJzaW1w + bGVUZXh0XCI6XCJIZWxwIHRoaXMgdmlkZW8gcmVhY2ggbW9yZSBwZW9wbGUg + YnkgY29udHJpYnV0aW5nIHN1YnRpdGxlcyBvciBjbG9zZWQgY2FwdGlvbnMg + aW4gYSBsYW5ndWFnZSB5b3Ugc3BlYWsuXCJ9fX19fSxcInZpZGVvRGV0YWls + c1wiOntcInRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6 + XCJodHRwczpcL1wvaS55dGltZy5jb21cL3ZpXC9RT0NhYWNPOHd1c1wvaHFk + ZWZhdWx0LmpwZz9zcXA9LW9heW13RVdDS2dCRUY1SVd2S3JpcWtEQ1FnQkZR + QUFpRUlZQVE9PVxcdTAwMjZycz1BT240Q0xEaEMyYjVEd1JWdkZLUDJHV0tt + ZUc2SXRzYnFRXCIsXCJ3aWR0aFwiOjE2OCxcImhlaWdodFwiOjk0fSx7XCJ1 + cmxcIjpcImh0dHBzOlwvXC9pLnl0aW1nLmNvbVwvdmlcL1FPQ2FhY084d3Vz + XC9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NNUUJFRzVJV3ZLcmlxa0RD + UWdCRlFBQWlFSVlBUT09XFx1MDAyNnJzPUFPbjRDTEFMN29HVnJmc3U1aC03 + VFJaVzVieUNqN3hIWVFcIixcIndpZHRoXCI6MTk2LFwiaGVpZ2h0XCI6MTEw + fSx7XCJ1cmxcIjpcImh0dHBzOlwvXC9pLnl0aW1nLmNvbVwvdmlcL1FPQ2Fh + Y084d3VzXC9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFWENQWUJFSW9CU0Zy + eXE0cXBBd2tJQVJVQUFJaENHQUU9XFx1MDAyNnJzPUFPbjRDTEFEUmtBVXhp + SUI4eUF4M2pMWXo4Zl9qUUdMV0FcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0 + XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOlwvXC9pLnl0aW1nLmNvbVwvdmlc + L1FPQ2FhY084d3VzXC9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFWENOQUNF + THdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUU9XFx1MDAyNnJzPUFPbjRDTEFG + ZlVPTUl1b09ZOXpOMDZxZHpnS1B6UlhMbUFcIixcIndpZHRoXCI6MzM2LFwi + aGVpZ2h0XCI6MTg4fV19fSxcImFkU2FmZXR5UmVhc29uXCI6e1wiaXNGb2NF + bmFibGVkXCI6dHJ1ZX19Iiwib2lkIjoibU8xallkOUo4WEd3WmFpQUxBV3d3 + USIsImZhZGVfaW5fc3RhcnRfbWlsbGlzZWNvbmRzIjoiLTMwMDAiLCJpdGN0 + IjoiQ0FNUXUya2lFd2pDNF9DdWlzbllBaFdMMDhFS0hYVklDWW9vLUIwPSIs + InVpZCI6InNYVmszN2JsdEh4RDFyRFB3dE5NOFEiLCJ0bWkiOiIxIiwiZmFk + ZV9vdXRfc3RhcnRfbWlsbGlzZWNvbmRzIjoiMCIsInNzbCI6IjEiLCJ0aXRs + ZSI6IldoYXQgSXMgTGlmZT8gSXMgRGVhdGggUmVhbD8iLCJzd2ZfcGxheWVy + X3Jlc3BvbnNlIjoiMSIsIm1pZHJvbGxfZnJlcWNhcCI6IjQyMC4wIiwidGFn + X2Zvcl9jaGlsZF9kaXJlY3RlZCI6ZmFsc2UsImxvdWRuZXNzIjoiLTE5LjI4 + ODk5OTU1NzUiLCJnYXBpX2hpbnRfcGFyYW1zIjoibTtcL19cL3Njc1wvYWJj + LXN0YXRpY1wvX1wvanNcL2s9Z2FwaS5nYXBpLmVuLnlvVGRwUWlwbzZzLk9c + L209X19mZWF0dXJlc19fXC9hbT1BQUVcL3J0PWpcL2Q9MVwvcnM9QUhwT29v + OV9WaHVSb1VvdndwUFBmNUxxTFpkLWRtQ254dyIsImFkM19tb2R1bGUiOiIx + Iiwibm9fZ2V0X3ZpZGVvX2xvZyI6IjEiLCJlbmFibGVqc2FwaSI6IjEiLCJh + ZF9zbG90cyI6IjAiLCJpZHBqIjoiMCIsInJlbWFya2V0aW5nX3VybCI6Imh0 + dHBzOlwvXC93d3cueW91dHViZS5jb21cL3BhZ2VhZFwvdmlld3Rocm91Z2hj + b252ZXJzaW9uXC85NjI5ODU2NTZcLz9iYWNrZW5kPWlubmVydHViZVx1MDAy + NmNuYW1lPTFcdTAwMjZjdmVyPTFfMjAxODAxMDRcdTAwMjZmb2NfaWQ9c1hW + azM3Ymx0SHhEMXJEUHd0Tk04UVx1MDAyNmxhYmVsPWZvbGxvd29uX3ZpZXdc + dTAwMjZwdHlwZT1ub19ybWt0IiwiYWRzZW5zZV92aWRlb19kb2NfaWQiOiJ5 + dF9RT0NhYWNPOHd1cyIsImF2Z19yYXRpbmciOiI0LjkyNTEzOTQyNzE5Iiwi + dmlkZW9faWQiOiJRT0NhYWNPOHd1cyIsImFwcGx5X2ZhZGVfb25fbWlkcm9s + bHMiOnRydWUsImlubmVydHViZV9jb250ZXh0X2NsaWVudF92ZXJzaW9uIjoi + MS4yMDE4MDEwNCIsInQiOiIxIiwicmVsYXRpdmVfbG91ZG5lc3MiOiIxLjcx + MTAwMDQ0MjUiLCJhZnYiOnRydWUsInNob3dfcHl2X2luX3JlbGF0ZWQiOnRy + dWUsImFsbG93X2JlbG93X3RoZV9wbGF5ZXJfY29tcGFuaW9uIjp0cnVlLCJo + b3N0X2xhbmd1YWdlIjoiZW4iLCJhY2NvdW50X3BsYXliYWNrX3Rva2VuIjoi + UVVGRkxVaHFiVzVvTTNaWVVsZFBSVEZqUmpBNVJERnpMWHB2TTNkamRtOVpR + WHhCUTNKdGMwdHRPRzQ0WVZoWFRHdHNkRmcxYmxoaWRuUlNRME42YVZjek1r + bElhM0JSZW5Cb1kyNTVkRnBRUWtoWVdXSjVRMlZzWmxodGRqRnNkWEZFYXpa + c2JGQlVaMGRXTFhCT2VFMVdaWFkyZUhKU09EVXdjMGRwZFdKalpWOTVNbkY1 + TW1SUlZqVjNjbmRyU2xGTFkwd3hlbkJPVVE9PSIsInRodW1ibmFpbF91cmwi + OiJodHRwczpcL1wvaS55dGltZy5jb21cL3ZpXC9RT0NhYWNPOHd1c1wvZGVm + YXVsdC5qcGciLCJjb3JlX2RicCI6IkNoWlphMjlKV1ZGMGVFcEpZV2xrV2w5 + NGJHaFpWM1ZCRUFFZ0FTZ0EiLCJhcGlhcnlfaG9zdCI6IiIsImZhZGVfaW5f + ZHVyYXRpb25fbWlsbGlzZWNvbmRzIjoiMTAwMCIsImF1dGhvciI6Ikt1cnpn + ZXNhZ3Qg4oCTIEluIGEgTnV0c2hlbGwiLCJjc2lfcGFnZV90eXBlIjoid2F0 + Y2gsd2F0Y2g3YWRfaHRtbDUiLCJrZXl3b3JkcyI6ImxpZmUsYWxpdmUsbWVh + bmluZyxSZWFsLGFmdGVybGlmZSxBbG9uZSx5b3UsbWUsbG9uZWx5LHdoYXQg + aXMgbGlmZSxDZWxscyxtb3J0YWwsaGFja3MsaW1tb3J0YWwsaW1tb3J0YWxp + dHksQXRvbXMsZXZvbHV0aW9uLGFnZSxlbGVtZW50cyxzcGFjZSxib2R5LHVu + aXZlcnNlLGZ1bm55LGh1bWFuLGVhcnRoLHNjaWVuY2UscGhpbG9zb3BoeSxj + ZWxsLHN1bixiaXJ0aCx3YWl0IGJ1dCB3aHksbG92ZSxwcm90ZWluLHRvZ2V0 + aGVyLGNvbW1hbmQgYW5kIGNvbnF1ZXIsc2Nocm9kaW5nZXIsc2NocsO2ZGlu + Z2VyLGZsYXQgZGVzaWduLGluZm9ncmFwaGljLGFuaW1hdGlvbixLdXJ6Z2Vz + YWd0LENvbnNjaW91c25lc3MiLCJpbm5lcnR1YmVfYXBpX3ZlcnNpb24iOiJ2 + MSIsInZpZCI6IlFPQ2FhY084d3VzIiwiYXRjIjoiYT0zXHUwMDI2Yj1DaHZY + RTdRbV84NjVMVE1rZmo1VjNKRm95cE1cdTAwMjZjPTE1MTU0MzkwNDNcdTAw + MjZkPTFcdTAwMjZlPVFPQ2FhY084d3VzXHUwMDI2YzNhPTE3XHUwMDI2YzFh + PTFcdTAwMjZjNmE9MVx1MDAyNmhoPWYzUHI5TU5uSy12NGdfWVpSb002dE9D + ckdnY1ZKOG40RmRHcDg3RTVubDAiLCJsZHBqIjoiLTYiLCJzaG9ydGZvcm0i + OnRydWUsImludmlkZW8iOnRydWUsInRpbWVzdGFtcCI6IjE1MTU0MzkwNDMi + LCJzZmZiIjp0cnVlLCJwbHR5cGUiOiJjb250ZW50IiwiZW5jb2RlZF9hZF9z + YWZldHlfcmVhc29uIjoiQ2dCd0FRIiwiZW5hYmxlZF9lbmdhZ2VfdHlwZXMi + OiIxLDMsNCw1LDYsMTciLCJwbGlkIjoiQUFWaVNLWGVWSUFtOFBBeSIsImRi + cCI6IkNoNEtGbGxyYjBsWlVYUjRTa2xoYVdSYVgzaHNhRmxYZFVFUUFTQUJL + QUFRQVJnQyIsInZpZXdfY291bnQiOiI4NDIxMTExIiwidG9rZW4iOiIxIiwi + Y3ZlciI6IjEuMjAxODAxMDQiLCJhbGxvd19yYXRpbmdzIjoiMSIsIml2M19t + b2R1bGUiOiIxIiwiZXh0ZXJuYWxfcGxheV92aWRlbyI6IjEiLCJkY2xrIjp0 + cnVlLCJjaWQiOiI0MDc1MDg1NyIsInB0Y2huIjoic1hWazM3Ymx0SHhEMXJE + UHd0Tk04USIsImFmdl9hZF90YWciOiJodHRwczpcL1wvZ29vZ2xlYWRzLmcu + ZG91YmxlY2xpY2submV0XC9wYWdlYWRcL2Fkcz9hZF90eXBlPXRleHRfaW1h + Z2VcdTAwMjZjaGFubmVsPVZlcnRpY2FsXzE3NCUyQlZlcnRpY2FsXzQzNSUy + QlZlcnRpY2FsXzQ0NCUyQmFmdl9vdmVybGF5JTJCYWZ2X3VzZXJfaWRfc1hW + azM3Ymx0SHhEMXJEUHd0Tk04USUyQmFmdl91c2VyX2t1cnpnZXNhZ3QlMkJp + bnZpZGVvX292ZXJsYXlfNDgweDcwX2NhdDI3JTJCeXRfYnMyJTJCeXRfY2lk + XzQwNzUwODU3JTJCeXRfZ3AlMkJ5dF9tcHZpZF9rN2lTRVNuWWtGNkUxbVpR + JTJCeXRfbm9fMzYwJTJCeXRfbm9fYXAlMkJ5dF9ub193YSUyQnl0ZGV2aWNl + XzElMkJ5dGRldmljZXZlcl8xLjIwMTgwMTA0JTJCeXRlbF9kZXRhaWxwYWdl + JTJCeXRwc19kZWZhdWx0XHUwMDI2Y2xpZW50PWNhLXB1Yi02MjE5ODExNzQ3 + MDQ5MzcxXHUwMDI2ZGJwPUNoWlphMjlKV1ZGMGVFcEpZV2xrV2w5NGJHaFpW + M1ZCRUFFZ0FTZ0FcdTAwMjZkZXNjcmlwdGlvbl91cmw9aHR0cCUzQSUyRiUy + Rnd3dy55b3V0dWJlLmNvbSUyRnZpZGVvJTJGUU9DYWFjTzh3dXNcdTAwMjZo + bD1lblx1MDAyNmhvc3Q9Y2EtaG9zdC1wdWItMjQ3NTIyODQyMDAxNTIzMFx1 + MDAyNmh0X2lkPTE1MjA5NjkxXHUwMDI2bG9laWQ9OTQyMjU5Niw5NDM4MDY3 + LDk0NTI2NDMsOTQ3MTIzOSw5NDc0NTk0LDk0NzU2ODIsOTQ3NjQwOCw5NDg3 + MjA2LDk0ODg5OTEsMjM3MDQ4NDYsMjM3MDYzMTksMjM3MDc2NjUsMjM3MDk3 + OTMsMjM3MTU1MDEsMjM3MTU5MDgsMjM3MTYxMTksMjM3MTY2OTQsMjM3MTcw + MDAsMjM3MTcwNzIsMjM3MTg0ODYsMjM3MTkwMzRcdTAwMjZvc2Q9Mlx1MDAy + NnB1Y3JkPUNnWUlBQkFBR0FBXHUwMDI2c2RraT0xODgwM0RFRFx1MDAyNnVy + bD1odHRwJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGdmlkZW8lMkZRT0Nh + YWNPOHd1c1x1MDAyNnZfcD1EUm1EZkQ4bElIeEtSQSUzRCUzRFx1MDAyNnl0 + ZGV2aWNlPTFcdTAwMjZ5dGRldmljZXZlcj0xLjIwMTgwMTA0XHUwMDI2eXRf + cHQ9QVBiM0YyLUJsSDBmT2pOc3UyU2g3VGVwakRIUmtqb3ZBOWJpN0M2X0dx + anZlUjVscEpmSUNDTmZCaDQ2ZzlsQnR0aHVXNmN4R1NlN3diQXpLbnJNLUZv + UTdpUFBkWU9JdzlKenVJXzI1T3NSMVpOUHhxRDhZUFU4WVNKdzRwR0wxcS1o + U3RtQTRySDBFSGN0aTlYNFx1MDAyNnl0X3Zpcz0wIiwicGxheWVyX2Vycm9y + X2xvZ19mcmFjdGlvbiI6IjEuMCIsImV2ZW50aWQiOiJ3OE5UV29MMkY0dW5o + d2Ixa0tYUUNBIiwiYXBpYXJ5X2hvc3RfZmlyc3RwYXJ0eSI6IiIsInhocl9h + cGlhcnlfaG9zdCI6InlvdXR1YmVpLnlvdXR1YmUuY29tIiwid2F0ZXJtYXJr + IjoiLGh0dHBzOlwvXC9zLnl0aW1nLmNvbVwveXRzXC9pbWdcL3dhdGVybWFy + a1wveW91dHViZV93YXRlcm1hcmstdmZsSFg2YjZFLnBuZyxodHRwczpcL1wv + cy55dGltZy5jb21cL3l0c1wvaW1nXC93YXRlcm1hcmtcL3lvdXR1YmVfaGRf + d2F0ZXJtYXJrLXZmbEF6TGNENi5wbmciLCJhc19sYXVuY2hlZF9pbl9jb3Vu + dHJ5IjoiMSIsImZmbGFncyI6InBlcnNpc3RfdGV4dF9vbl9wcmV2aWV3X2J1 + dHRvbj10cnVlXHUwMDI2aHRtbDVfaG9wZWxlc3NfbW9kZV9yZXF1ZXN0X3Np + emVfc2Vjcz0xNVx1MDAyNmh0bWw1X2F1eF9wY3RpbGU9dHJ1ZVx1MDAyNmh0 + bWw1X21pbl9zZWNzX2JldHdlZW5fZm9ybWF0X3NlbGVjdGlvbnM9OC4wXHUw + MDI2a2lkc19lbmFibGVfcG9zdF9vbmJvYXJkaW5nX3JlZF9mbG93PXRydWVc + dTAwMjZteXN1YnNfaGlnaGxpZ2h0X3NoZWxmX2NvdW50ZXJmYWN0dWFsPWZh + bHNlXHUwMDI2bWF4X3Jlc29sdXRpb25fZm9yX3doaXRlX25vaXNlPTM2MFx1 + MDAyNmh0bWw1X2dldF92aWRlb19pbmZvX3Byb21pc2VhamF4PXRydWVcdTAw + MjZwbGF5cmVhZHlfb25fYm9yZz10cnVlXHUwMDI2a2lkc19tcWJfdXNlX2Nv + bmZpcm1lZF9zYWZlX3ZpZGVvc19vbmx5PWZhbHNlXHUwMDI2YWRfdmlkZW9f + ZW5kX3JlbmRlcmVyX2R1cmF0aW9uX21pbGxpc2Vjb25kcz03MDAwXHUwMDI2 + ZW5hYmxlX2xpdmVfc3RhdGVfYXV0aD10cnVlXHUwMDI2aHRtbDVfbm5yX2Rv + d25ncmFkZV9jb3VudD00XHUwMDI2bW9iaWxlX2Rpc2FibGVfYWRfbW9iX29u + X2hvbWU9dHJ1ZVx1MDAyNnJlcG9ydF9wcm9tb3Rlc190ZXJyb3Jpc21fYW5k + cm9pZD10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV91cmdlbnRfdXBncmFkZV9m + b3JfcXVhbGl0eT10cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2lnbm9yZV9jYXBw + ZWQ9dHJ1ZVx1MDAyNmZhc3RfYXV0b25hdl9pbl9iYWNrZ3JvdW5kPXRydWVc + dTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX2J1ZmZlcl9tZGF0PXRydWVcdTAw + MjZoaWRlX3ByZXNraXA9dHJ1ZVx1MDAyNmVuYWJsZV9pbWFnZXNlcnZpY2Vf + Zm9yX2tldGNodXA9dHJ1ZVx1MDAyNmh0bWw1X2JyZWFrX2RlYWRsb2Nrcz10 + cnVlXHUwMDI2aHRtbDVfYmFuZHdpZHRoX3dpbmRvd19zaXplPTBcdTAwMjZ3 + ZWJfZW1iZWRkZWRfcGxheWVyX3NlcnZpY2U9dHJ1ZVx1MDAyNnNhZmFyaV9l + bmFibGVfc3BoZXJpY2FsPXRydWVcdTAwMjZraWRzX2VuYWJsZV9wcml2YWN5 + X25vdGljZT10cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9kdXJhdGlvbj0w + XHUwMDI2aHRtbDVfZGVmYXVsdF9xdWFsaXR5X2NhcD03MjBcdTAwMjZodG1s + NV9tYXhfcmVhZGFoZWFkX2JhbmR3aWR0aF9jYXA9MFx1MDAyNmh0bWw1X2Rp + c3Bvc2Vfb25fY2xlYXJfa2lsbHN3aXRjaD10cnVlXHUwMDI2c3BhY2VjYXN0 + X3VuaXBsYXllcl9kZWNvcmF0ZV9tYW5pZmVzdD10cnVlXHUwMDI2ZW5hYmxl + X3NwaGVyaWNhbF9wczQ9dHJ1ZVx1MDAyNnNlZ21lbnRfdm9sdW1lX3JlcG9y + dGluZz10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9wcmVzZXJ2ZV9yZWZlcmVu + Y2U9dHJ1ZVx1MDAyNmh0bWw1X2FkX25vX2J1ZmZlcl9hYm9ydF9hZnRlcl9z + a2lwcGFibGU9dHJ1ZVx1MDAyNmh0bWw1X2RybV9nZW5lcmF0ZV9yZXF1ZXN0 + X2RlbGF5PTBcdTAwMjZsaXZlX2NoYXRfdXNlX25ld19kZWZhdWx0X2ZpbHRl + cl9tb2RlPXRydWVcdTAwMjZ1c2VfbmV3X3N0eWxlPXRydWVcdTAwMjZodG1s + NV90aHJvdHRsZV9yYXRlPTAuMFx1MDAyNmh0bWw1X3ZhcmlhYmlsaXR5X25v + X2Rpc2NvdW50X3RocmVzaD0xLjBcdTAwMjZzaWduZWRfb3V0X25vdGlmaWNh + dGlvbl9zZXR0aW5ncz10cnVlXHUwMDI2c3BvbnNvcnNfZGlzYWJsZT10cnVl + XHUwMDI2cmVwb3J0X3Byb21vdGVzX3RlcnJvcmlzbV9tb2JpbGVfd2ViPXRy + dWVcdTAwMjZodG1sNV9lbGJvd190cmFja2luZ190d2Vha3M9dHJ1ZVx1MDAy + NndlYnNpdGVfYWN0aW9uc19jdGFfcmVkZXNpZ249dHJ1ZVx1MDAyNmlvc19u + b3RpZmljYXRpb25zX2Rpc2FibGVkX3N1YnNfdGFiX3Byb21vdGVkX2l0ZW1f + cHJvbW89dHJ1ZVx1MDAyNnZzc19kbmlfZGVsYXlwaW5nPTBcdTAwMjZkaXNh + YmxlX3NldF9hd2Vzb21lX213ZWI9dHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9t + ZXNoX3Byb2plY3Rpb249dHJ1ZVx1MDAyNmh0bWw1X29ic2VydmVfbGl2ZV9z + dGFydF9zZWNvbmRzPXRydWVcdTAwMjZodG1sNV9tYXhfYXZfc3luY19kcmlm + dD01MFx1MDAyNmZsZXhfdGhlYXRlcl9tb2RlPXRydWVcdTAwMjZodG1sNV91 + c2VfYWRhcHRpdmVfbGl2ZV9yZWFkYWhlYWQ9dHJ1ZVx1MDAyNmh0bWw1X2Zs + dWRkX3N1c3BlbmQ9dHJ1ZVx1MDAyNmh0bWw1X3ZhcmlhYmlsaXR5X2Z1bGxf + ZGlzY291bnRfdGhyZXNoPTMuMFx1MDAyNmh0bWw1X3BsYXllcl9hdXRvbmF2 + X2xvZ2dpbmc9dHJ1ZVx1MDAyNmRpc2FibGVfY2xpZW50X3NpZGVfbWlkcm9s + bF9mcmVxX2NhcHBpbmc9dHJ1ZVx1MDAyNmRpc2FibGVfbmV3X3BhdXNlX3N0 + YXRlMz10cnVlXHUwMDI2aHRtbDVfbG9jYWxfbWF4X2J5dGVyYXRlX2xvb2th + aGVhZD0xNVx1MDAyNmh0bWw1X3NwaGVyaWNhbF9iaWN1YmljX21vZGU9MFx1 + MDAyNmtpZHNfc2hvd19yZWJyYW5kPXRydWVcdTAwMjZrZXZsYXJfYWxsb3df + bXVsdGlzdGVwX3ZpZGVvX2luaXQ9dHJ1ZVx1MDAyNmR5bmFtaWNfYWRfYnJl + YWtfcGF1c2VfdGhyZXNob2xkX3NlYz0wXHUwMDI2aHRtbDVfdGlnaHRfbWF4 + X2J1ZmZlcl9hbGxvd2VkX2JhbmR3aWR0aF9zdGRkZXZzPTAuMFx1MDAyNmh0 + bWw1X2Rpc2FibGVfd2ViZ2xfYW50aWFsaWFzPXRydWVcdTAwMjZodG1sNV9h + ZF9zdGF0c19iZWFyZXI9dHJ1ZVx1MDAyNmh0bWw1X3N1c3BlbmRfbWFuaWZl + c3Rfb25fcGF1c2U9dHJ1ZVx1MDAyNmludGVyYWN0aW9uX2xvZ19kZWxheWVk + X2V2ZW50X2JhdGNoX3NpemU9MjAwXHUwMDI2bXdlYl9tdXRlZF9hdXRvcGxh + eT10cnVlXHUwMDI2cG9seW1lcl9yZXBvcnRfbWlzc2luZ193ZWJfbmF2aWdh + dGlvbl9lbmRwb2ludD1mYWxzZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRl + ZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzPXRydWVcdTAwMjZtd2ViX2F1 + dG9uYXZfcGFkZGxlcz10cnVlXHUwMDI2dXNlX2ZvcmNlZF9saW5lYnJlYWtf + cHJlc2tpcF90ZXh0PXRydWVcdTAwMjZodG1sNV9uZXdfZmFsbGJhY2s9dHJ1 + ZVx1MDAyNndlYl9wbGF5ZXJfZGlzYWJsZV9mbGFzaF9wbGF5ZXJwcm94eT10 + cnVlXHUwMDI2bGl2ZV9mcmVzY2FfdjI9dHJ1ZVx1MDAyNmxpbWl0X29mX3Jl + YnVmZmVyaW5nX2V2ZW50X29uX2h0bWw1PTEwMDBcdTAwMjZodG1sNV91bHRy + YV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfcmVzcG9uc2VzPXRydWVcdTAwMjZo + dG1sNV9zdXNwZW5kX2xvYWRlcj10cnVlXHUwMDI2bGVnYWN5X2F1dG9wbGF5 + X2ZsYWc9dHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWU9ODAwMFx1MDAyNmh0bWw1 + X2FkdW5pdF9mcm9tX2FkZm9ybWF0PXRydWVcdTAwMjZodG1sNV9lbF9taWdy + YXRpb249dHJ1ZVx1MDAyNmh0bWw1X2Nvbm5lY3RfdGltZW91dF9zZWNzPTcu + MFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX2NhcF9zZWNzPTBcdTAwMjZo + dG1sNV9wcmVsb2FkX3NpemVfZXhjbHVkZXNfbWV0YWRhdGE9dHJ1ZVx1MDAy + NnVzZV9mYXN0X2ZhZGVfaW5fMHM9dHJ1ZVx1MDAyNmRpc2FibGVfcmVwb3J0 + aW5nX2h0bWw1X25vX3Zhc3RfYWRzX2FzX2Vycm9yPXRydWVcdTAwMjZodG1s + NV9hc3BlY3RfZnJvbV9hZGFwdGl2ZV9mb3JtYXQ9dHJ1ZVx1MDAyNnBsYXll + cl9kZXN0cm95X29sZF92ZXJzaW9uPXRydWVcdTAwMjZodG1sNV9yZXNlbGVj + dF9iYW5kd2lkdGhfZmFjdG9yPTMuMFx1MDAyNmh0bWw1X21pbl9yZWFkYmVo + aW5kX3NlY3M9MFx1MDAyNmVuYWJsZV9maW5pc2hlZF9icm9hZGNhc3RfcmVh + Y3RyX3NoYXJpbmc9ZmFsc2VcdTAwMjZodG1sNV9iYWNrZ3JvdW5kX3F1YWxp + dHlfY2FwPTM2MFx1MDAyNnl0b19lbmFibGVfdW5saW1pdGVkX2xhbmRpbmdf + cGFnZV95dG9fZmVhdHVyZXM9dHJ1ZVx1MDAyNmRpc2FibGVfaW5kaXNwbGF5 + X2FkdW5pdF9vbl9lbWJlZGRlZD10cnVlXHUwMDI2bGl2ZV9jaHVua19yZWFk + YWhlYWQ9M1x1MDAyNmh0bWw1X2NsZWFyYW5jZV9maXg9dHJ1ZVx1MDAyNmh0 + bWw1X25vX3NoYWRvd19lbnZfZGF0YT1mYWxzZVx1MDAyNmZpeF9ncHRfcG9z + X3BhcmFtcz10cnVlXHUwMDI2bXdlYl9wbGF5c2lubGluZT10cnVlXHUwMDI2 + bWlkcm9sbF9ub3RpZnlfdGltZV9zZWNvbmRzPTVcdTAwMjZtd2ViX211dGVk + X2F1dG9wbGF5X2FuaW1hdGlvbj1zaHJpbmtcdTAwMjZlbmFibGVfdm9kX3Nw + b25zb3JzaGlwc19zcG9uc29yX29ubHlfY3JlYXRpb25fYW5kcm9pZD10cnVl + XHUwMDI2aHRtbDVfZGVmZXJfYmFja2dyb3VuZF9lcnJvcnM9dHJ1ZVx1MDAy + NmVuYWJsZV9vZmZlcl9yZXN0cmljdHNfZm9yX3dhdGNoX3BhZ2Vfb2ZmZXJz + PXRydWVcdTAwMjZodG1sNV9pZ25vcmVfcHVibGljX3NldFBsYXliYWNrUXVh + bGl0eT10cnVlXHUwMDI2c2hvd19jb3VudGRvd25fb25fYnVtcGVyPXRydWVc + dTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWF4X3NlY3M9MzFcdTAwMjZzaG93 + X3RodW1ibmFpbF9iZWhpbmRfeXBjX29mZmVyX21vZHVsZT10cnVlXHUwMDI2 + aHRtbDVfZW5hYmxlX21zX3BsYXlyZWFkeV9oZD10cnVlXHUwMDI2aHRtbDVf + ZGVhZHpvbmVfbXVsdGlwbGllcj0xLjBcdTAwMjZzaG93X2ludGVyc3RpdGlh + bF93aGl0ZT10cnVlXHUwMDI2aHRtbDVfZGVmZXJyZWRfc291cmNlX2J1ZmZl + cl9jcmVhdGlvbj10cnVlXHUwMDI2d2Vic2l0ZV9hY3Rpb25zX3Rocm90dGxl + X3BlcmNlbnRhZ2U9MS4wXHUwMDI2eXRfdW5saW1pdGVkX3B0c19za2lwX2Fk + c19wcm9tb19kZXNrdG9wX2Fsd2F5cz10cnVlXHUwMDI2aHRtbDVfcGlwZWxp + bmVfbWFuaWZlc3RsZXNzPXRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dn + aW5nX2ZyYWN0aW9uPTAuMDFcdTAwMjZodG1sNV9zdHJpcF9lbXNnPXRydWVc + dTAwMjZlbmFibGVfYnVsbGVpdF9saWRhcl9pbnRlZ3JhdGlvbj10cnVlXHUw + MDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kcz0wLjBcdTAwMjZr + aW5nX2NyaW1zb25fcGxheWVyPWZhbHNlXHUwMDI2a2lkc19lbmFibGVfbG90 + dGllPWZhbHNlXHUwMDI2aHRtbDVfcGF1c2VfdmlkZW9fZml4PXRydWVcdTAw + MjZtd2ViX2VuYWJsZV9za2lwcGFibGVzX29uX2lwaG9uZT10cnVlXHUwMDI2 + d3d3X2Zvcl92aWRlb3N0YXRzPXRydWVcdTAwMjZsdWdhc2hfaGVhZGVyX3dh + cm11cD10cnVlXHUwMDI2ZGlzYWJsZV9tYXhfYWRzZW5zZV9jaGFubmVsX2xp + bWl0PXRydWVcdTAwMjZsdWdhc2hfaGVhZGVyX2J5X3NlcnZpY2U9dHJ1ZVx1 + MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZD0yMFx1MDAyNmh0 + bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhaWxfbWFyZ2luX3NlY3M9MC4y + XHUwMDI2aHRtbDVfbWluX3VwZ3JhZGVfaGVhbHRoPTBcdTAwMjZodG1sNV9j + b21wb3NpdGVfc3RhbGw9dHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fp + bj0wLjBcdTAwMjZodG1sNV9kb21fcGF1c2U9dHJ1ZVx1MDAyNnNwb25zb3Jz + X3doaXRlbGlzdF9jcmVhdG9yPXRydWVcdTAwMjZzaG93X2ludGVyc3RpdGlh + bF9mb3JfM3M9dHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9kaXNhYmxlc192YXJp + YWJpbGl0eT10cnVlXHUwMDI2YWxsb3dfbGl2ZV9hdXRvcGxheT10cnVlXHUw + MDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYj0wXHUwMDI2bXdlYl9hdXRvbmF2 + PXRydWVcdTAwMjZodG1sNV9zZXJ2ZXJzaWRlX2NhbGxfc2VydmVyX29uX2Jp + c2NvdHRpX3RpbWVvdXQ9dHJ1ZVx1MDAyNmh0bWw1X3JlcHJlZGljdF9pbnRl + cnZhbF9zZWNzPTAuMFx1MDAyNmh0bWw1X3ZwOV9saXZlX2JsYWNrbGlzdF9l + ZGdlPXRydWVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9wcm9n + cmVzc190aW1lb3V0X2ZyYWN0aW9uPTAuOFx1MDAyNmVtYmVkX3Nob3dfd2F0 + Y2hsYXRlcl9sb2dpbj10cnVlXHUwMDI2aHRtbDVfcmVwb3J0X2Nvbm49dHJ1 + ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6aW5nX211bHRpcGxpZXI9MC44XHUw + MDI2aHRtbDVfbm9fc2hhZG93X2Vudl9kYXRhX3JlZHV4PXRydWVcdTAwMjZo + dG1sNV9zdGFsbF9wY3RpbGU9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfZGlzYWJs + ZV9kZ19wYWNpbmc9dHJ1ZVx1MDAyNnJlcG9ydF9wcm9tb3Rlc190ZXJyb3Jp + c21fZGVza3RvcD10cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9hdWRpb19zbGlj + aW5nPXRydWVcdTAwMjZkaXNhYmxlX3NlYXJjaF9tcHU9dHJ1ZVx1MDAyNmh0 + bWw1X3F1YWxpdHlfY2FwX21pbl9hZ2Vfc2Vjcz0wXHUwMDI2c2lnbmVkX291 + dF9ub3RpZmljYXRpb25zX2luYm94PXRydWVcdTAwMjZsaXZlX2NoYXRfdjFf + dHVybmRvd249dHJ1ZVx1MDAyNmh0bWw1X2Fsd2F5c19lbmFibGVfdGltZW91 + dHM9dHJ1ZVx1MDAyNnNka19hZF9wcmVmZXRjaF90aW1lX3NlY29uZHM9LTFc + dTAwMjZ0aGlyZF9wYXJ0eV9pbnRlZ3JhdGlvbl9kaXNhYmxlX21hZGlzb25f + YWNjb3VudHM9ZmFsc2VcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBp + cmF0aW9uPS0xXHUwMDI2aHRtbDVfZW52X2RhdGFfdXBkYXRlX2FwcF9vbmx5 + PXRydWVcdTAwMjZzZGtfd3JhcHBlcl9sZXZlbHNfYWxsb3dlZD0wXHUwMDI2 + Zml4ZWRfcGFkZGluZ19za2lwX2J1dHRvbj10cnVlXHUwMDI2dW5pcGxheWVy + X2RicD10cnVlXHUwMDI2a2luZ19jcmltc29uX3BsYXllcl9yZWR1eD10cnVl + XHUwMDI2bGl2ZV9yZWFkYWhlYWRfc2Vjb25kc19tdWx0aXBsaWVyPTAuOFx1 + MDAyNnNldF9pbnRlcnN0aXRpYWxfYWR2ZXJ0aXNlcnNfcXVlc3Rpb25fdGV4 + dD10cnVlXHUwMDI2bG9ja19mdWxsc2NyZWVuPWZhbHNlXHUwMDI2ZW5hYmxl + X2Njc19idXlfZmxvd19mb3JfY2hpcnA9dHJ1ZVx1MDAyNmRpc2FibGVfbXdl + Yl9pcGhvbmVfYWRfY2xpY2tfaGFuZGxpbmdfZnVuY3Rpb25hbGl0eT10cnVl + XHUwMDI2bXdlYl9wdV9hbmRyb2lkX2Nocm9tZV81NF9hYm92ZT10cnVlXHUw + MDI2ZGlzYWJsZV90cnVzdGVkX2FkX2RvbWFpbnNfcGxheWVyX2NoZWNrPXRy + dWVcdTAwMjZhbmRyb2lkX2J1eV9idWNrZXRfYnV5X2Zsb3dzPXRydWVcdTAw + MjZtd2ViX2JsYWNrbGlzdF9wcm9ncmVzc2l2ZV9jaHJvbWVfbW9iaWxlPXRy + dWVcdTAwMjZtd2ViX2NvdWdhcl9iaWdfY29udHJvbHM9dHJ1ZVx1MDAyNnZh + cmlhYmxlX2xvYWRfdGltZW91dF9tcz0wXHUwMDI2c3RvcF91c2luZ19pbWFf + c2RrX2dwdF9yZXF1ZXN0X2FjdGl2aXR5PXRydWVcdTAwMjZtd2ViX2NvdWdh + cj10cnVlXHUwMDI2aHRtbDVfbGl2ZV80a19tb3JlX2J1ZmZlcj10cnVlXHUw + MDI2aHRtbDVfbW9iaWxlX3BlcmZfY2FwXzI0MD10cnVlXHUwMDI2Y2hhbm5l + bF9hYm91dF9wYWdlX2dhZGdldHM9dHJ1ZVx1MDAyNmh0bWw1X2JhY2tncm91 + bmRfY2FwX2lkbGVfc2Vjcz02MFx1MDAyNmVuYWJsZV9sb2NhbF9jaGFubmVs + PXRydWVcdTAwMjZlbmFibGVfZ2FtaW5nX25ld19sb2dvPXRydWVcdTAwMjZo + dG1sNV9zdG9wX3ZpZGVvX2luX2NhbmNlbF9wbGF5YmFjaz10cnVlXHUwMDI2 + aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91cz10cnVlXHUwMDI2ZW5hYmxl + X3ZvZF9zcG9uc29yc2hpcHNfemVyb19zdGVwX2NoYW5uZWxfY3JlYXRpb249 + dHJ1ZVx1MDAyNnBsYXllcl9leHRlcm5hbF9jb250cm9sX29uX2NsYXNzaWNf + ZGVza3RvcD10cnVlXHUwMDI2aHRtbDVfbWluX3NlY3Nfb3Zlcl9tYXhfYnl0 + ZXM9dHJ1ZVx1MDAyNmNocm9tZV9wcm9tb19lbmFibGVkPXRydWVcdTAwMjZ3 + ZWJfcGxheWVyX3RhYmluZGV4X2tpbGxzd2l0Y2g9dHJ1ZVx1MDAyNnBsYXll + cl91bmlmaWVkX2Z1bGxzY3JlZW5fdHJhbnNpdGlvbnM9dHJ1ZVx1MDAyNnl0 + b19lbmFibGVfd2F0Y2hfb2ZmZXJfbW9kdWxlPXRydWVcdTAwMjZpb3NfZW5h + YmxlX21peGluX2FjY2Vzc2liaWxpdHlfY3VzdG9tX2FjdGlvbnM9dHJ1ZVx1 + MDAyNmR5bmFtaWNfYWRfYnJlYWtfc2Vla190aHJlc2hvbGRfc2VjPTBcdTAw + MjZwb3N0cm9sbF9ub3RpZnlfdGltZV9zZWNvbmRzPTVcdTAwMjZodG1sNV9t + YW5pZmVzdGxlc3NfYWNjdXJhdGVfc2xpY2VpbmZvPXRydWVcdTAwMjZodG1s + NV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9z + ZWNzPTAuNVx1MDAyNnNpZGViYXJfcmVuZGVyZXJzPXRydWVcdTAwMjZodG1s + NV9zdWJzZWdtZW50X3JlYWRhaGVhZF90aW1lb3V0X3NlY3M9Mi4wXHUwMDI2 + ZGFzaF9tYW5pZmVzdF92ZXJzaW9uPTVcdTAwMjZ3ZWJfcGxheWVyX2VkZ2Vf + YXV0b2hpZGVfa2lsbHN3aXRjaDI9dHJ1ZVx1MDAyNmtpZHNfZW5hYmxlX3Rl + cm1zX3NlcnZsZXQ9dHJ1ZVx1MDAyNmh0bWw1X2xpdmVfcHJvYmVfcHJpbWFy + eV9ob3N0PXRydWVcdTAwMjZodG1sNV9zdXNwZW5kZWRfc3RhdGU9dHJ1ZVx1 + MDAyNmFuZHJvaWRfbmF0aXZlX2xpdmVfZW5hYmxlbWVudD10cnVlXHUwMDI2 + ZW5hYmxlX3ByZWZldGNoX2Zvcl9wb3N0cm9sbHM9dHJ1ZVx1MDAyNmh0bWw1 + X3RpZ2h0X21heF9idWZmZXJfYWxsb3dlZF9pbXBhaXJlZF90aW1lPTAuMFx1 + MDAyNmh0bWw1X2dldF92aWRlb19pbmZvX3RpbWVvdXRfbXM9MFx1MDAyNmh0 + bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvbj0wLjBcdTAwMjZodG1s + NV9uZXdfcGVnX3RvX2xpdmVfdjI9dHJ1ZVx1MDAyNm5ld19wcm9tb19wYWdl + PXRydWVcdTAwMjZ1c2VfaHRtbDVfcGxheWVyX2V2ZW50X3RpbWVvdXQ9dHJ1 + ZVx1MDAyNmZvcmNlZF9icmFuZF9wcmVjYXBfZHVyYXRpb25fbXM9MjAwMFx1 + MDAyNnVzZV9uZXdfc2tpcF9pY29uPXRydWVcdTAwMjZraWRzX2VsaW1pbmF0 + ZV9wbGF5bGlzdHNfaW5fY2hhbm5lbHM9dHJ1ZVx1MDAyNmh0bWw1X3Zhcmlh + YmlsaXR5X2Rpc2NvdW50PTAuNVx1MDAyNmh0bWw1X2Vycm9yX3JlbG9hZF9j + b29sZG93bl9tcz0zMDAwMFx1MDAyNnR2aHRtbDVfYmFja2dyb3VuZF9zdT10 + cnVlXHUwMDI2dXNlX3B1c2hfZm9yX2Rlc2t0b3BfbGl2ZV9jaGF0PXRydWVc + dTAwMjZraWRzX2VuYWJsZV9ibG9ja19zZXJ2bGV0PXRydWVcdTAwMjZodG1s + NV9wcm9ncmVzc2l2ZV9zaWduYXR1cmVfcmVsb2FkPXRydWVcdTAwMjZodG1s + NV9taW5fYnVmZmVyX3RvX3Jlc3VtZT02XHUwMDI2ZGVza3RvcF9jbGVhbnVw + X2NvbXBhbmlvbl9vbl9pbnN0cmVhbV9iZWdpbj10cnVlXHUwMDI2aHRtbDVf + bWluX3N0YXJ0dXBfc21vb3RoX3RhcmdldD0xMC4wXHUwMDI2bGlnaHR3ZWln + aHRfd2F0Y2hfdmlkZW9fc3dmPXRydWVcdTAwMjZodG1sNV9hZGp1c3RfZWZm + ZWN0aXZlX3JlcXVlc3Rfc2l6ZT10cnVlXHUwMDI2bXdlYl9wbGF5c2lubGlu + ZV93ZWJ2aWV3PXRydWVcdTAwMjZodG1sNV9hbGxvd2FibGVfbGl2ZW5lc3Nf + ZHJpZnRfY2h1bmtzPTJcdTAwMjZ5dG9fZmVhdHVyZV9odWJfY2hhbm5lbD1m + YWxzZVx1MDAyNmh0bWw1X213ZWJfY2xpZW50X2NhcD10cnVlXHUwMDI2dXNl + X3N1cnZleV9za2lwX2luXzBzPXRydWVcdTAwMjZodG1sNV9zdGFsZV9kYXNo + X21hbmlmZXN0X3JldHJ5X2ZhY3Rvcj0xLjBcdTAwMjZodG1sNV9yZXF1ZXN0 + X3NpemVfbWluX3NlY3M9MC4wXHUwMDI2aHRtbDVfdGltZXVwZGF0ZV9yZWFk + eXN0YXRlX2NoZWNrPXRydWVcdTAwMjZodG1sNV9wbGF0Zm9ybV9taW5pbXVt + X3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNmRvdWJsZWNsaWNrX2dwdF9y + ZXRhZ2dpbmc9dHJ1ZVx1MDAyNmh0bWw1X3NlcnZlcnNpZGVfYmlzY290dGlf + aWRfd2FpdF9tcz0xMDAwXHUwMDI2aW9zX2Rpc2FibGVfbm90aWZpY2F0aW9u + X3ByZXByb21wdD10cnVlXHUwMDI2aHRtbDVfbmV3X2UyZV9sYXRlbmN5X3Ry + YWNraW5nPXRydWVcdTAwMjZkaXNhYmxlX2NhcHRpb25zX3JlZGlyZWN0cz10 + cnVlXHUwMDI2ZW5hYmxlX3JlZF9jYXJwZXRfcDEzbl9zaGVsdmVzPXRydWVc + dTAwMjZodG1sNV9kaXNhYmxlX21vdmVfcHNzaF90b19tb292PXRydWVcdTAw + MjZpbmZvX2JveF9mb3JfcHJvbW90ZXNfdGVycm9yaXNtX3JlcG9ydGluZz10 + cnVlXHUwMDI2aHRtbDVfd2lkZXZpbmVfcm9idXN0bmVzc19zdHJpbmdzPXRy + dWVcdTAwMjZlbmFibGVfcGxheWxpc3RfbXVsdGlfc2Vhc29uPXRydWVcdTAw + MjZodG1sNV9zZXJ2ZXJzaWRlX2NhbGxfc2VydmVyX29uX2Jpc2NvdHRpX2Vy + cm9yPXRydWVcdTAwMjZkZXByZWNhdGVfZ2V0X3ZpZGVvX21ldGFkYXRhPXRy + dWVcdTAwMjZodG1sNV90aHJvdHRsZV9idXJzdF9zZWNzPTE1LjBcdTAwMjZl + bmFibGVfYWZ2X2Rpdl9yZXNldF9pbl9rZXZsYXI9dHJ1ZVx1MDAyNmh0bWw1 + X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGU9MTVcdTAwMjZodG1s + NV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb249MC4wXHUwMDI2aHRtbDVf + bXNpX2Vycm9yX2ZhbGxiYWNrPXRydWVcdTAwMjZhZF9kdXJhdGlvbl90aHJl + c2hvbGRfZm9yX3Nob3dpbmdfZW5kY2FwX3NlY29uZHM9MTVcdTAwMjZodG1s + NV9pZ25vcmVfYmFkX2JpdHJhdGVzPXRydWVcdTAwMjZodG1sNV9taW5pbXVt + X3JlYWRhaGVhZF9zZWNvbmRzPTAuMFx1MDAyNnlvdXR1YmVpX2Zvcl93ZWI9 + dHJ1ZVx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc19ub19yZWR1bmRhbnRfc2Vl + a190b19oZWFkPXRydWVcdTAwMjZodG1sNV9saWNlbnNlX2NvbnN0cmFpbnRf + ZGVsYXk9NTAwMFx1MDAyNnNldF9pbnRlcnN0aXRpYWxfc3RhcnRfYnV0dG9u + PXRydWVcdTAwMjZtcHVfdmlzaWJsZV90aHJlc2hvbGRfY291bnQ9Mlx1MDAy + NnNob3dfdGh1bWJuYWlsX29uX3N0YW5kYXJkPXRydWVcdTAwMjZ5dG9fZW5h + YmxlX3l0cl9wcm9tb19yZWZyZXNoX2Fzc2V0cz10cnVlXHUwMDI2aHRtbDVf + c3RpY2t5X3JlZHVjZXNfZGlzY291bnRfYnk9MC4wXHUwMDI2a2lkc19hc3Nl + dF90aGVtZT1zZXJ2ZXJfc2lkZV9hc3NldHNcdTAwMjZodG1sNV9yZXN0cmlj + dF9zdHJlYW1pbmdfeGhyX29uX3NxbGVzc19yZXF1ZXN0cz10cnVlXHUwMDI2 + ZW5hYmxlX3BsdXNfcGFnZV9wdHM9dHJ1ZVx1MDAyNmRpc2FibGVfc2V0X2F3 + ZXNvbWVfaHRtbDU9dHJ1ZVx1MDAyNnJlcG9ydF9wcm9tb3Rlc190ZXJyb3Jp + c21faW9zPXRydWVcdTAwMjZzZW5kX2h0bWw1X2FwaV9zdGF0c19hZHNfYWJh + bmRvbj10cnVlXHUwMDI2aHRtbDVfcGlwZWxpbmVfdWx0cmFfbG93X2xhdGVu + Y3k9dHJ1ZVx1MDAyNnJlcG9ydF9wcm9tb3Rlc190ZXJyb3Jpc21fcG9seW1l + cj10cnVlXHUwMDI2aHRtbDVfbGl2ZV9waW5fdG9fdGFpbD10cnVlXHUwMDI2 + a2lkc19lbmFibGVfZXhpc3RpbmdfbWFya2V0aW5nX3JlYnJhbmQ9dHJ1ZVx1 + MDAyNmh0bWw1X21heF9oZWFkbV9mb3Jfc3RyZWFtaW5nX3hocj0wIiwiZW5h + YmxlY3NpIjoiMSIsIm1wdSI6dHJ1ZSwidmlkZW9zdGF0c19wbGF5YmFja19i + YXNlX3VybCI6Imh0dHBzOlwvXC9zLnlvdXR1YmUuY29tXC9hcGlcL3N0YXRz + XC9wbGF5YmFjaz9laT13OE5UV29MMkY0dW5od2Ixa0tYUUNBXHUwMDI2ZWw9 + ZGV0YWlscGFnZVx1MDAyNm5zPXl0XHUwMDI2ZG9jaWQ9UU9DYWFjTzh3dXNc + dTAwMjZsZW49MzU3XHUwMDI2dm09Q0FFUUFSZ0VcdTAwMjZvZj1Za29JWVF0 + eEpJYWlkWl94bGhZV3VBXHUwMDI2Y2w9MTgwOTYyODM4XHUwMDI2cGxpZD1B + QVZpU0tYZVZJQW04UEF5XHUwMDI2ZmV4cD0yMzcwMTAxOSUyQzIzNzA0ODQ2 + JTJDMjM3MDU3MzklMkMyMzcwNzY2NSUyQzIzNzA4OTA0JTJDMjM3MDg5MDYl + MkMyMzcwODkxMCUyQzIzNzEwNDc2JTJDMjM3MTM3MTElMkMyMzcxMzg4OSUy + QzIzNzE1NTAxJTJDMjM3MTU2MTElMkMyMzcxNTkwOCUyQzIzNzE2MTE5JTJD + MjM3MTYyNTclMkMyMzcxNjY5NCUyQzIzNzE2OTczJTJDMjM3MTcwMDAlMkMy + MzcxNzA3MiUyQzIzNzE4MzMyJTJDMjM3MTg0ODYlMkMyMzcxOTAzNCUyQzIz + NzE5ODE3JTJDOTQyMjU5NiUyQzk0MzE3NTQlMkM5NDM4MDY3JTJDOTQ0OTI0 + MyUyQzk0NTI2NDMlMkM5NDYwMTcyJTJDOTQ3MTIzOSUyQzk0NzQ1OTQlMkM5 + NDc1NjgyJTJDOTQ3NjMyNyUyQzk0NzY0MDglMkM5NDg0MjM3JTJDOTQ4NDM0 + NCUyQzk0ODUwMDAlMkM5NDg3MjA2Iiwib2YiOiJZa29JWVF0eEpJYWlkWl94 + bGhZV3VBIiwiZ3B0X21pZ3JhdGlvbiI6IjEiLCJtcHZpZCI6Ims3aVNFU25Z + a0Y2RTFtWlEiLCJzZXJpYWxpemVkX2FkX3V4X2NvbmZpZyI6IltbbnVsbCxu + dWxsLFsxLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwxLG51bGwsXCJUaGFu + a3MgZm9yIHlvdXIgZmVlZGJhY2shXCIsbnVsbCxudWxsLG51bGwsMV1dXSIs + ImZleHAiOiIyMzcwMTAxOSwyMzcwNDg0NiwyMzcwNTczOSwyMzcwNzY2NSwy + MzcwODkwNCwyMzcwODkwNiwyMzcwODkxMCwyMzcxMDQ3NiwyMzcxMzcxMSwy + MzcxMzg4OSwyMzcxNTUwMSwyMzcxNTYxMSwyMzcxNTkwOCwyMzcxNjExOSwy + MzcxNjI1NywyMzcxNjY5NCwyMzcxNjk3MywyMzcxNzAwMCwyMzcxNzA3Miwy + MzcxODMzMiwyMzcxODQ4NiwyMzcxOTAzNCwyMzcxOTgxNyw5NDIyNTk2LDk0 + MzE3NTQsOTQzODA2Nyw5NDQ5MjQzLDk0NTI2NDMsOTQ2MDE3Miw5NDcxMjM5 + LDk0NzQ1OTQsOTQ3NTY4Miw5NDc2MzI3LDk0NzY0MDgsOTQ4NDIzNyw5NDg0 + MzQ0LDk0ODUwMDAsOTQ4NzIwNiIsInBwdl9yZW1hcmtldGluZ191cmwiOiJo + dHRwczpcL1wvd3d3Lmdvb2dsZWFkc2VydmljZXMuY29tXC9wYWdlYWRcL2Nv + bnZlcnNpb25cLzk3MTEzNDA3MFwvP2JhY2tlbmQ9aW5uZXJ0dWJlXHUwMDI2 + Y25hbWU9MVx1MDAyNmN2ZXI9MV8yMDE4MDEwNFx1MDAyNmRhdGE9YmFja2Vu + ZCUzRGlubmVydHViZSUzQmNuYW1lJTNEMSUzQmN2ZXIlM0QxXzIwMTgwMTA0 + JTNCZGFjdGl2ZSUzRE5vbmUlM0JkeW54X2l0ZW1pZCUzRFFPQ2FhY084d3Vz + JTNCcHR5cGUlM0RwcHZcdTAwMjZsYWJlbD1pdVpVQ0xtQzcyWVE5cWlKendN + XHUwMDI2cHR5cGU9cHB2XHUwMDI2dmFsdWU9MC4wODEiLCJhZGFwdGl2ZV9m + bXRzIjoicXVhbGl0eV9sYWJlbD0xMDgwcFx1MDAyNmxtdD0xNTA3MjkwNTk4 + MTY0MTk0XHUwMDI2ZnBzPTI1XHUwMDI2c2l6ZT0xOTIweDEwODBcdTAwMjZ4 + dGFncz1cdTAwMjZpbmRleD03MTYtMTU4N1x1MDAyNmluaXQ9MC03MTVcdTAw + MjZ0eXBlPXZpZGVvJTJGbXA0JTNCK2NvZGVjcyUzRCUyMmF2YzEuNjQwMDI4 + JTIyXHUwMDI2aXRhZz0xMzdcdTAwMjZwcm9qZWN0aW9uX3R5cGU9MVx1MDAy + NnVybD1odHRwcyUzQSUyRiUyRnI2LS0tc24tOHhncDF2by14Zmd6Lmdvb2ds + ZXZpZGVvLmNvbSUyRnZpZGVvcGxheWJhY2slM0ZpdGFnJTNEMTM3JTI2ZWkl + M0R3OE5UV29MMkY0dW5od2Ixa0tYUUNBJTI2bWltZSUzRHZpZGVvJTI1MkZt + cDQlMjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQl + M0QxNTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNEM0NCOTU3OUFCRjkzM0UxMjlG + MTRERDI2NERBMEFCOUVEOTkxMTE4My4wM0MwNkVENkJGNUJDQThGNUQyQjY2 + MTNCMzQ3RjA2QjI0QTg2M0EwJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4l + M0Q0MDg1MDk0MiUyNm1zJTNEYXUlMjZwY20yY21zJTNEeWVzJTI2a2VlcGFs + aXZlJTNEeWVzJTI2bXYlM0RtJTI2c291cmNlJTNEeW91dHViZSUyNnBsJTNE + MjQlMjZhaXRhZ3MlM0QxMzMlMjUyQzEzNCUyNTJDMTM1JTI1MkMxMzYlMjUy + QzEzNyUyNTJDMTYwJTI1MkMyNDIlMjUyQzI0MyUyNTJDMjQ0JTI1MkMyNDcl + MjUyQzI0OCUyNTJDMjc4JTI2ZHVyJTNEMzU2LjM2MCUyNmxtdCUzRDE1MDcy + OTA1OTgxNjQxOTQlMjZpcCUzRDEwOC4yMS4xOTIuMTg2JTI2aWQlM0RvLUFB + dE9nZjZSY1NSbjA4RGdHb2RzQ3FPeXNueVAyOUM0d3dZRnJua1hDNExOJTI2 + bW4lM0Rzbi04eGdwMXZvLXhmZ3olMjZtbSUzRDMxJTI2Z2lyJTNEeWVzJTI2 + a2V5JTNEeXQ2JTI2ZXhwaXJlJTNEMTUxNTQ2MDY0MyUyNnNwYXJhbXMlM0Rh + aXRhZ3MlMjUyQ2NsZW4lMjUyQ2R1ciUyNTJDZWklMjUyQ2dpciUyNTJDaWQl + MjUyQ2luaXRjd25kYnBzJTI1MkNpcCUyNTJDaXBiaXRzJTI1MkNpdGFnJTI1 + MkNrZWVwYWxpdmUlMjUyQ2xtdCUyNTJDbWltZSUyNTJDbW0lMjUyQ21uJTI1 + MkNtcyUyNTJDbXYlMjUyQ3BjbTJjbXMlMjUyQ3BsJTI1MkNyZXF1aXJlc3Ns + JTI1MkNzb3VyY2UlMjUyQ2V4cGlyZVx1MDAyNmJpdHJhdGU9MzcyMzE3NVx1 + MDAyNmNsZW49NDA4NTA5NDIscXVhbGl0eV9sYWJlbD0xMDgwcFx1MDAyNmxt + dD0xNDQ5NTY5MDMyMzkyMjMwXHUwMDI2ZnBzPTI1XHUwMDI2c2l6ZT0xOTIw + eDEwODBcdTAwMjZ4dGFncz1cdTAwMjZpbmRleD0yNDMtMTQ3MVx1MDAyNmlu + aXQ9MC0yNDJcdTAwMjZ0eXBlPXZpZGVvJTJGd2VibSUzQitjb2RlY3MlM0Ql + MjJ2cDklMjJcdTAwMjZpdGFnPTI0OFx1MDAyNnByb2plY3Rpb25fdHlwZT0x + XHUwMDI2dXJsPWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ou + Z29vZ2xldmlkZW8uY29tJTJGdmlkZW9wbGF5YmFjayUzRml0YWclM0QyNDgl + MjZlaSUzRHc4TlRXb0wyRjR1bmh3YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8l + MjUyRndlYm0lMjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0Qw + JTI2bXQlM0QxNTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNEQTc2QjY0QzNGRDdB + NjgzQkM2NjU4QTA2MEIwN0Q2NjdFNTY5Mjk1OS4xRDRFMzI1RTMyNjE4Mjg4 + ODE5NDQ1OUMyREVFMDA3REQ1QUZFREE1JTI2cmVxdWlyZXNzbCUzRHllcyUy + NmNsZW4lM0Q1NDk3Mzg5OCUyNm1zJTNEYXUlMjZwY20yY21zJTNEeWVzJTI2 + a2VlcGFsaXZlJTNEeWVzJTI2bXYlM0RtJTI2c291cmNlJTNEeW91dHViZSUy + NnBsJTNEMjQlMjZhaXRhZ3MlM0QxMzMlMjUyQzEzNCUyNTJDMTM1JTI1MkMx + MzYlMjUyQzEzNyUyNTJDMTYwJTI1MkMyNDIlMjUyQzI0MyUyNTJDMjQ0JTI1 + MkMyNDclMjUyQzI0OCUyNTJDMjc4JTI2ZHVyJTNEMzU2LjMyMCUyNmxtdCUz + RDE0NDk1NjkwMzIzOTIyMzAlMjZpcCUzRDEwOC4yMS4xOTIuMTg2JTI2aWQl + M0RvLUFBdE9nZjZSY1NSbjA4RGdHb2RzQ3FPeXNueVAyOUM0d3dZRnJua1hD + NExOJTI2bW4lM0Rzbi04eGdwMXZvLXhmZ3olMjZtbSUzRDMxJTI2Z2lyJTNE + eWVzJTI2a2V5JTNEeXQ2JTI2ZXhwaXJlJTNEMTUxNTQ2MDY0MyUyNnNwYXJh + bXMlM0RhaXRhZ3MlMjUyQ2NsZW4lMjUyQ2R1ciUyNTJDZWklMjUyQ2dpciUy + NTJDaWQlMjUyQ2luaXRjd25kYnBzJTI1MkNpcCUyNTJDaXBiaXRzJTI1MkNp + dGFnJTI1MkNrZWVwYWxpdmUlMjUyQ2xtdCUyNTJDbWltZSUyNTJDbW0lMjUy + Q21uJTI1MkNtcyUyNTJDbXYlMjUyQ3BjbTJjbXMlMjUyQ3BsJTI1MkNyZXF1 + aXJlc3NsJTI1MkNzb3VyY2UlMjUyQ2V4cGlyZVx1MDAyNmJpdHJhdGU9MjQx + ODk5MFx1MDAyNmNsZW49NTQ5NzM4OTgscXVhbGl0eV9sYWJlbD03MjBwXHUw + MDI2bG10PTE1MDcyOTA5MDc5NzQyMTNcdTAwMjZmcHM9MjVcdTAwMjZzaXpl + PTEyODB4NzIwXHUwMDI2eHRhZ3M9XHUwMDI2aW5kZXg9NzE0LTE1ODVcdTAw + MjZpbml0PTAtNzEzXHUwMDI2dHlwZT12aWRlbyUyRm1wNCUzQitjb2RlY3Ml + M0QlMjJhdmMxLjRkNDAxZiUyMlx1MDAyNml0YWc9MTM2XHUwMDI2cHJvamVj + dGlvbl90eXBlPTFcdTAwMjZ1cmw9aHR0cHMlM0ElMkYlMkZyNi0tLXNuLTh4 + Z3Axdm8teGZnei5nb29nbGV2aWRlby5jb20lMkZ2aWRlb3BsYXliYWNrJTNG + aXRhZyUzRDEzNiUyNmVpJTNEdzhOVFdvTDJGNHVuaHdiMWtLWFFDQSUyNm1p + bWUlM0R2aWRlbyUyNTJGbXA0JTI2aW5pdGN3bmRicHMlM0QxMTM3NTAwJTI2 + aXBiaXRzJTNEMCUyNm10JTNEMTUxNTQzODkwNCUyNnNpZ25hdHVyZSUzRDAz + MTk3MUUzODhGOEMwQzU4NkUzMzBFRUU4NDM0MjI3RTk2NkM0QTQuNzQ4NDU5 + NkFCQjQ3RTNDRjRFOEFBRjEwQTVFMTNBM0RFNjJGMjY3MyUyNnJlcXVpcmVz + c2wlM0R5ZXMlMjZjbGVuJTNEMTYxMDkwODUlMjZtcyUzRGF1JTI2cGNtMmNt + cyUzRHllcyUyNmtlZXBhbGl2ZSUzRHllcyUyNm12JTNEbSUyNnNvdXJjZSUz + RHlvdXR1YmUlMjZwbCUzRDI0JTI2YWl0YWdzJTNEMTMzJTI1MkMxMzQlMjUy + QzEzNSUyNTJDMTM2JTI1MkMxMzclMjUyQzE2MCUyNTJDMjQyJTI1MkMyNDMl + MjUyQzI0NCUyNTJDMjQ3JTI1MkMyNDglMjUyQzI3OCUyNmR1ciUzRDM1Ni4z + NjAlMjZsbXQlM0QxNTA3MjkwOTA3OTc0MjEzJTI2aXAlM0QxMDguMjEuMTky + LjE4NiUyNmlkJTNEby1BQXRPZ2Y2UmNTUm4wOERnR29kc0NxT3lzbnlQMjlD + NHd3WUZybmtYQzRMTiUyNm1uJTNEc24tOHhncDF2by14Zmd6JTI2bW0lM0Qz + MSUyNmdpciUzRHllcyUyNmtleSUzRHl0NiUyNmV4cGlyZSUzRDE1MTU0NjA2 + NDMlMjZzcGFyYW1zJTNEYWl0YWdzJTI1MkNjbGVuJTI1MkNkdXIlMjUyQ2Vp + JTI1MkNnaXIlMjUyQ2lkJTI1MkNpbml0Y3duZGJwcyUyNTJDaXAlMjUyQ2lw + Yml0cyUyNTJDaXRhZyUyNTJDa2VlcGFsaXZlJTI1MkNsbXQlMjUyQ21pbWUl + MjUyQ21tJTI1MkNtbiUyNTJDbXMlMjUyQ212JTI1MkNwY20yY21zJTI1MkNw + bCUyNTJDcmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNleHBpcmVcdTAwMjZi + aXRyYXRlPTE5MDM3MDdcdTAwMjZjbGVuPTE2MTA5MDg1LHF1YWxpdHlfbGFi + ZWw9NzIwcFx1MDAyNmxtdD0xNDQ5NTY5MDQ5NDg1Njc2XHUwMDI2ZnBzPTI1 + XHUwMDI2c2l6ZT0xMjgweDcyMFx1MDAyNnh0YWdzPVx1MDAyNmluZGV4PTI0 + My0xNDM0XHUwMDI2aW5pdD0wLTI0Mlx1MDAyNnR5cGU9dmlkZW8lMkZ3ZWJt + JTNCK2NvZGVjcyUzRCUyMnZwOSUyMlx1MDAyNml0YWc9MjQ3XHUwMDI2cHJv + amVjdGlvbl90eXBlPTFcdTAwMjZ1cmw9aHR0cHMlM0ElMkYlMkZyNi0tLXNu + LTh4Z3Axdm8teGZnei5nb29nbGV2aWRlby5jb20lMkZ2aWRlb3BsYXliYWNr + JTNGaXRhZyUzRDI0NyUyNmVpJTNEdzhOVFdvTDJGNHVuaHdiMWtLWFFDQSUy + Nm1pbWUlM0R2aWRlbyUyNTJGd2VibSUyNmluaXRjd25kYnBzJTNEMTEzNzUw + MCUyNmlwYml0cyUzRDAlMjZtdCUzRDE1MTU0Mzg5MDQlMjZzaWduYXR1cmUl + M0QxQkZEMzAzNUQ5RTIyNTVFQjBGRUIxMTcwQUU5RjdBREUwREMyNjlDLjkx + Q0NFNkE2RTE4MTg4Mzk2QjdCQUQzM0YyMUQ1MUQyRjQ0RTMxNjglMjZyZXF1 + aXJlc3NsJTNEeWVzJTI2Y2xlbiUzRDIwNzcxOTg5JTI2bXMlM0RhdSUyNnBj + bTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUlM0R5ZXMlMjZtdiUzRG0lMjZzb3Vy + Y2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmFpdGFncyUzRDEzMyUyNTJDMTM0 + JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3JTI1MkMxNjAlMjUyQzI0MiUyNTJD + MjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJDMjQ4JTI1MkMyNzglMjZkdXIlM0Qz + NTYuMzIwJTI2bG10JTNEMTQ0OTU2OTA0OTQ4NTY3NiUyNmlwJTNEMTA4LjIx + LjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1JuMDhEZ0dvZHNDcU95c255 + UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4Z3Axdm8teGZneiUyNm1t + JTNEMzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYlMjZleHBpcmUlM0QxNTE1 + NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFncyUyNTJDY2xlbiUyNTJDZHVyJTI1 + MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5pdGN3bmRicHMlMjUyQ2lwJTI1 + MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tlZXBhbGl2ZSUyNTJDbG10JTI1MkNt + aW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21zJTI1MkNtdiUyNTJDcGNtMmNtcyUy + NTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUyQ3NvdXJjZSUyNTJDZXhwaXJlXHUw + MDI2Yml0cmF0ZT0xNDA5NzI2XHUwMDI2Y2xlbj0yMDc3MTk4OSxxdWFsaXR5 + X2xhYmVsPTQ4MHBcdTAwMjZsbXQ9MTUwNzI5MDY3MTk4NDg0NFx1MDAyNmZw + cz0yNVx1MDAyNnNpemU9ODU0eDQ4MFx1MDAyNnh0YWdzPVx1MDAyNmluZGV4 + PTcxNS0xNTg2XHUwMDI2aW5pdD0wLTcxNFx1MDAyNnR5cGU9dmlkZW8lMkZt + cDQlM0IrY29kZWNzJTNEJTIyYXZjMS40ZDQwMWUlMjJcdTAwMjZpdGFnPTEz + NVx1MDAyNnByb2plY3Rpb25fdHlwZT0xXHUwMDI2dXJsPWh0dHBzJTNBJTJG + JTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29vZ2xldmlkZW8uY29tJTJGdmlk + ZW9wbGF5YmFjayUzRml0YWclM0QxMzUlMjZlaSUzRHc4TlRXb0wyRjR1bmh3 + YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8lMjUyRm1wNCUyNmluaXRjd25kYnBz + JTNEMTEzNzUwMCUyNmlwYml0cyUzRDAlMjZtdCUzRDE1MTU0Mzg5MDQlMjZz + aWduYXR1cmUlM0QyQjJFQTdFMDYyMTAxODJEMTVBRUE3RjhBQzQ3M0RCRTFD + QjMzODU5LjczNDdBOUQwNzM2OTRGMjlEREI1NEFBMzRFQTc0QjU3Qzc5RUNB + NzUlMjZyZXF1aXJlc3NsJTNEeWVzJTI2Y2xlbiUzRDk0NDYzNjUlMjZtcyUz + RGF1JTI2cGNtMmNtcyUzRHllcyUyNmtlZXBhbGl2ZSUzRHllcyUyNm12JTNE + bSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZwbCUzRDI0JTI2YWl0YWdzJTNEMTMz + JTI1MkMxMzQlMjUyQzEzNSUyNTJDMTM2JTI1MkMxMzclMjUyQzE2MCUyNTJD + MjQyJTI1MkMyNDMlMjUyQzI0NCUyNTJDMjQ3JTI1MkMyNDglMjUyQzI3OCUy + NmR1ciUzRDM1Ni4zNjAlMjZsbXQlM0QxNTA3MjkwNjcxOTg0ODQ0JTI2aXAl + M0QxMDguMjEuMTkyLjE4NiUyNmlkJTNEby1BQXRPZ2Y2UmNTUm4wOERnR29k + c0NxT3lzbnlQMjlDNHd3WUZybmtYQzRMTiUyNm1uJTNEc24tOHhncDF2by14 + Zmd6JTI2bW0lM0QzMSUyNmdpciUzRHllcyUyNmtleSUzRHl0NiUyNmV4cGly + ZSUzRDE1MTU0NjA2NDMlMjZzcGFyYW1zJTNEYWl0YWdzJTI1MkNjbGVuJTI1 + MkNkdXIlMjUyQ2VpJTI1MkNnaXIlMjUyQ2lkJTI1MkNpbml0Y3duZGJwcyUy + NTJDaXAlMjUyQ2lwYml0cyUyNTJDaXRhZyUyNTJDa2VlcGFsaXZlJTI1MkNs + bXQlMjUyQ21pbWUlMjUyQ21tJTI1MkNtbiUyNTJDbXMlMjUyQ212JTI1MkNw + Y20yY21zJTI1MkNwbCUyNTJDcmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNl + eHBpcmVcdTAwMjZiaXRyYXRlPTExODc0OTJcdTAwMjZjbGVuPTk0NDYzNjUs + cXVhbGl0eV9sYWJlbD00ODBwXHUwMDI2bG10PTE0NDk1NjkwNDkyOTI5Mzhc + dTAwMjZmcHM9MjVcdTAwMjZzaXplPTg1NHg0ODBcdTAwMjZ4dGFncz1cdTAw + MjZpbmRleD0yNDMtMTQyM1x1MDAyNmluaXQ9MC0yNDJcdTAwMjZ0eXBlPXZp + ZGVvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJ2cDklMjJcdTAwMjZpdGFnPTI0 + NFx1MDAyNnByb2plY3Rpb25fdHlwZT0xXHUwMDI2dXJsPWh0dHBzJTNBJTJG + JTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29vZ2xldmlkZW8uY29tJTJGdmlk + ZW9wbGF5YmFjayUzRml0YWclM0QyNDQlMjZlaSUzRHc4TlRXb0wyRjR1bmh3 + YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8lMjUyRndlYm0lMjZpbml0Y3duZGJw + cyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQlM0QxNTE1NDM4OTA0JTI2 + c2lnbmF0dXJlJTNEQ0MxRkZFNkUwN0IzNEYwODFGNEUyNTI5QUQ0NTg1OThB + NUE4QTZCRS41Njc4RjJDNUZENTkxRUUyNDA0M0FFQkYwMzY4QjA5QzFDQTBG + NzdBJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4lM0Q5NzgzNDc5JTI2bXMl + M0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUlM0R5ZXMlMjZtdiUz + RG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmFpdGFncyUzRDEz + MyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3JTI1MkMxNjAlMjUy + QzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJDMjQ4JTI1MkMyNzgl + MjZkdXIlM0QzNTYuMzIwJTI2bG10JTNEMTQ0OTU2OTA0OTI5MjkzOCUyNmlw + JTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1JuMDhEZ0dv + ZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4Z3Axdm8t + eGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYlMjZleHBp + cmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFncyUyNTJDY2xlbiUy + NTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5pdGN3bmRicHMl + MjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tlZXBhbGl2ZSUyNTJD + bG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21zJTI1MkNtdiUyNTJD + cGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUyQ3NvdXJjZSUyNTJD + ZXhwaXJlXHUwMDI2Yml0cmF0ZT03Mzg0MDlcdTAwMjZjbGVuPTk3ODM0Nzks + cXVhbGl0eV9sYWJlbD0zNjBwXHUwMDI2bG10PTE1MDcyOTA2NzE3OTIxOTVc + dTAwMjZmcHM9MjVcdTAwMjZzaXplPTY0MHgzNjBcdTAwMjZ4dGFncz1cdTAw + MjZpbmRleD03MTUtMTU4Nlx1MDAyNmluaXQ9MC03MTRcdTAwMjZ0eXBlPXZp + ZGVvJTJGbXA0JTNCK2NvZGVjcyUzRCUyMmF2YzEuNGQ0MDFlJTIyXHUwMDI2 + aXRhZz0xMzRcdTAwMjZwcm9qZWN0aW9uX3R5cGU9MVx1MDAyNnVybD1odHRw + cyUzQSUyRiUyRnI2LS0tc24tOHhncDF2by14Zmd6Lmdvb2dsZXZpZGVvLmNv + bSUyRnZpZGVvcGxheWJhY2slM0ZpdGFnJTNEMTM0JTI2ZWklM0R3OE5UV29M + MkY0dW5od2Ixa0tYUUNBJTI2bWltZSUzRHZpZGVvJTI1MkZtcDQlMjZpbml0 + Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQlM0QxNTE1NDM4 + OTA0JTI2c2lnbmF0dXJlJTNEQzFFOUEyNkE2NkNGMUVBNTU1MUVCQ0E2M0I5 + RDBBMzNCQTFFNDQ1Qy43OTlCMzE4M0U5QTJGRTFEMEE5NDU0MEQ0NjY3RTJB + RjI4MTk5MDk5JTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4lM0Q1NDc2OTEw + JTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUlM0R5ZXMl + MjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmFpdGFn + cyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3JTI1MkMx + NjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJDMjQ4JTI1 + MkMyNzglMjZkdXIlM0QzNTYuMzYwJTI2bG10JTNEMTUwNzI5MDY3MTc5MjE5 + NSUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1Ju + MDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4 + Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYl + MjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFncyUyNTJD + Y2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5pdGN3 + bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tlZXBhbGl2 + ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21zJTI1MkNt + diUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUyQ3NvdXJj + ZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT02MjU2NTlcdTAwMjZjbGVuPTU0 + NzY5MTAscXVhbGl0eV9sYWJlbD0zNjBwXHUwMDI2bG10PTE0NDk1NjkwNDky + MjczOTFcdTAwMjZmcHM9MjVcdTAwMjZzaXplPTY0MHgzNjBcdTAwMjZ4dGFn + cz1cdTAwMjZpbmRleD0yNDMtMTQyM1x1MDAyNmluaXQ9MC0yNDJcdTAwMjZ0 + eXBlPXZpZGVvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJ2cDklMjJcdTAwMjZp + dGFnPTI0M1x1MDAyNnByb2plY3Rpb25fdHlwZT0xXHUwMDI2dXJsPWh0dHBz + JTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29vZ2xldmlkZW8uY29t + JTJGdmlkZW9wbGF5YmFjayUzRml0YWclM0QyNDMlMjZlaSUzRHc4TlRXb0wy + RjR1bmh3YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8lMjUyRndlYm0lMjZpbml0 + Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQlM0QxNTE1NDM4 + OTA0JTI2c2lnbmF0dXJlJTNEMzEyOTdCMzc4N0VGRjBBQjgzQTJGQjFDRjRG + NEFBOEYzRDM5NzUyQy43QzQ3RDE5NDExNkZENEVFREUwOUY4MkJENUE2ODVD + QjhDQ0QwNTJDJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4lM0Q2MzU5NjE5 + JTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUlM0R5ZXMl + MjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUyNmFpdGFn + cyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3JTI1MkMx + NjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJDMjQ4JTI1 + MkMyNzglMjZkdXIlM0QzNTYuMzIwJTI2bG10JTNEMTQ0OTU2OTA0OTIyNzM5 + MSUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1Ju + MDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4 + Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYl + MjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFncyUyNTJD + Y2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5pdGN3 + bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tlZXBhbGl2 + ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21zJTI1MkNt + diUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUyQ3NvdXJj + ZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT00MjMzOTZcdTAwMjZjbGVuPTYz + NTk2MTkscXVhbGl0eV9sYWJlbD0yNDBwXHUwMDI2bG10PTE1MDcyOTA2NzE3 + OTEzODZcdTAwMjZmcHM9MjVcdTAwMjZzaXplPTQyNngyNDBcdTAwMjZ4dGFn + cz1cdTAwMjZpbmRleD03MTQtMTU4NVx1MDAyNmluaXQ9MC03MTNcdTAwMjZ0 + eXBlPXZpZGVvJTJGbXA0JTNCK2NvZGVjcyUzRCUyMmF2YzEuNGQ0MDE1JTIy + XHUwMDI2aXRhZz0xMzNcdTAwMjZwcm9qZWN0aW9uX3R5cGU9MVx1MDAyNnVy + bD1odHRwcyUzQSUyRiUyRnI2LS0tc24tOHhncDF2by14Zmd6Lmdvb2dsZXZp + ZGVvLmNvbSUyRnZpZGVvcGxheWJhY2slM0ZpdGFnJTNEMTMzJTI2ZWklM0R3 + OE5UV29MMkY0dW5od2Ixa0tYUUNBJTI2bWltZSUzRHZpZGVvJTI1MkZtcDQl + MjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQlM0Qx + NTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNENUJFRjI5NzdGODZENTc4RDUwQTlD + QjUyODVENjE0RDUwQjNGQjE3RS5BNzE5QUZGQjg1NTdEQzRFQkFCOEY2QThB + ODI1MTgwNDg1MUI5NDA4JTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4lM0Qy + NTQ4NDQxJTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUl + M0R5ZXMlMjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUy + NmFpdGFncyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3 + JTI1MkMxNjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJD + MjQ4JTI1MkMyNzglMjZkdXIlM0QzNTYuMzYwJTI2bG10JTNEMTUwNzI5MDY3 + MTc5MTM4NiUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dm + NlJjU1JuMDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUz + RHNuLTh4Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXkl + M0R5dDYlMjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFn + cyUyNTJDY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJD + aW5pdGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tl + ZXBhbGl2ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21z + JTI1MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUy + Q3NvdXJjZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT0yMzY0NjdcdTAwMjZj + bGVuPTI1NDg0NDEscXVhbGl0eV9sYWJlbD0yNDBwXHUwMDI2bG10PTE0NDk1 + NjkwNDkyMDI3NTdcdTAwMjZmcHM9MjVcdTAwMjZzaXplPTQyNngyNDBcdTAw + MjZ4dGFncz1cdTAwMjZpbmRleD0yNDItMTQyMVx1MDAyNmluaXQ9MC0yNDFc + dTAwMjZ0eXBlPXZpZGVvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJ2cDklMjJc + dTAwMjZpdGFnPTI0Mlx1MDAyNnByb2plY3Rpb25fdHlwZT0xXHUwMDI2dXJs + PWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29vZ2xldmlk + ZW8uY29tJTJGdmlkZW9wbGF5YmFjayUzRml0YWclM0QyNDIlMjZlaSUzRHc4 + TlRXb0wyRjR1bmh3YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8lMjUyRndlYm0l + MjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2bXQlM0Qx + NTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNEQzY2OTBGNTE2RkY3REFFRjE4MTZD + NDBEOTk2NUY5NjMwRTQ3M0QxMy44NTBENTQ5NzU5OEQ2RDhCRjM3NjFBMTQw + MEI5ODNGNTk5MjZFNkVFJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNsZW4lM0Qz + ODI5Nzg0JTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVwYWxpdmUl + M0R5ZXMlMjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwlM0QyNCUy + NmFpdGFncyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUyNTJDMTM3 + JTI1MkMxNjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0NyUyNTJD + MjQ4JTI1MkMyNzglMjZkdXIlM0QzNTYuMzIwJTI2bG10JTNEMTQ0OTU2OTA0 + OTIwMjc1NyUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8tQUF0T2dm + NlJjU1JuMDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4lMjZtbiUz + RHNuLTh4Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMlMjZrZXkl + M0R5dDYlMjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUzRGFpdGFn + cyUyNTJDY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJD + aW5pdGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tl + ZXBhbGl2ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21z + JTI1MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUy + Q3NvdXJjZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT0yMzQ2NjBcdTAwMjZj + bGVuPTM4Mjk3ODQscXVhbGl0eV9sYWJlbD0xNDRwXHUwMDI2bG10PTE1MDcy + OTA3NDYzMzA2OTJcdTAwMjZmcHM9MjVcdTAwMjZzaXplPTI1NngxNDRcdTAw + MjZ4dGFncz1cdTAwMjZpbmRleD03MTMtMTU4NFx1MDAyNmluaXQ9MC03MTJc + dTAwMjZ0eXBlPXZpZGVvJTJGbXA0JTNCK2NvZGVjcyUzRCUyMmF2YzEuNGQ0 + MDBjJTIyXHUwMDI2aXRhZz0xNjBcdTAwMjZwcm9qZWN0aW9uX3R5cGU9MVx1 + MDAyNnVybD1odHRwcyUzQSUyRiUyRnI2LS0tc24tOHhncDF2by14Zmd6Lmdv + b2dsZXZpZGVvLmNvbSUyRnZpZGVvcGxheWJhY2slM0ZpdGFnJTNEMTYwJTI2 + ZWklM0R3OE5UV29MMkY0dW5od2Ixa0tYUUNBJTI2bWltZSUzRHZpZGVvJTI1 + MkZtcDQlMjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2 + bXQlM0QxNTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNEQkEwODM0OUQ2NTY2OTEx + Q0M0NUFDQUVBQTgxM0IzMTRFQTY3MUI4Ri5EQ0VGMzE3QTM4QjIwRTUwNzk1 + MUM1NzQ4MjREQjQ4QzJENzA2ODQzJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNs + ZW4lM0QxNTIzMjA2JTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVw + YWxpdmUlM0R5ZXMlMjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwl + M0QyNCUyNmFpdGFncyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUy + NTJDMTM3JTI1MkMxNjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0 + NyUyNTJDMjQ4JTI1MkMyNzglMjZkdXIlM0QzNTYuMzYwJTI2bG10JTNEMTUw + NzI5MDc0NjMzMDY5MiUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8t + QUF0T2dmNlJjU1JuMDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4l + MjZtbiUzRHNuLTh4Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMl + MjZrZXklM0R5dDYlMjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUz + RGFpdGFncyUyNTJDY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNp + ZCUyNTJDaW5pdGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWcl + MjUyQ2tlZXBhbGl2ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4l + MjUyQ21zJTI1MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVz + c2wlMjUyQ3NvdXJjZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT0xMTExOTVc + dTAwMjZjbGVuPTE1MjMyMDYscXVhbGl0eV9sYWJlbD0xNDRwXHUwMDI2bG10 + PTE0NDk1NjkwNDkzMDM5MThcdTAwMjZmcHM9MTNcdTAwMjZzaXplPTI1Nngx + NDRcdTAwMjZ4dGFncz1cdTAwMjZpbmRleD0yNDItMTQyMVx1MDAyNmluaXQ9 + MC0yNDFcdTAwMjZ0eXBlPXZpZGVvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJ2 + cDklMjJcdTAwMjZpdGFnPTI3OFx1MDAyNnByb2plY3Rpb25fdHlwZT0xXHUw + MDI2dXJsPWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04eGdwMXZvLXhmZ3ouZ29v + Z2xldmlkZW8uY29tJTJGdmlkZW9wbGF5YmFjayUzRml0YWclM0QyNzglMjZl + aSUzRHc4TlRXb0wyRjR1bmh3YjFrS1hRQ0ElMjZtaW1lJTNEdmlkZW8lMjUy + RndlYm0lMjZpbml0Y3duZGJwcyUzRDExMzc1MDAlMjZpcGJpdHMlM0QwJTI2 + bXQlM0QxNTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNEMjY4RDIyMUJDRkU1QzFB + RUU5M0I0OTcxOUI1RDcwNURBNTVDMEQyRC4zQUUyOTQ1RTU1MEJDMzQ2MTc5 + MTBDMUVEQUVFRkE0RDEzNUZDMERGJTI2cmVxdWlyZXNzbCUzRHllcyUyNmNs + ZW4lM0QyODY1ODgxJTI2bXMlM0RhdSUyNnBjbTJjbXMlM0R5ZXMlMjZrZWVw + YWxpdmUlM0R5ZXMlMjZtdiUzRG0lMjZzb3VyY2UlM0R5b3V0dWJlJTI2cGwl + M0QyNCUyNmFpdGFncyUzRDEzMyUyNTJDMTM0JTI1MkMxMzUlMjUyQzEzNiUy + NTJDMTM3JTI1MkMxNjAlMjUyQzI0MiUyNTJDMjQzJTI1MkMyNDQlMjUyQzI0 + NyUyNTJDMjQ4JTI1MkMyNzglMjZkdXIlM0QzNTYuMzIwJTI2bG10JTNEMTQ0 + OTU2OTA0OTMwMzkxOCUyNmlwJTNEMTA4LjIxLjE5Mi4xODYlMjZpZCUzRG8t + QUF0T2dmNlJjU1JuMDhEZ0dvZHNDcU95c255UDI5QzR3d1lGcm5rWEM0TE4l + MjZtbiUzRHNuLTh4Z3Axdm8teGZneiUyNm1tJTNEMzElMjZnaXIlM0R5ZXMl + MjZrZXklM0R5dDYlMjZleHBpcmUlM0QxNTE1NDYwNjQzJTI2c3BhcmFtcyUz + RGFpdGFncyUyNTJDY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNp + ZCUyNTJDaW5pdGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWcl + MjUyQ2tlZXBhbGl2ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4l + MjUyQ21zJTI1MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVz + c2wlMjUyQ3NvdXJjZSUyNTJDZXhwaXJlXHUwMDI2Yml0cmF0ZT0xMDExODJc + dTAwMjZjbGVuPTI4NjU4ODEsYml0cmF0ZT0xMjgyNzlcdTAwMjZ4dGFncz1c + dTAwMjZpbmRleD01OTItMTA1NVx1MDAyNmxtdD0xNTA3MjkwNjM5NzYxMTE1 + XHUwMDI2cHJvamVjdGlvbl90eXBlPTFcdTAwMjZpbml0PTAtNTkxXHUwMDI2 + Y2xlbj01NjYxNTcwXHUwMDI2aXRhZz0xNDBcdTAwMjZ1cmw9aHR0cHMlM0El + MkYlMkZyNi0tLXNuLTh4Z3Axdm8teGZnei5nb29nbGV2aWRlby5jb20lMkZ2 + aWRlb3BsYXliYWNrJTNGaXRhZyUzRDE0MCUyNmVpJTNEdzhOVFdvTDJGNHVu + aHdiMWtLWFFDQSUyNm1pbWUlM0RhdWRpbyUyNTJGbXA0JTI2aW5pdGN3bmRi + cHMlM0QxMTM3NTAwJTI2aXBiaXRzJTNEMCUyNm10JTNEMTUxNTQzODkwNCUy + NnNpZ25hdHVyZSUzRDYwMzY5ODRCM0UwOEZBM0RCQzBBNkFDRDQ4MjhCRkJE + MTcxOTA3RTcuMjI2QzE3MUUyMkQ0MTAwOTQ0Njk2RjZEMzhGN0I4NkRFQThG + QzdEMSUyNnJlcXVpcmVzc2wlM0R5ZXMlMjZjbGVuJTNENTY2MTU3MCUyNm1z + JTNEYXUlMjZwY20yY21zJTNEeWVzJTI2a2VlcGFsaXZlJTNEeWVzJTI2bXYl + M0RtJTI2c291cmNlJTNEeW91dHViZSUyNnBsJTNEMjQlMjZkdXIlM0QzNTYu + NDI2JTI2bG10JTNEMTUwNzI5MDYzOTc2MTExNSUyNmlwJTNEMTA4LjIxLjE5 + Mi4xODYlMjZpZCUzRG8tQUF0T2dmNlJjU1JuMDhEZ0dvZHNDcU95c255UDI5 + QzR3d1lGcm5rWEM0TE4lMjZtbiUzRHNuLTh4Z3Axdm8teGZneiUyNm1tJTNE + MzElMjZnaXIlM0R5ZXMlMjZrZXklM0R5dDYlMjZleHBpcmUlM0QxNTE1NDYw + NjQzJTI2c3BhcmFtcyUzRGNsZW4lMjUyQ2R1ciUyNTJDZWklMjUyQ2dpciUy + NTJDaWQlMjUyQ2luaXRjd25kYnBzJTI1MkNpcCUyNTJDaXBiaXRzJTI1MkNp + dGFnJTI1MkNrZWVwYWxpdmUlMjUyQ2xtdCUyNTJDbWltZSUyNTJDbW0lMjUy + Q21uJTI1MkNtcyUyNTJDbXYlMjUyQ3BjbTJjbXMlMjUyQ3BsJTI1MkNyZXF1 + aXJlc3NsJTI1MkNzb3VyY2UlMjUyQ2V4cGlyZVx1MDAyNnR5cGU9YXVkaW8l + MkZtcDQlM0IrY29kZWNzJTNEJTIybXA0YS40MC4yJTIyLGJpdHJhdGU9MTI3 + NjE3XHUwMDI2eHRhZ3M9XHUwMDI2aW5kZXg9NDQ1Mi01MDYwXHUwMDI2bG10 + PTE0NDk1Njg4MDE0NTI4MzRcdTAwMjZwcm9qZWN0aW9uX3R5cGU9MVx1MDAy + NmluaXQ9MC00NDUxXHUwMDI2Y2xlbj01MzM4Nzg3XHUwMDI2aXRhZz0xNzFc + dTAwMjZ1cmw9aHR0cHMlM0ElMkYlMkZyNi0tLXNuLTh4Z3Axdm8teGZnei5n + b29nbGV2aWRlby5jb20lMkZ2aWRlb3BsYXliYWNrJTNGaXRhZyUzRDE3MSUy + NmVpJTNEdzhOVFdvTDJGNHVuaHdiMWtLWFFDQSUyNm1pbWUlM0RhdWRpbyUy + NTJGd2VibSUyNmluaXRjd25kYnBzJTNEMTEzNzUwMCUyNmlwYml0cyUzRDAl + MjZtdCUzRDE1MTU0Mzg5MDQlMjZzaWduYXR1cmUlM0REMjZENThDMTNENUQ1 + NzM1Njg5REE0ODNGNzhFNUY0NTBGRjBFNjAzLjdCMzZCNzg4RjM3M0Q1OEMz + MzE3MDJGMTY1QkMzNUFEMjZCRDUzMjQlMjZyZXF1aXJlc3NsJTNEeWVzJTI2 + Y2xlbiUzRDUzMzg3ODclMjZtcyUzRGF1JTI2cGNtMmNtcyUzRHllcyUyNmtl + ZXBhbGl2ZSUzRHllcyUyNm12JTNEbSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZw + bCUzRDI0JTI2ZHVyJTNEMzU2LjM2NyUyNmxtdCUzRDE0NDk1Njg4MDE0NTI4 + MzQlMjZpcCUzRDEwOC4yMS4xOTIuMTg2JTI2aWQlM0RvLUFBdE9nZjZSY1NS + bjA4RGdHb2RzQ3FPeXNueVAyOUM0d3dZRnJua1hDNExOJTI2bW4lM0Rzbi04 + eGdwMXZvLXhmZ3olMjZtbSUzRDMxJTI2Z2lyJTNEeWVzJTI2a2V5JTNEeXQ2 + JTI2ZXhwaXJlJTNEMTUxNTQ2MDY0MyUyNnNwYXJhbXMlM0RjbGVuJTI1MkNk + dXIlMjUyQ2VpJTI1MkNnaXIlMjUyQ2lkJTI1MkNpbml0Y3duZGJwcyUyNTJD + aXAlMjUyQ2lwYml0cyUyNTJDaXRhZyUyNTJDa2VlcGFsaXZlJTI1MkNsbXQl + MjUyQ21pbWUlMjUyQ21tJTI1MkNtbiUyNTJDbXMlMjUyQ212JTI1MkNwY20y + Y21zJTI1MkNwbCUyNTJDcmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNleHBp + cmVcdTAwMjZ0eXBlPWF1ZGlvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJ2b3Ji + aXMlMjIsYml0cmF0ZT01ODEwNVx1MDAyNnh0YWdzPVx1MDAyNmluZGV4PTI3 + Mi04ODBcdTAwMjZsbXQ9MTQ0OTU2ODc5OTAzNjU3MVx1MDAyNnByb2plY3Rp + b25fdHlwZT0xXHUwMDI2aW5pdD0wLTI3MVx1MDAyNmNsZW49MjQxNzUwNVx1 + MDAyNml0YWc9MjQ5XHUwMDI2dXJsPWh0dHBzJTNBJTJGJTJGcjYtLS1zbi04 + eGdwMXZvLXhmZ3ouZ29vZ2xldmlkZW8uY29tJTJGdmlkZW9wbGF5YmFjayUz + Rml0YWclM0QyNDklMjZlaSUzRHc4TlRXb0wyRjR1bmh3YjFrS1hRQ0ElMjZt + aW1lJTNEYXVkaW8lMjUyRndlYm0lMjZpbml0Y3duZGJwcyUzRDExMzc1MDAl + MjZpcGJpdHMlM0QwJTI2bXQlM0QxNTE1NDM4OTA0JTI2c2lnbmF0dXJlJTNE + RENERTQ1OTg2QzYzQzlFNzY5QkUzQzNBNUFBMTlEMEQxMUVGNTVFNC5BRjJB + QjMwNTg2NDY1ODk2NzMwRkE3NDE5QTUxRkNCRjFGQzRDNzZEJTI2cmVxdWly + ZXNzbCUzRHllcyUyNmNsZW4lM0QyNDE3NTA1JTI2bXMlM0RhdSUyNnBjbTJj + bXMlM0R5ZXMlMjZrZWVwYWxpdmUlM0R5ZXMlMjZtdiUzRG0lMjZzb3VyY2Ul + M0R5b3V0dWJlJTI2cGwlM0QyNCUyNmR1ciUzRDM1Ni4zNjElMjZsbXQlM0Qx + NDQ5NTY4Nzk5MDM2NTcxJTI2aXAlM0QxMDguMjEuMTkyLjE4NiUyNmlkJTNE + by1BQXRPZ2Y2UmNTUm4wOERnR29kc0NxT3lzbnlQMjlDNHd3WUZybmtYQzRM + TiUyNm1uJTNEc24tOHhncDF2by14Zmd6JTI2bW0lM0QzMSUyNmdpciUzRHll + cyUyNmtleSUzRHl0NiUyNmV4cGlyZSUzRDE1MTU0NjA2NDMlMjZzcGFyYW1z + JTNEY2xlbiUyNTJDZHVyJTI1MkNlaSUyNTJDZ2lyJTI1MkNpZCUyNTJDaW5p + dGN3bmRicHMlMjUyQ2lwJTI1MkNpcGJpdHMlMjUyQ2l0YWclMjUyQ2tlZXBh + bGl2ZSUyNTJDbG10JTI1MkNtaW1lJTI1MkNtbSUyNTJDbW4lMjUyQ21zJTI1 + MkNtdiUyNTJDcGNtMmNtcyUyNTJDcGwlMjUyQ3JlcXVpcmVzc2wlMjUyQ3Nv + dXJjZSUyNTJDZXhwaXJlXHUwMDI2dHlwZT1hdWRpbyUyRndlYm0lM0IrY29k + ZWNzJTNEJTIyb3B1cyUyMixiaXRyYXRlPTgyOTc1XHUwMDI2eHRhZ3M9XHUw + MDI2aW5kZXg9MjcyLTg4MFx1MDAyNmxtdD0xNDQ5NTY4NzcwNjA2NzE1XHUw + MDI2cHJvamVjdGlvbl90eXBlPTFcdTAwMjZpbml0PTAtMjcxXHUwMDI2Y2xl + bj0zMzE3MDc4XHUwMDI2aXRhZz0yNTBcdTAwMjZ1cmw9aHR0cHMlM0ElMkYl + MkZyNi0tLXNuLTh4Z3Axdm8teGZnei5nb29nbGV2aWRlby5jb20lMkZ2aWRl + b3BsYXliYWNrJTNGaXRhZyUzRDI1MCUyNmVpJTNEdzhOVFdvTDJGNHVuaHdi + MWtLWFFDQSUyNm1pbWUlM0RhdWRpbyUyNTJGd2VibSUyNmluaXRjd25kYnBz + JTNEMTEzNzUwMCUyNmlwYml0cyUzRDAlMjZtdCUzRDE1MTU0Mzg5MDQlMjZz + aWduYXR1cmUlM0QxNDNCQ0VFNjhDNkE1MTRBRDJCNTY0RkM5Njc2NzNGN0Ix + QUJCOTJCLkFFQjZDRjFCRTJFNjM3OUE3MjVDNzhGNkMyRTJGNEI5RTc1RTY0 + QjElMjZyZXF1aXJlc3NsJTNEeWVzJTI2Y2xlbiUzRDMzMTcwNzglMjZtcyUz + RGF1JTI2cGNtMmNtcyUzRHllcyUyNmtlZXBhbGl2ZSUzRHllcyUyNm12JTNE + bSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZwbCUzRDI0JTI2ZHVyJTNEMzU2LjM2 + MSUyNmxtdCUzRDE0NDk1Njg3NzA2MDY3MTUlMjZpcCUzRDEwOC4yMS4xOTIu + MTg2JTI2aWQlM0RvLUFBdE9nZjZSY1NSbjA4RGdHb2RzQ3FPeXNueVAyOUM0 + d3dZRnJua1hDNExOJTI2bW4lM0Rzbi04eGdwMXZvLXhmZ3olMjZtbSUzRDMx + JTI2Z2lyJTNEeWVzJTI2a2V5JTNEeXQ2JTI2ZXhwaXJlJTNEMTUxNTQ2MDY0 + MyUyNnNwYXJhbXMlM0RjbGVuJTI1MkNkdXIlMjUyQ2VpJTI1MkNnaXIlMjUy + Q2lkJTI1MkNpbml0Y3duZGJwcyUyNTJDaXAlMjUyQ2lwYml0cyUyNTJDaXRh + ZyUyNTJDa2VlcGFsaXZlJTI1MkNsbXQlMjUyQ21pbWUlMjUyQ21tJTI1MkNt + biUyNTJDbXMlMjUyQ212JTI1MkNwY20yY21zJTI1MkNwbCUyNTJDcmVxdWly + ZXNzbCUyNTJDc291cmNlJTI1MkNleHBpcmVcdTAwMjZ0eXBlPWF1ZGlvJTJG + d2VibSUzQitjb2RlY3MlM0QlMjJvcHVzJTIyLGJpdHJhdGU9MTU4NDk3XHUw + MDI2eHRhZ3M9XHUwMDI2aW5kZXg9MjcyLTg4MFx1MDAyNmxtdD0xNDQ5NTY4 + NzYzOTYxNDIxXHUwMDI2cHJvamVjdGlvbl90eXBlPTFcdTAwMjZpbml0PTAt + MjcxXHUwMDI2Y2xlbj02Mzg3MDY2XHUwMDI2aXRhZz0yNTFcdTAwMjZ1cmw9 + aHR0cHMlM0ElMkYlMkZyNi0tLXNuLTh4Z3Axdm8teGZnei5nb29nbGV2aWRl + by5jb20lMkZ2aWRlb3BsYXliYWNrJTNGaXRhZyUzRDI1MSUyNmVpJTNEdzhO + VFdvTDJGNHVuaHdiMWtLWFFDQSUyNm1pbWUlM0RhdWRpbyUyNTJGd2VibSUy + NmluaXRjd25kYnBzJTNEMTEzNzUwMCUyNmlwYml0cyUzRDAlMjZtdCUzRDE1 + MTU0Mzg5MDQlMjZzaWduYXR1cmUlM0Q4NEFGQjFBNEY3NUE3Q0FERkIwQUVC + RUU0MzAxQzg4RTRCNzFFRTUxLjU0QzE1OEQxNzREMjMyNEIwMjhDMDhCMzQx + RTBDRkU2MkEyRTcxODMlMjZyZXF1aXJlc3NsJTNEeWVzJTI2Y2xlbiUzRDYz + ODcwNjYlMjZtcyUzRGF1JTI2cGNtMmNtcyUzRHllcyUyNmtlZXBhbGl2ZSUz + RHllcyUyNm12JTNEbSUyNnNvdXJjZSUzRHlvdXR1YmUlMjZwbCUzRDI0JTI2 + ZHVyJTNEMzU2LjM2MSUyNmxtdCUzRDE0NDk1Njg3NjM5NjE0MjElMjZpcCUz + RDEwOC4yMS4xOTIuMTg2JTI2aWQlM0RvLUFBdE9nZjZSY1NSbjA4RGdHb2Rz + Q3FPeXNueVAyOUM0d3dZRnJua1hDNExOJTI2bW4lM0Rzbi04eGdwMXZvLXhm + Z3olMjZtbSUzRDMxJTI2Z2lyJTNEeWVzJTI2a2V5JTNEeXQ2JTI2ZXhwaXJl + JTNEMTUxNTQ2MDY0MyUyNnNwYXJhbXMlM0RjbGVuJTI1MkNkdXIlMjUyQ2Vp + JTI1MkNnaXIlMjUyQ2lkJTI1MkNpbml0Y3duZGJwcyUyNTJDaXAlMjUyQ2lw + Yml0cyUyNTJDaXRhZyUyNTJDa2VlcGFsaXZlJTI1MkNsbXQlMjUyQ21pbWUl + MjUyQ21tJTI1MkNtbiUyNTJDbXMlMjUyQ212JTI1MkNwY20yY21zJTI1MkNw + bCUyNTJDcmVxdWlyZXNzbCUyNTJDc291cmNlJTI1MkNleHBpcmVcdTAwMjZ0 + eXBlPWF1ZGlvJTJGd2VibSUzQitjb2RlY3MlM0QlMjJvcHVzJTIyIn0sInBh + cmFtcyI6eyJhbGxvd3NjcmlwdGFjY2VzcyI6ImFsd2F5cyIsImFsbG93ZnVs + bHNjcmVlbiI6InRydWUiLCJiZ2NvbG9yIjoiIzAwMDAwMCJ9LCJhdHRycyI6 + eyJpZCI6Im1vdmllX3BsYXllciJ9LCJodG1sNSI6dHJ1ZSwidXJsIjoiIiwi + bWluX3ZlcnNpb24iOiI4LjAuMCIsImFzc2V0cyI6eyJqcyI6IlwveXRzXC9q + c2JpblwvcGxheWVyLXZmbElmejhwQlwvZW5fVVNcL2Jhc2UuanMiLCJjc3Mi + OiJcL3l0c1wvY3NzYmluXC9wbGF5ZXItdmZsX1Y5UlViXC93d3ctcGxheWVy + LmNzcyJ9LCJzdHMiOjE3NTMzfTt5dHBsYXllci5sb2FkID0gZnVuY3Rpb24o + KSB7eXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSgicGxheWVyLWFwaSIs + IHl0cGxheWVyLmNvbmZpZyk7eXRwbGF5ZXIuY29uZmlnLmxvYWRlZCA9IHRy + dWU7fTsoZnVuY3Rpb24oKSB7aWYgKCEhd2luZG93Lnl0ICYmIHl0LnBsYXll + ciAmJiB5dC5wbGF5ZXIuQXBwbGljYXRpb24pIHt5dHBsYXllci5sb2FkKCk7 + fX0oKSk7PC9zY3JpcHQ+CgoKICAgIDxkaXYgaWQ9IndhdGNoLXF1ZXVlLW1v + bGUiIGNsYXNzPSJ2aWRlby1tb2xlIG1vbGUtY29sbGFwc2VkIGhpZCI+PGRp + diBpZD0id2F0Y2gtcXVldWUiIGNsYXNzPSJ3YXRjaC1wbGF5bGlzdCBwbGF5 + ZXItaGVpZ2h0Ij48ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPjxkaXYgY2xh + c3M9IndhdGNoLXF1ZXVlLWhlYWRlciI+PGRpdiBjbGFzcz0id2F0Y2gtcXVl + dWUtaW5mbyI+PGRpdiBjbGFzcz0id2F0Y2gtcXVldWUtaW5mby1pY29uIj48 + c3BhbiBjbGFzcz0idHYtcXVldWUtbGlzdC1pY29uIHl0LXNwcml0ZSI+PC9z + cGFuPjwvZGl2PjxoMyBjbGFzcz0id2F0Y2gtcXVldWUtdGl0bGUiPldhdGNo + IFF1ZXVlPC9oMz48aDMgY2xhc3M9InR2LXF1ZXVlLXRpdGxlIj5RdWV1ZTwv + aDM+PHNwYW4gY2xhc3M9InR2LXF1ZXVlLWRldGFpbHMiPjwvc3Bhbj48L2Rp + dj48ZGl2IGNsYXNzPSJ3YXRjaC1xdWV1ZS1jb250cm9sLWJhciBjb250cm9s + LWJhci1idXR0b24iPjxkaXYgY2xhc3M9IndhdGNoLXF1ZXVlLW1vbGUtaW5m + byI+PGRpdiBjbGFzcz0id2F0Y2gtcXVldWUtY29udHJvbC1iYXItaWNvbiI+ + PHNwYW4gY2xhc3M9IndhdGNoLXF1ZXVlLWljb24geXQtc3ByaXRlIj48L3Nw + YW4+PC9kaXY+PGRpdiBjbGFzcz0id2F0Y2gtcXVldWUtdGl0bGUtY29udGFp + bmVyIj48c3BhbiBjbGFzcz0id2F0Y2gtcXVldWUtY291bnQiPjwvc3Bhbj48 + c3BhbiBjbGFzcz0id2F0Y2gtcXVldWUtdGl0bGUiPldhdGNoIFF1ZXVlPC9z + cGFuPjxzcGFuIGNsYXNzPSJ0di1xdWV1ZS10aXRsZSI+UXVldWU8L3NwYW4+ + PC9kaXY+PC9kaXY+ICA8c3BhbiBjbGFzcz0iZGFyay1vdmVyZmxvdy1hY3Rp + b24tbWVudSI+CiAgICAKICAgIAogICAgPGJ1dHRvbiBjbGFzcz0iZmxpcCBj + b250cm9sLWJhci1idXR0b24geXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9u + LWRhcmstb3ZlcmZsb3ctYWN0aW9uLW1lbnUgeXQtdWl4LWJ1dHRvbi1zaXpl + LWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1oYXMtaWNvbiBuby1pY29uLW1hcmt1 + cCB5dC11aXgtYnV0dG9uLWVtcHR5IiBhcmlhLWxhYmVsPSJBY3Rpb25zIGZv + ciB0aGUgcXVldWUiIHR5cGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0idHJ1 + ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIG9uY2xpY2s9IjtyZXR1cm4gZmFs + c2U7IiA+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24tYXJyb3cgeXQtc3By + aXRlIj48L3NwYW4+PHVsIGNsYXNzPSJ3YXRjaC1xdWV1ZS1tZW51IHl0LXVp + eC1idXR0b24tbWVudSB5dC11aXgtYnV0dG9uLW1lbnUtZGFyay1vdmVyZmxv + dy1hY3Rpb24tbWVudSBoaWQiIHJvbGU9Im1lbnUiIGFyaWEtaGFzcG9wdXA9 + InRydWUiPjxsaSByb2xlPSJtZW51aXRlbSI+PHNwYW4gY2xhc3M9IndhdGNo + LXF1ZXVlLW1lbnUtY2hvaWNlIG92ZXJmbG93LW1lbnUtY2hvaWNlIHl0LXVp + eC1idXR0b24tbWVudS1pdGVtIiBkYXRhLWFjdGlvbj0icmVtb3ZlLWFsbCIg + b25jbGljaz0iO3JldHVybiBmYWxzZTsiID5SZW1vdmUgYWxsPC9zcGFuPjwv + bGk+PGxpIHJvbGU9Im1lbnVpdGVtIj48c3BhbiBjbGFzcz0id2F0Y2gtcXVl + dWUtbWVudS1jaG9pY2Ugb3ZlcmZsb3ctbWVudS1jaG9pY2UgeXQtdWl4LWJ1 + dHRvbi1tZW51LWl0ZW0iIGRhdGEtYWN0aW9uPSJkaXNjb25uZWN0IiBvbmNs + aWNrPSI7cmV0dXJuIGZhbHNlOyIgPkRpc2Nvbm5lY3Q8L3NwYW4+PC9saT48 + L3VsPjwvYnV0dG9uPgogIDwvc3Bhbj4KICA8ZGl2IGNsYXNzPSJ3YXRjaC1x + dWV1ZS1jb250cm9scyI+CiAgICA8YnV0dG9uIGNsYXNzPSJ5dC11aXgtYnV0 + dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IHl0LXVpeC1idXR0b24t + ZW1wdHkgeXQtdWl4LWJ1dHRvbi1oYXMtaWNvbiBjb250cm9sLWJhci1idXR0 + b24gcHJldi13YXRjaC1xdWV1ZS1idXR0b24geXQtdWl4LWJ1dHRvbi1vcGFj + aXR5IHl0LXVpeC10b29sdGlwIHl0LXVpeC10b29sdGlwIiB0eXBlPSJidXR0 + b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iUHJldmlvdXMg + dmlkZW8iPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWljb24td3JhcHBl + ciI+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24taWNvbiB5dC11aXgtYnV0 + dG9uLWljb24td2F0Y2gtcXVldWUtcHJldiB5dC1zcHJpdGUiPjwvc3Bhbj48 + L3NwYW4+PC9idXR0b24+CgogICAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1 + dHRvbiB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9u + LWVtcHR5IHl0LXVpeC1idXR0b24taGFzLWljb24gY29udHJvbC1iYXItYnV0 + dG9uIHBsYXktd2F0Y2gtcXVldWUtYnV0dG9uIHl0LXVpeC1idXR0b24tb3Bh + Y2l0eSB5dC11aXgtdG9vbHRpcCB5dC11aXgtdG9vbHRpcCIgdHlwZT0iYnV0 + dG9uIiBvbmNsaWNrPSI7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlBsYXkiPjxz + cGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWljb24td3JhcHBlciI+PHNwYW4g + Y2xhc3M9Inl0LXVpeC1idXR0b24taWNvbiB5dC11aXgtYnV0dG9uLWljb24t + d2F0Y2gtcXVldWUtcGxheSB5dC1zcHJpdGUiPjwvc3Bhbj48L3NwYW4+PC9i + dXR0b24+CgogICAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiB5dC11 + aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9uLWVtcHR5IHl0 + LXVpeC1idXR0b24taGFzLWljb24gY29udHJvbC1iYXItYnV0dG9uIHBhdXNl + LXdhdGNoLXF1ZXVlLWJ1dHRvbiB5dC11aXgtYnV0dG9uLW9wYWNpdHkgeXQt + dWl4LXRvb2x0aXAgaGlkIHl0LXVpeC10b29sdGlwIiB0eXBlPSJidXR0b24i + IG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iUGF1c2UiPjxzcGFu + IGNsYXNzPSJ5dC11aXgtYnV0dG9uLWljb24td3JhcHBlciI+PHNwYW4gY2xh + c3M9Inl0LXVpeC1idXR0b24taWNvbiB5dC11aXgtYnV0dG9uLWljb24td2F0 + Y2gtcXVldWUtcGF1c2UgeXQtc3ByaXRlIj48L3NwYW4+PC9zcGFuPjwvYnV0 + dG9uPgoKICAgIDxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4 + LWJ1dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1lbXB0eSB5dC11 + aXgtYnV0dG9uLWhhcy1pY29uIGNvbnRyb2wtYmFyLWJ1dHRvbiBuZXh0LXdh + dGNoLXF1ZXVlLWJ1dHRvbiB5dC11aXgtYnV0dG9uLW9wYWNpdHkgeXQtdWl4 + LXRvb2x0aXAgeXQtdWl4LXRvb2x0aXAiIHR5cGU9ImJ1dHRvbiIgb25jbGlj + az0iO3JldHVybiBmYWxzZTsiIHRpdGxlPSJOZXh0IHZpZGVvIj48c3BhbiBj + bGFzcz0ieXQtdWl4LWJ1dHRvbi1pY29uLXdyYXBwZXIiPjxzcGFuIGNsYXNz + PSJ5dC11aXgtYnV0dG9uLWljb24geXQtdWl4LWJ1dHRvbi1pY29uLXdhdGNo + LXF1ZXVlLW5leHQgeXQtc3ByaXRlIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9u + PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJhdXRvcGxheS1kaXNtaXNz + LWJhciBmYWRlLW91dCI+PHNwYW4gY2xhc3M9ImF1dG9wbGF5LWRpc21pc3Mt + dGl0bGUtbGFiZWwiPlRoZSBuZXh0IHZpZGVvIGlzIHN0YXJ0aW5nPC9zcGFu + PjxzcGFuPjxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1 + dHRvbi1zaXplLWRlZmF1bHQgYXV0b3BsYXktZGlzbWlzcy1idXR0b24geXQt + dWl4LXRvb2x0aXAiIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVybiBm + YWxzZTsiIHRpdGxlPSJzdG9wIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRv + bi1jb250ZW50Ij5zdG9wPC9zcGFuPjwvYnV0dG9uPjwvc3Bhbj48L2Rpdj48 + L2Rpdj48ZGl2IGNsYXNzPSJ3YXRjaC1xdWV1ZS1pdGVtcy1jb250YWluZXIg + eXQtc2Nyb2xsYmFyLWRhcmsgeXQtc2Nyb2xsYmFyIj48ZGl2IGNsYXNzPSJ5 + dC11aXgtc2Nyb2xsZXIgcGxheWxpc3QtdmlkZW9zLWxpc3QiPjxvbCBjbGFz + cz0id2F0Y2gtcXVldWUtaXRlbXMtbGlzdCIgZGF0YS1zY3JvbGwtYWN0aW9u + PSJ5dC53d3cud2F0Y2hxdWV1ZS5sb2FkVGh1bWJuYWlscyI+ICA8cCBjbGFz + cz0ieXQtc3Bpbm5lciAiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ5dC1zcGlu + bmVyLWltZyAgeXQtc3ByaXRlIiB0aXRsZT0iTG9hZGluZyBpY29uIj48L3Nw + YW4+CgogICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItbWVzc2FnZSI+Ckxv + YWRpbmcuLi4KICAgIDwvc3Bhbj4KICA8L3A+Cjwvb2w+PGRpdiBjbGFzcz0i + YXV0b3BsYXktY29udHJvbC1jb250YWluZXIgeXQtdWl4LXNjcm9sbGVyLXNj + cm9sbC11bml0IGhpZCI+ICA8ZGl2IGNsYXNzPSJhdXRvcGxheS1jb250cm9s + LWJhciI+CiAgICA8bGFiZWwgY2xhc3M9ImF1dG9wbGF5LWxhYmVsIiBmb3I9 + YXV0b3BsYXktdG9nZ2xlLWlkPjwvbGFiZWw+CiAgICA8bGFiZWwgY2xhc3M9 + Inl0LXVpeC1mb3JtLWlucHV0LWNoZWNrYm94LWNvbnRhaW5lciB5dC11aXgt + Zm9ybS1pbnB1dC1jb250YWluZXIgeXQtdWl4LWZvcm0taW5wdXQtcGFwZXIt + dG9nZ2xlLWNvbnRhaW5lciAgIj48aW5wdXQgY2xhc3M9Inl0LXVpeC1mb3Jt + LWlucHV0LWNoZWNrYm94IiB0eXBlPSJjaGVja2JveCIgaWQ9ImF1dG9wbGF5 + LXRvZ2dsZS1pZCIvPjxkaXYgY2xhc3M9Inl0LXVpeC1mb3JtLWlucHV0LXBh + cGVyLXRvZ2dsZS1iZyB5dC11aXgtZm9ybS1pbnB1dC1wYXBlci10b2dnbGUt + YmFyIj48L2Rpdj48ZGl2IGNsYXNzPSJ5dC11aXgtZm9ybS1pbnB1dC1wYXBl + ci10b2dnbGUtYmcgeXQtdWl4LWZvcm0taW5wdXQtcGFwZXItdG9nZ2xlLWJ1 + dHRvbiI+PC9kaXY+PC9sYWJlbD4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFz + cz0idXAtbmV4dC1pdGVtLWNvbnRhaW5lciBoaWQiPjwvZGl2PjwvZGl2Pjwv + ZGl2PjwvZGl2PiAgPGRpdiBjbGFzcz0iaGlkIj4KICAgIDxkaXYgaWQ9Indh + dGNoLXF1ZXVlLXRpdGxlLW1zZyI+CldhdGNoIFF1ZXVlCiAgICA8L2Rpdj4K + CiAgICA8ZGl2IGlkPSJ0di1xdWV1ZS10aXRsZS1tc2ciPlF1ZXVlPC9kaXY+ + CgogICAgPGRpdiBpZD0id2F0Y2gtcXVldWUtY291bnQtbXNnIj4KX19jb3Vu + dF9fL19fdG90YWxfXwogICAgPC9kaXY+CgogICAgPGRpdiBpZD0id2F0Y2gt + cXVldWUtbG9hZGluZy10ZW1wbGF0ZSI+CiAgICAgIDwhLS0KICAgICAgICAg + IDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+CiAgICAgICAgPHNwYW4gY2xhc3M9 + Inl0LXNwaW5uZXItaW1nICB5dC1zcHJpdGUiIHRpdGxlPSJMb2FkaW5nIGlj + b24iPjwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1tZXNz + YWdlIj4KTG9hZGluZy4uLgogICAgPC9zcGFuPgogIDwvcD4KCiAgICAgIC0t + PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjwvZGl2PgogICAgPGRpdiBp + ZD0icGxheWVyLXBsYXlsaXN0IiBjbGFzcz0iICBjb250ZW50LWFsaWdubWVu + dCAgICB3YXRjaC1wbGF5ZXItcGxheWxpc3QgICI+CiAgICAgICAgICAKCiAg + ICA8L2Rpdj4KCiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rp + dj4KPC9kaXY+PGRpdiBpZD0iY29udGVudCIgY2xhc3M9IiAgY29udGVudC1h + bGlnbm1lbnQiIHJvbGU9Im1haW4iPiAgICAgIDxkaXYgaWQ9InBsYWNlaG9s + ZGVyLXBsYXllciI+CiAgICA8ZGl2IGNsYXNzPSJwbGF5ZXItYXBpIHBsYXll + ci13aWR0aCBwbGF5ZXItaGVpZ2h0Ij48L2Rpdj4KICA8L2Rpdj4KCiAgPGRp + diBpZD0id2F0Y2g3LWNvbnRhaW5lciIgY2xhc3M9IiI+CiAgICAgIDxkaXYg + aWQ9InBsYXllci1tZXNzYWdlcyI+CiAgPC9kaXY+CiAgICAKICA8ZGl2IGlk + PSJ3YXRjaDctbWFpbi1jb250YWluZXIiPgogICAgPGRpdiBpZD0id2F0Y2g3 + LW1haW4iIGNsYXNzPSJjbGVhcmZpeCI+CiAgICAgIDxkaXYgaWQ9IndhdGNo + Ny1wcmV2aWV3IiBjbGFzcz0icGxheWVyLXdpZHRoIHBsYXllci1oZWlnaHQg + aGlkIj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9IndhdGNoNy1jb250 + ZW50IiBjbGFzcz0id2F0Y2gtbWFpbi1jb2wgIiBpdGVtc2NvcGUgaXRlbWlk + PSIiIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9WaWRlb09iamVjdCIK + ICAgICAgPgogICAgICAgICAgICAgIDxsaW5rIGl0ZW1wcm9wPSJ1cmwiIGhy + ZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UU9DYWFjTzh3 + dXMiPgogICAgPG1ldGEgaXRlbXByb3A9Im5hbWUiIGNvbnRlbnQ9IldoYXQg + SXMgTGlmZT8gSXMgRGVhdGggUmVhbD8iPgogICAgPG1ldGEgaXRlbXByb3A9 + ImRlc2NyaXB0aW9uIiBjb250ZW50PSJTbyB3aGF0IGlzIHRoZSBkaWZmZXJl + bmNlIGJldHdlZW4geW91IGFuZCBhIHJvY2s/IFRoaXMgc2VlbXMgbGlrZSBh + biBlYXN5LCBldmVuIHN0dXBpZCBxdWVzdGlvbi4gQnV0IGV2ZW4gdGhlIHNt + YXJ0ZXN0IHBlb3BsZSBvbiBlYXJ0aCBoYXZlIG5vIGlkZWEgd2hlcmUgdG8g + Li4uIj4KICAgIDxtZXRhIGl0ZW1wcm9wPSJwYWlkIiBjb250ZW50PSJGYWxz + ZSI+CgogICAgICA8bWV0YSBpdGVtcHJvcD0iY2hhbm5lbElkIiBjb250ZW50 + PSJVQ3NYVmszN2JsdEh4RDFyRFB3dE5NOFEiPgogICAgICA8bWV0YSBpdGVt + cHJvcD0idmlkZW9JZCIgY29udGVudD0iUU9DYWFjTzh3dXMiPgoKICAgICAg + PG1ldGEgaXRlbXByb3A9ImR1cmF0aW9uIiBjb250ZW50PSJQVDVNNTdTIj4K + ICAgICAgPG1ldGEgaXRlbXByb3A9InVubGlzdGVkIiBjb250ZW50PSJGYWxz + ZSI+CgogICAgICAgIDxzcGFuIGl0ZW1wcm9wPSJhdXRob3IiIGl0ZW1zY29w + ZSBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvUGVyc29uIj4KICAgICAg + ICAgIDxsaW5rIGl0ZW1wcm9wPSJ1cmwiIGhyZWY9Imh0dHA6Ly93d3cueW91 + dHViZS5jb20vdXNlci9LdXJ6Z2VzYWd0Ij4KICAgICAgICA8L3NwYW4+CiAg + ICAgICAgPHNwYW4gaXRlbXByb3A9ImF1dGhvciIgaXRlbXNjb3BlIGl0ZW10 + eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9QZXJzb24iPgogICAgICAgICAgPGxp + bmsgaXRlbXByb3A9InVybCIgaHJlZj0iaHR0cHM6Ly9wbHVzLmdvb2dsZS5j + b20vMTA2MDk5OTU3MjQ1MDU1NDk3OTc1Ij4KICAgICAgICA8L3NwYW4+Cgog + ICAgICAgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIiA+ + CiAgICB7CiAgICAgICJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIs + CiAgICAgICJAdHlwZSI6ICJCcmVhZGNydW1iTGlzdCIsCiAgICAgICJpdGVt + TGlzdEVsZW1lbnQiOiBbCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjog + Ikxpc3RJdGVtIiwKICAgICAgICAgICJwb3NpdGlvbiI6IDEsCiAgICAgICAg + ICAiaXRlbSI6IHsKICAgICAgICAgICAgIkBpZCI6ICJodHRwOlwvXC93d3cu + eW91dHViZS5jb21cL3VzZXJcL0t1cnpnZXNhZ3QiLAogICAgICAgICAgICAi + bmFtZSI6ICJLdXJ6Z2VzYWd0IOKAkyBJbiBhIE51dHNoZWxsIgogICAgICAg + ICAgfQogICAgICAgIH0KICAgICAgXQogICAgfQogICAgPC9zY3JpcHQ+CgoK + ICAgIDxsaW5rIGl0ZW1wcm9wPSJ0aHVtYm5haWxVcmwiIGhyZWY9Imh0dHBz + Oi8vaS55dGltZy5jb20vdmkvUU9DYWFjTzh3dXMvbWF4cmVzZGVmYXVsdC5q + cGciPgogICAgPHNwYW4gaXRlbXByb3A9InRodW1ibmFpbCIgaXRlbXNjb3Bl + IGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9JbWFnZU9iamVjdCI+CiAg + ICAgIDxsaW5rIGl0ZW1wcm9wPSJ1cmwiIGhyZWY9Imh0dHBzOi8vaS55dGlt + Zy5jb20vdmkvUU9DYWFjTzh3dXMvbWF4cmVzZGVmYXVsdC5qcGciPgogICAg + ICA8bWV0YSBpdGVtcHJvcD0id2lkdGgiIGNvbnRlbnQ9IjEyODAiPgogICAg + ICA8bWV0YSBpdGVtcHJvcD0iaGVpZ2h0IiBjb250ZW50PSI3MjAiPgogICAg + PC9zcGFuPgoKICAgICAgPGxpbmsgaXRlbXByb3A9ImVtYmVkVVJMIiBocmVm + PSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9RT0NhYWNPOHd1cyI+ + CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwbGF5ZXJUeXBlIiBjb250ZW50PSJI + VE1MNSBGbGFzaCI+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSJ3aWR0aCIgY29u + dGVudD0iMTI4MCI+CiAgICAgIDxtZXRhIGl0ZW1wcm9wPSJoZWlnaHQiIGNv + bnRlbnQ9IjcyMCI+CgogICAgICA8bWV0YSBpdGVtcHJvcD0iaXNGYW1pbHlG + cmllbmRseSIgY29udGVudD0iVHJ1ZSI+CiAgICAgIDxtZXRhIGl0ZW1wcm9w + PSJyZWdpb25zQWxsb3dlZCIgY29udGVudD0iQUQsQUUsQUYsQUcsQUksQUws + QU0sQU8sQVEsQVIsQVMsQVQsQVUsQVcsQVgsQVosQkEsQkIsQkQsQkUsQkYs + QkcsQkgsQkksQkosQkwsQk0sQk4sQk8sQlEsQlIsQlMsQlQsQlYsQlcsQlks + QlosQ0EsQ0MsQ0QsQ0YsQ0csQ0gsQ0ksQ0ssQ0wsQ00sQ04sQ08sQ1IsQ1Us + Q1YsQ1csQ1gsQ1ksQ1osREUsREosREssRE0sRE8sRFosRUMsRUUsRUcsRUgs + RVIsRVMsRVQsRkksRkosRkssRk0sRk8sRlIsR0EsR0IsR0QsR0UsR0YsR0cs + R0gsR0ksR0wsR00sR04sR1AsR1EsR1IsR1MsR1QsR1UsR1csR1ksSEssSE0s + SE4sSFIsSFQsSFUsSUQsSUUsSUwsSU0sSU4sSU8sSVEsSVIsSVMsSVQsSkUs + Sk0sSk8sSlAsS0UsS0csS0gsS0ksS00sS04sS1AsS1IsS1csS1ksS1osTEEs + TEIsTEMsTEksTEssTFIsTFMsTFQsTFUsTFYsTFksTUEsTUMsTUQsTUUsTUYs + TUcsTUgsTUssTUwsTU0sTU4sTU8sTVAsTVEsTVIsTVMsTVQsTVUsTVYsTVcs + TVgsTVksTVosTkEsTkMsTkUsTkYsTkcsTkksTkwsTk8sTlAsTlIsTlUsTlos + T00sUEEsUEUsUEYsUEcsUEgsUEssUEwsUE0sUE4sUFIsUFMsUFQsUFcsUFks + UUEsUkUsUk8sUlMsUlUsUlcsU0EsU0IsU0MsU0QsU0UsU0csU0gsU0ksU0os + U0ssU0wsU00sU04sU08sU1IsU1MsU1QsU1YsU1gsU1ksU1osVEMsVEQsVEYs + VEcsVEgsVEosVEssVEwsVE0sVE4sVE8sVFIsVFQsVFYsVFcsVFosVUEsVUcs + VU0sVVMsVVksVVosVkEsVkMsVkUsVkcsVkksVk4sVlUsV0YsV1MsWUUsWVQs + WkEsWk0sWlciPgogICAgICA8bWV0YSBpdGVtcHJvcD0iaW50ZXJhY3Rpb25D + b3VudCIgY29udGVudD0iODQyMTExMSI+CiAgICAgIDxtZXRhIGl0ZW1wcm9w + PSJkYXRlUHVibGlzaGVkIiBjb250ZW50PSIyMDE0LTEyLTExIj4KICAgICAg + PG1ldGEgaXRlbXByb3A9ImdlbnJlIiBjb250ZW50PSJFZHVjYXRpb24iPgoK + CiAgICAgICAgICAgICAgPGRpdiBpZD0id2F0Y2g3LXNwZWVkeWctYXJlYSI+ + CiAgICAgIDxkaXYgY2xhc3M9Inl0LWFsZXJ0IHl0LWFsZXJ0LWFjdGlvbmFi + bGUgeXQtYWxlcnQtaW5mbyBoaWQgIiBpZD0ic3BlZWR5Zy10ZW1wbGF0ZSI+ + ICA8ZGl2IGNsYXNzPSJ5dC1hbGVydC1pY29uIj4KICAgIDxzcGFuIGNsYXNz + PSJpY29uIG1hc3Rlci1zcHJpdGUgeXQtc3ByaXRlIj48L3NwYW4+CiAgPC9k + aXY+CjxkaXYgY2xhc3M9Inl0LWFsZXJ0LWNvbnRlbnQiIHJvbGU9ImFsZXJ0 + Ij4gICAgPGRpdiBjbGFzcz0ieXQtYWxlcnQtbWVzc2FnZSIgdGFiaW5kZXg9 + IjAiPgogICAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Inl0LWFsZXJ0LWJ1 + dHRvbnMiPjxhICBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL2dldC92 + aWRlb3F1YWxpdHlyZXBvcnQvP3Y9UU9DYWFjTzh3dXMiIGNsYXNzPSJ5dC11 + aXgtYnV0dG9uICAgeXQtdWl4LXNlc3Npb25saW5rIHl0LXVpeC1idXR0b24t + YWxlcnQtaW5mbyB5dC11aXgtYnV0dG9uLXNpemUtc21hbGwiIGRhdGEtc2Vz + c2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EiIGlkPSJzcGVl + ZHlnLWxpbmsiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0ieXQtdWl4 + LWJ1dHRvbi1jb250ZW50Ij5GaW5kIG91dCB3aHk8L3NwYW4+PC9hPjxidXR0 + b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1zaXplLWRl + ZmF1bHQgeXQtdWl4LWJ1dHRvbi1jbG9zZSBjbG9zZSB5dC11aXgtY2xvc2Ui + IHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVybiBmYWxzZTsiIGFyaWEt + bGFiZWw9IkNsb3NlIiBkYXRhLWNsb3NlLXBhcmVudC1jbGFzcz0ieXQtYWxl + cnQiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPkNsb3Nl + PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgPC9kaXY+CgogICAg + ICAgIDxkaXYgaWQ9IndhdGNoLWhlYWRlciIgY2xhc3M9Inl0LWNhcmQgeXQt + Y2FyZC1oYXMtcGFkZGluZyI+CiAgICAgIDxkaXYgaWQ9IndhdGNoNy1oZWFk + bGluZSIgY2xhc3M9ImNsZWFyZml4Ij4KICAgIDxkaXYgaWQ9IndhdGNoLWhl + YWRsaW5lLXRpdGxlIj4KICAgICAgPGgxIGNsYXNzPSJ3YXRjaC10aXRsZS1j + b250YWluZXIiID4KICAgICAgICAKCgogIDxzcGFuIGlkPSJlb3ctdGl0bGUi + IGNsYXNzPSJ3YXRjaC10aXRsZSIgZGlyPSJsdHIiIHRpdGxlPSJXaGF0IElz + IExpZmU/IElzIERlYXRoIFJlYWw/Ij4KICAgIFdoYXQgSXMgTGlmZT8gSXMg + RGVhdGggUmVhbD8KICA8L3NwYW4+CgogICAgICA8L2gxPgogICAgPC9kaXY+ + CiAgPC9kaXY+CgogICAgPGRpdiBpZD0id2F0Y2g3LXVzZXItaGVhZGVyIiBj + bGFzcz0iIHNwZi1saW5rICI+ICA8YSBocmVmPSIvdXNlci9LdXJ6Z2VzYWd0 + IiBjbGFzcz0ieXQtdXNlci1waG90byB5dC11aXgtc2Vzc2lvbmxpbmsgICAg + ICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0RVUTRUa2lF + d2pDNF9DdWlzbllBaFdMMDhFS0hYVklDWW9vLUIwIiA+CiAgICAgIDxzcGFu + IGNsYXNzPSJ2aWRlby10aHVtYiAgeXQtdGh1bWIgeXQtdGh1bWItNDgiCiAg + ICA+CiAgICA8c3BhbiBjbGFzcz0ieXQtdGh1bWItc3F1YXJlIj4KICAgICAg + PHNwYW4gY2xhc3M9Inl0LXRodW1iLWNsaXAiPgogICAgICAgIAogIDxpbWcg + d2lkdGg9IjQ4IiBvbmxvYWQ9Ijt3aW5kb3cuX195dFJJTCAmYW1wOyZhbXA7 + IF9feXRSSUwodGhpcykiIGhlaWdodD0iNDgiIGRhdGEteXRpbWc9IjEiIHNy + Yz0iL3l0cy9pbWcvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIgZGF0YS10aHVtYj0i + aHR0cHM6Ly95dDMuZ2dwaHQuY29tLy1Vd0VOdkZqYzR2SS9BQUFBQUFBQUFB + SS9BQUFBQUFBQUFBQS8wNGRYdlpfamwwSS9zODgtYy1rLW5vLW1vLXJqLWMw + eGZmZmZmZi9waG90by5qcGciIGFsdD0iS3Vyemdlc2FndCDigJMgSW4gYSBO + dXRzaGVsbCIgPgoKICAgICAgICA8c3BhbiBjbGFzcz0idmVydGljYWwtYWxp + Z24iPjwvc3Bhbj4KICAgICAgPC9zcGFuPgogICAgPC9zcGFuPgogIDwvc3Bh + bj4KCiAgPC9hPgogIDxkaXYgY2xhc3M9Inl0LXVzZXItaW5mbyI+CiAgICA8 + YSBocmVmPSIvY2hhbm5lbC9VQ3NYVmszN2JsdEh4RDFyRFB3dE5NOFEiIGNs + YXNzPSJ5dC11aXgtc2Vzc2lvbmxpbmsgICAgICAgc3BmLWxpbmsgIiBkYXRh + LXNlc3Npb25saW5rPSJpdGN0PUNEVVE0VGtpRXdqQzRfQ3Vpc25ZQWhXTDA4 + RUtIWFZJQ1lvby1CMCIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEgTnV0c2hlbGw8 + L2E+CiAgICAgICAKICAgICAgPHNwYW4gY2xhc3M9Inl0LWNoYW5uZWwtdGl0 + bGUtaWNvbi12ZXJpZmllZCB5dC11aXgtdG9vbHRpcCB5dC1zcHJpdGUiIGRh + dGEtdG9vbHRpcC10ZXh0PSJWZXJpZmllZCIgYXJpYS1sYWJlbD0iVmVyaWZp + ZWQiPjwvc3Bhbj4KICA8L2Rpdj4KPHNwYW4gaWQ9IndhdGNoNy1zdWJzY3Jp + cHRpb24tY29udGFpbmVyIj48c3BhbiBjbGFzcz0iIHl0LXVpeC1idXR0b24t + c3Vic2NyaXB0aW9uLWNvbnRhaW5lciI+PHNwYW4gY2xhc3M9InVuc3Vic2Ny + aWJlLWNvbmZpcm1hdGlvbi1vdmVybGF5LWNvbnRhaW5lciI+ICAKICA8ZGl2 + IGNsYXNzPSJ5dC11aXgtb3ZlcmxheSAiICBkYXRhLW92ZXJsYXktc3R5bGU9 + InByaW1hcnkiIGRhdGEtb3ZlcmxheS1zaGFwZT0idGlueSI+CiAgICAKICAg + ICAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2cgaGlkICI+CiAgICA8ZGl2IGNs + YXNzPSJ5dC1kaWFsb2ctYmFzZSI+CiAgICAgIDxzcGFuIGNsYXNzPSJ5dC1k + aWFsb2ctYWxpZ24iPjwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0ieXQtZGlh + bG9nLWZnIiByb2xlPSJkaWFsb2ciPgogICAgICAgIDxkaXYgY2xhc3M9Inl0 + LWRpYWxvZy1mZy1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Inl0 + LWRpYWxvZy1sb2FkaW5nIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ5 + dC1kaWFsb2ctd2FpdGluZy1jb250ZW50Ij4KICAgICAgPHAgY2xhc3M9Inl0 + LXNwaW5uZXIgIj4KICAgICAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1p + bWcgIHl0LXNwcml0ZSIgdGl0bGU9IkxvYWRpbmcgaWNvbiI+PC9zcGFuPgoK + ICAgIDxzcGFuIGNsYXNzPSJ5dC1zcGlubmVyLW1lc3NhZ2UiPgpMb2FkaW5n + Li4uCiAgICA8L3NwYW4+CiAgPC9wPgoKICA8L2Rpdj4KCiAgICAgICAgICA8 + L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Inl0LWRpYWxvZy1jb250ZW50 + Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1bnN1YnNjcmliZS1jb25m + aXJtYXRpb24tb3ZlcmxheS1jb250ZW50LWNvbnRhaW5lciI+CiAgICA8ZGl2 + IGNsYXNzPSJ1bnN1YnNjcmliZS1jb25maXJtYXRpb24tb3ZlcmxheS1jb250 + ZW50Ij4KICAgICAgPGRpdiBjbGFzcz0idW5zdWJzY3JpYmUtY29uZmlybWF0 + aW9uLW1lc3NhZ2UiPgogICAgICAgIFVuc3Vic2NyaWJlIGZyb20gS3Vyemdl + c2FndCDigJMgSW4gYSBOdXRzaGVsbD8KICAgICAgPC9kaXY+CiAgICA8L2Rp + dj4KCiAgICA8ZGl2IGNsYXNzPSJ5dC11aXgtb3ZlcmxheS1hY3Rpb25zIj4K + ICAgICAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0 + dG9uLXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9uLWRlZmF1bHQgeXQtdWl4 + LW92ZXJsYXktY2xvc2UiIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVy + biBmYWxzZTsiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQi + PkNhbmNlbDwvc3Bhbj48L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0i + eXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11 + aXgtYnV0dG9uLXByaW1hcnkgb3ZlcmxheS1jb25maXJtYXRpb24tdW5zdWJz + Y3JpYmUtYnV0dG9uIHl0LXVpeC1vdmVybGF5LWNsb3NlIiB0eXBlPSJidXR0 + b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7Ij48c3BhbiBjbGFzcz0ieXQt + dWl4LWJ1dHRvbi1jb250ZW50Ij5VbnN1YnNjcmliZTwvc3Bhbj48L2J1dHRv + bj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAg + ICAgICAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLXdvcmtpbmciPgogICAgICAg + ICAgICAgIDxkaXYgY2xhc3M9Inl0LWRpYWxvZy13b3JraW5nLW92ZXJsYXki + PjwvZGl2PgogIDxkaXYgY2xhc3M9Inl0LWRpYWxvZy13b3JraW5nLWJ1YmJs + ZSI+CiAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctd2FpdGluZy1jb250ZW50 + Ij4KICAgICAgICA8cCBjbGFzcz0ieXQtc3Bpbm5lciAiPgogICAgICAgIDxz + cGFuIGNsYXNzPSJ5dC1zcGlubmVyLWltZyAgeXQtc3ByaXRlIiB0aXRsZT0i + TG9hZGluZyBpY29uIj48L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9Inl0LXNw + aW5uZXItbWVzc2FnZSI+CiAgICAgICAgV29ya2luZy4uLgogICAgPC9zcGFu + PgogIDwvcD4KCiAgICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAgIDwv + ZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Inl0LWRp + YWxvZy1mb2N1cy10cmFwIiB0YWJpbmRleD0iMCI+PC9kaXY+CiAgICAgIDwv + ZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgoKICA8L2Rpdj4KCjwvc3Bhbj48 + YnV0dG9uIGNsYXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6 + ZS1kZWZhdWx0IHl0LXVpeC1idXR0b24tc3Vic2NyaWJlLWJyYW5kZWQgeXQt + dWl4LWJ1dHRvbi1oYXMtaWNvbiBuby1pY29uLW1hcmt1cCB5dC11aXgtc3Vi + c2NyaXB0aW9uLWJ1dHRvbiB5dC1jYW4tYnVmZmVyIHl0LXVpeC1zZXJ2aWNl + bGluayB2dmUtY2hlY2siIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVy + biBmYWxzZTsiIGFyaWEtYnVzeT0iZmFsc2UiIGFyaWEtbGl2ZT0icG9saXRl + IiBkYXRhLWNoYW5uZWwtZXh0ZXJuYWwtaWQ9IlVDc1hWazM3Ymx0SHhEMXJE + UHd0Tk04USIgZGF0YS1zaG93LXVuc3ViLWNvbmZpcm0tZGlhbG9nPSJ0cnVl + IiBkYXRhLWhyZWY9Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2 + aWNlTG9naW4/cGFzc2l2ZT10cnVlJmFtcDtobD1lbiZhbXA7Y29udGludWU9 + aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlv + bl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmZlYXR1cmUlM0RzdWJzY3JpYmUl + MjZhcHAlM0RkZXNrdG9wJTI2bmV4dCUzRCUyNTJGY2hhbm5lbCUyNTJGVUNz + WFZrMzdibHRIeEQxckRQd3ROTThRJTI2Y29udGludWVfYWN0aW9uJTNEUVVG + RkxVaHFiR3B5Y2xBdFdXVmZkVkI0ZEVRMGFFaHFjVFF3ZVY5emJXdEVaM3hC + UTNKdGMwdHJjVzVwVEhOWlJtRkZZM1JVUzB4UFZIQmtaVFoxUVVkV1kwNDFj + WFZtT1ZoVlJuWkVXV1pwVEVWMFNtdERkRzR4YUVZMVV5MU9jR2hwWkRoTGVF + VnNPRzFPWDJsWE1tZEpkbXd5ZEdsc01YWkRPV3ROWmpWb2RsQkVSa1kzVVdK + M1Jtb3dhVGQwVWxoRWIwcDVUVVZyTkZKa1RUUjNiM0ZWT1hGbVlrUnFaVGho + T1RkbFgyUnBjM0p0YUVwaGVYY3pMVEJZVlZka01uWjViRVZXVjJ4d1R5MU5W + ekJqU0UwMVRIRnZiek5CUjBOM1EzbERVMU5rYWtwQlJIVkxPRlZrUlVWbllt + eEpPSEp0WjAxYWRpMWlkWFJmYkdsaWVVVm1NbEJCJTI2aGwlM0RlbiZhbXA7 + dWlsZWw9MyZhbXA7c2VydmljZT15b3V0dWJlIiBkYXRhLWNsaWNrdHJhY2tp + bmc9Iml0Y3Q9Q0RZUW15c2lFd2pDNF9DdWlzbllBaFdMMDhFS0hYVklDWW9v + LUIweUJYZGhkR05vIiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNEWVFt + eXNpRXdqQzRfQ3Vpc25ZQWhXTDA4RUtIWFZJQ1lvby1CMHlCWGRoZEdObyIg + ZGF0YS1zZXJ2aWNlbGluaz0iQ0RZUW15c2lFd2pDNF9DdWlzbllBaFdMMDhF + S0hYVklDWW9vLUIweUJYZGhkR05vIiBkYXRhLXN1YnNjcmliZWQtdGltZXN0 + YW1wPSIwIiBkYXRhLXN0eWxlLXR5cGU9ImJyYW5kZWQiIGRhdGEtc2hvdy11 + bnN1Yi1jb25maXJtLXRpbWUtZnJhbWU9ImFsd2F5cyI+PHNwYW4gY2xhc3M9 + Inl0LXVpeC1idXR0b24tY29udGVudCI+PHNwYW4gY2xhc3M9InN1YnNjcmli + ZS1sYWJlbCIgYXJpYS1sYWJlbD0iU3Vic2NyaWJlIj5TdWJzY3JpYmU8L3Nw + YW4+PHNwYW4gY2xhc3M9InN1YnNjcmliZWQtbGFiZWwiIGFyaWEtbGFiZWw9 + IlVuc3Vic2NyaWJlIj5TdWJzY3JpYmVkPC9zcGFuPjxzcGFuIGNsYXNzPSJ1 + bnN1YnNjcmliZS1sYWJlbCIgYXJpYS1sYWJlbD0iVW5zdWJzY3JpYmUiPlVu + c3Vic2NyaWJlPC9zcGFuPjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNz + PSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IHl0 + LXVpeC1idXR0b24tZGVmYXVsdCB5dC11aXgtYnV0dG9uLWVtcHR5IHl0LXVp + eC1idXR0b24taGFzLWljb24geXQtdWl4LXN1YnNjcmlwdGlvbi1wcmVmZXJl + bmNlcy1idXR0b24iIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVybiBm + YWxzZTsiIGFyaWEtcm9sZT0iYnV0dG9uIiBhcmlhLWJ1c3k9ImZhbHNlIiBh + cmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1sYWJlbD0iU3Vic2NyaXB0aW9uIHBy + ZWZlcmVuY2VzIiBkYXRhLWNoYW5uZWwtZXh0ZXJuYWwtaWQ9IlVDc1hWazM3 + Ymx0SHhEMXJEUHd0Tk04USI+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24t + aWNvbi13cmFwcGVyIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1pY29u + IHl0LXVpeC1idXR0b24taWNvbi1zdWJzY3JpcHRpb24tcHJlZmVyZW5jZXMg + eXQtc3ByaXRlIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPjxzcGFuIGNsYXNz + PSJ5dC1zdWJzY3JpcHRpb24tYnV0dG9uLXN1YnNjcmliZXItY291bnQtYnJh + bmRlZC1ob3Jpem9udGFsIHl0LXN1YnNjcmliZXItY291bnQiIHRpdGxlPSI1 + LjRNIiBhcmlhLWxhYmVsPSI1LjRNIiB0YWJpbmRleD0iMCI+NS40TTwvc3Bh + bj4gIDxzcGFuIGNsYXNzPSJzdWJzY3JpcHRpb24tcHJlZmVyZW5jZXMtb3Zl + cmxheS1jb250YWluZXIiPgogICAgCiAgPGRpdiBjbGFzcz0ieXQtdWl4LW92 + ZXJsYXkgIiAgZGF0YS1vdmVybGF5LXN0eWxlPSJwcmltYXJ5IiBkYXRhLW92 + ZXJsYXktc2hhcGU9InRpbnkiPgogICAgCiAgICAgICAgPGRpdiBjbGFzcz0i + eXQtZGlhbG9nIGhpZCAiPgogICAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLWJh + c2UiPgogICAgICA8c3BhbiBjbGFzcz0ieXQtZGlhbG9nLWFsaWduIj48L3Nw + YW4+CiAgICAgIDxkaXYgY2xhc3M9Inl0LWRpYWxvZy1mZyIgcm9sZT0iZGlh + bG9nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctZmctY29udGVu + dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctbG9hZGluZyI+ + CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLXdhaXRpbmct + Y29udGVudCI+CiAgICAgIDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+CiAgICAg + ICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItaW1nICB5dC1zcHJpdGUiIHRp + dGxlPSJMb2FkaW5nIGljb24iPjwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0i + eXQtc3Bpbm5lci1tZXNzYWdlIj4KTG9hZGluZy4uLgogICAgPC9zcGFuPgog + IDwvcD4KCiAgPC9kaXY+CgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8 + ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctY29udGVudCI+CiAgICAgICAgICAgICAg + PGRpdiBjbGFzcz0ic3Vic2NyaXB0aW9uLXByZWZlcmVuY2VzLW92ZXJsYXkt + Y29udGVudC1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic3Vic2NyaXB0 + aW9uLXByZWZlcmVuY2VzLW92ZXJsYXktbG9hZGluZyAiPgogICAgICAgIDxw + IGNsYXNzPSJ5dC1zcGlubmVyICI+CiAgICAgICAgPHNwYW4gY2xhc3M9Inl0 + LXNwaW5uZXItaW1nICB5dC1zcHJpdGUiIHRpdGxlPSJMb2FkaW5nIGljb24i + Pjwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1tZXNzYWdl + Ij4KTG9hZGluZy4uLgogICAgPC9zcGFuPgogIDwvcD4KCiAgICA8L2Rpdj4K + ICAgIDxkaXYgY2xhc3M9InN1YnNjcmlwdGlvbi1wcmVmZXJlbmNlcy1vdmVy + bGF5LWNvbnRlbnQiPgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAg + PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctd29ya2lu + ZyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLXdvcmtp + bmctb3ZlcmxheSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLXdv + cmtpbmctYnViYmxlIj4KICAgIDxkaXYgY2xhc3M9Inl0LWRpYWxvZy13YWl0 + aW5nLWNvbnRlbnQiPgogICAgICAgIDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+ + CiAgICAgICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItaW1nICB5dC1zcHJp + dGUiIHRpdGxlPSJMb2FkaW5nIGljb24iPjwvc3Bhbj4KCiAgICA8c3BhbiBj + bGFzcz0ieXQtc3Bpbm5lci1tZXNzYWdlIj4KICAgICAgICBXb3JraW5nLi4u + CiAgICA8L3NwYW4+CiAgPC9wPgoKICAgICAgPC9kaXY+CiAgPC9kaXY+Cgog + ICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBj + bGFzcz0ieXQtZGlhbG9nLWZvY3VzLXRyYXAiIHRhYmluZGV4PSIwIj48L2Rp + dj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCgogIDwvZGl2 + PgoKICA8L3NwYW4+Cjwvc3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8ZGl2IGlk + PSJ3YXRjaDgtYWN0aW9uLWJ1dHRvbnMiIGNsYXNzPSJ3YXRjaC1hY3Rpb24t + YnV0dG9ucyBjbGVhcmZpeCI+PGRpdiBpZD0id2F0Y2g4LXNlY29uZGFyeS1h + Y3Rpb25zIiBjbGFzcz0id2F0Y2gtc2Vjb25kYXJ5LWFjdGlvbnMgeXQtdWl4 + LWJ1dHRvbi1ncm91cCIgZGF0YS1idXR0b24tdG9nZ2xlLWdyb3VwPSJvcHRp + b25hbCI+ICAgIDxzcGFuIGNsYXNzPSJ5dC11aXgtY2xpY2tjYXJkIj4KICAg + ICAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9u + LXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9uLW9wYWNpdHkgeXQtdWl4LWJ1 + dHRvbi1oYXMtaWNvbiBuby1pY29uLW1hcmt1cCB5dC11aXgtY2xpY2tjYXJk + LXRhcmdldCBhZGR0by1idXR0b24gcGF1c2UtcmVzdW1lLWF1dG9wbGF5IHl0 + LXVpeC10b29sdGlwIiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IjtyZXR1cm4g + ZmFsc2U7IiB0aXRsZT0iQWRkIHRvIiBkYXRhLXBvc2l0aW9uPSJib3R0b21s + ZWZ0IiBkYXRhLW9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI+PHNwYW4gY2xhc3M9 + Inl0LXVpeC1idXR0b24tY29udGVudCI+QWRkIHRvPC9zcGFuPjwvYnV0dG9u + PgogICAgICAgIDxkaXYgY2xhc3M9InNpZ25pbi1jbGlja2NhcmQgeXQtdWl4 + LWNsaWNrY2FyZC1jb250ZW50Ij4KICAgIDxoMyBjbGFzcz0ic2lnbmluLWNs + aWNrY2FyZC1oZWFkZXIiPldhbnQgdG8gd2F0Y2ggdGhpcyBhZ2FpbiBsYXRl + cj88L2gzPgogICAgPGRpdiBjbGFzcz0ic2lnbmluLWNsaWNrY2FyZC1tZXNz + YWdlIj4KICAgICAgU2lnbiBpbiB0byBhZGQgdGhpcyB2aWRlbyB0byBhIHBs + YXlsaXN0LgogICAgPC9kaXY+CiAgICA8YSAgaHJlZj0iaHR0cHM6Ly9hY2Nv + dW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9wYXNzaXZlPXRydWUmYW1w + O2hsPWVuJmFtcDtjb250aW51ZT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJl + LmNvbSUyRnNpZ25pbiUzRm5leHQlM0QlMjUyRndhdGNoJTI1M0Z2JTI1M0RR + T0NhYWNPOHd1cyUyNmZlYXR1cmUlM0RfX0ZFQVRVUkVfXyUyNmFjdGlvbl9o + YW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmhsJTNEZW4lMjZhcHAlM0RkZXNrdG9w + JmFtcDt1aWxlbD0zJmFtcDtzZXJ2aWNlPXlvdXR1YmUiIGNsYXNzPSJ5dC11 + aXgtYnV0dG9uICBzaWduaW4tYnV0dG9uIHl0LXVpeC1zZXNzaW9ubGluayB5 + dC11aXgtYnV0dG9uLXByaW1hcnkgeXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1 + bHQiIGRhdGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hR + Q0EiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPlNpZ24g + aW48L3NwYW4+PC9hPgogIDwvZGl2PgoKICAgIDwvc3Bhbj4KICA8YnV0dG9u + IGNsYXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZh + dWx0IHl0LXVpeC1idXR0b24tb3BhY2l0eSB5dC11aXgtYnV0dG9uLWhhcy1p + Y29uIG5vLWljb24tbWFya3VwIHBhdXNlLXJlc3VtZS1hdXRvcGxheSBhY3Rp + b24tcGFuZWwtdHJpZ2dlciBhY3Rpb24tcGFuZWwtdHJpZ2dlci1zaGFyZSAg + IHl0LXVpeC10b29sdGlwIiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IjtyZXR1 + cm4gZmFsc2U7IiB0aXRsZT0iU2hhcmUKIiBkYXRhLXRyaWdnZXItZm9yPSJh + Y3Rpb24tcGFuZWwtc2hhcmUiIGRhdGEtYnV0dG9uLXRvZ2dsZT0idHJ1ZSI+ + PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24tY29udGVudCI+U2hhcmUKPC9z + cGFuPjwvYnV0dG9uPgo8ZGl2IGNsYXNzPSJ5dC11aXgtbWVudSAiID4gIDxi + dXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1zaXpl + LWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1vcGFjaXR5IHl0LXVpeC1idXR0b24t + aGFzLWljb24gbm8taWNvbi1tYXJrdXAgcGF1c2UtcmVzdW1lLWF1dG9wbGF5 + IHl0LXVpeC1tZW51LXRyaWdnZXIgeXQtdWl4LXRvb2x0aXAiIHR5cGU9ImJ1 + dHRvbiIgb25jbGljaz0iO3JldHVybiBmYWxzZTsiIHRpdGxlPSJNb3JlIGFj + dGlvbnMiIGFyaWEtcHJlc3NlZD0iZmFsc2UiIGFyaWEtaGFzcG9wdXA9InRy + dWUiIGFyaWEtbGFiZWw9IkFjdGlvbiBtZW51LiIgaWQ9ImFjdGlvbi1wYW5l + bC1vdmVyZmxvdy1idXR0b24iIHJvbGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9 + Inl0LXVpeC1idXR0b24tY29udGVudCI+TW9yZTwvc3Bhbj48L2J1dHRvbj4K + PGRpdiBjbGFzcz0ieXQtdWl4LW1lbnUtY29udGVudCB5dC11aS1tZW51LWNv + bnRlbnQgeXQtdWl4LW1lbnUtY29udGVudC1oaWRkZW4iIHJvbGU9Im1lbnUi + Pjx1bCBpZD0iYWN0aW9uLXBhbmVsLW92ZXJmbG93LW1lbnUiPiAgPGxpPgog + ICAgICA8c3BhbiBjbGFzcz0ieXQtdWl4LWNsaWNrY2FyZCIgZGF0YS1jYXJk + LWNsYXNzPXJlcG9ydC1jYXJkPgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJi + dXR0b24iIGNsYXNzPSJ5dC11aS1tZW51LWl0ZW0gaGFzLWljb24gYWN0aW9u + LXBhbmVsLXRyaWdnZXIgYWN0aW9uLXBhbmVsLXRyaWdnZXItcmVwb3J0IHJl + cG9ydC1idXR0b24geXQtdWl4LWNsaWNrY2FyZC10YXJnZXQiCiBkYXRhLXBv + c2l0aW9uPSJ0b3ByaWdodCIgZGF0YS1vcmllbnRhdGlvbj0iaG9yaXpvbnRh + bCI+CiAgICA8c3BhbiBjbGFzcz0ieXQtdWktbWVudS1pdGVtLWxhYmVsIj5S + ZXBvcnQ8L3NwYW4+CiAgPC9idXR0b24+CgogICAgICAgICAgPGRpdiBjbGFz + cz0ic2lnbmluLWNsaWNrY2FyZCB5dC11aXgtY2xpY2tjYXJkLWNvbnRlbnQi + PgogICAgPGgzIGNsYXNzPSJzaWduaW4tY2xpY2tjYXJkLWhlYWRlciI+TmVl + ZCB0byByZXBvcnQgdGhlIHZpZGVvPzwvaDM+CiAgICA8ZGl2IGNsYXNzPSJz + aWduaW4tY2xpY2tjYXJkLW1lc3NhZ2UiPgogICAgICBTaWduIGluIHRvIHJl + cG9ydCBpbmFwcHJvcHJpYXRlIGNvbnRlbnQuCiAgICA8L2Rpdj4KICAgIDxh + ICBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxv + Z2luP3Bhc3NpdmU9dHJ1ZSZhbXA7aGw9ZW4mYW1wO2NvbnRpbnVlPWh0dHBz + JTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGbmV4dCUzRCUy + NTJGd2F0Y2glMjUzRnYlMjUzRFFPQ2FhY084d3VzJTI2ZmVhdHVyZSUzRF9f + RkVBVFVSRV9fJTI2YWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwl + M0RlbiUyNmFwcCUzRGRlc2t0b3AmYW1wO3VpbGVsPTMmYW1wO3NlcnZpY2U9 + eW91dHViZSIgY2xhc3M9Inl0LXVpeC1idXR0b24gIHNpZ25pbi1idXR0b24g + eXQtdWl4LXNlc3Npb25saW5rIHl0LXVpeC1idXR0b24tcHJpbWFyeSB5dC11 + aXgtYnV0dG9uLXNpemUtZGVmYXVsdCIgZGF0YS1zZXNzaW9ubGluaz0iZWk9 + dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSI+PHNwYW4gY2xhc3M9Inl0LXVpeC1i + dXR0b24tY29udGVudCI+U2lnbiBpbjwvc3Bhbj48L2E+CiAgPC9kaXY+Cgog + ICAgICA8L3NwYW4+CiAgPC9saT4KICA8bGk+CiAgICAgICAgPGJ1dHRvbiB0 + eXBlPSJidXR0b24iIGNsYXNzPSJ5dC11aS1tZW51LWl0ZW0gaGFzLWljb24g + eXQtdWl4LW1lbnUtY2xvc2Utb24tc2VsZWN0IGFjdGlvbi1wYW5lbC10cmln + Z2VyIGFjdGlvbi1wYW5lbC10cmlnZ2VyLXRyYW5zY3JpcHQiCiBkYXRhLXRy + aWdnZXItZm9yPSJhY3Rpb24tcGFuZWwtdHJhbnNjcmlwdCI+CiAgICA8c3Bh + biBjbGFzcz0ieXQtdWktbWVudS1pdGVtLWxhYmVsIj5UcmFuc2NyaXB0PC9z + cGFuPgogIDwvYnV0dG9uPgoKICA8L2xpPgogIDxsaT4KICAgICAgICA8YnV0 + dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Inl0LXVpLW1lbnUtaXRlbSBoYXMt + aWNvbiB5dC11aXgtbWVudS1jbG9zZS1vbi1zZWxlY3QgYWN0aW9uLXBhbmVs + LXRyaWdnZXIgYWN0aW9uLXBhbmVsLXRyaWdnZXItc3RhdHMiCiBkYXRhLXRy + aWdnZXItZm9yPSJhY3Rpb24tcGFuZWwtc3RhdHMiPgogICAgPHNwYW4gY2xh + c3M9Inl0LXVpLW1lbnUtaXRlbS1sYWJlbCI+U3RhdGlzdGljczwvc3Bhbj4K + ICA8L2J1dHRvbj4KCiAgPC9saT4KICA8YSBocmVmPSIvdGltZWR0ZXh0X3Zp + ZGVvP2F1dG89eWVzJmFtcDtyZWY9d3QmYW1wO3Y9UU9DYWFjTzh3dXMmYW1w + O2JsPXdhdGNoIiBjbGFzcz0ieXQtdWktbWVudS1pdGVtIGhhcy1pY29uIGFj + dGlvbi1wYW5lbC10cmlnZ2VyLXRyYW5zbGF0ZSIgcmVsPSJub2ZvbGxvdyIK + PgogICAgPHNwYW4gY2xhc3M9Inl0LXVpLW1lbnUtaXRlbS1sYWJlbCI+QWRk + IHRyYW5zbGF0aW9uczwvc3Bhbj4KICA8L2E+CjwvdWw+PC9kaXY+PC9kaXY+ + PC9kaXY+PGRpdiBpZD0id2F0Y2g4LXNlbnRpbWVudC1hY3Rpb25zIj48ZGl2 + IGlkPSJ3YXRjaDctdmlld3MtaW5mbyI+PGRpdiBjbGFzcz0id2F0Y2gtdmll + dy1jb3VudCI+OCw0MjEsMTExIHZpZXdzPC9kaXY+CiAgPGRpdiBjbGFzcz0i + dmlkZW8tZXh0cmFzLXNwYXJrYmFycyI+CiAgICA8ZGl2IGNsYXNzPSJ2aWRl + by1leHRyYXMtc3BhcmtiYXItbGlrZXMiIHN0eWxlPSJ3aWR0aDogOTguMTI4 + NDgzNTAzNyUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlkZW8tZXh0cmFz + LXNwYXJrYmFyLWRpc2xpa2VzIiBzdHlsZT0id2lkdGg6IDEuODcxNTE2NDk2 + MjklIj48L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CgoKCgogIDxzcGFuIGNsYXNz + PSJsaWtlLWJ1dHRvbi1yZW5kZXJlciAiIGRhdGEtYnV0dG9uLXRvZ2dsZS1n + cm91cD0ib3B0aW9uYWwiID4KICAgIDxzcGFuIGNsYXNzPSJ5dC11aXgtY2xp + Y2tjYXJkIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiB5 + dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11aXgtYnV0dG9uLW9wYWNp + dHkgeXQtdWl4LWJ1dHRvbi1oYXMtaWNvbiBuby1pY29uLW1hcmt1cCBsaWtl + LWJ1dHRvbi1yZW5kZXJlci1saWtlLWJ1dHRvbiBsaWtlLWJ1dHRvbi1yZW5k + ZXJlci1saWtlLWJ1dHRvbi11bmNsaWNrZWQgeXQtdWl4LWNsaWNrY2FyZC10 + YXJnZXQgICB5dC11aXgtdG9vbHRpcCIgdHlwZT0iYnV0dG9uIiBvbmNsaWNr + PSI7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkkgbGlrZSB0aGlzIiBhcmlhLWxh + YmVsPSJsaWtlIHRoaXMgdmlkZW8gYWxvbmcgd2l0aCAxNDgsNTk0IG90aGVy + IHBlb3BsZSIgZGF0YS1wb3NpdGlvbj0iYm90dG9tcmlnaHQiIGRhdGEtb3Jp + ZW50YXRpb249InZlcnRpY2FsIiBkYXRhLWZvcmNlLXBvc2l0aW9uPSJ0cnVl + Ij48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50Ij4xNDgsNTk0 + PC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lnbmlu + LWNsaWNrY2FyZCB5dC11aXgtY2xpY2tjYXJkLWNvbnRlbnQiPgogICAgPGgz + IGNsYXNzPSJzaWduaW4tY2xpY2tjYXJkLWhlYWRlciI+TGlrZSB0aGlzIHZp + ZGVvPzwvaDM+CiAgICA8ZGl2IGNsYXNzPSJzaWduaW4tY2xpY2tjYXJkLW1l + c3NhZ2UiPgogICAgICBTaWduIGluIHRvIG1ha2UgeW91ciBvcGluaW9uIGNv + dW50LgogICAgPC9kaXY+CiAgICA8YSAgaHJlZj0iaHR0cHM6Ly9hY2NvdW50 + cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9wYXNzaXZlPXRydWUmYW1wO2hs + PWVuJmFtcDtjb250aW51ZT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNv + bSUyRnNpZ25pbiUzRm5leHQlM0QlMjUyRndhdGNoJTI1M0Z2JTI1M0RRT0Nh + YWNPOHd1cyUyNmZlYXR1cmUlM0RfX0ZFQVRVUkVfXyUyNmFjdGlvbl9oYW5k + bGVfc2lnbmluJTNEdHJ1ZSUyNmhsJTNEZW4lMjZhcHAlM0RkZXNrdG9wJmFt + cDt1aWxlbD0zJmFtcDtzZXJ2aWNlPXlvdXR1YmUiIGNsYXNzPSJ5dC11aXgt + YnV0dG9uICBzaWduaW4tYnV0dG9uIHl0LXVpeC1zZXNzaW9ubGluayB5dC11 + aXgtYnV0dG9uLXByaW1hcnkgeXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQi + IGRhdGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0Ei + PjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPlNpZ24gaW48 + L3NwYW4+PC9hPgogIDwvZGl2PgoKICAgIDwvc3Bhbj4KICAgIDxzcGFuIGNs + YXNzPSJ5dC11aXgtY2xpY2tjYXJkIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0i + eXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11 + aXgtYnV0dG9uLW9wYWNpdHkgeXQtdWl4LWJ1dHRvbi1oYXMtaWNvbiBuby1p + Y29uLW1hcmt1cCBsaWtlLWJ1dHRvbi1yZW5kZXJlci1saWtlLWJ1dHRvbiBs + aWtlLWJ1dHRvbi1yZW5kZXJlci1saWtlLWJ1dHRvbi1jbGlja2VkIHl0LXVp + eC1idXR0b24tdG9nZ2xlZCAgaGlkIHl0LXVpeC10b29sdGlwIiB0eXBlPSJi + dXR0b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iVW5saWtl + IiBhcmlhLWxhYmVsPSJsaWtlIHRoaXMgdmlkZW8gYWxvbmcgd2l0aCAxNDgs + NTk0IG90aGVyIHBlb3BsZSIgZGF0YS1wb3NpdGlvbj0iYm90dG9tcmlnaHQi + IGRhdGEtb3JpZW50YXRpb249InZlcnRpY2FsIiBkYXRhLWZvcmNlLXBvc2l0 + aW9uPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50 + Ij4xNDgsNTk1PC9zcGFuPjwvYnV0dG9uPgogICAgPC9zcGFuPgogICAgPHNw + YW4gY2xhc3M9Inl0LXVpeC1jbGlja2NhcmQiPgogICAgICA8YnV0dG9uIGNs + YXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0 + IHl0LXVpeC1idXR0b24tb3BhY2l0eSB5dC11aXgtYnV0dG9uLWhhcy1pY29u + IG5vLWljb24tbWFya3VwIGxpa2UtYnV0dG9uLXJlbmRlcmVyLWRpc2xpa2Ut + YnV0dG9uIGxpa2UtYnV0dG9uLXJlbmRlcmVyLWRpc2xpa2UtYnV0dG9uLXVu + Y2xpY2tlZCB5dC11aXgtY2xpY2tjYXJkLXRhcmdldCAgIHl0LXVpeC10b29s + dGlwIiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7IiB0 + aXRsZT0iSSBkaXNsaWtlIHRoaXMiIGFyaWEtbGFiZWw9ImRpc2xpa2UgdGhp + cyB2aWRlbyBhbG9uZyB3aXRoIDIsODM0IG90aGVyIHBlb3BsZSIgZGF0YS1w + b3NpdGlvbj0iYm90dG9tcmlnaHQiIGRhdGEtb3JpZW50YXRpb249InZlcnRp + Y2FsIiBkYXRhLWZvcmNlLXBvc2l0aW9uPSJ0cnVlIj48c3BhbiBjbGFzcz0i + eXQtdWl4LWJ1dHRvbi1jb250ZW50Ij4yLDgzNDwvc3Bhbj48L2J1dHRvbj4K + ICAgICAgICAgIDxkaXYgY2xhc3M9InNpZ25pbi1jbGlja2NhcmQgeXQtdWl4 + LWNsaWNrY2FyZC1jb250ZW50Ij4KICAgIDxoMyBjbGFzcz0ic2lnbmluLWNs + aWNrY2FyZC1oZWFkZXIiPkRvbid0IGxpa2UgdGhpcyB2aWRlbz88L2gzPgog + ICAgPGRpdiBjbGFzcz0ic2lnbmluLWNsaWNrY2FyZC1tZXNzYWdlIj4KICAg + ICAgU2lnbiBpbiB0byBtYWtlIHlvdXIgb3BpbmlvbiBjb3VudC4KICAgIDwv + ZGl2PgogICAgPGEgIGhyZWY9Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNv + bS9TZXJ2aWNlTG9naW4/cGFzc2l2ZT10cnVlJmFtcDtobD1lbiZhbXA7Y29u + dGludWU9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4l + M0ZuZXh0JTNEJTI1MkZ3YXRjaCUyNTNGdiUyNTNEUU9DYWFjTzh3dXMlMjZm + ZWF0dXJlJTNEX19GRUFUVVJFX18lMjZhY3Rpb25faGFuZGxlX3NpZ25pbiUz + RHRydWUlMjZobCUzRGVuJTI2YXBwJTNEZGVza3RvcCZhbXA7dWlsZWw9MyZh + bXA7c2VydmljZT15b3V0dWJlIiBjbGFzcz0ieXQtdWl4LWJ1dHRvbiAgc2ln + bmluLWJ1dHRvbiB5dC11aXgtc2Vzc2lvbmxpbmsgeXQtdWl4LWJ1dHRvbi1w + cmltYXJ5IHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IiBkYXRhLXNlc3Np + b25saW5rPSJlaT13OE5UV29MMkY0dW5od2Ixa0tYUUNBIj48c3BhbiBjbGFz + cz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50Ij5TaWduIGluPC9zcGFuPjwvYT4K + ICA8L2Rpdj4KCiAgICA8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ieXQtdWl4 + LWNsaWNrY2FyZCI+CiAgICAgIDxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0 + b24geXQtdWl4LWJ1dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1v + cGFjaXR5IHl0LXVpeC1idXR0b24taGFzLWljb24gbm8taWNvbi1tYXJrdXAg + bGlrZS1idXR0b24tcmVuZGVyZXItZGlzbGlrZS1idXR0b24gbGlrZS1idXR0 + b24tcmVuZGVyZXItZGlzbGlrZS1idXR0b24tY2xpY2tlZCB5dC11aXgtYnV0 + dG9uLXRvZ2dsZWQgIGhpZCB5dC11aXgtdG9vbHRpcCIgdHlwZT0iYnV0dG9u + IiBvbmNsaWNrPSI7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkkgZGlzbGlrZSB0 + aGlzIiBhcmlhLWxhYmVsPSJkaXNsaWtlIHRoaXMgdmlkZW8gYWxvbmcgd2l0 + aCAyLDgzNCBvdGhlciBwZW9wbGUiIGRhdGEtcG9zaXRpb249ImJvdHRvbXJp + Z2h0IiBkYXRhLW9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIgZGF0YS1mb3JjZS1w + b3NpdGlvbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24tY29u + dGVudCI+Miw4MzU8L3NwYW4+PC9idXR0b24+CiAgICA8L3NwYW4+CiAgPC9z + cGFuPgo8L2Rpdj48L2Rpdj4KICA8L2Rpdj4KCgoKCiAgICAgIDxkaXYgaWQ9 + IndhdGNoLWFjdGlvbi1wYW5lbHMiIGNsYXNzPSJ3YXRjaC1hY3Rpb24tcGFu + ZWxzIHl0LXVpeC1idXR0b24tcGFuZWwgaGlkIHl0LWNhcmQgeXQtY2FyZC1o + YXMtcGFkZGluZyI+CiAgICAgIDxkaXYgaWQ9ImFjdGlvbi1wYW5lbC1zaGFy + ZSIgY2xhc3M9ImFjdGlvbi1wYW5lbC1jb250ZW50IGhpZCI+CiAgICAgIDxk + aXYgaWQ9IndhdGNoLWFjdGlvbnMtc2hhcmUtbG9hZGluZyI+CiAgICA8ZGl2 + IGNsYXNzPSJhY3Rpb24tcGFuZWwtbG9hZGluZyI+CiAgICAgICAgPHAgY2xh + c3M9Inl0LXNwaW5uZXIgIj4KICAgICAgICA8c3BhbiBjbGFzcz0ieXQtc3Bp + bm5lci1pbWcgIHl0LXNwcml0ZSIgdGl0bGU9IkxvYWRpbmcgaWNvbiI+PC9z + cGFuPgoKICAgIDxzcGFuIGNsYXNzPSJ5dC1zcGlubmVyLW1lc3NhZ2UiPgpM + b2FkaW5nLi4uCiAgICA8L3NwYW4+CiAgPC9wPgoKICAgIDwvZGl2PgogIDwv + ZGl2PgogIDxkaXYgaWQ9IndhdGNoLWFjdGlvbnMtc2hhcmUtcGFuZWwiPjwv + ZGl2PgoKICA8L2Rpdj4KCiAgICAgICAgPGRpdiBpZD0iYWN0aW9uLXBhbmVs + LXRyYW5zY3JpcHQiIGNsYXNzPSJhY3Rpb24tcGFuZWwtY29udGVudCBoaWQi + PgogICAgPGRpdiBpZD0id2F0Y2gtYWN0aW9ucy10cmFuc2NyaXB0LWxvYWRp + bmciPgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tcGFuZWwtbG9hZGluZyI+ + CiAgICAgICAgICA8cCBjbGFzcz0ieXQtc3Bpbm5lciAiPgogICAgICAgIDxz + cGFuIGNsYXNzPSJ5dC1zcGlubmVyLWltZyAgeXQtc3ByaXRlIiB0aXRsZT0i + TG9hZGluZyBpY29uIj48L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9Inl0LXNw + aW5uZXItbWVzc2FnZSI+CkxvYWRpbmcuLi4KICAgIDwvc3Bhbj4KICA8L3A+ + CgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJ3YXRj + aC1hY3Rpb25zLXRyYW5zY3JpcHQiIGNsYXNzPSJoaWQiPgogICAgPGgyIGNs + YXNzPSJ5dC1jYXJkLXRpdGxlIj4KVHJhbnNjcmlwdAogICAgPC9oMj4KICAg + ICAgPGRpdiBpZD0iY2FwdGlvbi1saW5lLXRlbXBsYXRlIiBjbGFzcz0iaGlk + Ij4KICAgIDwhLS0KICAgIDxkaXYgY2xhc3M9ImNhcHRpb24tbGluZS10aW1l + Ij4KICAgICAgPGRpdiBjbGFzcz0iY2FwdGlvbi1saW5lLXN0YXJ0Ij5fX3N0 + YXJ0X188L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZWRpdGFi + bGUtbGluZS10ZXh0Ij4KICAgICAgPHNwYW4gY2xhc3M9ImVkaXRhYmxlLWxp + bmUtdGV4dC1vcmlnaW5hbCI+X19vcmlnaW5hbF9fPC9zcGFuPgogICAgICA8 + bGFiZWwgY2xhc3M9ImVkaXRhYmxlLWxpbmUtdGV4dC1jdXJyZW50IGhpZCI+ + X19jdXJyZW50X188L2xhYmVsPgogICAgICA8dGV4dGFyZWEgY2xhc3M9ImVk + aXRhYmxlLWxpbmUtdGV4dC1pbnB1dCBoaWQiPl9faW5wdXRfXzwvdGV4dGFy + ZWE+CiAgICA8L2Rpdj4KICAgIC0tPgogIDwvZGl2PgoKCgogICAgPGRpdiBp + ZD0id2F0Y2gtdHJhbnNjcmlwdC1jb250YWluZXIiIGNsYXNzPSJ5dC1zY3Jv + bGxiYXIiID4KICAgICAgPGRpdiBpZD0id2F0Y2gtdHJhbnNjcmlwdC1ub3Qt + Zm91bmQiIGNsYXNzPSJoaWQiPgpUaGUgaW50ZXJhY3RpdmUgdHJhbnNjcmlw + dCBjb3VsZCBub3QgYmUgbG9hZGVkLgogICAgICA8L2Rpdj4KCiAgICAgIAog + ICAgPC9kaXY+CiAgPC9kaXY+CgogIDwvZGl2PgoKICAgICAgPGRpdiBpZD0i + YWN0aW9uLXBhbmVsLXN0YXRzIiBjbGFzcz0iYWN0aW9uLXBhbmVsLWNvbnRl + bnQgaGlkIj4KICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1wYW5lbC1sb2FkaW5n + Ij4KICAgICAgICA8cCBjbGFzcz0ieXQtc3Bpbm5lciAiPgogICAgICAgIDxz + cGFuIGNsYXNzPSJ5dC1zcGlubmVyLWltZyAgeXQtc3ByaXRlIiB0aXRsZT0i + TG9hZGluZyBpY29uIj48L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9Inl0LXNw + aW5uZXItbWVzc2FnZSI+CkxvYWRpbmcuLi4KICAgIDwvc3Bhbj4KICA8L3A+ + CgogICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJhY3Rpb24t + cGFuZWwtcmVwb3J0IiBjbGFzcz0iYWN0aW9uLXBhbmVsLWNvbnRlbnQgaGlk + IgogICAgICBkYXRhLWF1dGgtcmVxdWlyZWQ9InRydWUiCiAgPgogICAgPGRp + diBjbGFzcz0iYWN0aW9uLXBhbmVsLWxvYWRpbmciPgogICAgICAgIDxwIGNs + YXNzPSJ5dC1zcGlubmVyICI+CiAgICAgICAgPHNwYW4gY2xhc3M9Inl0LXNw + aW5uZXItaW1nICB5dC1zcHJpdGUiIHRpdGxlPSJMb2FkaW5nIGljb24iPjwv + c3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1tZXNzYWdlIj4K + TG9hZGluZy4uLgogICAgPC9zcGFuPgogIDwvcD4KCiAgICA8L2Rpdj4KICA8 + L2Rpdj4KCiAgICAKICA8ZGl2IGlkPSJhY3Rpb24tcGFuZWwtcmVudGFsLXJl + cXVpcmVkIiBjbGFzcz0iYWN0aW9uLXBhbmVsLWNvbnRlbnQgaGlkIj4KICAg + ICAgPGRpdiBpZD0id2F0Y2gtYWN0aW9ucy1yZW50YWwtcmVxdWlyZWQiPgog + ICAgPHN0cm9uZz5SYXRpbmcgaXMgYXZhaWxhYmxlIHdoZW4gdGhlIHZpZGVv + IGhhcyBiZWVuIHJlbnRlZC48L3N0cm9uZz4KICA8L2Rpdj4KCiAgPC9kaXY+ + CgogIDxkaXYgaWQ9ImFjdGlvbi1wYW5lbC1lcnJvciIgY2xhc3M9ImFjdGlv + bi1wYW5lbC1jb250ZW50IGhpZCI+CiAgICA8ZGl2IGNsYXNzPSJhY3Rpb24t + cGFuZWwtZXJyb3IiPgogICAgICBUaGlzIGZlYXR1cmUgaXMgbm90IGF2YWls + YWJsZSByaWdodCBub3cuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuCiAgICA8 + L2Rpdj4KICA8L2Rpdj4KCiAgICA8YnV0dG9uIGNsYXNzPSJ5dC11aXgtYnV0 + dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IHl0LXVpeC1idXR0b24t + ZGVmYXVsdCB5dC11aXgtYnV0dG9uLWVtcHR5IHl0LXVpeC1idXR0b24taGFz + LWljb24gbm8taWNvbi1tYXJrdXAgeXQtdWl4LWJ1dHRvbi1vcGFjaXR5IHl0 + LXVpeC1jbG9zZSIgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSI7cmV0dXJuIGZh + bHNlOyIgaWQ9ImFjdGlvbi1wYW5lbC1kaXNtaXNzIiBhcmlhLWxhYmVsPSJD + bG9zZSIgZGF0YS1jbG9zZS1wYXJlbnQtaWQ9IndhdGNoOC1hY3Rpb24tcGFu + ZWxzIj48L2J1dHRvbj4KICA8L2Rpdj4KCgogIDxkaXYgaWQ9InByb21vdGlv + bi1zaGVsZiIgY2xhc3M9InByb21vdGlvbi1zaGVsZi1zbG90IHl0LWNhcmQg + eXQtY2FyZC1oYXMtcGFkZGluZyBoaWQiPjwvZGl2PgoKCiAgICA8ZGl2IGlk + PSJhY3Rpb24tcGFuZWwtZGV0YWlscyIgY2xhc3M9ImFjdGlvbi1wYW5lbC1j + b250ZW50IHl0LXVpeC1leHBhbmRlciB5dC1jYXJkIHl0LWNhcmQtaGFzLXBh + ZGRpbmcgeXQtdWl4LWV4cGFuZGVyLWNvbGxhcHNlZCI+PGRpdiBpZD0id2F0 + Y2gtZGVzY3JpcHRpb24iIGNsYXNzPSJ5dC11aXgtYnV0dG9uLXBhbmVsIj48 + ZGl2IGlkPSJ3YXRjaC1kZXNjcmlwdGlvbi1jb250ZW50Ij48ZGl2IGlkPSJ3 + YXRjaC1kZXNjcmlwdGlvbi1jbGlwIj48ZGl2IGlkPSJ3YXRjaC11cGxvYWRl + ci1pbmZvIj48c3Ryb25nIGNsYXNzPSJ3YXRjaC10aW1lLXRleHQiPlB1Ymxp + c2hlZCBvbiBEZWMgMTEsIDIwMTQ8L3N0cm9uZz48L2Rpdj48ZGl2IGlkPSJ3 + YXRjaC1kZXNjcmlwdGlvbi10ZXh0IiBjbGFzcz0iIj48cCBpZD0iZW93LWRl + c2NyaXB0aW9uIiBjbGFzcz0iIiA+U28gd2hhdCBpcyB0aGUgZGlmZmVyZW5j + ZSBiZXR3ZWVuIHlvdSBhbmQgYSByb2NrPyBUaGlzIHNlZW1zIGxpa2UgYW4g + ZWFzeSwgZXZlbiBzdHVwaWQgcXVlc3Rpb24uIEJ1dCBldmVuIHRoZSBzbWFy + dGVzdCBwZW9wbGUgb24gZWFydGggaGF2ZSBubyBpZGVhIHdoZXJlIHRvIGRy + YXcgdGhlIGxpbmUgYmV0d2VlbiBsaXZpbmcgYW5kIGRlYWQgdGhpbmdzLiBX + aGljaCBsZWFkcyB0byBtaW5kLWJsb3dpbmcgaW1wbGljYXRpb25zLiBXaGF0 + IGlzIGxpZmUgYWZ0ZXIgYWxsPyBBbmQgaXMgZGVhdGggcmVhbGx5IGEgdGhp + bmc/IExldHMgbG9vayBpbnRvIGl0IHRvZ2V0aGVyPGJyIC8+PGJyIC8+PGEg + aHJlZj0iL3JlZGlyZWN0P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUz + TmU2TjAwTXFUaDhNVFV4TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2 + PVFPQ2FhY084d3VzJmFtcDtxPWh0dHAlM0ElMkYlMkZ3YWl0YnV0d2h5LmNv + bSUyRiZhbXA7ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24iIGNsYXNzPSJ5dC11 + aXgtc2Vzc2lvbmxpbmsgICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DRE1R + NlRnWUFDSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVqcmhmT2Ru + TTJtOEVBIiBkYXRhLXVybD0iL3JlZGlyZWN0P3JlZGlyX3Rva2VuPXRSUVVM + dUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4TlRVeU5UUTBNMEF4TlRFMU5E + TTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFtcDtxPWh0dHAlM0ElMkYlMkZ3 + YWl0YnV0d2h5LmNvbSUyRiZhbXA7ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24i + IGRhdGEtdGFyZ2V0LW5ldy13aW5kb3c9IlRydWUiIHRhcmdldD0iX2JsYW5r + IiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIj5odHRwOi8vd2FpdGJ1dHdoeS5j + b20vPC9hPiBoYXMgdGhlIGZvbGxvdyB1cCBhcnRpY2xlIHVwOiA8YSBocmVm + PSIvcmVkaXJlY3Q/cmVkaXJfdG9rZW49dFJRVUx1Qm0tdDVtLVYzNTNOZTZO + MDBNcVRoOE1UVXhOVFV5TlRRME0wQXhOVEUxTkRNNU1EUXomYW1wO3Y9UU9D + YWFjTzh3dXMmYW1wO3E9aHR0cCUzQSUyRiUyRmJpdC5seSUyRjF2SkJ6Q1Um + YW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0ieXQtdWl4LXNl + c3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0RNUTZUZ1lB + Q0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJoZk9kbk0ybThF + QSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10UlFVTHVCbS10 + NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5URTFORE01TURR + eiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwJTNBJTJGJTJGYml0Lmx5 + JTJGMXZKQnpDVSZhbXA7ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24iIGRhdGEt + dGFyZ2V0LW5ldy13aW5kb3c9IlRydWUiIHRhcmdldD0iX2JsYW5rIiByZWw9 + Im5vZm9sbG93IG5vb3BlbmVyIj5odHRwOi8vYml0Lmx5LzF2SkJ6Q1U8L2E+ + IEhhdmUgSSBtZW50aW9uZW5kIHlldCB0aGF0IHlvdSBzaG91bGQgcmVhZCBp + dD8gQ2hlY2sgdGhlbSBvdXQsIGJ5IGZhciB0aGUgYmVzdCBibG9nIG9uIHRo + ZSBpbnRlcm5ldC48YnIgLz48YnIgLz5Zb3UgY2FuIGdldCB0aGUgTVVTSUMg + b2YgdGhlIHZpZGVvIGhlcmU6PGJyIC8+PGJyIC8+PGEgaHJlZj0iL3JlZGly + ZWN0P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhN + VFV4TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3Vz + JmFtcDtxPWh0dHBzJTNBJTJGJTJGc291bmRjbG91ZC5jb20lMkZlcGljbW91 + bnRhaW4lMkZsaWZlLW9yaWdpbmFsLW11c2ljLWt1cnpnZXNhZ3Qtc2NpZW5j + ZS1WaWRlb3MmYW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0i + eXQtdWl4LXNlc3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9 + Q0RNUTZUZ1lBQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJo + Zk9kbk0ybThFQSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10 + UlFVTHVCbS10NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5U + RTFORE01TURReiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwcyUzQSUy + RiUyRnNvdW5kY2xvdWQuY29tJTJGZXBpY21vdW50YWluJTJGbGlmZS1vcmln + aW5hbC1tdXNpYy1rdXJ6Z2VzYWd0LXNjaWVuY2UtVmlkZW9zJmFtcDtldmVu + dD12aWRlb19kZXNjcmlwdGlvbiIgZGF0YS10YXJnZXQtbmV3LXdpbmRvdz0i + VHJ1ZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIi + Pmh0dHBzOi8vc291bmRjbG91ZC5jb20vZXBpY21vdW50YWluL2wuLi48L2E+ + PGJyIC8+PGJyIC8+PGEgaHJlZj0iL3JlZGlyZWN0P3JlZGlyX3Rva2VuPXRS + UVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4TlRVeU5UUTBNMEF4TlRF + MU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFtcDtxPWh0dHAlM0ElMkYl + MkZlcGljbW91bnRhaW5tdXNpYy5iYW5kY2FtcC5jb20lMkZ0cmFjayUyRmxp + ZmUmYW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0ieXQtdWl4 + LXNlc3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0RNUTZU + Z1lBQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJoZk9kbk0y + bThFQSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10UlFVTHVC + bS10NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5URTFORE01 + TURReiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwJTNBJTJGJTJGZXBp + Y21vdW50YWlubXVzaWMuYmFuZGNhbXAuY29tJTJGdHJhY2slMkZsaWZlJmFt + cDtldmVudD12aWRlb19kZXNjcmlwdGlvbiIgZGF0YS10YXJnZXQtbmV3LXdp + bmRvdz0iVHJ1ZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9v + cGVuZXIiPmh0dHA6Ly9lcGljbW91bnRhaW5tdXNpYy5iYW5kY2FtcC5jb20u + Li48L2E+PGJyIC8+PGJyIC8+PGEgaHJlZj0iL3JlZGlyZWN0P3JlZGlyX3Rv + a2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4TlRVeU5UUTBN + MEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFtcDtxPWh0dHAl + M0ElMkYlMkZlcGljLW1vdW50YWluLmNvbSZhbXA7ZXZlbnQ9dmlkZW9fZGVz + Y3JpcHRpb24iIGNsYXNzPSJ5dC11aXgtc2Vzc2lvbmxpbmsgICIgZGF0YS1z + ZXNzaW9ubGluaz0iaXRjdD1DRE1RNlRnWUFDSVRDTUxqOEs2S3lkZ0NGWXZU + d1FvZGRVZ0ppaWo0SFVqcmhmT2RuTTJtOEVBIiBkYXRhLXVybD0iL3JlZGly + ZWN0P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhN + VFV4TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3Vz + JmFtcDtxPWh0dHAlM0ElMkYlMkZlcGljLW1vdW50YWluLmNvbSZhbXA7ZXZl + bnQ9dmlkZW9fZGVzY3JpcHRpb24iIGRhdGEtdGFyZ2V0LW5ldy13aW5kb3c9 + IlRydWUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVy + Ij5odHRwOi8vZXBpYy1tb3VudGFpbi5jb208L2E+PGJyIC8+PGJyIC8+Vmlk + ZW9zLCBleHBsYWluaW5nIHRoaW5ncy4gTGlrZSBldm9sdXRpb24sIHRpbWUs + IHNwYWNlLCBnbG9iYWwgZW5lcmd5IG9yIG91ciBleGlzdGVuY2UgaW4gdGhp + cyBzdHJhbmdlIHVuaXZlcnNlLiA8YnIgLz5XZSBhcmUgYSB0ZWFtIG9mIGRl + c2lnbmVycywgam91cm5hbGlzdHMgYW5kIG11c2ljaWFucyB3aG8gd2FudCB0 + byBtYWtlIHNjaWVuY2UgbG9vayBiZWF1dGlmdWwuIEJlY2F1c2UgaXQgaXMg + YmVhdXRpZnVsLiA8YnIgLz48YnIgLz5WaXNpdCB1cyBvbiBvdXIgV2Vic2l0 + ZSwgVHdpdHRlciwgRmFjZWJvb2ssIFBhdHJlb24gb3IgQmVoYW5jZSB0byBz + YXkgaGkhPGJyIC8+PGJyIC8+PGEgaHJlZj0iL3JlZGlyZWN0P3JlZGlyX3Rv + a2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4TlRVeU5UUTBN + MEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFtcDtxPWh0dHAl + M0ElMkYlMkZrdXJ6Z2VzYWd0Lm9yZyZhbXA7ZXZlbnQ9dmlkZW9fZGVzY3Jp + cHRpb24iIGNsYXNzPSJ5dC11aXgtc2Vzc2lvbmxpbmsgICIgZGF0YS1zZXNz + aW9ubGluaz0iaXRjdD1DRE1RNlRnWUFDSVRDTUxqOEs2S3lkZ0NGWXZUd1Fv + ZGRVZ0ppaWo0SFVqcmhmT2RuTTJtOEVBIiBkYXRhLXVybD0iL3JlZGlyZWN0 + P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4 + TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFt + cDtxPWh0dHAlM0ElMkYlMkZrdXJ6Z2VzYWd0Lm9yZyZhbXA7ZXZlbnQ9dmlk + ZW9fZGVzY3JpcHRpb24iIGRhdGEtdGFyZ2V0LW5ldy13aW5kb3c9IlRydWUi + IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIj5odHRw + Oi8va3Vyemdlc2FndC5vcmc8L2E+PGJyIC8+PGEgaHJlZj0iL3JlZGlyZWN0 + P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2TjAwTXFUaDhNVFV4 + TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFPQ2FhY084d3VzJmFt + cDtxPWh0dHBzJTNBJTJGJTJGd3d3LmZhY2Vib29rLmNvbSUyRkt1cnpnZXNh + Z3QmYW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0ieXQtdWl4 + LXNlc3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0RNUTZU + Z1lBQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJoZk9kbk0y + bThFQSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10UlFVTHVC + bS10NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5URTFORE01 + TURReiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwcyUzQSUyRiUyRnd3 + dy5mYWNlYm9vay5jb20lMkZLdXJ6Z2VzYWd0JmFtcDtldmVudD12aWRlb19k + ZXNjcmlwdGlvbiIgZGF0YS10YXJnZXQtbmV3LXdpbmRvdz0iVHJ1ZSIgdGFy + Z2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiPmh0dHBzOi8v + d3d3LmZhY2Vib29rLmNvbS9LdXJ6Z2VzYWd0PC9hPjxiciAvPjxhIGhyZWY9 + Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10UlFVTHVCbS10NW0tVjM1M05lNk4w + ME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5URTFORE01TURReiZhbXA7dj1RT0Nh + YWNPOHd1cyZhbXA7cT1odHRwcyUzQSUyRiUyRnR3aXR0ZXIuY29tJTJGS3Vy + el9HZXNhZ3QmYW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0i + eXQtdWl4LXNlc3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9 + Q0RNUTZUZ1lBQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJo + Zk9kbk0ybThFQSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10 + UlFVTHVCbS10NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5U + RTFORE01TURReiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwcyUzQSUy + RiUyRnR3aXR0ZXIuY29tJTJGS3Vyel9HZXNhZ3QmYW1wO2V2ZW50PXZpZGVv + X2Rlc2NyaXB0aW9uIiBkYXRhLXRhcmdldC1uZXctd2luZG93PSJUcnVlIiB0 + YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciI+aHR0cHM6 + Ly90d2l0dGVyLmNvbS9LdXJ6X0dlc2FndDwvYT48YnIgLz48YSBocmVmPSIv + cmVkaXJlY3Q/cmVkaXJfdG9rZW49dFJRVUx1Qm0tdDVtLVYzNTNOZTZOMDBN + cVRoOE1UVXhOVFV5TlRRME0wQXhOVEUxTkRNNU1EUXomYW1wO3Y9UU9DYWFj + Tzh3dXMmYW1wO3E9aHR0cCUzQSUyRiUyRnd3dy5wYXRyZW9uLmNvbSUyRkt1 + cnpnZXNhZ3QmYW1wO2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uIiBjbGFzcz0i + eXQtdWl4LXNlc3Npb25saW5rICAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9 + Q0RNUTZUZ1lBQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVanJo + Zk9kbk0ybThFQSIgZGF0YS11cmw9Ii9yZWRpcmVjdD9yZWRpcl90b2tlbj10 + UlFVTHVCbS10NW0tVjM1M05lNk4wME1xVGg4TVRVeE5UVXlOVFEwTTBBeE5U + RTFORE01TURReiZhbXA7dj1RT0NhYWNPOHd1cyZhbXA7cT1odHRwJTNBJTJG + JTJGd3d3LnBhdHJlb24uY29tJTJGS3Vyemdlc2FndCZhbXA7ZXZlbnQ9dmlk + ZW9fZGVzY3JpcHRpb24iIGRhdGEtdGFyZ2V0LW5ldy13aW5kb3c9IlRydWUi + IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIj5odHRw + Oi8vd3d3LnBhdHJlb24uY29tL0t1cnpnZXNhZ3Q8L2E+PGJyIC8+PGEgaHJl + Zj0iL3JlZGlyZWN0P3JlZGlyX3Rva2VuPXRSUVVMdUJtLXQ1bS1WMzUzTmU2 + TjAwTXFUaDhNVFV4TlRVeU5UUTBNMEF4TlRFMU5ETTVNRFF6JmFtcDt2PVFP + Q2FhY084d3VzJmFtcDtxPWh0dHAlM0ElMkYlMkZ3d3cuYmVoYW5jZS5uZXQl + MkZLdXJ6Z2VzYWd0JmFtcDtldmVudD12aWRlb19kZXNjcmlwdGlvbiIgY2xh + c3M9Inl0LXVpeC1zZXNzaW9ubGluayAgIiBkYXRhLXNlc3Npb25saW5rPSJp + dGN0PUNETVE2VGdZQUNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRI + VWpyaGZPZG5NMm04RUEiIGRhdGEtdXJsPSIvcmVkaXJlY3Q/cmVkaXJfdG9r + ZW49dFJRVUx1Qm0tdDVtLVYzNTNOZTZOMDBNcVRoOE1UVXhOVFV5TlRRME0w + QXhOVEUxTkRNNU1EUXomYW1wO3Y9UU9DYWFjTzh3dXMmYW1wO3E9aHR0cCUz + QSUyRiUyRnd3dy5iZWhhbmNlLm5ldCUyRkt1cnpnZXNhZ3QmYW1wO2V2ZW50 + PXZpZGVvX2Rlc2NyaXB0aW9uIiBkYXRhLXRhcmdldC1uZXctd2luZG93PSJU + cnVlIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciI+ + aHR0cDovL3d3dy5iZWhhbmNlLm5ldC9LdXJ6Z2VzYWd0PC9hPjxiciAvPjxi + ciAvPldoYXQgSXMgTGlmZT8gSXMgRGVhdGggRXZlbiBSZWFsPzxiciAvPjxi + ciAvPlRIQU5LUyBBIExPVCBUTyBPVVIgTE9WRUxZIFBBVFJPTlMgRk9SIFNV + UFBPUlRJTkcgVVM6PGJyIC8+PGJyIC8+T3BhbCBIYXJ0Ym93ZXIsIEFuZHJ6 + ZWogUmVqbWFuLCBBbmRyZXcgSmFnYXNvdGh5LCBSdXNzZWxsIENvbW1vbiwg + U3RlcGhlbiBCYXNzZXR0LCBDaHJpc3RvcGhlciBMYW5nLCBDaHJpcyBLaXRj + aGluZywgSmVmZiBMZSwgRnJhbmNlc2NhIE1vbnRlaXJvLCBEdW5jYW4gQ2hl + b25nLCBEZXJlaywgSnVhbiBNYW51ZWwgQ29ycmVkb3IsIEt5bGUgQ2hhcG1h + biwgTGFtIE5ndXllbiwgSmFuIEJlcmRlbCwgU2NvdHQgWmVsbCwgRGF2aWQg + V2Fsc2gsIEFnZW50SywgTWVobWV0IFNldmlsLCBDYXJseSBUYXdzZSwgU2hh + YWxlZSBEd29yc2tpLCBCZW4gTnVuYW4sIEouSi4sIENocmlzIExpbmFyZG9z + LCBUb255IE1vcmxleSBKw7NuYXRhbiBOaWxzc29uLCBQaG9scGF0IER1cm9u + Z2JoYW4sIE1vc2ggUmFobWFuLCBQYXRyaWNrIEV5cmljaCwgS29rTGlhbmcg + TGltLCB0cmVmbWFuaWMsIERlYW4gSGVyYmVydCwgQWRhbSBTbWl0aCwgR2HD + q3RhbiBEdXZhdXgsIENhcm9saW5lIEFuZHJld2VzLCBBbGV4IEthcGxhbiwg + U2ViYXN0aWFuIExhaXNlY2EsIENoYXNlIEdvdGxpZWIsIE1hdHRoZXcgR2ls + bCwgQWxleGFuZGVyIEhlYXZlbnMsIEtldmluIFlhcGFvbGEsIEFkYW0gUHJp + bWFlcm9zLCBKYW4gU2NobWlkLCBBbGV4YW5kZXIgR2F2aW4gWm9kZGEsIERh + cmlvIFBhZ25pYSwgU2FyYSBTaGFoLCBLaW1iZXJseSBQb3dlbGwsIEVkdWFy + ZG8gQmFyYm9zYSwgSmVyb2VuIEtvZXJ0cywgTWljaGFsLCBXaWxsIEIsIG1h + YXJ0ZW4gbGlndGVuYmVyZywgR2hpdGVhIEFuZHJlaSBQYXVsLCBuZ2HigbQs + IFJ5YW4sIExhcnJ5IEJ1bnlhcmQsIE1hbHRoZSBBZ2dlciwgR2lvdmFubmEg + Q2FyZG9zbywgZGFudGUgaGFycGVyLCBCw7xueWFtaW4gVGV0aWssIEpvZSBQ + b25kLCBTdGVwaGVuIE1vcnNlLCBKw7hyZ2VuIFNtYWzDpXMsIERhcmlvIFfD + vG5zY2gsIE1hdHRoZXcgTWFjb21iZXIsIERhbmllbCBNY0NvdWlkLUNhcnIs + IFppZ2d5IEZyZWVkLCBCcmlhbiBEYXZpZCBIZW5kZXJzb24sIFRoZW8gQWx2 + ZXMgTW9udGVpcm8sIERhdmlkIERhdmVucG9ydC1GaXJ0aCwgSGFtYWQsIE1p + Y2hhZWwgUmVuLCBBbmRyZXcgQ29ubm9yLCBQZXRlciBTY2h1bGxlciwgQnJh + bmR5IEFsZXhhbmRlciwgQWxleGFuZGVyIEtvc2Vua292LCBQYXNjYWwgQi4s + IEVyaWMsIFNjb3R0IExhaW5nLCBHaXplbSBHw7xya2FuLCBHZW9yZ2UgQ2hl + YXJzd2F0LCBCcmFuZG9uIExpdSwgb3NjYXIgZ2F1dGFtYSwgVGltLCBCcnVu + byBBcmHDumpvLCBDYXJsb3MgQm9ob3JxdWV6LCBDaHJpc3RpYW4gTHlzdGVy + IEJsw6ZzYmplcmcsIERhbmllbCBPQ0wsIERhdmlkIEhhcmJpbnNvbiwgSGVl + bWkgS3V0aWEsIFJpa2FyZCBOeWJlcmcsIEZsb3JpYW4gR3VpdHRvbiwgSmV6 + YXJpYWVsIERlbW9zLCBBamF5IFNoZWtoYXIsIFJ5YW4gTmFpLCBFdWdlbmUg + Q2hhbSwgTmljayBZb25nZSwgRGF2aWQgR2FyY2lhIFF1aW50YXMsIFJlbmF1 + ZCBTYXZpZ25hcmQsIEphbWVzLCBSeWFuLCBzb21lcnNhdWx0MTg6MjQsIFBy + YW5hYiBTaGVub3ksIFRlcnJ5IExpcHN0ZWluLCBKYW4gTHVrYXMgTGVobWFu + biwgSmF2aWVyIGRlIGxhIEdhcnphLCBUaW0gQ2FybGwsIFBldGVyIMW9bnVk + ZXJsLCBSb3J5IEJlbm5ldHQsIFNpZWdsaW5kZSBHZWlzZWwsIFJhbmR5IEtu + YXBwLCBKZWZmIENodXJjaGlsbCwgSm9uYXRoYW4gVmVsYXpxdWV6IEdvcmUs + IERhbmllbCwgUm9tYW4gWm9sb3RvcmV2aWNoLCBDbGF5dG9uIEZ1c3NlbGwu + IFBvbCBMdXRnZW4sIERhbmllbCBHb256YWxleiwgU3RlcGhlbiBKb3NlcGgg + RENydXosIFNlb25hIFRlYSwgVGhvbWFzIExlZSwgRmlubiBFZHdhcmRzLCBF + cm5zdCB2YW4gV2lqaywgRGF2aWQgVGF5bG9yLCBDb3JiaW4gR3JlZW5lLCBU + ZW1wZXN0LCBCYWxhenMtSGVnZWR1cyBKb3pzZWYsIEFsYW4gRmV5YWVydHMs + IEZhYnJpY2lvIEdvZG95LCBDaGFybGVzIEt1YW5nLCBNYXhpbWlsaWFuIFJp + dHRlciwgSmVzc2UgTWFjTGVhbiwgWW91c2lmLCBKZXNzZSBQb3dlbGwsIFdl + aSBXb25nLCBQcmF2ZWVuIE11dGh1LCBKb24gRGF2aXMsIEJhaGphdCwgRXRp + ZW5uZSBMYSBDb3VudCwgSWdvciBCZW5pY2lvIGRlIE1lc3F1aXRhLCBTaWRk + aGFydGggQmFqYWosIEdyZWVueSBMaXUsIFByb2Nlc3NlZCBSZWZ1bmQsIFRp + Ym9yIFNjaGllbWFubiw8YnIgLz48YnIgLz5XaGF0IElzIExpZmU/IElzIERl + YXRoIEV2ZW4gUmVhbD88YnIgLz48YnIgLz5IZWxwIHVzIGNhcHRpb24gJiB0 + cmFuc2xhdGUgdGhpcyB2aWRlbyE8YnIgLz48YnIgLz48YSBocmVmPSJodHRw + Oi8vd3d3LnlvdXR1YmUuY29tL3RpbWVkdGV4dF9jc19wYW5lbD9jPVVDc1hW + azM3Ymx0SHhEMXJEUHd0Tk04USZhbXA7dGFiPTIiIGNsYXNzPSJ5dC11aXgt + c2Vzc2lvbmxpbmsgICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DRE1RNlRn + WUFDSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVqcmhmT2RuTTJt + OEVBIiBkYXRhLXVybD0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS90aW1lZHRl + eHRfY3NfcGFuZWw/Yz1VQ3NYVmszN2JsdEh4RDFyRFB3dE5NOFEmYW1wO3Rh + Yj0yIiA+aHR0cDovL3d3dy55b3V0dWJlLmNvbS90aW1lZHRleHRfY3NfcC4u + LjwvYT48L3A+PC9kaXY+ICA8ZGl2IGlkPSJ3YXRjaC1kZXNjcmlwdGlvbi1l + eHRyYXMiPgogICAgPHVsIGNsYXNzPSJ3YXRjaC1leHRyYXMtc2VjdGlvbiI+ + CiAgICAgICAgICAgIDxsaSBjbGFzcz0id2F0Y2gtbWV0YS1pdGVtIHl0LXVp + eC1leHBhbmRlci1ib2R5Ij4KICAgIDxoNCBjbGFzcz0idGl0bGUiPgogICAg + ICBDYXB0aW9uIGF1dGhvcnMgKFRhbWlsKQogICAgPC9oND4KICAgIDx1bCBj + bGFzcz0iY29udGVudCB3YXRjaC1pbmZvLXRhZy1saXN0Ij4KICAgICAgICA8 + bGk+PGEgaHJlZj0iL2NoYW5uZWwvVUNZQ3lwcHZPeUZLYU55QnBOa1JmNHpB + IiBjbGFzcz0iIHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIg + ZGF0YS1zZXNzaW9ubGluaz0iZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSZh + bXA7ZmVhdHVyZT12aWRlby1jcmVkaXQiID5LcmlzaG5hIFJhZGhleTwvYT48 + L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY2hhbm5lbC9VQ1lwOFA4akdL + cUtnaDAwZC1wcm9yQ3ciIGNsYXNzPSIgeXQtdWl4LXNlc3Npb25saW5rICAg + ICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJlaT13OE5UV29MMkY0 + dW5od2Ixa0tYUUNBJmFtcDtmZWF0dXJlPXZpZGVvLWNyZWRpdCIgPkRldmVu + ZGlyYW4gQWs8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2NoYW5u + ZWwvVUNzZ3BIbDJGMTNUaW5YcXFlQUxMblpRIiBjbGFzcz0iIHl0LXVpeC1z + ZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0i + ZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSZhbXA7ZmVhdHVyZT12aWRlby1j + cmVkaXQiID40IEV2ZXI8L2E+PC9saT4KICAgIDwvdWw+CiAgPC9saT4KCiAg + ICAgICAgICAgIDxsaSBjbGFzcz0id2F0Y2gtbWV0YS1pdGVtIHl0LXVpeC1l + eHBhbmRlci1ib2R5Ij4KICAgIDxoNCBjbGFzcz0idGl0bGUiPgogICAgICBD + YXB0aW9uIGF1dGhvcnMgKEVzdG9uaWFuKQogICAgPC9oND4KICAgIDx1bCBj + bGFzcz0iY29udGVudCB3YXRjaC1pbmZvLXRhZy1saXN0Ij4KICAgICAgICA8 + bGk+PGEgaHJlZj0iL2NoYW5uZWwvVUN3VzBxOFJrRzd4VzlWVW9nc2c4QXpn + IiBjbGFzcz0iIHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIg + ZGF0YS1zZXNzaW9ubGluaz0iZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSZh + bXA7ZmVhdHVyZT12aWRlby1jcmVkaXQiID5BcnR1ciBMZXBwaWs8L2E+PC9s + aT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2NoYW5uZWwvVUNSS2I1cU8ydk1j + d1BhMGswaFUzR3l3IiBjbGFzcz0iIHl0LXVpeC1zZXNzaW9ubGluayAgICAg + IHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iZWk9dzhOVFdvTDJGNHVu + aHdiMWtLWFFDQSZhbXA7ZmVhdHVyZT12aWRlby1jcmVkaXQiID5zdmlscG9u + aXM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2NoYW5uZWwvVUNi + ZTBON2pJVEI1TEh4a2ZzeWE2MG5BIiBjbGFzcz0iIHl0LXVpeC1zZXNzaW9u + bGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iZWk9dzhO + VFdvTDJGNHVuaHdiMWtLWFFDQSZhbXA7ZmVhdHVyZT12aWRlby1jcmVkaXQi + ID5CYXJ0enppPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9jaGFu + bmVsL1VDY3VRdFBaRXhkVkE5aHJrVnAzeXRZQSIgY2xhc3M9IiB5dC11aXgt + c2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9 + ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9dmlkZW8t + Y3JlZGl0IiA+S0IgUHJvUGltUGVyPC9hPjwvbGk+CiAgICAgICAgPGxpPjxh + IGhyZWY9Ii9jaGFubmVsL1VDSTYxSDFSWmtCRWZfbzNyRW94NGwyUSIgY2xh + c3M9IiB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEt + c2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1wO2Zl + YXR1cmU9dmlkZW8tY3JlZGl0IiA+Q2FybWVuaSBWbG9naWQ8L2E+PC9saT4K + ICAgIDwvdWw+CiAgPC9saT4KCiAgICAgICAgICAgIDxsaSBjbGFzcz0id2F0 + Y2gtbWV0YS1pdGVtIHl0LXVpeC1leHBhbmRlci1ib2R5Ij4KICAgIDxoNCBj + bGFzcz0idGl0bGUiPgogICAgICBDYXB0aW9uIGF1dGhvciAoU3BhbmlzaCAo + TGF0aW4gQW1lcmljYSkpCiAgICA8L2g0PgogICAgPHVsIGNsYXNzPSJjb250 + ZW50IHdhdGNoLWluZm8tdGFnLWxpc3QiPgogICAgICAgIDxsaT48YSBocmVm + PSIvY2hhbm5lbC9VQ0ZBTmdfWVZuVVFnc1dEcXg0NmNhX3ciIGNsYXNzPSIg + eXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Np + b25saW5rPSJlaT13OE5UV29MMkY0dW5od2Ixa0tYUUNBJmFtcDtmZWF0dXJl + PXZpZGVvLWNyZWRpdCIgPm5vcm1hIHZpbGxlZ2FzPC9hPjwvbGk+CiAgICA8 + L3VsPgogIDwvbGk+CgogICAgICAgICAgICA8bGkgY2xhc3M9IndhdGNoLW1l + dGEtaXRlbSB5dC11aXgtZXhwYW5kZXItYm9keSI+CiAgICA8aDQgY2xhc3M9 + InRpdGxlIj4KICAgICAgQ2FwdGlvbiBhdXRob3JzIChNYXJhdGhpKQogICAg + PC9oND4KICAgIDx1bCBjbGFzcz0iY29udGVudCB3YXRjaC1pbmZvLXRhZy1s + aXN0Ij4KICAgICAgICA8bGk+PGEgaHJlZj0iL2NoYW5uZWwvVUNIY1ZxaHM2 + Zm1ZaW5icTVoakl0THJ3IiBjbGFzcz0iIHl0LXVpeC1zZXNzaW9ubGluayAg + ICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iZWk9dzhOVFdvTDJG + NHVuaHdiMWtLWFFDQSZhbXA7ZmVhdHVyZT12aWRlby1jcmVkaXQiID5TYXR5 + YXdhdGkgUmF3b29sPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9j + aGFubmVsL1VDa0N5SWVfVHFSWUg1RG8tRXNGVEV1ZyIgY2xhc3M9IiB5dC11 + aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxp + bms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9dmlk + ZW8tY3JlZGl0IiA+QWxsIGluIE9uZTwvYT48L2xpPgogICAgPC91bD4KICA8 + L2xpPgoKICAgICAgICAgICAgPGxpIGNsYXNzPSJ3YXRjaC1tZXRhLWl0ZW0g + eXQtdWl4LWV4cGFuZGVyLWJvZHkiPgogICAgPGg0IGNsYXNzPSJ0aXRsZSI+ + CiAgICAgIENhcHRpb24gYXV0aG9ycyAoSGluZGkpCiAgICA8L2g0PgogICAg + PHVsIGNsYXNzPSJjb250ZW50IHdhdGNoLWluZm8tdGFnLWxpc3QiPgogICAg + ICAgIDxsaT48YSBocmVmPSIvY2hhbm5lbC9VQ3dPNmdqNV9BUllfNzZhTlpP + Q3ZHN3ciIGNsYXNzPSIgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxp + bmsgIiBkYXRhLXNlc3Npb25saW5rPSJlaT13OE5UV29MMkY0dW5od2Ixa0tY + UUNBJmFtcDtmZWF0dXJlPXZpZGVvLWNyZWRpdCIgPlNjaVRlY2ggR3VydTwv + YT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY2hhbm5lbC9VQ2RGVHd1 + RFppZm9uNG1KMHBYSlM0U1EiIGNsYXNzPSIgeXQtdWl4LXNlc3Npb25saW5r + ICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJlaT13OE5UV29M + MkY0dW5od2Ixa0tYUUNBJmFtcDtmZWF0dXJlPXZpZGVvLWNyZWRpdCIgPlJh + aHVsIGtodWxsYXI8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2No + YW5uZWwvVUMtaW9PZS1UVGhZZkxuM2dodXVxV0dnIiBjbGFzcz0iIHl0LXVp + eC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGlu + az0iZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSZhbXA7ZmVhdHVyZT12aWRl + by1jcmVkaXQiID5MaXR0bGUgQ3JhZnRlcjwvYT48L2xpPgogICAgPC91bD4K + ICA8L2xpPgoKICAgICAgICAgICAgPGxpIGNsYXNzPSJ3YXRjaC1tZXRhLWl0 + ZW0geXQtdWl4LWV4cGFuZGVyLWJvZHkiPgogICAgPGg0IGNsYXNzPSJ0aXRs + ZSI+CiAgICAgIENhcHRpb24gYXV0aG9yIChBemVyYmFpamFuaSkKICAgIDwv + aDQ+CiAgICA8dWwgY2xhc3M9ImNvbnRlbnQgd2F0Y2gtaW5mby10YWctbGlz + dCI+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9jaGFubmVsL1VDVnhwSXBUd0gy + YXRqcVVxdTdmZ2FzQSIgY2xhc3M9IiB5dC11aXgtc2Vzc2lvbmxpbmsgICAg + ICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1 + bmh3YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9dmlkZW8tY3JlZGl0IiA+aUxBSEUg + VU1VRDwvYT48L2xpPgogICAgPC91bD4KICA8L2xpPgoKICAgICAgICAgICAg + PGxpIGNsYXNzPSJ3YXRjaC1tZXRhLWl0ZW0geXQtdWl4LWV4cGFuZGVyLWJv + ZHkiPgogICAgPGg0IGNsYXNzPSJ0aXRsZSI+CiAgICAgIENhcHRpb24gYXV0 + aG9ycyAoQ2hpbmVzZSkKICAgIDwvaDQ+CiAgICA8dWwgY2xhc3M9ImNvbnRl + bnQgd2F0Y2gtaW5mby10YWctbGlzdCI+CiAgICAgICAgPGxpPjxhIGhyZWY9 + Ii9jaGFubmVsL1VDYWNSTlRKTUZ5UmpMaGtIcENvSS0tQSIgY2xhc3M9IiB5 + dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lv + bmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9 + dmlkZW8tY3JlZGl0IiA+UnVpIFpoYW5nPC9hPjwvbGk+CiAgICAgICAgPGxp + PjxhIGhyZWY9Ii9jaGFubmVsL1VDb2lsNmRYNlRvTTFxWGhLb0lOSEd4dyIg + Y2xhc3M9IiB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRh + dGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1w + O2ZlYXR1cmU9dmlkZW8tY3JlZGl0IiA+c2hpY2hhbyBzb25nPC9hPjwvbGk+ + CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9jaGFubmVsL1VDU3RlWEVvVGdVeTFa + WEs1LUx5WHVTUSIgY2xhc3M9IiB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBz + cGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3 + YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9dmlkZW8tY3JlZGl0IiA+6KW/5pyo6YeO + 576w5Z+6PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9jaGFubmVs + L1VDTGdBemhVa3RGci14S3hMU0dORU9NUSIgY2xhc3M9IiB5dC11aXgtc2Vz + c2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9ImVp + PXc4TlRXb0wyRjR1bmh3YjFrS1hRQ0EmYW1wO2ZlYXR1cmU9dmlkZW8tY3Jl + ZGl0IiA+bWlrZWFibmVyMTE8L2E+PC9saT4KICAgIDwvdWw+CiAgPC9saT4K + CiAgICAgICAgICAgIDxsaSBjbGFzcz0id2F0Y2gtbWV0YS1pdGVtIHl0LXVp + eC1leHBhbmRlci1ib2R5Ij4KICAgIDxoNCBjbGFzcz0idGl0bGUiPgogICAg + ICBDYXB0aW9uIGF1dGhvcnMgKE5vcndlZ2lhbikKICAgIDwvaDQ+CiAgICA8 + dWwgY2xhc3M9ImNvbnRlbnQgd2F0Y2gtaW5mby10YWctbGlzdCI+CiAgICAg + ICAgPGxpPjxhIGhyZWY9Ii9jaGFubmVsL1VDa0tSdXluX2psZzg3QzYwZW1J + TFN6dyIgY2xhc3M9IiB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGlu + ayAiIGRhdGEtc2Vzc2lvbmxpbms9ImVpPXc4TlRXb0wyRjR1bmh3YjFrS1hR + Q0EmYW1wO2ZlYXR1cmU9dmlkZW8tY3JlZGl0IiA+VmVnYXJkIEJvdG5lbjwv + YT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY2hhbm5lbC9VQ083bUF4 + WUVjdVktc0xjc0JBbEpDZUEiIGNsYXNzPSIgeXQtdWl4LXNlc3Npb25saW5r + ICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJlaT13OE5UV29M + MkY0dW5od2Ixa0tYUUNBJmFtcDtmZWF0dXJlPXZpZGVvLWNyZWRpdCIgPlNp + bXMgLSBDUzpHTzwvYT48L2xpPgogICAgPC91bD4KICA8L2xpPgoKICAgICAg + ICAgICAgPGxpIGNsYXNzPSJ3YXRjaC1tZXRhLWl0ZW0geXQtdWl4LWV4cGFu + ZGVyLWJvZHkiPgogICAgPGg0IGNsYXNzPSJ0aXRsZSI+CiAgICAgIENhdGVn + b3J5CiAgICA8L2g0PgogICAgPHVsIGNsYXNzPSJjb250ZW50IHdhdGNoLWlu + Zm8tdGFnLWxpc3QiPgogICAgICAgIDxsaT48YSBocmVmPSIvY2hhbm5lbC9V + QzN5QThuRHdyYWVPZm5ZZkJXdW44M2ciIGNsYXNzPSIgeXQtdWl4LXNlc3Np + b25saW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJlaT13 + OE5UV29MMkY0dW5od2Ixa0tYUUNBIiA+RWR1Y2F0aW9uPC9hPjwvbGk+CiAg + ICA8L3VsPgogIDwvbGk+CgogICAgICAgICAgICA8bGkgY2xhc3M9IndhdGNo + LW1ldGEtaXRlbSB5dC11aXgtZXhwYW5kZXItYm9keSI+CiAgICA8aDQgY2xh + c3M9InRpdGxlIj4KICAgICAgTGljZW5zZQogICAgPC9oND4KICAgIDx1bCBj + bGFzcz0iY29udGVudCB3YXRjaC1pbmZvLXRhZy1saXN0Ij4KICAgICAgICA8 + bGk+U3RhbmRhcmQgWW91VHViZSBMaWNlbnNlPC9saT4KICAgIDwvdWw+CiAg + PC9saT4KCiAgICA8L3VsPgogIDwvZGl2Pgo8L2Rpdj48L2Rpdj48L2Rpdj4g + IDxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1z + aXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1leHBhbmRlciB5dC11aXgtZXhw + YW5kZXItaGVhZCB5dC11aXgtZXhwYW5kZXItY29sbGFwc2VkLWJvZHkgeXQt + dWl4LWdlbjIwNCIgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSI7cmV0dXJuIGZh + bHNlOyIgZGF0YS1nZW4yMDQ9ImZlYXR1cmU9d2F0Y2gtc2hvdy1tb3JlLW1l + dGFkYXRhIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50Ij5T + aG93IG1vcmU8L3NwYW4+PC9idXR0b24+CiAgPGJ1dHRvbiBjbGFzcz0ieXQt + dWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5dC11aXgt + YnV0dG9uLWV4cGFuZGVyIHl0LXVpeC1leHBhbmRlci1oZWFkIHl0LXVpeC1l + eHBhbmRlci1ib2R5IiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IjtyZXR1cm4g + ZmFsc2U7Ij48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1jb250ZW50Ij5T + aG93IGxlc3M8L3NwYW4+PC9idXR0b24+CjwvZGl2PgoKCgogICAgICAgIDxk + aXYgaWQ9IndhdGNoLWRpc2N1c3Npb24iIGNsYXNzPSJicmFuZGVkLXBhZ2Ut + Ym94IHl0LWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uLXBh + bmVsLWxvYWRpbmciPgogICAgICAgIDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+ + CiAgICAgICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItaW1nICB5dC1zcHJp + dGUiIHRpdGxlPSJMb2FkaW5nIGljb24iPjwvc3Bhbj4KCiAgICA8c3BhbiBj + bGFzcz0ieXQtc3Bpbm5lci1tZXNzYWdlIj4KTG9hZGluZy4uLgogICAgPC9z + cGFuPgogIDwvcD4KCiAgICA8L2Rpdj4KCiAgPC9kaXY+CgoKICAgICAgPC9k + aXY+CiAgICAgIDxkaXYgaWQ9IndhdGNoNy1zaWRlYmFyIiBjbGFzcz0id2F0 + Y2gtc2lkZWJhciI+CiAgICAgICAgICAgIDxkaXYgaWQ9InBsYWNlaG9sZGVy + LXBsYXlsaXN0IiBjbGFzcz0id2F0Y2gtcGxheWxpc3QgcGxheWVyLWhlaWdo + dCAgaGlkIj48L2Rpdj4KCgoKICA8ZGl2IGlkPSJ3YXRjaDctc2lkZWJhci1j + b250ZW50cyIgY2xhc3M9IndhdGNoLXNpZGViYXItZ3V0dGVyICAgeXQtY2Fy + ZCB5dC1jYXJkLWhhcy1wYWRkaW5nICAgIHl0LXVpeC1leHBhbmRlciB5dC11 + aXgtZXhwYW5kZXItY29sbGFwc2VkIj4KICAgICAgPGRpdiBpZD0id2F0Y2g3 + LXNpZGViYXItb2ZmZXIiPgogICAgICAgIAogICAgICA8L2Rpdj4KCiAgICA8 + ZGl2IGlkPSJ3YXRjaDctc2lkZWJhci1hZHMiPgogICAgICAgICAgICAgIDxk + aXYgaWQ9IndhdGNoLWNoYW5uZWwtYnJhbmQtZGl2IiBjbGFzcz0iIiA+CiAg + ICAgIDxkaXYgaWQ9IndhdGNoLWNoYW5uZWwtYnJhbmQtZGl2LXRleHQiPgpB + ZHZlcnRpc2VtZW50CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJnb29n + bGVfY29tcGFuaW9uX2FkX2RpdiI+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+ + CgoKICAgIDwvZGl2PgogICAgPGRpdiBpZD0id2F0Y2g3LXNpZGViYXItbW9k + dWxlcyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndhdGNoLXNpZGViYXIt + c2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJhdXRvcGxheS1iYXIiPgogICAg + ICA8ZGl2IGNsYXNzPSJjaGVja2JveC1vbi1vZmYiPgogICAgICAgPGxhYmVs + IGZvcj0iYXV0b3BsYXktY2hlY2tib3giPkF1dG9wbGF5PC9sYWJlbD4KICAg + ICAgIDxzcGFuIGNsYXNzPSJhdXRvcGxheS1ob3ZlcmNhcmQgeXQtdWl4LWhv + dmVyY2FyZCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0b3BsYXktaW5m + by1pY29uIHl0LXVpeC1idXR0b24tb3BhY2l0eSB5dC11aXgtaG92ZXJjYXJk + LXRhcmdldCB5dC1zcHJpdGUiIGRhdGEtcG9zaXRpb249InRvcHJpZ2h0IiBk + YXRhLW9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI+PC9zcGFuPgo8c3BhbiBjbGFz + cz0ieXQtdWl4LWhvdmVyY2FyZC1jb250ZW50Ij5XaGVuIGF1dG9wbGF5IGlz + IGVuYWJsZWQsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgYXV0b21hdGljYWxs + eSBwbGF5IG5leHQuPC9zcGFuPiAgICAgICAgPC9zcGFuPgogICAgICAgICAg + PHNwYW4gY2xhc3M9Inl0LXVpeC1jaGVja2JveC1vbi1vZmYgIj4KPGlucHV0 + IGlkPSJhdXRvcGxheS1jaGVja2JveCIgY2xhc3M9IiIgdHlwZT0iY2hlY2ti + b3giIG5hbWU9IiIgIGNoZWNrZWQ+PGxhYmVsIGZvcj0iYXV0b3BsYXktY2hl + Y2tib3giIGlkPSJhdXRvcGxheS1jaGVja2JveC1sYWJlbCI+PHNwYW4gY2xh + c3M9ImNoZWNrZWQiPjwvc3Bhbj48c3BhbiBjbGFzcz0idG9nZ2xlIj48L3Nw + YW4+PHNwYW4gY2xhc3M9InVuY2hlY2tlZCI+PC9zcGFuPjwvbGFiZWw+ICA8 + L3NwYW4+CgogICAgICA8L2Rpdj4KICAgICAgPGg0IGNsYXNzPSJ3YXRjaC1z + aWRlYmFyLWhlYWQiPgogICAgICAgIFVwIG5leHQKICAgICAgPC9oND4KICAg + ICAgICA8ZGl2IGNsYXNzPSJ3YXRjaC1zaWRlYmFyLWJvZHkiPgogICAgPHVs + IGNsYXNzPSJ2aWRlby1saXN0Ij4KICAgICAgICA8bGkgY2xhc3M9InZpZGVv + LWxpc3QtaXRlbSByZWxhdGVkLWxpc3QtaXRlbSBzaG93LXZpZGVvLXRpbWUi + PgogICAgICAgICAgCgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVy + Ij4KICAgIDxhIGhyZWY9Ii93YXRjaD92PXRsVEtUVHQ0N1dFIiBjbGFzcz0i + IGNvbnRlbnQtbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAg + ICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNDd1FwREFZ + QUNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElIWVhWMGIyNWhk + a2pyaGZPZG5NMm04RUEiICB0aXRsZT0iSXMgUmVhbGl0eSBSZWFsPyBUaGUg + U2ltdWxhdGlvbiBBcmd1bWVudCIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9s + bG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNDd1FwREFZQUNJVENN + TGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVURoMnVQYjA4bXlxcllCIiA+ + CiAgPHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmli + ZWRieT0iZGVzY3JpcHRpb24taWQtNTA4ODUwIj4KICAgIElzIFJlYWxpdHkg + UmVhbD8gVGhlIFNpbXVsYXRpb24gQXJndW1lbnQKICA8L3NwYW4+CiAgPHNw + YW4gY2xhc3M9ImFjY2Vzc2libGUtZGVzY3JpcHRpb24iIGlkPSJkZXNjcmlw + dGlvbi1pZC01MDg4NTAiPgogICAgIC0gRHVyYXRpb246IDg6NDYuCiAgPC9z + cGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IGF0dHJpYnV0aW9uIj48c3BhbiBj + bGFzcz0iIiA+S3Vyemdlc2FndCDigJMgSW4gYSBOdXRzaGVsbDwvc3Bhbj48 + L3NwYW4+CiAgPHNwYW4gY2xhc3M9InN0YXQgdmlldy1jb3VudCI+NCw4ODQs + NzE4IHZpZXdzPC9zcGFuPgo8L2E+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0i + dGh1bWItd3JhcHBlciI+CgogICAgPGEgaHJlZj0iL3dhdGNoP3Y9dGxUS1RU + dDQ3V0UiIGNsYXNzPSIgdnZlLWNoZWNrIHRodW1iLWxpbmsgc3BmLWxpbmsg + IHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNz + aW9ubGluaz0iaXRjdD1DQ3dRcERBWUFDSVRDTUxqOEs2S3lkZ0NGWXZUd1Fv + ZGRVZ0ppaWo0SFRJSFlYVjBiMjVoZGtqcmhmT2RuTTJtOEVBIiAgdGFiaW5k + ZXg9Ii0xIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlz + aWJpbGl0eS10cmFja2luZz0iQ0N3UXBEQVlBQ0lUQ01MajhLNkt5ZGdDRll2 + VHdRb2RkVWdKaWlqNEhVRGgydVBiMDhteXFyWUIiIGFyaWEtaGlkZGVuPSJ0 + cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LXNpbXBsZS10aHVtYi13cmFwIHl0 + LXVpeC1zaW1wbGUtdGh1bWItcmVsYXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEt + dmlkPSJ0bFRLVFR0NDdXRSI+PGltZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9w + OiAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLXRodW1iPSJodHRwczov + L2kueXRpbWcuY29tL3ZpL3RsVEtUVHQ0N1dFL2hxZGVmYXVsdC5qcGc/c3Fw + PS1vYXltd0VXQ0tnQkVGNUlXdktyaXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1w + O3JzPUFPbjRDTENJUFZDd3Q2YzBkYlVaN0xzdXBUdHFkX2poeHciIHdpZHRo + PSIxNjgiIHNyYz0iL3l0cy9pbWcvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0 + PSIiID48c3BhbiBjbGFzcz0idmlkZW8tdGltZSI+ODo0Njwvc3Bhbj48L3Nw + YW4+PC9hPgoKICA8L2Rpdj4KCgogICAgICAgIDwvbGk+CiAgICA8L3VsPgog + IDwvZGl2PgoKICAgIDwvZGl2PgogIDwvZGl2PgoKICAgICAgICAKICAgICAg + ICAgIDxkaXYgY2xhc3M9IndhdGNoLXNpZGViYXItc2VjdGlvbiI+CiAgICAg + IDxociBjbGFzcz0id2F0Y2gtc2lkZWJhci1zZXBhcmF0aW9uLWxpbmUiPgog + ICAgPGRpdiBjbGFzcz0id2F0Y2gtc2lkZWJhci1ib2R5Ij4KICAgICAgPHVs + IGlkPSJ3YXRjaC1yZWxhdGVkIiBjbGFzcz0idmlkZW8tbGlzdCI+CiAgICAg + ICAgICA8bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSByZWxhdGVkLWxpc3Qt + aXRlbSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlzdC1pdGVtLWNvbXBh + Y3QtdmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+ + CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1KUVZta0RVa1pUNCIgY2xhc3M9IiBj + b250ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGluayAgICAg + IHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ29RcERBWUFT + SVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJR2NtVnNiV1oxU091 + Rjg1MmN6YWJ3UUEiICB0aXRsZT0iV2hhdCBBcmUgWW91PyIgcmVsPSIgc3Bm + LXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9 + IkNDb1FwREFZQVNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUMt + eXBHcGc5TFpnaVU9IiA+CiAgPHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0aXRs + ZSIgYXJpYS1kZXNjcmliZWRieT0iZGVzY3JpcHRpb24taWQtNzY0MDkyIj4K + ICAgIFdoYXQgQXJlIFlvdT8KICA8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImFj + Y2Vzc2libGUtZGVzY3JpcHRpb24iIGlkPSJkZXNjcmlwdGlvbi1pZC03NjQw + OTIiPgogICAgIC0gRHVyYXRpb246IDY6MjguCiAgPC9zcGFuPgogIDxzcGFu + IGNsYXNzPSJzdGF0IGF0dHJpYnV0aW9uIj48c3BhbiBjbGFzcz0iIiA+S3Vy + emdlc2FndCDigJMgSW4gYSBOdXRzaGVsbDwvc3Bhbj48L3NwYW4+CiAgPHNw + YW4gY2xhc3M9InN0YXQgdmlldy1jb3VudCI+NSw5OTUsMjU4IHZpZXdzPC9z + cGFuPgo8L2E+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0idGh1bWItd3JhcHBl + ciI+CgogICAgPGEgaHJlZj0iL3dhdGNoP3Y9SlFWbWtEVWtaVDQiIGNsYXNz + PSIgdnZlLWNoZWNrIHRodW1iLWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNz + aW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRj + dD1DQ29RcERBWUFTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJ + R2NtVnNiV1oxU091Rjg1MmN6YWJ3UUEiICB0YWJpbmRleD0iLTEiIHJlbD0i + IHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNr + aW5nPSJDQ29RcERBWUFTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0 + SFVDLXlwR3BnOUxaZ2lVPSIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGNs + YXNzPSJ5dC11aXgtc2ltcGxlLXRodW1iLXdyYXAgeXQtdWl4LXNpbXBsZS10 + aHVtYi1yZWxhdGVkIiB0YWJpbmRleD0iMCIgZGF0YS12aWQ9IkpRVm1rRFVr + WlQ0Ij48aW1nIGhlaWdodD0iOTQiIHN0eWxlPSJ0b3A6IDBweCIgYXJpYS1o + aWRkZW49InRydWUiIGRhdGEtdGh1bWI9Imh0dHBzOi8vaS55dGltZy5jb20v + dmkvSlFWbWtEVWtaVDQvaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RVdDS2dC + RUY1SVd2S3JpcWtEQ1FnQkZRQUFpRUlZQVE9PSZhbXA7cnM9QU9uNENMQ24y + VW40SklLTDA4YmpHWlZkUTBsMFVoYjFPUSIgd2lkdGg9IjE2OCIgc3JjPSIv + eXRzL2ltZy9waXhlbC12ZmwzejVXZlcuZ2lmIiBhbHQ9IiIgPjxzcGFuIGNs + YXNzPSJ2aWRlby10aW1lIj42OjI4PC9zcGFuPjwvc3Bhbj48L2E+CgogIDwv + ZGl2PgoKPC9saT48bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSByZWxhdGVk + LWxpc3QtaXRlbSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlzdC1pdGVt + LWNvbXBhY3QtdmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3Jh + cHBlciI+CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1SVk1aeEgxVElJUSIgY2xh + c3M9IiBjb250ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGlu + ayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ2tR + cERBWUFpSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJR2NtVnNi + V1oxU091Rjg1MmN6YWJ3UUEiICB0aXRsZT0iV2h5IEVhcnRoIElzIEEgUHJp + c29uIGFuZCBIb3cgVG8gRXNjYXBlIEl0IiByZWw9IiBzcGYtcHJlZmV0Y2gg + bm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0NrUXBEQVlB + aUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVQ0V3Y3pxeDdqR3FV + VT0iID4KICA8c3BhbiBkaXI9Imx0ciIgY2xhc3M9InRpdGxlIiBhcmlhLWRl + c2NyaWJlZGJ5PSJkZXNjcmlwdGlvbi1pZC00NDk2MTYiPgogICAgV2h5IEVh + cnRoIElzIEEgUHJpc29uIGFuZCBIb3cgVG8gRXNjYXBlIEl0CiAgPC9zcGFu + PgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxlLWRlc2NyaXB0aW9uIiBpZD0i + ZGVzY3JpcHRpb24taWQtNDQ5NjE2Ij4KICAgICAtIER1cmF0aW9uOiA2OjU3 + LgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRyaWJ1dGlvbiI+ + PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEgTnV0c2hlbGw8 + L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IHZpZXctY291bnQi + PjQsNTY3LDY0NyB2aWV3czwvc3Bhbj4KPC9hPgogIDwvZGl2PgogIDxkaXYg + Y2xhc3M9InRodW1iLXdyYXBwZXIiPgoKICAgIDxhIGhyZWY9Ii93YXRjaD92 + PVJWTVp4SDFUSUlRIiBjbGFzcz0iIHZ2ZS1jaGVjayB0aHVtYi1saW5rIHNw + Zi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRh + dGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0NrUXBEQVlBaUlUQ01MajhLNkt5ZGdD + Rll2VHdRb2RkVWdKaWlqNEhUSUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAg + dGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ciIGRh + dGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0NrUXBEQVlBaUlUQ01MajhLNkt5 + ZGdDRll2VHdRb2RkVWdKaWlqNEhVQ0V3Y3pxeDdqR3FVVT0iIGFyaWEtaGlk + ZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LXNpbXBsZS10aHVtYi13 + cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWItcmVsYXRlZCIgdGFiaW5kZXg9IjAi + IGRhdGEtdmlkPSJSVk1aeEgxVElJUSI+PGltZyBoZWlnaHQ9Ijk0IiBzdHls + ZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLXRodW1iPSJo + dHRwczovL2kueXRpbWcuY29tL3ZpL1JWTVp4SDFUSUlRL2hxZGVmYXVsdC5q + cGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlXdktyaXFrRENRZ0JGUUFBaUVJWUFR + PT0mYW1wO3JzPUFPbjRDTENHZUJvMUhDbzgwRF9UeDJ4dm1FSzRjZmJEd3ci + IHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9pbWcvcGl4ZWwtdmZsM3o1V2ZXLmdp + ZiIgYWx0PSIiID48c3BhbiBjbGFzcz0idmlkZW8tdGltZSI+Njo1Nzwvc3Bh + bj48L3NwYW4+PC9hPgoKICA8L2Rpdj4KCjwvbGk+PGxpIGNsYXNzPSJ2aWRl + by1saXN0LWl0ZW0gcmVsYXRlZC1saXN0LWl0ZW0gIHNob3ctdmlkZW8tdGlt + ZSByZWxhdGVkLWxpc3QtaXRlbS1jb21wYWN0LXZpZGVvIj4KCiAgICA8ZGl2 + IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPgogICAgPGEgaHJlZj0iL3dhdGNo + P3Y9TUJScXUwWU9IMTQiIGNsYXNzPSIgY29udGVudC1saW5rIHNwZi1saW5r + ICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vz + c2lvbmxpbms9Iml0Y3Q9Q0NnUXBEQVlBeUlUQ01MajhLNkt5ZGdDRll2VHdR + b2RkVWdKaWlqNEhUSUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAgdGl0bGU9 + Ik9wdGltaXN0aWMgTmloaWxpc20iIHJlbD0iIHNwZi1wcmVmZXRjaCBub2Zv + bGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5nPSJDQ2dRcERBWUF5SVRD + TUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVEZXZyaXd0TmVhaWpBPSIg + PgogIDxzcGFuIGRpcj0ibHRyIiBjbGFzcz0idGl0bGUiIGFyaWEtZGVzY3Jp + YmVkYnk9ImRlc2NyaXB0aW9uLWlkLTczNTI2MyI+CiAgICBPcHRpbWlzdGlj + IE5paGlsaXNtCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxl + LWRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtNzM1MjYzIj4KICAg + ICAtIER1cmF0aW9uOiA2OjEwLgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0i + c3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg + 4oCTIEluIGEgTnV0c2hlbGw8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNz + PSJzdGF0IHZpZXctY291bnQiPjQsOTc4LDc2NSB2aWV3czwvc3Bhbj4KPC9h + PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InRodW1iLXdyYXBwZXIiPgoKICAg + IDxhIGhyZWY9Ii93YXRjaD92PU1CUnF1MFlPSDE0IiBjbGFzcz0iIHZ2ZS1j + aGVjayB0aHVtYi1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsg + ICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0NnUXBE + QVlBeUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUdjbVZzYlda + MVNPdUY4NTJjemFid1FBIiAgdGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYtcHJl + ZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0Nn + UXBEQVlBeUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVRGV2cml3 + dE5lYWlqQT0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQt + dWl4LXNpbXBsZS10aHVtYi13cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWItcmVs + YXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEtdmlkPSJNQlJxdTBZT0gxNCI+PGlt + ZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVuPSJ0 + cnVlIiBkYXRhLXRodW1iPSJodHRwczovL2kueXRpbWcuY29tL3ZpL01CUnF1 + MFlPSDE0L2hxZGVmYXVsdC5qcGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlXdkty + aXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1wO3JzPUFPbjRDTEFiZFR1RzRVb25y + QU15djIzX3hMV1hha1dPVVEiIHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9pbWcv + cGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0PSIiID48c3BhbiBjbGFzcz0idmlk + ZW8tdGltZSI+NjoxMDwvc3Bhbj48L3NwYW4+PC9hPgoKICA8L2Rpdj4KCjwv + bGk+PGxpIGNsYXNzPSJ2aWRlby1saXN0LWl0ZW0gcmVsYXRlZC1saXN0LWl0 + ZW0gIHNob3ctdmlkZW8tdGltZSByZWxhdGVkLWxpc3QtaXRlbS1jb21wYWN0 + LXZpZGVvIj4KCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPgog + ICAgPGEgaHJlZj0iL3dhdGNoP3Y9akFoalBkNHVORlkiIGNsYXNzPSIgY29u + dGVudC1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBz + cGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0NjUXBEQVlCQ0lU + Q01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUdjbVZzYldaMVNPdUY4 + NTJjemFid1FBIiAgdGl0bGU9IkdlbmV0aWMgRW5naW5lZXJpbmcgV2lsbCBD + aGFuZ2UgRXZlcnl0aGluZyBGb3JldmVyIOKAkyBDUklTUFIiIHJlbD0iIHNw + Zi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5n + PSJDQ2NRcERBWUJDSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVE + VzZMangzZWVZaEl3QiIgPgogIDxzcGFuIGRpcj0ibHRyIiBjbGFzcz0idGl0 + bGUiIGFyaWEtZGVzY3JpYmVkYnk9ImRlc2NyaXB0aW9uLWlkLTE1OTk3NSI+ + CiAgICBHZW5ldGljIEVuZ2luZWVyaW5nIFdpbGwgQ2hhbmdlIEV2ZXJ5dGhp + bmcgRm9yZXZlciDigJMgQ1JJU1BSCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNz + PSJhY2Nlc3NpYmxlLWRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24taWQt + MTU5OTc1Ij4KICAgICAtIER1cmF0aW9uOiAxNjowNC4KICA8L3NwYW4+CiAg + PHNwYW4gY2xhc3M9InN0YXQgYXR0cmlidXRpb24iPjxzcGFuIGNsYXNzPSIi + ID5LdXJ6Z2VzYWd0IOKAkyBJbiBhIE51dHNoZWxsPC9zcGFuPjwvc3Bhbj4K + ICA8c3BhbiBjbGFzcz0ic3RhdCB2aWV3LWNvdW50Ij43LDg5Nyw5Njcgdmll + d3M8L3NwYW4+CjwvYT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13 + cmFwcGVyIj4KCiAgICA8YSBocmVmPSIvd2F0Y2g/dj1qQWhqUGQ0dU5GWSIg + Y2xhc3M9IiB2dmUtY2hlY2sgdGh1bWItbGluayBzcGYtbGluayAgeXQtdWl4 + LXNlc3Npb25saW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5r + PSJpdGN0PUNDY1FwREFZQkNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlp + ajRIVElHY21Wc2JXWjFTT3VGODUyY3phYndRQSIgIHRhYmluZGV4PSItMSIg + cmVsPSIgc3BmLXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHkt + dHJhY2tpbmc9IkNDY1FwREFZQkNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVn + SmlpajRIVURXNkxqeDNlZVloSXdCIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNw + YW4gY2xhc3M9Inl0LXVpeC1zaW1wbGUtdGh1bWItd3JhcCB5dC11aXgtc2lt + cGxlLXRodW1iLXJlbGF0ZWQiIHRhYmluZGV4PSIwIiBkYXRhLXZpZD0iakFo + alBkNHVORlkiPjxpbWcgaGVpZ2h0PSI5NCIgc3R5bGU9InRvcDogMHB4IiBh + cmlhLWhpZGRlbj0idHJ1ZSIgZGF0YS10aHVtYj0iaHR0cHM6Ly9pLnl0aW1n + LmNvbS92aS9qQWhqUGQ0dU5GWS9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdF + V0NLZ0JFRjVJV3ZLcmlxa0RDUWdCRlFBQWlFSVlBUT09JmFtcDtycz1BT240 + Q0xCVmlOYzVpcnh5bmM1c1VyMGViaVVVeXROOTFRIiB3aWR0aD0iMTY4IiBz + cmM9Ii95dHMvaW1nL3BpeGVsLXZmbDN6NVdmVy5naWYiIGFsdD0iIiA+PHNw + YW4gY2xhc3M9InZpZGVvLXRpbWUiPjE2OjA0PC9zcGFuPjwvc3Bhbj48L2E+ + CgogIDwvZGl2PgoKPC9saT48bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSBy + ZWxhdGVkLWxpc3QtaXRlbSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlz + dC1pdGVtLWNvbXBhY3QtdmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRl + bnQtd3JhcHBlciI+CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1OYnVVVzlpLW1I + cyIgY2xhc3M9IiBjb250ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNz + aW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRj + dD1DQ1lRcERBWUJTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJ + R2NtVnNiV1oxU091Rjg1MmN6YWJ3UUEiICB0aXRsZT0iSXMgV2FyIE92ZXI/ + IOKAlCBBIFBhcmFkb3ggRXhwbGFpbmVkIiByZWw9IiBzcGYtcHJlZmV0Y2gg + bm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0NZUXBEQVlC + U0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVRDdzUHJGdll2bDNU + VT0iID4KICA8c3BhbiBkaXI9Imx0ciIgY2xhc3M9InRpdGxlIiBhcmlhLWRl + c2NyaWJlZGJ5PSJkZXNjcmlwdGlvbi1pZC03NDg2MjgiPgogICAgSXMgV2Fy + IE92ZXI/IOKAlCBBIFBhcmFkb3ggRXhwbGFpbmVkCiAgPC9zcGFuPgogIDxz + cGFuIGNsYXNzPSJhY2Nlc3NpYmxlLWRlc2NyaXB0aW9uIiBpZD0iZGVzY3Jp + cHRpb24taWQtNzQ4NjI4Ij4KICAgICAtIER1cmF0aW9uOiA1OjQ2LgogIDwv + c3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4g + Y2xhc3M9IiIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEgTnV0c2hlbGw8L3NwYW4+ + PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IHZpZXctY291bnQiPjYsMzE4 + LDU3MiB2aWV3czwvc3Bhbj4KPC9hPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9 + InRodW1iLXdyYXBwZXIiPgoKICAgIDxhIGhyZWY9Ii93YXRjaD92PU5idVVX + OWktbUhzIiBjbGFzcz0iIHZ2ZS1jaGVjayB0aHVtYi1saW5rIHNwZi1saW5r + ICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vz + c2lvbmxpbms9Iml0Y3Q9Q0NZUXBEQVlCU0lUQ01MajhLNkt5ZGdDRll2VHdR + b2RkVWdKaWlqNEhUSUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAgdGFiaW5k + ZXg9Ii0xIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlz + aWJpbGl0eS10cmFja2luZz0iQ0NZUXBEQVlCU0lUQ01MajhLNkt5ZGdDRll2 + VHdRb2RkVWdKaWlqNEhVRDdzUHJGdll2bDNUVT0iIGFyaWEtaGlkZGVuPSJ0 + cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LXNpbXBsZS10aHVtYi13cmFwIHl0 + LXVpeC1zaW1wbGUtdGh1bWItcmVsYXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEt + dmlkPSJOYnVVVzlpLW1IcyI+PGltZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9w + OiAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLXRodW1iPSJodHRwczov + L2kueXRpbWcuY29tL3ZpL05idVVXOWktbUhzL2hxZGVmYXVsdC5qcGc/c3Fw + PS1vYXltd0VXQ0tnQkVGNUlXdktyaXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1w + O3JzPUFPbjRDTENnOHhUd0hid2w1X04wdUY2djZEYVpiMnQxRkEiIHdpZHRo + PSIxNjgiIHNyYz0iL3l0cy9pbWcvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0 + PSIiID48c3BhbiBjbGFzcz0idmlkZW8tdGltZSI+NTo0Njwvc3Bhbj48L3Nw + YW4+PC9hPgoKICA8L2Rpdj4KCjwvbGk+PGxpIGNsYXNzPSJ2aWRlby1saXN0 + LWl0ZW0gcmVsYXRlZC1saXN0LWl0ZW0gIHNob3ctdmlkZW8tdGltZSByZWxh + dGVkLWxpc3QtaXRlbS1jb21wYWN0LXZpZGVvIj4KCiAgICA8ZGl2IGNsYXNz + PSJjb250ZW50LXdyYXBwZXIiPgogICAgPGEgaHJlZj0iL3dhdGNoP3Y9ZEdp + UWFhYlgzX28iIGNsYXNzPSIgY29udGVudC1saW5rIHNwZi1saW5rICB5dC11 + aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxp + bms9Iml0Y3Q9Q0NVUXBEQVlCaUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdK + aWlqNEhUSUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAgdGl0bGU9IldoYXQg + SGFwcGVuZWQgQmVmb3JlIEhpc3Rvcnk/IEh1bWFuIE9yaWdpbnMiIHJlbD0i + IHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNr + aW5nPSJDQ1VRcERBWUJpSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0 + SFVENnY5LTJtbzJrdEhRPSIgPgogIDxzcGFuIGRpcj0ibHRyIiBjbGFzcz0i + dGl0bGUiIGFyaWEtZGVzY3JpYmVkYnk9ImRlc2NyaXB0aW9uLWlkLTk0NTE4 + NiI+CiAgICBXaGF0IEhhcHBlbmVkIEJlZm9yZSBIaXN0b3J5PyBIdW1hbiBP + cmlnaW5zCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxlLWRl + c2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtOTQ1MTg2Ij4KICAgICAt + IER1cmF0aW9uOiAxMDowNi4KICA8L3NwYW4+CiAgPHNwYW4gY2xhc3M9InN0 + YXQgYXR0cmlidXRpb24iPjxzcGFuIGNsYXNzPSIiID5LdXJ6Z2VzYWd0IOKA + kyBJbiBhIE51dHNoZWxsPC9zcGFuPjwvc3Bhbj4KICA8c3BhbiBjbGFzcz0i + c3RhdCB2aWV3LWNvdW50Ij42LDgyOCwzMjkgdmlld3M8L3NwYW4+CjwvYT4K + ICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13cmFwcGVyIj4KCiAgICA8 + YSBocmVmPSIvd2F0Y2g/dj1kR2lRYWFiWDNfbyIgY2xhc3M9IiB2dmUtY2hl + Y2sgdGh1bWItbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAg + ICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNDVVFwREFZ + QmlJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFT + T3VGODUyY3phYndRQSIgIHRhYmluZGV4PSItMSIgcmVsPSIgc3BmLXByZWZl + dGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNDVVFw + REFZQmlJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUQ2djktMm1v + Mmt0SFE9IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0LXVp + eC1zaW1wbGUtdGh1bWItd3JhcCB5dC11aXgtc2ltcGxlLXRodW1iLXJlbGF0 + ZWQiIHRhYmluZGV4PSIwIiBkYXRhLXZpZD0iZEdpUWFhYlgzX28iPjxpbWcg + aGVpZ2h0PSI5NCIgc3R5bGU9InRvcDogMHB4IiBhcmlhLWhpZGRlbj0idHJ1 + ZSIgZGF0YS10aHVtYj0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kR2lRYWFi + WDNfby9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NLZ0JFRjVJV3ZLcmlx + a0RDUWdCRlFBQWlFSVlBUT09JmFtcDtycz1BT240Q0xDdktESnVjWS1hbVl0 + T0xQdE1Xc3dmVDI4UVZRIiB3aWR0aD0iMTY4IiBzcmM9Ii95dHMvaW1nL3Bp + eGVsLXZmbDN6NVdmVy5naWYiIGFsdD0iIiA+PHNwYW4gY2xhc3M9InZpZGVv + LXRpbWUiPjEwOjA2PC9zcGFuPjwvc3Bhbj48L2E+CgogIDwvZGl2PgoKPC9s + aT48bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSByZWxhdGVkLWxpc3QtaXRl + bSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlzdC1pdGVtLWNvbXBhY3Qt + dmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+CiAg + ICA8YSBocmVmPSIvd2F0Y2g/dj00X2FPSUEtdnlCbyIgY2xhc3M9IiBjb250 + ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNw + Zi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ1FRcERBWUJ5SVRD + TUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJR2NtVnNiV1oxU091Rjg1 + MmN6YWJ3UUEiICB0aXRsZT0iVGhyZWUgV2F5cyB0byBEZXN0cm95IHRoZSBV + bml2ZXJzZSIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZp + c2liaWxpdHktdHJhY2tpbmc9IkNDUVFwREFZQnlJVENNTGo4SzZLeWRnQ0ZZ + dlR3UW9kZFVnSmlpajRIVUNha0xfOWdNU2otLU1CIiA+CiAgPHNwYW4gZGly + PSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmliZWRieT0iZGVzY3Jp + cHRpb24taWQtODMyMjEwIj4KICAgIFRocmVlIFdheXMgdG8gRGVzdHJveSB0 + aGUgVW5pdmVyc2UKICA8L3NwYW4+CiAgPHNwYW4gY2xhc3M9ImFjY2Vzc2li + bGUtZGVzY3JpcHRpb24iIGlkPSJkZXNjcmlwdGlvbi1pZC04MzIyMTAiPgog + ICAgIC0gRHVyYXRpb246IDY6MTcuCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNz + PSJzdGF0IGF0dHJpYnV0aW9uIj48c3BhbiBjbGFzcz0iIiA+S3Vyemdlc2Fn + dCDigJMgSW4gYSBOdXRzaGVsbDwvc3Bhbj48L3NwYW4+CiAgPHNwYW4gY2xh + c3M9InN0YXQgdmlldy1jb3VudCI+OCw2MjQsOTA2IHZpZXdzPC9zcGFuPgo8 + L2E+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0idGh1bWItd3JhcHBlciI+Cgog + ICAgPGEgaHJlZj0iL3dhdGNoP3Y9NF9hT0lBLXZ5Qm8iIGNsYXNzPSIgdnZl + LWNoZWNrIHRodW1iLWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGlu + ayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ1FR + cERBWUJ5SVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJR2NtVnNi + V1oxU091Rjg1MmN6YWJ3UUEiICB0YWJpbmRleD0iLTEiIHJlbD0iIHNwZi1w + cmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5nPSJD + Q1FRcERBWUJ5SVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVDYWtM + XzlnTVNqLS1NQiIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGNsYXNzPSJ5 + dC11aXgtc2ltcGxlLXRodW1iLXdyYXAgeXQtdWl4LXNpbXBsZS10aHVtYi1y + ZWxhdGVkIiB0YWJpbmRleD0iMCIgZGF0YS12aWQ9IjRfYU9JQS12eUJvIj48 + aW1nIGhlaWdodD0iOTQiIHN0eWxlPSJ0b3A6IDBweCIgYXJpYS1oaWRkZW49 + InRydWUiIGRhdGEtdGh1bWI9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvNF9h + T0lBLXZ5Qm8vaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RVdDS2dCRUY1SVd2 + S3JpcWtEQ1FnQkZRQUFpRUlZQVE9PSZhbXA7cnM9QU9uNENMRC0xOEw2Mnlr + WmNuUEpENnhPTHBDUG12aWI4QSIgd2lkdGg9IjE2OCIgc3JjPSIveXRzL2lt + Zy9waXhlbC12ZmwzejVXZlcuZ2lmIiBhbHQ9IiIgPjxzcGFuIGNsYXNzPSJ2 + aWRlby10aW1lIj42OjE3PC9zcGFuPjwvc3Bhbj48L2E+CgogIDwvZGl2PgoK + PC9saT48bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSByZWxhdGVkLWxpc3Qt + aXRlbSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlzdC1pdGVtLWNvbXBh + Y3QtdmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+ + CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1hbzhMLTBuU1l6ZyIgY2xhc3M9IiBj + b250ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGluayAgICAg + IHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ01RcERBWUND + SVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJR2NtVnNiV1oxU091 + Rjg1MmN6YWJ3UUEiICB0aXRsZT0iQWRkaWN0aW9uIiByZWw9IiBzcGYtcHJl + ZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0NN + UXBEQVlDQ0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVQzR4c25P + dFBfQ3gybz0iID4KICA8c3BhbiBkaXI9Imx0ciIgY2xhc3M9InRpdGxlIiBh + cmlhLWRlc2NyaWJlZGJ5PSJkZXNjcmlwdGlvbi1pZC04OTk3NzYiPgogICAg + QWRkaWN0aW9uCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxl + LWRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtODk5Nzc2Ij4KICAg + ICAtIER1cmF0aW9uOiA1OjQyLgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0i + c3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg + 4oCTIEluIGEgTnV0c2hlbGw8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNz + PSJzdGF0IHZpZXctY291bnQiPjE1LDQxOCwwODUgdmlld3M8L3NwYW4+Cjwv + YT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13cmFwcGVyIj4KCiAg + ICA8YSBocmVmPSIvd2F0Y2g/dj1hbzhMLTBuU1l6ZyIgY2xhc3M9IiB2dmUt + Y2hlY2sgdGh1bWItbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5r + ICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNDTVFw + REFZQ0NJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JX + WjFTT3VGODUyY3phYndRQSIgIHRhYmluZGV4PSItMSIgcmVsPSIgc3BmLXBy + ZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkND + TVFwREFZQ0NJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUM0eHNu + T3RQX0N4Mm89IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0 + LXVpeC1zaW1wbGUtdGh1bWItd3JhcCB5dC11aXgtc2ltcGxlLXRodW1iLXJl + bGF0ZWQiIHRhYmluZGV4PSIwIiBkYXRhLXZpZD0iYW84TC0wblNZemciPjxp + bWcgaGVpZ2h0PSI5NCIgc3R5bGU9InRvcDogMHB4IiBhcmlhLWhpZGRlbj0i + dHJ1ZSIgZGF0YS10aHVtYj0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9hbzhM + LTBuU1l6Zy9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NLZ0JFRjVJV3ZL + cmlxa0RDUWdCRlFBQWlFSVlBUT09JmFtcDtycz1BT240Q0xCcEFVNEZqTlgw + ZUVzWlkzODhCWHRFcDNjaGRBIiB3aWR0aD0iMTY4IiBzcmM9Ii95dHMvaW1n + L3BpeGVsLXZmbDN6NVdmVy5naWYiIGFsdD0iIiA+PHNwYW4gY2xhc3M9InZp + ZGVvLXRpbWUiPjU6NDI8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+Cgo8 + L2xpPjxsaSBjbGFzcz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlzdC1p + dGVtICBzaG93LXZpZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29tcGFj + dC12aWRlbyI+CgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4K + ICAgIDxhIGhyZWY9Ii93YXRjaD92PXFqZmFvZTg0N3FRIiBjbGFzcz0iIGNv + bnRlbnQtbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAg + c3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNDSVFwREFZQ1NJ + VENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElIY21Wc1lYUmxaRWpy + aGZPZG5NMm04RUEiICB0aXRsZT0iV2hhdCBJcyBDb25zY2lvdXNuZXNzPyIg + cmVsPSIgc3BmLXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHkt + dHJhY2tpbmc9IkNDSVFwREFZQ1NJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVn + SmlpajRIVUNrM2VQNW50VDJtNm9CIiA+CiAgPHNwYW4gZGlyPSJsdHIiIGNs + YXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmliZWRieT0iZGVzY3JpcHRpb24taWQt + OTU0NDg2Ij4KICAgIFdoYXQgSXMgQ29uc2Npb3VzbmVzcz8KICA8L3NwYW4+ + CiAgPHNwYW4gY2xhc3M9ImFjY2Vzc2libGUtZGVzY3JpcHRpb24iIGlkPSJk + ZXNjcmlwdGlvbi1pZC05NTQ0ODYiPgogICAgIC0gRHVyYXRpb246IDc6MTYu + CiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IGF0dHJpYnV0aW9uIj48 + c3BhbiBjbGFzcz0iIiA+VnNhdWNlPC9zcGFuPjwvc3Bhbj4KICA8c3BhbiBj + bGFzcz0ic3RhdCB2aWV3LWNvdW50Ij42LDA5MSw5ODQgdmlld3M8L3NwYW4+ + CjwvYT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13cmFwcGVyIj4K + CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1xamZhb2U4NDdxUSIgY2xhc3M9IiB2 + dmUtY2hlY2sgdGh1bWItbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25s + aW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUND + SVFwREFZQ1NJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElIY21W + c1lYUmxaRWpyaGZPZG5NMm04RUEiICB0YWJpbmRleD0iLTEiIHJlbD0iIHNw + Zi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5n + PSJDQ0lRcERBWUNTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVD + azNlUDVudFQybTZvQiIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGNsYXNz + PSJ5dC11aXgtc2ltcGxlLXRodW1iLXdyYXAgeXQtdWl4LXNpbXBsZS10aHVt + Yi1yZWxhdGVkIiB0YWJpbmRleD0iMCIgZGF0YS12aWQ9InFqZmFvZTg0N3FR + Ij48aW1nIGhlaWdodD0iOTQiIHN0eWxlPSJ0b3A6IDBweCIgYXJpYS1oaWRk + ZW49InRydWUiIGRhdGEtdGh1bWI9Imh0dHBzOi8vaS55dGltZy5jb20vdmkv + cWpmYW9lODQ3cVEvaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RVdDS2dCRUY1 + SVd2S3JpcWtEQ1FnQkZRQUFpRUlZQVE9PSZhbXA7cnM9QU9uNENMQXMyZUxk + aXp4Yll6Mlo5b3UyTkpFWUItNWhYQSIgd2lkdGg9IjE2OCIgc3JjPSIveXRz + L2ltZy9waXhlbC12ZmwzejVXZlcuZ2lmIiBhbHQ9IiIgPjxzcGFuIGNsYXNz + PSJ2aWRlby10aW1lIj43OjE2PC9zcGFuPjwvc3Bhbj48L2E+CgogIDwvZGl2 + PgoKPC9saT48bGkgY2xhc3M9InZpZGVvLWxpc3QtaXRlbSByZWxhdGVkLWxp + c3QtaXRlbSAgc2hvdy12aWRlby10aW1lIHJlbGF0ZWQtbGlzdC1pdGVtLWNv + bXBhY3QtdmlkZW8iPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBl + ciI+CiAgICA8YSBocmVmPSIvd2F0Y2g/dj1oRWVlT2lQOUdoSSIgY2xhc3M9 + IiBjb250ZW50LWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGluayAg + ICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQ0VRcERB + WUNpSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJSGNtVnNZWFJs + WkVqcmhmT2RuTTJtOEVBIiAgdGl0bGU9IlRoZSBSZWFsIFJlYXNvbiBXZSBE + b24mIzM5O3QgSGVhciBBYm91dCBKb2UgUGVzY2kgQW55bW9yZSIgcmVsPSIg + c3BmLXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tp + bmc9IkNDRVFwREFZQ2lJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRI + VUNTdFBTZm9zZm5vNFFCIiA+CiAgPHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0 + aXRsZSIgYXJpYS1kZXNjcmliZWRieT0iZGVzY3JpcHRpb24taWQtNjg3Mzc0 + Ij4KICAgIFRoZSBSZWFsIFJlYXNvbiBXZSBEb24mIzM5O3QgSGVhciBBYm91 + dCBKb2UgUGVzY2kgQW55bW9yZQogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0i + YWNjZXNzaWJsZS1kZXNjcmlwdGlvbiIgaWQ9ImRlc2NyaXB0aW9uLWlkLTY4 + NzM3NCI+CiAgICAgLSBEdXJhdGlvbjogNjo0OS4KICA8L3NwYW4+CiAgPHNw + YW4gY2xhc3M9InN0YXQgYXR0cmlidXRpb24iPjxzcGFuIGNsYXNzPSIiID5M + b29wZXI8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IHZpZXct + Y291bnQiPjUsNjYzLDgzMCB2aWV3czwvc3Bhbj4KPC9hPgogIDwvZGl2Pgog + IDxkaXYgY2xhc3M9InRodW1iLXdyYXBwZXIiPgoKICAgIDxhIGhyZWY9Ii93 + YXRjaD92PWhFZWVPaVA5R2hJIiBjbGFzcz0iIHZ2ZS1jaGVjayB0aHVtYi1s + aW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGlu + ayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0NFUXBEQVlDaUlUQ01MajhL + Nkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUhjbVZzWVhSbFpFanJoZk9kbk0y + bThFQSIgIHRhYmluZGV4PSItMSIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9s + bG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNDRVFwREFZQ2lJVENN + TGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUNTdFBTZm9zZm5vNFFCIiBh + cmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0LXVpeC1zaW1wbGUt + dGh1bWItd3JhcCB5dC11aXgtc2ltcGxlLXRodW1iLXJlbGF0ZWQiIHRhYmlu + ZGV4PSIwIiBkYXRhLXZpZD0iaEVlZU9pUDlHaEkiPjxpbWcgaGVpZ2h0PSI5 + NCIgc3R5bGU9InRvcDogMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgZGF0YS10 + aHVtYj0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9oRWVlT2lQOUdoSS9ocWRl + ZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NLZ0JFRjVJV3ZLcmlxa0RDUWdCRlFB + QWlFSVlBUT09JmFtcDtycz1BT240Q0xEeUYtV2tvb18yZnJReVE0NWw2STEx + UFZWck1RIiB3aWR0aD0iMTY4IiBzcmM9Ii95dHMvaW1nL3BpeGVsLXZmbDN6 + NVdmVy5naWYiIGFsdD0iIiA+PHNwYW4gY2xhc3M9InZpZGVvLXRpbWUiPjY6 + NDk8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+Cgo8L2xpPjxsaSBjbGFz + cz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlzdC1pdGVtICBzaG93LXZp + ZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29tcGFjdC12aWRlbyI+Cgog + ICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4KICAgIDxhIGhyZWY9 + Ii93YXRjaD92PVI4LU5MdnlzZWpnIiBjbGFzcz0iIGNvbnRlbnQtbGluayBz + cGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxpbmsgIiBk + YXRhLXNlc3Npb25saW5rPSJpdGN0PUNDQVFwREFZQ3lJVENNTGo4SzZLeWRn + Q0ZZdlR3UW9kZFVnSmlpajRIVElIY21Wc1lYUmxaRWpyaGZPZG5NMm04RUEi + ICB0aXRsZT0iVGhlIE1vc3QgSG9ycmlmeWluZyBUaGVvcmllcyBvZiBNYW5r + aW5kJiMzOTtzIEV4aXN0ZW5jZSIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9s + bG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNDQVFwREFZQ3lJVENN + TGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUM0OUxIbDc2WGo1MGM9IiA+ + CiAgPHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmli + ZWRieT0iZGVzY3JpcHRpb24taWQtMzM1MTYiPgogICAgVGhlIE1vc3QgSG9y + cmlmeWluZyBUaGVvcmllcyBvZiBNYW5raW5kJiMzOTtzIEV4aXN0ZW5jZQog + IDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0iYWNjZXNzaWJsZS1kZXNjcmlwdGlv + biIgaWQ9ImRlc2NyaXB0aW9uLWlkLTMzNTE2Ij4KICAgICAtIER1cmF0aW9u + OiA5OjQyLgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRyaWJ1 + dGlvbiI+PHNwYW4gY2xhc3M9IiIgPlN0cmFuZ2UgTXlzdGVyaWVzPC9zcGFu + Pjwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCB2aWV3LWNvdW50Ij4xLDgw + Niw4OTUgdmlld3M8L3NwYW4+CjwvYT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNz + PSJ0aHVtYi13cmFwcGVyIj4KCiAgICA8YSBocmVmPSIvd2F0Y2g/dj1SOC1O + THZ5c2VqZyIgY2xhc3M9IiB2dmUtY2hlY2sgdGh1bWItbGluayBzcGYtbGlu + ayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxpbmsgIiBkYXRhLXNl + c3Npb25saW5rPSJpdGN0PUNDQVFwREFZQ3lJVENNTGo4SzZLeWRnQ0ZZdlR3 + UW9kZFVnSmlpajRIVElIY21Wc1lYUmxaRWpyaGZPZG5NMm04RUEiICB0YWJp + bmRleD0iLTEiIHJlbD0iIHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12 + aXNpYmlsaXR5LXRyYWNraW5nPSJDQ0FRcERBWUN5SVRDTUxqOEs2S3lkZ0NG + WXZUd1FvZGRVZ0ppaWo0SFVDNDlMSGw3NlhqNTBjPSIgYXJpYS1oaWRkZW49 + InRydWUiPjxzcGFuIGNsYXNzPSJ5dC11aXgtc2ltcGxlLXRodW1iLXdyYXAg + eXQtdWl4LXNpbXBsZS10aHVtYi1yZWxhdGVkIiB0YWJpbmRleD0iMCIgZGF0 + YS12aWQ9IlI4LU5MdnlzZWpnIj48aW1nIGhlaWdodD0iOTQiIHN0eWxlPSJ0 + b3A6IDBweCIgYXJpYS1oaWRkZW49InRydWUiIGRhdGEtdGh1bWI9Imh0dHBz + Oi8vaS55dGltZy5jb20vdmkvUjgtTkx2eXNlamcvaHFkZWZhdWx0LmpwZz9z + cXA9LW9heW13RVdDS2dCRUY1SVd2S3JpcWtEQ1FnQkZRQUFpRUlZQVE9PSZh + bXA7cnM9QU9uNENMQkxRcHU2UXlVRk1RVDVkWXB0cE9LNl9RSlYzdyIgd2lk + dGg9IjE2OCIgc3JjPSIveXRzL2ltZy9waXhlbC12ZmwzejVXZlcuZ2lmIiBh + bHQ9IiIgPjxzcGFuIGNsYXNzPSJ2aWRlby10aW1lIj45OjQyPC9zcGFuPjwv + c3Bhbj48L2E+CgogIDwvZGl2PgoKPC9saT48bGkgY2xhc3M9InZpZGVvLWxp + c3QtaXRlbSByZWxhdGVkLWxpc3QtaXRlbSAgc2hvdy12aWRlby10aW1lIHJl + bGF0ZWQtbGlzdC1pdGVtLWNvbXBhY3QtdmlkZW8iPgoKICAgIDxkaXYgY2xh + c3M9ImNvbnRlbnQtd3JhcHBlciI+CiAgICA8YSBocmVmPSIvd2F0Y2g/dj0y + WGtWNklwVjJZMCIgY2xhc3M9IiBjb250ZW50LWxpbmsgc3BmLWxpbmsgIHl0 + LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9u + bGluaz0iaXRjdD1DQjhRcERBWURDSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRV + Z0ppaWo0SFRJR2NtVnNiV1oxU091Rjg1MmN6YWJ3UUEiICB0aXRsZT0iVGhl + IEhpc3RvcnkgYW5kIEZ1dHVyZSBvZiBFdmVyeXRoaW5nIC0tIFRpbWUiIHJl + bD0iIHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRy + YWNraW5nPSJDQjhRcERBWURDSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0pp + aWo0SFVDTnM5ZlNpTDNGdk5rQiIgPgogIDxzcGFuIGRpcj0ibHRyIiBjbGFz + cz0idGl0bGUiIGFyaWEtZGVzY3JpYmVkYnk9ImRlc2NyaXB0aW9uLWlkLTkz + NzYxOSI+CiAgICBUaGUgSGlzdG9yeSBhbmQgRnV0dXJlIG9mIEV2ZXJ5dGhp + bmcgLS0gVGltZQogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0iYWNjZXNzaWJs + ZS1kZXNjcmlwdGlvbiIgaWQ9ImRlc2NyaXB0aW9uLWlkLTkzNzYxOSI+CiAg + ICAgLSBEdXJhdGlvbjogNzoxMS4KICA8L3NwYW4+CiAgPHNwYW4gY2xhc3M9 + InN0YXQgYXR0cmlidXRpb24iPjxzcGFuIGNsYXNzPSIiID5LdXJ6Z2VzYWd0 + IOKAkyBJbiBhIE51dHNoZWxsPC9zcGFuPjwvc3Bhbj4KICA8c3BhbiBjbGFz + cz0ic3RhdCB2aWV3LWNvdW50Ij41LDY0Miw0NDggdmlld3M8L3NwYW4+Cjwv + YT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13cmFwcGVyIj4KCiAg + ICA8YSBocmVmPSIvd2F0Y2g/dj0yWGtWNklwVjJZMCIgY2xhc3M9IiB2dmUt + Y2hlY2sgdGh1bWItbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5r + ICAgICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCOFFw + REFZRENJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JX + WjFTT3VGODUyY3phYndRQSIgIHRhYmluZGV4PSItMSIgcmVsPSIgc3BmLXBy + ZWZldGNoIG5vZm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNC + OFFwREFZRENJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVUNOczlm + U2lMM0Z2TmtCIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0 + LXVpeC1zaW1wbGUtdGh1bWItd3JhcCB5dC11aXgtc2ltcGxlLXRodW1iLXJl + bGF0ZWQiIHRhYmluZGV4PSIwIiBkYXRhLXZpZD0iMlhrVjZJcFYyWTAiPjxp + bWcgaGVpZ2h0PSI5NCIgc3R5bGU9InRvcDogMHB4IiBhcmlhLWhpZGRlbj0i + dHJ1ZSIgZGF0YS10aHVtYj0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8yWGtW + NklwVjJZMC9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NLZ0JFRjVJV3ZL + cmlxa0RDUWdCRlFBQWlFSVlBUT09JmFtcDtycz1BT240Q0xEUWI5dlJQWVpF + QV9XY2NmX2ZrWDJwNmRGRHNBIiB3aWR0aD0iMTY4IiBzcmM9Ii95dHMvaW1n + L3BpeGVsLXZmbDN6NVdmVy5naWYiIGFsdD0iIiA+PHNwYW4gY2xhc3M9InZp + ZGVvLXRpbWUiPjc6MTE8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+Cgo8 + L2xpPjxsaSBjbGFzcz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlzdC1p + dGVtICBzaG93LXZpZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29tcGFj + dC12aWRlbyI+CgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4K + ICAgIDxhIGhyZWY9Ii93YXRjaD92PVBLTVF6a0lpQjBZIiBjbGFzcz0iIGNv + bnRlbnQtbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAg + c3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCNFFwREFZRFNJ + VENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFTT3VG + ODUyY3phYndRQSIgIHRpdGxlPSJBcmUgWW91IEFsb25lPyAoSW4gVGhlIFVu + aXZlcnNlKSIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9sbG93IiBkYXRhLXZp + c2liaWxpdHktdHJhY2tpbmc9IkNCNFFwREFZRFNJVENNTGo4SzZLeWRnQ0ZZ + dlR3UW9kZFVnSmlpajRIVURHam9pUjVKbkUwVHc9IiA+CiAgPHNwYW4gZGly + PSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmliZWRieT0iZGVzY3Jp + cHRpb24taWQtNTA3NjY5Ij4KICAgIEFyZSBZb3UgQWxvbmU/IChJbiBUaGUg + VW5pdmVyc2UpCiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxl + LWRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtNTA3NjY5Ij4KICAg + ICAtIER1cmF0aW9uOiA2OjQ0LgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0i + c3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg + 4oCTIEluIGEgTnV0c2hlbGw8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNz + PSJzdGF0IHZpZXctY291bnQiPjMsNzMxLDU1OSB2aWV3czwvc3Bhbj4KPC9h + PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InRodW1iLXdyYXBwZXIiPgoKICAg + IDxhIGhyZWY9Ii93YXRjaD92PVBLTVF6a0lpQjBZIiBjbGFzcz0iIHZ2ZS1j + aGVjayB0aHVtYi1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsg + ICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0I0UXBE + QVlEU0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUdjbVZzYlda + MVNPdUY4NTJjemFid1FBIiAgdGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYtcHJl + ZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0I0 + UXBEQVlEU0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVREdqb2lS + NUpuRTBUdz0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQt + dWl4LXNpbXBsZS10aHVtYi13cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWItcmVs + YXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEtdmlkPSJQS01RemtJaUIwWSI+PGlt + ZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVuPSJ0 + cnVlIiBkYXRhLXRodW1iPSJodHRwczovL2kueXRpbWcuY29tL3ZpL1BLTVF6 + a0lpQjBZL2hxZGVmYXVsdC5qcGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlXdkty + aXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1wO3JzPUFPbjRDTEJlTjBJcWdCb3Ns + ckZ5QnU0TEJBbzQ4Zmdod2ciIHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9pbWcv + cGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0PSIiID48c3BhbiBjbGFzcz0idmlk + ZW8tdGltZSI+Njo0NDwvc3Bhbj48L3NwYW4+PC9hPgoKICA8L2Rpdj4KCjwv + bGk+PGxpIGNsYXNzPSJ2aWRlby1saXN0LWl0ZW0gcmVsYXRlZC1saXN0LWl0 + ZW0gIHNob3ctdmlkZW8tdGltZSByZWxhdGVkLWxpc3QtaXRlbS1jb21wYWN0 + LXZpZGVvIj4KCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPgog + ICAgPGEgaHJlZj0iL3dhdGNoP3Y9bGt4ZXFvbWdnRjQiIGNsYXNzPSIgY29u + dGVudC1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBz + cGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0IwUXBEQVlEaUlU + Q01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUhjbVZzWVhSbFpFanJo + Zk9kbk0ybThFQSIgIHRpdGxlPSIyNSBTTkVBS1kgTGllcyBZb3UgV2VyZSBU + b2xkIEFib3V0IFNwYWNlIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ci + IGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0IwUXBEQVlEaUlUQ01MajhL + Nkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVRGVnSUxOcU5XWHBwWUIiID4KICA8 + c3BhbiBkaXI9Imx0ciIgY2xhc3M9InRpdGxlIiBhcmlhLWRlc2NyaWJlZGJ5 + PSJkZXNjcmlwdGlvbi1pZC02NTU5MTIiPgogICAgMjUgU05FQUtZIExpZXMg + WW91IFdlcmUgVG9sZCBBYm91dCBTcGFjZQogIDwvc3Bhbj4KICA8c3BhbiBj + bGFzcz0iYWNjZXNzaWJsZS1kZXNjcmlwdGlvbiIgaWQ9ImRlc2NyaXB0aW9u + LWlkLTY1NTkxMiI+CiAgICAgLSBEdXJhdGlvbjogMTA6NDkuCiAgPC9zcGFu + PgogIDxzcGFuIGNsYXNzPSJzdGF0IGF0dHJpYnV0aW9uIj48c3BhbiBjbGFz + cz0iIiA+bGlzdDI1PC9zcGFuPjwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3Rh + dCB2aWV3LWNvdW50Ij40MDUsNzgwIHZpZXdzPC9zcGFuPgo8L2E+CiAgPC9k + aXY+CiAgPGRpdiBjbGFzcz0idGh1bWItd3JhcHBlciI+CgogICAgPGEgaHJl + Zj0iL3dhdGNoP3Y9bGt4ZXFvbWdnRjQiIGNsYXNzPSIgdnZlLWNoZWNrIHRo + dW1iLWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNw + Zi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQjBRcERBWURpSVRD + TUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJSGNtVnNZWFJsWkVqcmhm + T2RuTTJtOEVBIiAgdGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYtcHJlZmV0Y2gg + bm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0IwUXBEQVlE + aUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVRGVnSUxOcU5XWHBw + WUIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LXNp + bXBsZS10aHVtYi13cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWItcmVsYXRlZCIg + dGFiaW5kZXg9IjAiIGRhdGEtdmlkPSJsa3hlcW9tZ2dGNCI+PGltZyBoZWln + aHQ9Ijk0IiBzdHlsZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBk + YXRhLXRodW1iPSJodHRwczovL2kueXRpbWcuY29tL3ZpL2xreGVxb21nZ0Y0 + L2hxZGVmYXVsdC5qcGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlXdktyaXFrRENR + Z0JGUUFBaUVJWUFRPT0mYW1wO3JzPUFPbjRDTEJ5alQ3SHdQemlHNnZWUFV0 + ZTZNUUZIeGplTkEiIHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9pbWcvcGl4ZWwt + dmZsM3o1V2ZXLmdpZiIgYWx0PSIiID48c3BhbiBjbGFzcz0idmlkZW8tdGlt + ZSI+MTA6NDk8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+Cgo8L2xpPjxs + aSBjbGFzcz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlzdC1pdGVtICBz + aG93LXZpZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29tcGFjdC12aWRl + byI+CgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4KICAgIDxh + IGhyZWY9Ii93YXRjaD92PXNOaGh2UUdzTUVjIiBjbGFzcz0iIGNvbnRlbnQt + bGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxp + bmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCd1FwREFZRHlJVENNTGo4 + SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFTT3VGODUyY3ph + YndRQSIgIHRpdGxlPSJUaGUgRmVybWkgUGFyYWRveCDigJQgV2hlcmUgQXJl + IEFsbCBUaGUgQWxpZW5zPyAoMS8yKSIgcmVsPSIgc3BmLXByZWZldGNoIG5v + Zm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNCd1FwREFZRHlJ + VENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVURINExDTjBMZVk3TEFC + IiA+CiAgPHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNj + cmliZWRieT0iZGVzY3JpcHRpb24taWQtMzUyNDMzIj4KICAgIFRoZSBGZXJt + aSBQYXJhZG94IOKAlCBXaGVyZSBBcmUgQWxsIFRoZSBBbGllbnM/ICgxLzIp + CiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxlLWRlc2NyaXB0 + aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtMzUyNDMzIj4KICAgICAtIER1cmF0 + aW9uOiA2OjIyLgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRy + aWJ1dGlvbiI+PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEg + TnV0c2hlbGw8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IHZp + ZXctY291bnQiPjEwLDQzOSwzODcgdmlld3M8L3NwYW4+CjwvYT4KICA8L2Rp + dj4KICA8ZGl2IGNsYXNzPSJ0aHVtYi13cmFwcGVyIj4KCiAgICA8YSBocmVm + PSIvd2F0Y2g/dj1zTmhodlFHc01FYyIgY2xhc3M9IiB2dmUtY2hlY2sgdGh1 + bWItbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3Bm + LWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCd1FwREFZRHlJVENN + TGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFTT3VGODUy + Y3phYndRQSIgIHRhYmluZGV4PSItMSIgcmVsPSIgc3BmLXByZWZldGNoIG5v + Zm9sbG93IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNCd1FwREFZRHlJ + VENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVURINExDTjBMZVk3TEFC + IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9Inl0LXVpeC1zaW1w + bGUtdGh1bWItd3JhcCB5dC11aXgtc2ltcGxlLXRodW1iLXJlbGF0ZWQiIHRh + YmluZGV4PSIwIiBkYXRhLXZpZD0ic05oaHZRR3NNRWMiPjxpbWcgaGVpZ2h0 + PSI5NCIgc3R5bGU9InRvcDogMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgZGF0 + YS10aHVtYj0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9zTmhodlFHc01FYy9o + cWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFV0NLZ0JFRjVJV3ZLcmlxa0RDUWdC + RlFBQWlFSVlBUT09JmFtcDtycz1BT240Q0xDQlF6a3paeERKWERHTVVuWFJW + c25WRmtxRFd3IiB3aWR0aD0iMTY4IiBzcmM9Ii95dHMvaW1nL3BpeGVsLXZm + bDN6NVdmVy5naWYiIGFsdD0iIiA+PHNwYW4gY2xhc3M9InZpZGVvLXRpbWUi + PjY6MjI8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+Cgo8L2xpPjxsaSBj + bGFzcz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlzdC1pdGVtICBzaG93 + LXZpZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29tcGFjdC12aWRlbyI+ + CgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4KICAgIDxhIGhy + ZWY9Ii93YXRjaD92PVFzQlQ1RVF0MzQ4IiBjbGFzcz0iIGNvbnRlbnQtbGlu + ayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAgICAgc3BmLWxpbmsg + IiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCc1FwREFZRUNJVENNTGo4SzZL + eWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFTT3VGODUyY3phYndR + QSIgIHRpdGxlPSJPdmVycG9wdWxhdGlvbiDigJMgVGhlIEh1bWFuIEV4cGxv + c2lvbiBFeHBsYWluZWQiIHJlbD0iIHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIg + ZGF0YS12aXNpYmlsaXR5LXRyYWNraW5nPSJDQnNRcERBWUVDSVRDTUxqOEs2 + S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVDUHY3ZWh4UHlVNEVJPSIgPgogIDxz + cGFuIGRpcj0ibHRyIiBjbGFzcz0idGl0bGUiIGFyaWEtZGVzY3JpYmVkYnk9 + ImRlc2NyaXB0aW9uLWlkLTIwNDYzMCI+CiAgICBPdmVycG9wdWxhdGlvbiDi + gJMgVGhlIEh1bWFuIEV4cGxvc2lvbiBFeHBsYWluZWQKICA8L3NwYW4+CiAg + PHNwYW4gY2xhc3M9ImFjY2Vzc2libGUtZGVzY3JpcHRpb24iIGlkPSJkZXNj + cmlwdGlvbi1pZC0yMDQ2MzAiPgogICAgIC0gRHVyYXRpb246IDY6NDAuCiAg + PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IGF0dHJpYnV0aW9uIj48c3Bh + biBjbGFzcz0iIiA+S3Vyemdlc2FndCDigJMgSW4gYSBOdXRzaGVsbDwvc3Bh + bj48L3NwYW4+CiAgPHNwYW4gY2xhc3M9InN0YXQgdmlldy1jb3VudCI+NSw2 + NzgsMTU5IHZpZXdzPC9zcGFuPgo8L2E+CiAgPC9kaXY+CiAgPGRpdiBjbGFz + cz0idGh1bWItd3JhcHBlciI+CgogICAgPGEgaHJlZj0iL3dhdGNoP3Y9UXNC + VDVFUXQzNDgiIGNsYXNzPSIgdnZlLWNoZWNrIHRodW1iLWxpbmsgc3BmLWxp + bmsgIHl0LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1z + ZXNzaW9ubGluaz0iaXRjdD1DQnNRcERBWUVDSVRDTUxqOEs2S3lkZ0NGWXZU + d1FvZGRVZ0ppaWo0SFRJR2NtVnNiV1oxU091Rjg1MmN6YWJ3UUEiICB0YWJp + bmRleD0iLTEiIHJlbD0iIHNwZi1wcmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12 + aXNpYmlsaXR5LXRyYWNraW5nPSJDQnNRcERBWUVDSVRDTUxqOEs2S3lkZ0NG + WXZUd1FvZGRVZ0ppaWo0SFVDUHY3ZWh4UHlVNEVJPSIgYXJpYS1oaWRkZW49 + InRydWUiPjxzcGFuIGNsYXNzPSJ5dC11aXgtc2ltcGxlLXRodW1iLXdyYXAg + eXQtdWl4LXNpbXBsZS10aHVtYi1yZWxhdGVkIiB0YWJpbmRleD0iMCIgZGF0 + YS12aWQ9IlFzQlQ1RVF0MzQ4Ij48aW1nIGhlaWdodD0iOTQiIHN0eWxlPSJ0 + b3A6IDBweCIgYXJpYS1oaWRkZW49InRydWUiIGRhdGEtdGh1bWI9Imh0dHBz + Oi8vaS55dGltZy5jb20vdmkvUXNCVDVFUXQzNDgvaHFkZWZhdWx0LmpwZz9z + cXA9LW9heW13RVdDS2dCRUY1SVd2S3JpcWtEQ1FnQkZRQUFpRUlZQVE9PSZh + bXA7cnM9QU9uNENMQXdUVVNqMVg0TjFVMXJrVzVueEk3RmxwZ0swdyIgd2lk + dGg9IjE2OCIgc3JjPSIveXRzL2ltZy9waXhlbC12ZmwzejVXZlcuZ2lmIiBh + bHQ9IiIgPjxzcGFuIGNsYXNzPSJ2aWRlby10aW1lIj42OjQwPC9zcGFuPjwv + c3Bhbj48L2E+CgogIDwvZGl2PgoKPC9saT48bGkgY2xhc3M9InZpZGVvLWxp + c3QtaXRlbSByZWxhdGVkLWxpc3QtaXRlbSAgc2hvdy12aWRlby10aW1lIHJl + bGF0ZWQtbGlzdC1pdGVtLWNvbXBhY3QtdmlkZW8iPgoKICAgIDxkaXYgY2xh + c3M9ImNvbnRlbnQtd3JhcHBlciI+CiAgICA8YSBocmVmPSIvd2F0Y2g/dj00 + RmFSUDEyY2s3ayIgY2xhc3M9IiBjb250ZW50LWxpbmsgc3BmLWxpbmsgIHl0 + LXVpeC1zZXNzaW9ubGluayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9u + bGluaz0iaXRjdD1DQm9RcERBWUVTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRV + Z0ppaWo0SFRJSGNtVnNZWFJsWkVqcmhmT2RuTTJtOEVBIiAgdGl0bGU9IjEw + IE1vcmUgRXZlcnlkYXkgVGhpbmdzIFRoYXQgUHJvdmUgWW91ciBMaWZlIElz + IGEgTGllIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlz + aWJpbGl0eS10cmFja2luZz0iQ0JvUXBEQVlFU0lUQ01MajhLNkt5ZGdDRll2 + VHdRb2RkVWdKaWlqNEhVQzVwX0xzOWFla3EtQUIiID4KICA8c3BhbiBkaXI9 + Imx0ciIgY2xhc3M9InRpdGxlIiBhcmlhLWRlc2NyaWJlZGJ5PSJkZXNjcmlw + dGlvbi1pZC01NDE2NjEiPgogICAgMTAgTW9yZSBFdmVyeWRheSBUaGluZ3Mg + VGhhdCBQcm92ZSBZb3VyIExpZmUgSXMgYSBMaWUKICA8L3NwYW4+CiAgPHNw + YW4gY2xhc3M9ImFjY2Vzc2libGUtZGVzY3JpcHRpb24iIGlkPSJkZXNjcmlw + dGlvbi1pZC01NDE2NjEiPgogICAgIC0gRHVyYXRpb246IDEwOjAzLgogIDwv + c3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4g + Y2xhc3M9IiIgPkJlIEFtYXplZDwvc3Bhbj48L3NwYW4+CiAgPHNwYW4gY2xh + c3M9InN0YXQgdmlldy1jb3VudCI+OCwxNzIsNDY0IHZpZXdzPC9zcGFuPgo8 + L2E+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0idGh1bWItd3JhcHBlciI+Cgog + ICAgPGEgaHJlZj0iL3dhdGNoP3Y9NEZhUlAxMmNrN2siIGNsYXNzPSIgdnZl + LWNoZWNrIHRodW1iLWxpbmsgc3BmLWxpbmsgIHl0LXVpeC1zZXNzaW9ubGlu + ayAgICAgIHNwZi1saW5rICIgZGF0YS1zZXNzaW9ubGluaz0iaXRjdD1DQm9R + cERBWUVTSVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJSGNtVnNZ + WFJsWkVqcmhmT2RuTTJtOEVBIiAgdGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYt + cHJlZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0i + Q0JvUXBEQVlFU0lUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVQzVw + X0xzOWFla3EtQUIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0i + eXQtdWl4LXNpbXBsZS10aHVtYi13cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWIt + cmVsYXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEtdmlkPSI0RmFSUDEyY2s3ayI+ + PGltZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVu + PSJ0cnVlIiBkYXRhLXRodW1iPSJodHRwczovL2kueXRpbWcuY29tL3ZpLzRG + YVJQMTJjazdrL2hxZGVmYXVsdC5qcGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlX + dktyaXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1wO3JzPUFPbjRDTENvRUJLWUpY + bFdLYVlhcWx1RVBHc05SWG1NUmciIHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9p + bWcvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0PSIiID48c3BhbiBjbGFzcz0i + dmlkZW8tdGltZSI+MTA6MDM8L3NwYW4+PC9zcGFuPjwvYT4KCiAgPC9kaXY+ + Cgo8L2xpPjxsaSBjbGFzcz0idmlkZW8tbGlzdC1pdGVtIHJlbGF0ZWQtbGlz + dC1pdGVtICBzaG93LXZpZGVvLXRpbWUgcmVsYXRlZC1saXN0LWl0ZW0tY29t + cGFjdC12aWRlbyI+CgogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVy + Ij4KICAgIDxhIGhyZWY9Ii93YXRjaD92PVpMNHlZSGREU1dzIiBjbGFzcz0i + IGNvbnRlbnQtbGluayBzcGYtbGluayAgeXQtdWl4LXNlc3Npb25saW5rICAg + ICAgc3BmLWxpbmsgIiBkYXRhLXNlc3Npb25saW5rPSJpdGN0PUNCa1FwREFZ + RWlJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElHY21Wc2JXWjFT + T3VGODUyY3phYndRQSIgIHRpdGxlPSJIb3cgRmFyIENhbiBXZSBHbz8gTGlt + aXRzIG9mIEh1bWFuaXR5LiIgcmVsPSIgc3BmLXByZWZldGNoIG5vZm9sbG93 + IiBkYXRhLXZpc2liaWxpdHktdHJhY2tpbmc9IkNCa1FwREFZRWlJVENNTGo4 + SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVURya28yNmg4eU0zMlE9IiA+CiAg + PHNwYW4gZGlyPSJsdHIiIGNsYXNzPSJ0aXRsZSIgYXJpYS1kZXNjcmliZWRi + eT0iZGVzY3JpcHRpb24taWQtNTEwNzU3Ij4KICAgIEhvdyBGYXIgQ2FuIFdl + IEdvPyBMaW1pdHMgb2YgSHVtYW5pdHkuCiAgPC9zcGFuPgogIDxzcGFuIGNs + YXNzPSJhY2Nlc3NpYmxlLWRlc2NyaXB0aW9uIiBpZD0iZGVzY3JpcHRpb24t + aWQtNTEwNzU3Ij4KICAgICAtIER1cmF0aW9uOiA3OjQ1LgogIDwvc3Bhbj4K + ICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRyaWJ1dGlvbiI+PHNwYW4gY2xhc3M9 + IiIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEgTnV0c2hlbGw8L3NwYW4+PC9zcGFu + PgogIDxzcGFuIGNsYXNzPSJzdGF0IHZpZXctY291bnQiPjYsNzY3LDY0NSB2 + aWV3czwvc3Bhbj4KPC9hPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InRodW1i + LXdyYXBwZXIiPgoKICAgIDxhIGhyZWY9Ii93YXRjaD92PVpMNHlZSGREU1dz + IiBjbGFzcz0iIHZ2ZS1jaGVjayB0aHVtYi1saW5rIHNwZi1saW5rICB5dC11 + aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxp + bms9Iml0Y3Q9Q0JrUXBEQVlFaUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdK + aWlqNEhUSUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAgdGFiaW5kZXg9Ii0x + IiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9mb2xsb3ciIGRhdGEtdmlzaWJpbGl0 + eS10cmFja2luZz0iQ0JrUXBEQVlFaUlUQ01MajhLNkt5ZGdDRll2VHdRb2Rk + VWdKaWlqNEhVRHJrbzI2aDh5TTMyUT0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48 + c3BhbiBjbGFzcz0ieXQtdWl4LXNpbXBsZS10aHVtYi13cmFwIHl0LXVpeC1z + aW1wbGUtdGh1bWItcmVsYXRlZCIgdGFiaW5kZXg9IjAiIGRhdGEtdmlkPSJa + TDR5WUhkRFNXcyI+PGltZyBoZWlnaHQ9Ijk0IiBzdHlsZT0idG9wOiAwcHgi + IGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLXRodW1iPSJodHRwczovL2kueXRp + bWcuY29tL3ZpL1pMNHlZSGREU1dzL2hxZGVmYXVsdC5qcGc/c3FwPS1vYXlt + d0VXQ0tnQkVGNUlXdktyaXFrRENRZ0JGUUFBaUVJWUFRPT0mYW1wO3JzPUFP + bjRDTEJjS21hdzk5Q3ZZcmpVdkhDLUhkR3lMQmxSeVEiIHdpZHRoPSIxNjgi + IHNyYz0iL3l0cy9pbWcvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIgYWx0PSIiID48 + c3BhbiBjbGFzcz0idmlkZW8tdGltZSI+Nzo0NTwvc3Bhbj48L3NwYW4+PC9h + PgoKICA8L2Rpdj4KCjwvbGk+PGxpIGNsYXNzPSJ2aWRlby1saXN0LWl0ZW0g + cmVsYXRlZC1saXN0LWl0ZW0gIHNob3ctdmlkZW8tdGltZSByZWxhdGVkLWxp + c3QtaXRlbS1jb21wYWN0LXZpZGVvIj4KCiAgICA8ZGl2IGNsYXNzPSJjb250 + ZW50LXdyYXBwZXIiPgogICAgPGEgaHJlZj0iL3dhdGNoP3Y9d05ER2dMNzNp + aFkiIGNsYXNzPSIgY29udGVudC1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vz + c2lvbmxpbmsgICAgICBzcGYtbGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0 + Y3Q9Q0JnUXBEQVlFeUlUQ01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhU + SUdjbVZzYldaMVNPdUY4NTJjemFid1FBIiAgdGl0bGU9IlRoZSBCZWdpbm5p + bmcgb2YgRXZlcnl0aGluZyAtLSBUaGUgQmlnIEJhbmciIHJlbD0iIHNwZi1w + cmVmZXRjaCBub2ZvbGxvdyIgZGF0YS12aXNpYmlsaXR5LXRyYWNraW5nPSJD + QmdRcERBWUV5SVRDTUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFVDV2xO + NzNpOUN4Nk1BQiIgPgogIDxzcGFuIGRpcj0ibHRyIiBjbGFzcz0idGl0bGUi + IGFyaWEtZGVzY3JpYmVkYnk9ImRlc2NyaXB0aW9uLWlkLTY3MjIyMiI+CiAg + ICBUaGUgQmVnaW5uaW5nIG9mIEV2ZXJ5dGhpbmcgLS0gVGhlIEJpZyBCYW5n + CiAgPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJhY2Nlc3NpYmxlLWRlc2NyaXB0 + aW9uIiBpZD0iZGVzY3JpcHRpb24taWQtNjcyMjIyIj4KICAgICAtIER1cmF0 + aW9uOiA1OjU1LgogIDwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ic3RhdCBhdHRy + aWJ1dGlvbiI+PHNwYW4gY2xhc3M9IiIgPkt1cnpnZXNhZ3Qg4oCTIEluIGEg + TnV0c2hlbGw8L3NwYW4+PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJzdGF0IHZp + ZXctY291bnQiPjQsODI2LDkxMiB2aWV3czwvc3Bhbj4KPC9hPgogIDwvZGl2 + PgogIDxkaXYgY2xhc3M9InRodW1iLXdyYXBwZXIiPgoKICAgIDxhIGhyZWY9 + Ii93YXRjaD92PXdOREdnTDczaWhZIiBjbGFzcz0iIHZ2ZS1jaGVjayB0aHVt + Yi1saW5rIHNwZi1saW5rICB5dC11aXgtc2Vzc2lvbmxpbmsgICAgICBzcGYt + bGluayAiIGRhdGEtc2Vzc2lvbmxpbms9Iml0Y3Q9Q0JnUXBEQVlFeUlUQ01M + ajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUdjbVZzYldaMVNPdUY4NTJj + emFid1FBIiAgdGFiaW5kZXg9Ii0xIiByZWw9IiBzcGYtcHJlZmV0Y2ggbm9m + b2xsb3ciIGRhdGEtdmlzaWJpbGl0eS10cmFja2luZz0iQ0JnUXBEQVlFeUlU + Q01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhVQ1dsTjczaTlDeDZNQUIi + IGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LXNpbXBs + ZS10aHVtYi13cmFwIHl0LXVpeC1zaW1wbGUtdGh1bWItcmVsYXRlZCIgdGFi + aW5kZXg9IjAiIGRhdGEtdmlkPSJ3TkRHZ0w3M2loWSI+PGltZyBoZWlnaHQ9 + Ijk0IiBzdHlsZT0idG9wOiAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRh + LXRodW1iPSJodHRwczovL2kueXRpbWcuY29tL3ZpL3dOREdnTDczaWhZL2hx + ZGVmYXVsdC5qcGc/c3FwPS1vYXltd0VXQ0tnQkVGNUlXdktyaXFrRENRZ0JG + UUFBaUVJWUFRPT0mYW1wO3JzPUFPbjRDTENzZjVwRGRhMWNJMnpScTJ4d25w + Rkc0LWNBWEEiIHdpZHRoPSIxNjgiIHNyYz0iL3l0cy9pbWcvcGl4ZWwtdmZs + M3o1V2ZXLmdpZiIgYWx0PSIiID48c3BhbiBjbGFzcz0idmlkZW8tdGltZSI+ + NTo1NTwvc3Bhbj48L3NwYW4+PC9hPgoKICA8L2Rpdj4KCjwvbGk+CiAgICAg + ICAgICAgICAgICA8ZGl2IGlkPSJ3YXRjaC1tb3JlLXJlbGF0ZWQiIGNsYXNz + PSJoaWQiPgogICAgPGxpIGlkPSJ3YXRjaC1tb3JlLXJlbGF0ZWQtbG9hZGlu + ZyI+CkxvYWRpbmcgbW9yZSBzdWdnZXN0aW9ucy4uLgogICAgPC9saT4KICA8 + L2Rpdj4KICA8YnV0dG9uIGNsYXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1i + dXR0b24tc2l6ZS1kZWZhdWx0IHl0LXVpeC1idXR0b24tZXhwYW5kZXIiIHR5 + cGU9ImJ1dHRvbiIgb25jbGljaz0iO3JldHVybiBmYWxzZTsiIGlkPSJ3YXRj + aC1tb3JlLXJlbGF0ZWQtYnV0dG9uIiBkYXRhLWNvbnRpbnVhdGlvbj0iQ0JR + U0poSUxVVTlEWVdGalR6aDNkWFBBQVFESUFRRGdBUUdpQWcwb19fX19fX19f + X19fX0FVQUFHQUFxMGdFSTRkcmoyOVBKc3FxMkFRaS15cEdwZzlMWmdpVUlo + TUhNNnNlNHhxbEZDTjYtdUxDMDE1cUtNQWpXNkxqeDNlZVloSXdCQ1B1dy1z + VzlpLVhkTlFqNnY5LTJtbzJrdEhRSW1wQ19fWURFb192akFRaTR4c25PdFBf + Q3gyb0lwTjNqLVo3VTlwdXFBUWlTdFBTZm9zZm5vNFFCQ0xqMHNlWHZwZVBu + UndpTnM5ZlNpTDNGdk5rQkNNYU9pSkhrbWNUUlBBamVnSUxOcU5XWHBwWUJD + TWZnc0kzUXQ1anNzQUVJajctM29jVDhsT0JDQ0xtbjh1ejFwNlNyNEFFSTY1 + S051b2ZNak45a0NKYVUzdmVMMExIb3dBRSUzRCIgZGF0YS1idXR0b24tYWN0 + aW9uPSJ5dC53d3cud2F0Y2gucmVsYXRlZC5sb2FkTW9yZSI+PHNwYW4gY2xh + c3M9Inl0LXVpeC1idXR0b24tY29udGVudCI+U2hvdyBtb3JlPC9zcGFuPjwv + YnV0dG9uPgoKICAgICAgPC91bD4KICAgIDwvZGl2PgogIDwvZGl2PgoKICAg + IDwvZGl2PgogIDwvZGl2PgoKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8 + L2Rpdj4KCgogIDwvZGl2PgoKPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ICA8 + ZGl2IGlkPSJmb290ZXItY29udGFpbmVyIiBjbGFzcz0ieXQtYmFzZS1ndXR0 + ZXIgZm9yY2UtbGF5ZXIiPjxkaXYgaWQ9ImZvb3RlciI+PGRpdiBpZD0iZm9v + dGVyLW1haW4iPjxkaXYgaWQ9ImZvb3Rlci1sb2dvIj48YSBocmVmPSIvIiBp + ZD0iZm9vdGVyLWxvZ28tbGluayIgdGl0bGU9IllvdVR1YmUgaG9tZSIgZGF0 + YS1zZXNzaW9ubGluaz0iZWk9dzhOVFdvTDJGNHVuaHdiMWtLWFFDQSZhbXA7 + dmVkPUNBSVFwbUVpRXdqQzRfQ3Vpc25ZQWhXTDA4RUtIWFZJQ1lvby1CMCIg + Y2xhc3M9Inl0LXVpeC1zZXNzaW9ubGluayI+PHNwYW4gY2xhc3M9ImZvb3Rl + ci1sb2dvLWljb24geXQtc3ByaXRlIj48L3NwYW4+PC9hPjwvZGl2PiAgPHVs + IGNsYXNzPSJwaWNrZXJzIHl0LXVpeC1idXR0b24tZ3JvdXAiIGRhdGEtYnV0 + dG9uLXRvZ2dsZS1ncm91cD0ib3B0aW9uYWwiPgogICAgICA8bGk+CiAgICAg + ICAgICAgIDxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1 + dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1kZWZhdWx0IHl0LXVp + eC1idXR0b24taGFzLWljb24iIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iO3Jl + dHVybiBmYWxzZTsiIGlkPSJ5dC1waWNrZXItbGFuZ3VhZ2UtYnV0dG9uIiBk + YXRhLXBpY2tlci1wb3NpdGlvbj0iZm9vdGVyIiBkYXRhLXBpY2tlci1rZXk9 + Imxhbmd1YWdlIiBkYXRhLWJ1dHRvbi1tZW51LWlkPSJhcnJvdy1kaXNwbGF5 + IiBkYXRhLWJ1dHRvbi1hY3Rpb249Inl0Lnd3dy5waWNrZXIubG9hZCIgZGF0 + YS1idXR0b24tdG9nZ2xlPSJ0cnVlIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1 + dHRvbi1pY29uLXdyYXBwZXIiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9u + LWljb24geXQtdWl4LWJ1dHRvbi1pY29uLWZvb3Rlci1sYW5ndWFnZSB5dC1z + cHJpdGUiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0 + b24tY29udGVudCI+ICA8c3BhbiBjbGFzcz0ieXQtcGlja2VyLWJ1dHRvbi1s + YWJlbCI+Ckxhbmd1YWdlOgogIDwvc3Bhbj4KICBFbmdsaXNoCjwvc3Bhbj48 + c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1hcnJvdyB5dC1zcHJpdGUiPjwv + c3Bhbj48L2J1dHRvbj4KCgogICAgICA8L2xpPgogICAgICA8bGk+CiAgICAg + ICAgICAgIDxidXR0b24gY2xhc3M9Inl0LXVpeC1idXR0b24geXQtdWl4LWJ1 + dHRvbi1zaXplLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1kZWZhdWx0IiB0eXBl + PSJidXR0b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFsc2U7IiBpZD0ieXQtcGlj + a2VyLWNvdW50cnktYnV0dG9uIiBkYXRhLXBpY2tlci1wb3NpdGlvbj0iZm9v + dGVyIiBkYXRhLXBpY2tlci1rZXk9ImNvdW50cnkiIGRhdGEtYnV0dG9uLW1l + bnUtaWQ9ImFycm93LWRpc3BsYXkiIGRhdGEtYnV0dG9uLWFjdGlvbj0ieXQu + d3d3LnBpY2tlci5sb2FkIiBkYXRhLWJ1dHRvbi10b2dnbGU9InRydWUiPjxz + cGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWNvbnRlbnQiPiAgPHNwYW4gY2xh + c3M9Inl0LXBpY2tlci1idXR0b24tbGFiZWwiPgpMb2NhdGlvbjoKICA8L3Nw + YW4+CiAgVW5pdGVkIFN0YXRlcwo8L3NwYW4+PHNwYW4gY2xhc3M9Inl0LXVp + eC1idXR0b24tYXJyb3cgeXQtc3ByaXRlIj48L3NwYW4+PC9idXR0b24+CgoK + ICAgICAgPC9saT4KICAgICAgPGxpPgogICAgICAgICAgICA8YnV0dG9uIGNs + YXNzPSJ5dC11aXgtYnV0dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0 + IHl0LXVpeC1idXR0b24tZGVmYXVsdCIgdHlwZT0iYnV0dG9uIiBvbmNsaWNr + PSI7cmV0dXJuIGZhbHNlOyIgaWQ9Inl0LXBpY2tlci1zYWZldHltb2RlLWJ1 + dHRvbiIgZGF0YS1waWNrZXItcG9zaXRpb249ImZvb3RlciIgZGF0YS1waWNr + ZXIta2V5PSJzYWZldHltb2RlIiBkYXRhLWJ1dHRvbi1tZW51LWlkPSJhcnJv + dy1kaXNwbGF5IiBkYXRhLWJ1dHRvbi1hY3Rpb249Inl0Lnd3dy5waWNrZXIu + bG9hZCIgZGF0YS1idXR0b24tdG9nZ2xlPSJ0cnVlIj48c3BhbiBjbGFzcz0i + eXQtdWl4LWJ1dHRvbi1jb250ZW50Ij4gIDxzcGFuIGNsYXNzPSJ5dC1waWNr + ZXItYnV0dG9uLWxhYmVsIj4KUmVzdHJpY3RlZCBNb2RlOgogIDwvc3Bhbj4K + T2ZmCjwvc3Bhbj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1hcnJvdyB5 + dC1zcHJpdGUiPjwvc3Bhbj48L2J1dHRvbj4KCgogICAgICA8L2xpPgogIDwv + dWw+CjxhICBocmVmPSIvZmVlZC9oaXN0b3J5IiBjbGFzcz0ieXQtdWl4LWJ1 + dHRvbiAgZm9vdGVyLWhpc3RvcnkgeXQtdWl4LXNlc3Npb25saW5rIHl0LXVp + eC1idXR0b24tZGVmYXVsdCB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5 + dC11aXgtYnV0dG9uLWhhcy1pY29uIiBkYXRhLXNlc3Npb25saW5rPSJlaT13 + OE5UV29MMkY0dW5od2Ixa0tYUUNBIj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1 + dHRvbi1pY29uLXdyYXBwZXIiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9u + LWljb24geXQtdWl4LWJ1dHRvbi1pY29uLWZvb3Rlci1oaXN0b3J5IHl0LXNw + cml0ZSI+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRv + bi1jb250ZW50Ij5IaXN0b3J5PC9zcGFuPjwvYT4gICAgPGJ1dHRvbiBjbGFz + cz0ieXQtdWl4LWJ1dHRvbiB5dC11aXgtYnV0dG9uLXNpemUtZGVmYXVsdCB5 + dC11aXgtYnV0dG9uLWRlZmF1bHQgeXQtdWl4LWJ1dHRvbi1oYXMtaWNvbiB5 + dC11aXgtYnV0dG9uLXJldmVyc2UgeXQtZ29vZ2xlLWhlbHAtbGluayBpbnEt + bm8tY2xpY2sgIiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IjtyZXR1cm4gZmFs + c2U7IiBkYXRhLWdoZWxwLXRyYWNraW5nLXBhcmFtPSIiIGlkPSJnb29nbGUt + aGVscCIgZGF0YS1naGVscC1hbmNob3I9Imdvb2dsZS1oZWxwIiBkYXRhLWxv + YWQtY2hhdC1zdXBwb3J0PSJ0cnVlIiBkYXRhLWZlZWRiYWNrLXByb2R1Y3Qt + aWQ9IjU5Ij48c3BhbiBjbGFzcz0ieXQtdWl4LWJ1dHRvbi1pY29uLXdyYXBw + ZXIiPjxzcGFuIGNsYXNzPSJ5dC11aXgtYnV0dG9uLWljb24geXQtdWl4LWJ1 + dHRvbi1pY29uLXF1ZXN0aW9ubWFyayB5dC1zcHJpdGUiPjwvc3Bhbj48L3Nw + YW4+PHNwYW4gY2xhc3M9Inl0LXVpeC1idXR0b24tY29udGVudCI+SGVscAo8 + L3NwYW4+PC9idXR0b24+CiAgICAgIDxkaXYgaWQ9Inl0LXBpY2tlci1sYW5n + dWFnZS1mb290ZXIiIGNsYXNzPSJ5dC1waWNrZXIiIHN0eWxlPSJkaXNwbGF5 + OiBub25lIj4KICAgICAgPHAgY2xhc3M9Inl0LXNwaW5uZXIgIj4KICAgICAg + ICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1pbWcgIHl0LXNwcml0ZSIgdGl0 + bGU9IkxvYWRpbmcgaWNvbiI+PC9zcGFuPgoKICAgIDxzcGFuIGNsYXNzPSJ5 + dC1zcGlubmVyLW1lc3NhZ2UiPgpMb2FkaW5nLi4uCiAgICA8L3NwYW4+CiAg + PC9wPgoKICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9Inl0LXBpY2tlci1jb3Vu + dHJ5LWZvb3RlciIgY2xhc3M9Inl0LXBpY2tlciIgc3R5bGU9ImRpc3BsYXk6 + IG5vbmUiPgogICAgICA8cCBjbGFzcz0ieXQtc3Bpbm5lciAiPgogICAgICAg + IDxzcGFuIGNsYXNzPSJ5dC1zcGlubmVyLWltZyAgeXQtc3ByaXRlIiB0aXRs + ZT0iTG9hZGluZyBpY29uIj48L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9Inl0 + LXNwaW5uZXItbWVzc2FnZSI+CkxvYWRpbmcuLi4KICAgIDwvc3Bhbj4KICA8 + L3A+CgogIDwvZGl2PgoKICAgICAgPGRpdiBpZD0ieXQtcGlja2VyLXNhZmV0 + eW1vZGUtZm9vdGVyIiBjbGFzcz0ieXQtcGlja2VyIiBzdHlsZT0iZGlzcGxh + eTogbm9uZSI+CiAgICAgIDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+CiAgICAg + ICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItaW1nICB5dC1zcHJpdGUiIHRp + dGxlPSJMb2FkaW5nIGljb24iPjwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0i + eXQtc3Bpbm5lci1tZXNzYWdlIj4KTG9hZGluZy4uLgogICAgPC9zcGFuPgog + IDwvcD4KCiAgPC9kaXY+Cgo8L2Rpdj48ZGl2IGlkPSJmb290ZXItbGlua3Mi + Pjx1bCBpZD0iZm9vdGVyLWxpbmtzLXByaW1hcnkiPiAgPGxpPjxhIGhyZWY9 + Ii8vd3d3LnlvdXR1YmUuY29tL3l0L2Fib3V0LyI+QWJvdXQ8L2E+PC9saT4K + ICA8bGk+PGEgaHJlZj0iLy93d3cueW91dHViZS5jb20veXQvcHJlc3MvIj5Q + cmVzczwvYT48L2xpPgogIDxsaT48YSBocmVmPSIvL3d3dy55b3V0dWJlLmNv + bS95dC9jb3B5cmlnaHQvIj5Db3B5cmlnaHQ8L2E+PC9saT4KICA8bGk+PGEg + aHJlZj0iLy93d3cueW91dHViZS5jb20veXQvY3JlYXRvcnMvIj5DcmVhdG9y + czwvYT48L2xpPgogIDxsaT48YSBocmVmPSIvL3d3dy55b3V0dWJlLmNvbS95 + dC9hZHZlcnRpc2UvIj5BZHZlcnRpc2U8L2E+PC9saT4KICA8bGk+PGEgaHJl + Zj0iLy93d3cueW91dHViZS5jb20veXQvZGV2LyI+RGV2ZWxvcGVyczwvYT48 + L2xpPgogIDxsaT48YSBocmVmPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS8r + eW91dHViZSIgZGlyPSJsdHIiPitZb3VUdWJlPC9hPjwvbGk+CjwvdWw+PHVs + IGlkPSJmb290ZXItbGlua3Mtc2Vjb25kYXJ5Ij4gIDxsaT48YSBocmVmPSIv + dC90ZXJtcyI+VGVybXM8L2E+PC9saT4KICA8bGk+PGEgaHJlZj0iaHR0cHM6 + Ly93d3cuZ29vZ2xlLmNvbS9pbnRsL2VuL3BvbGljaWVzL3ByaXZhY3kvIj5Q + cml2YWN5PC9hPjwvbGk+CiAgPGxpPjxhIGhyZWY9Ii8vd3d3LnlvdXR1YmUu + Y29tL3l0L3BvbGljeWFuZHNhZmV0eS8iPgpQb2xpY3kgJmFtcDsgU2FmZXR5 + CiAgPC9hPjwvbGk+CiAgPGxpPjxhIGhyZWY9Ii8vc3VwcG9ydC5nb29nbGUu + Y29tL3lvdXR1YmUvP2hsPWVuIiBvbmNsaWNrPSJyZXR1cm4geXQud3d3LmZl + ZWRiYWNrLnN0YXJ0KDU5KTsiIGNsYXNzPSJyZXBvcnRidWciPlNlbmQgZmVl + ZGJhY2s8L2E+PC9saT4KICA8bGk+CiAgICA8YSBocmVmPSIvdGVzdHR1YmUi + PlRlc3QgbmV3IGZlYXR1cmVzPC9hPgogIDwvbGk+CiAgPGxpPjwvbGk+Cjwv + dWw+PC9kaXY+PC9kaXY+PC9kaXY+CgoKICAgICAgPGRpdiBjbGFzcz0ieXQt + ZGlhbG9nIGhpZCAiIGlkPSJmZWVkLXByaXZhY3ktbGIiPgogICAgPGRpdiBj + bGFzcz0ieXQtZGlhbG9nLWJhc2UiPgogICAgICA8c3BhbiBjbGFzcz0ieXQt + ZGlhbG9nLWFsaWduIj48L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9Inl0LWRp + YWxvZy1mZyIgcm9sZT0iZGlhbG9nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ5 + dC1kaWFsb2ctZmctY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ5 + dC1kaWFsb2ctbG9hZGluZyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i + eXQtZGlhbG9nLXdhaXRpbmctY29udGVudCI+CiAgICAgIDxwIGNsYXNzPSJ5 + dC1zcGlubmVyICI+CiAgICAgICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXIt + aW1nICB5dC1zcHJpdGUiIHRpdGxlPSJMb2FkaW5nIGljb24iPjwvc3Bhbj4K + CiAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1tZXNzYWdlIj4KTG9hZGlu + Zy4uLgogICAgPC9zcGFuPgogIDwvcD4KCiAgPC9kaXY+CgogICAgICAgICAg + PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ5dC1kaWFsb2ctY29udGVu + dCI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iZmVlZC1wcml2YWN5LWRpYWxv + ZyI+CiAgPC9kaXY+CgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2 + IGNsYXNzPSJ5dC1kaWFsb2ctd29ya2luZyI+CiAgICAgICAgICAgICAgPGRp + diBjbGFzcz0ieXQtZGlhbG9nLXdvcmtpbmctb3ZlcmxheSI+PC9kaXY+CiAg + PGRpdiBjbGFzcz0ieXQtZGlhbG9nLXdvcmtpbmctYnViYmxlIj4KICAgIDxk + aXYgY2xhc3M9Inl0LWRpYWxvZy13YWl0aW5nLWNvbnRlbnQiPgogICAgICAg + IDxwIGNsYXNzPSJ5dC1zcGlubmVyICI+CiAgICAgICAgPHNwYW4gY2xhc3M9 + Inl0LXNwaW5uZXItaW1nICB5dC1zcHJpdGUiIHRpdGxlPSJMb2FkaW5nIGlj + b24iPjwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ieXQtc3Bpbm5lci1tZXNz + YWdlIj4KICAgICAgICBXb3JraW5nLi4uCiAgICA8L3NwYW4+CiAgPC9wPgoK + ICAgICAgPC9kaXY+CiAgPC9kaXY+CgogICAgICAgICAgPC9kaXY+CiAgICAg + ICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ieXQtZGlhbG9nLWZvY3Vz + LXRyYXAiIHRhYmluZGV4PSIwIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8 + L2Rpdj4KICA8L2Rpdj4KCgo8ZGl2IGlkPSJoaWRkZW4tY29tcG9uZW50LXRl + bXBsYXRlLXdyYXBwZXIiIGNsYXNzPSJoaWQiPiAgICA8ZGl2IGlkPSJzaGFy + ZWQtYWRkdG8td2F0Y2gtbGF0ZXItbG9naW4iIGNsYXNzPSJoaWQiPgogICAg + ICA8YSBjbGFzcz0ic2lnbi1pbi1saW5rIiBocmVmPSJodHRwczovL2FjY291 + bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3Bhc3NpdmU9dHJ1ZSZhbXA7 + aGw9ZW4mYW1wO2NvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUu + Y29tJTJGc2lnbmluJTNGbmV4dCUzRCUyNTJGd2F0Y2glMjUzRnYlMjUzRFFP + Q2FhY084d3VzJTI2ZmVhdHVyZSUzRHBsYXlsaXN0JTI2YWN0aW9uX2hhbmRs + ZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiUyNmFwcCUzRGRlc2t0b3AmYW1w + O3VpbGVsPTMmYW1wO3NlcnZpY2U9eW91dHViZSI+U2lnbiBpbjwvYT4gdG8g + YWRkIHRoaXMgdG8gV2F0Y2ggTGF0ZXIKCiAgICA8L2Rpdj4KPGRpdiBpZD0i + eXQtdWl4LXZpZGVvYWN0aW9ubWVudS1tZW51IiBjbGFzcz0ieXQtdWktbWVu + dS1jb250ZW50Ij4gIDxkaXYgY2xhc3M9ImhpZGUtb24tY3JlYXRlLXBsLXBh + bmVsIj4KICAgIDxoMz4KQWRkIHRvCiAgICA8L2gzPgogIDwvZGl2PgogIDxk + aXYgY2xhc3M9ImFkZC10by13aWRnZXQiPgogICAgICA8cCBjbGFzcz0ieXQt + c3Bpbm5lciAiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ5dC1zcGlubmVyLWlt + ZyAgeXQtc3ByaXRlIiB0aXRsZT0iTG9hZGluZyBpY29uIj48L3NwYW4+Cgog + ICAgPHNwYW4gY2xhc3M9Inl0LXNwaW5uZXItbWVzc2FnZSI+CiAgICAgICAg + TG9hZGluZyBwbGF5bGlzdHMuLi4KICAgIDwvc3Bhbj4KICA8L3A+CgogIDwv + ZGl2Pgo8L2Rpdj48L2Rpdj4gICAgPHNjcmlwdD52YXIgeXRzcGYgPSB5dHNw + ZiB8fCB7fTt5dHNwZi5lbmFibGVkID0gdHJ1ZTt5dHNwZi5jb25maWcgPSB7 + J3JlbG9hZC1pZGVudGlmaWVyJzogJ3NwZnJlbG9hZCd9O3l0c3BmLmNvbmZp + Z1sncmVxdWVzdC1oZWFkZXJzJ10gPSB7J1gtWW91VHViZS1JZGVudGl0eS1U + b2tlbic6IG51bGx9O3l0c3BmLmNvbmZpZ1snZXhwZXJpbWVudGFsLXJlcXVl + c3QtaGVhZGVycyddID0geXRzcGYuY29uZmlnWydyZXF1ZXN0LWhlYWRlcnMn + XTt5dHNwZi5jb25maWdbJ2NhY2hlLW1heCddID0gNTA7eXRzcGYuY29uZmln + WyduYXZpZ2F0ZS1saW1pdCddID0gNTA7eXRzcGYuY29uZmlnWyduYXZpZ2F0 + ZS1saWZldGltZSddID0gNjQ4MDAwMDA7PC9zY3JpcHQ+CiAgPHNjcmlwdCBz + cmM9Ii95dHMvanNiaW4vc3BmLXZmbFJmalQzYi9zcGYuanMiIHR5cGU9InRl + eHQvamF2YXNjcmlwdCIgbmFtZT0ic3BmL3NwZiIgPjwvc2NyaXB0PgogIDxz + Y3JpcHQgc3JjPSIveXRzL2pzYmluL3d3dy1lbl9VUy12Zmw2alRHXzcvYmFz + ZS5qcyIgIG5hbWU9Ind3dy9iYXNlIiA+PC9zY3JpcHQ+CjxzY3JpcHQ+c3Bm + LnNjcmlwdC5wYXRoKHsnd3d3Lyc6ICcveXRzL2pzYmluL3d3dy1lbl9VUy12 + Zmw2alRHXzcvJ30pO3ZhciB5dGRlcG1hcCA9IHsid3d3L2Jhc2UiOiBudWxs + LCAid3d3L2NvbW1vbiI6ICJ3d3cvYmFzZSIsICJ3d3cvYW5ndWxhcl9iYXNl + IjogInd3dy9jb21tb24iLCAid3d3L2NoYW5uZWxzX2FjY291bnR1cGxvYWQi + OiAid3d3L2NvbW1vbiIsICJ3d3cvY2hhbm5lbHMiOiAid3d3L2NvbW1vbiIs + ICJ3d3cvZGFzaGJvYXJkIjogInd3dy9jb21tb24iLCAid3d3L2Rvd25sb2Fk + cmVwb3J0cyI6ICJ3d3cvY29tbW9uIiwgInd3dy9leHBlcmltZW50cyI6ICJ3 + d3cvY29tbW9uIiwgInd3dy9mZWVkIjogInd3dy9jb21tb24iLCAid3d3L2lu + c3RhbnQiOiAid3d3L2NvbW1vbiIsICJ3d3cvbGVnb21hcCI6ICJ3d3cvY29t + bW9uIiwgInd3dy9wcm9tb19qb2luX25ldHdvcmsiOiAid3d3L2NvbW1vbiIs + ICJ3d3cvcmVzdWx0c19oYXJsZW1zaGFrZSI6ICJ3d3cvY29tbW9uIiwgInd3 + dy9yZXN1bHRzIjogInd3dy9jb21tb24iLCAid3d3L3Jlc3VsdHNfc3Rhcndh + cnMiOiAid3d3L2NvbW1vbiIsICJ3d3cvc3Vic2NyaXB0aW9ubWFuYWdlciI6 + ICJ3d3cvY29tbW9uIiwgInd3dy91bmxpbWl0ZWQiOiAid3d3L2NvbW1vbiIs + ICJ3d3cvd2F0Y2giOiAid3d3L2NvbW1vbiIsICJ3d3cveXBjX2Jvb3RzdHJh + cCI6ICJ3d3cvY29tbW9uIiwgInd3dy95cGNfY29yZSI6ICJ3d3cvY29tbW9u + IiwgInd3dy9jaGFubmVsc19lZGl0IjogInd3dy9jaGFubmVscyIsICJ3d3cv + bGl2ZV9kYXNoYm9hcmQiOiAid3d3L2FuZ3VsYXJfYmFzZSIsICJ3d3cvdmlk + ZW9tYW5hZ2VyIjogInd3dy9hbmd1bGFyX2Jhc2UiLCAid3d3L3dhdGNoX2F1 + dG9wbGF5cmVuZGVyZXIiOiAid3d3L3dhdGNoIiwgInd3dy93YXRjaF9lZGl0 + IjogInd3dy93YXRjaCIsICJ3d3cvd2F0Y2hfZWRpdG9yIjogInd3dy93YXRj + aCIsICJ3d3cvd2F0Y2hfbGl2ZSI6ICJ3d3cvd2F0Y2giLCAid3d3L3dhdGNo + X3Byb21vcyI6ICJ3d3cvd2F0Y2giLCAid3d3L3dhdGNoX3NwZWVkeWciOiAi + d3d3L3dhdGNoIiwgInd3dy93YXRjaF90cmFuc2NyaXB0IjogInd3dy93YXRj + aCIsICJ3d3cvd2F0Y2hfdmlkZW9zaGVsZiI6ICJ3d3cvd2F0Y2giLCAid3d3 + L2N0X2FkdmFuY2Vkc2VhcmNoIjogInd3dy92aWRlb21hbmFnZXIiLCAid3d3 + L215X3ZpZGVvcyI6ICJ3d3cvdmlkZW9tYW5hZ2VyIn07c3BmLnNjcmlwdC5k + ZWNsYXJlKHl0ZGVwbWFwKTs8L3NjcmlwdD48c2NyaXB0ID5pZiAod2luZG93 + Lnl0Y3NpKSB7d2luZG93Lnl0Y3NpLnRpY2soImplIiwgbnVsbCwgJycpO308 + L3NjcmlwdD4gICAgICA8c2NyaXB0PgogICAgeXQuc2V0Q29uZmlnKHsKICAg + ICAgJ1ZJREVPX0lEJzogIlFPQ2FhY084d3VzIiwKICAgICAgJ1dBSVRfVE9f + REVMQVlMT0FEX0ZSQU1FX0NTUyc6IHRydWUsCiAgICAgICdJU19VTkFWQUlM + QUJMRV9QQUdFJzogZmFsc2UsCiAgICAgICdEUk9QRE9XTl9BUlJPV19VUkwn + OiAiXC95dHNcL2ltZ1wvcGl4ZWwtdmZsM3o1V2ZXLmdpZiIsCiAgICAgICdB + VVRPTkFWX0VYVFJBX0NIRUNLJzogZmFsc2UsCgogICAgICAnSlNfUEFHRV9N + T0RVTEVTJzogWwogICAgICAgICd3d3cvd2F0Y2gnLAogICAgICAgICd3d3cv + eXBjX2Jvb3RzdHJhcCcsCiAgICAgICAgICAnd3d3L3dhdGNoX3RyYW5zY3Jp + cHQnLAogICAgICAgICAgJ3d3dy93YXRjaF9zcGVlZHlnJywKICAgICAgICAg + ICd3d3cvd2F0Y2hfYXV0b3BsYXlyZW5kZXJlcicsCiAgICAgICAgJycgICAg + ICAgXSwKCgogICAgICAnUkVQT1JUVklERU9fSlMnOiAiXC95dHNcL2pzYmlu + XC93d3ctcmVwb3J0dmlkZW8tdmZsUmtobENUXC93d3ctcmVwb3J0dmlkZW8u + anMiLAogICAgICAnUkVQT1JUVklERU9fQ1NTJzogIlwveXRzXC9jc3NiaW5c + L3d3dy13YXRjaC1yZXBvcnR2aWRlby12Zmx0Z0FUZTkuY3NzIiwKCgogICAg + ICAnVElNSU5HX0FGVF9LRVlTJzogWydwYnAnLCAncGJzJ10sCiAgICAgICdZ + UENfQ0FOX1JBVEVfVklERU8nOiB0cnVlLAoKCiAgICAgICAgJ1JFTEFURURf + UExBWUVSX0FSR1MnOiB7InJ2cyI6Iml1cmxocT1odHRwcyUzQSUyRiUyRmku + eXRpbWcuY29tJTJGdmklMkZ0bFRLVFR0NDdXRSUyRmhxZGVmYXVsdC5qcGcl + M0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENH + QUUlM0QlMjZycyUzREFPbjRDTEFUc3ZPMDV2UVFSbUZaa2oyTDJjanRBREpr + T1FcdTAwMjZ0aXRsZT1JcytSZWFsaXR5K1JlYWwlM0YrVGhlK1NpbXVsYXRp + b24rQXJndW1lbnRcdTAwMjZsZW5ndGhfc2Vjb25kcz01MjZcdTAwMjZhdXRo + b3I9S3Vyemdlc2FndCslRTIlODAlOTMrSW4rYStOdXRzaGVsbFx1MDAyNml1 + cmxtcT1odHRwcyUzQSUyRiUyRmkueXRpbWcuY29tJTJGdmklMkZ0bFRLVFR0 + NDdXRSUyRmhxZGVmYXVsdC5qcGclM0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdC + U0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUlM0QlMjZycyUzREFPbjRDTEFUc3ZP + MDV2UVFSbUZaa2oyTDJjanRBREprT1FcdTAwMjZzaG9ydF92aWV3X2NvdW50 + X3RleHQ9NC44TSt2aWV3c1x1MDAyNmVuZHNjcmVlbl9hdXRvcGxheV9zZXNz + aW9uX2RhdGE9YXV0b25hdiUzRDElMjZpdGN0JTNEQ0JZUTRaSUJJaE1Jd3VQ + d3JvckoyQUlWaTlQQkNoMTFTQW1LS1BnZE1neHlaV3hoZEdWa0xXRjFkRzlJ + NjRYem5aek5wdkJBJTI2cGxheW5leHQlM0QxXHUwMDI2aWQ9dGxUS1RUdDQ3 + V0VcdTAwMjZzZXNzaW9uX2RhdGE9aXRjdCUzRENCVVF2VTRZQUNJVENNTGo4 + SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElKWlc1a2MyTnlaV1Z1U091Rjg1 + MmN6YWJ3UUElMjUzRCUyNTNELGl1cmxocT1odHRwcyUzQSUyRiUyRmkueXRp + bWcuY29tJTJGdmklMkZKUVZta0RVa1pUNCUyRmhxZGVmYXVsdC5qcGclM0Zz + cXAlM0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUl + M0QlMjZycyUzREFPbjRDTEExeVNuLXNhQ3pyaHZtb1lpaVpGQmJLWmZDMmdc + dTAwMjZ0aXRsZT1XaGF0K0FyZStZb3UlM0ZcdTAwMjZsZW5ndGhfc2Vjb25k + cz0zODhcdTAwMjZhdXRob3I9S3Vyemdlc2FndCslRTIlODAlOTMrSW4rYStO + dXRzaGVsbFx1MDAyNml1cmxtcT1odHRwcyUzQSUyRiUyRmkueXRpbWcuY29t + JTJGdmklMkZKUVZta0RVa1pUNCUyRmhxZGVmYXVsdC5qcGclM0ZzcXAlM0Qt + b2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUlM0QlMjZy + cyUzREFPbjRDTEExeVNuLXNhQ3pyaHZtb1lpaVpGQmJLWmZDMmdcdTAwMjZz + aG9ydF92aWV3X2NvdW50X3RleHQ9NS45TSt2aWV3c1x1MDAyNmlkPUpRVm1r + RFVrWlQ0XHUwMDI2c2Vzc2lvbl9kYXRhPWl0Y3QlM0RDQlFRdlU0WUFTSVRD + TUxqOEs2S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJSlpXNWtjMk55WldWdVNP + dUY4NTJjemFid1FBJTI1M0QlMjUzRCxpdXJsaHE9aHR0cHMlM0ElMkYlMkZp + Lnl0aW1nLmNvbSUyRnZpJTJGUlZNWnhIMVRJSVElMkZocWRlZmF1bHQuanBn + JTNGc3FwJTNELW9heW13RVhDTkFDRUx3QlNGcnlxNHFwQXdrSUFSVUFBSWhD + R0FFJTNEJTI2cnMlM0RBT240Q0xEcnFRY2tfR3J1d1RoMGJucUVNbWF2OVFh + b1RRXHUwMDI2dGl0bGU9V2h5K0VhcnRoK0lzK0ErUHJpc29uK2FuZCtIb3cr + VG8rRXNjYXBlK0l0XHUwMDI2bGVuZ3RoX3NlY29uZHM9NDE3XHUwMDI2YXV0 + aG9yPUt1cnpnZXNhZ3QrJUUyJTgwJTkzK0luK2ErTnV0c2hlbGxcdTAwMjZp + dXJsbXE9aHR0cHMlM0ElMkYlMkZpLnl0aW1nLmNvbSUyRnZpJTJGUlZNWnhI + MVRJSVElMkZocWRlZmF1bHQuanBnJTNGc3FwJTNELW9heW13RVhDTkFDRUx3 + QlNGcnlxNHFwQXdrSUFSVUFBSWhDR0FFJTNEJTI2cnMlM0RBT240Q0xEcnFR + Y2tfR3J1d1RoMGJucUVNbWF2OVFhb1RRXHUwMDI2c2hvcnRfdmlld19jb3Vu + dF90ZXh0PTQuNU0rdmlld3NcdTAwMjZpZD1SVk1aeEgxVElJUVx1MDAyNnNl + c3Npb25fZGF0YT1pdGN0JTNEQ0JNUXZVNFlBaUlUQ01MajhLNkt5ZGdDRll2 + VHdRb2RkVWdKaWlqNEhUSUpaVzVrYzJOeVpXVnVTT3VGODUyY3phYndRQSUy + NTNEJTI1M0QsaXVybGhxPWh0dHBzJTNBJTJGJTJGaS55dGltZy5jb20lMkZ2 + aSUyRk1CUnF1MFlPSDE0JTJGaHFkZWZhdWx0LmpwZyUzRnNxcCUzRC1vYXlt + d0VYQ05BQ0VMd0JTRnJ5cTRxcEF3a0lBUlVBQUloQ0dBRSUzRCUyNnJzJTNE + QU9uNENMRDc4dFc1Vzc1Tk1vTU40ZUJKWnUxUkYwXy1yQVx1MDAyNnRpdGxl + PU9wdGltaXN0aWMrTmloaWxpc21cdTAwMjZsZW5ndGhfc2Vjb25kcz0zNzBc + dTAwMjZhdXRob3I9S3Vyemdlc2FndCslRTIlODAlOTMrSW4rYStOdXRzaGVs + bFx1MDAyNml1cmxtcT1odHRwcyUzQSUyRiUyRmkueXRpbWcuY29tJTJGdmkl + MkZNQlJxdTBZT0gxNCUyRmhxZGVmYXVsdC5qcGclM0ZzcXAlM0Qtb2F5bXdF + WENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUlM0QlMjZycyUzREFP + bjRDTEQ3OHRXNVc3NU5Nb01ONGVCSlp1MVJGMF8tckFcdTAwMjZzaG9ydF92 + aWV3X2NvdW50X3RleHQ9NC45TSt2aWV3c1x1MDAyNmlkPU1CUnF1MFlPSDE0 + XHUwMDI2c2Vzc2lvbl9kYXRhPWl0Y3QlM0RDQklRdlU0WUF5SVRDTUxqOEs2 + S3lkZ0NGWXZUd1FvZGRVZ0ppaWo0SFRJSlpXNWtjMk55WldWdVNPdUY4NTJj + emFid1FBJTI1M0QlMjUzRCxpdXJsaHE9aHR0cHMlM0ElMkYlMkZpLnl0aW1n + LmNvbSUyRnZpJTJGakFoalBkNHVORlklMkZocWRlZmF1bHQuanBnJTNGc3Fw + JTNELW9heW13RVhDTkFDRUx3QlNGcnlxNHFwQXdrSUFSVUFBSWhDR0FFJTNE + JTI2cnMlM0RBT240Q0xDTmlCQUdXXzdYanBIMVgwWk00ejNKNXlSMTlRXHUw + MDI2dGl0bGU9R2VuZXRpYytFbmdpbmVlcmluZytXaWxsK0NoYW5nZStFdmVy + eXRoaW5nK0ZvcmV2ZXIrJUUyJTgwJTkzK0NSSVNQUlx1MDAyNmxlbmd0aF9z + ZWNvbmRzPTk2NFx1MDAyNmF1dGhvcj1LdXJ6Z2VzYWd0KyVFMiU4MCU5MytJ + bithK051dHNoZWxsXHUwMDI2aXVybG1xPWh0dHBzJTNBJTJGJTJGaS55dGlt + Zy5jb20lMkZ2aSUyRmpBaGpQZDR1TkZZJTJGaHFkZWZhdWx0LmpwZyUzRnNx + cCUzRC1vYXltd0VYQ05BQ0VMd0JTRnJ5cTRxcEF3a0lBUlVBQUloQ0dBRSUz + RCUyNnJzJTNEQU9uNENMQ05pQkFHV183WGpwSDFYMFpNNHozSjV5UjE5UVx1 + MDAyNnNob3J0X3ZpZXdfY291bnRfdGV4dD03LjhNK3ZpZXdzXHUwMDI2aWQ9 + akFoalBkNHVORllcdTAwMjZzZXNzaW9uX2RhdGE9aXRjdCUzRENCRVF2VTRZ + QkNJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElKWlc1a2MyTnla + V1Z1U091Rjg1MmN6YWJ3UUElMjUzRCUyNTNELGl1cmxocT1odHRwcyUzQSUy + RiUyRmkueXRpbWcuY29tJTJGdmklMkZOYnVVVzlpLW1IcyUyRmhxZGVmYXVs + dC5qcGclM0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJV + QUFJaENHQUUlM0QlMjZycyUzREFPbjRDTEFZNHdITDhJLWpsNnBSa2JYLVNz + dXZ5YUJ6aUFcdTAwMjZ0aXRsZT1JcytXYXIrT3ZlciUzRislRTIlODAlOTQr + QStQYXJhZG94K0V4cGxhaW5lZFx1MDAyNmxlbmd0aF9zZWNvbmRzPTM0Nlx1 + MDAyNmF1dGhvcj1LdXJ6Z2VzYWd0KyVFMiU4MCU5MytJbithK051dHNoZWxs + XHUwMDI2aXVybG1xPWh0dHBzJTNBJTJGJTJGaS55dGltZy5jb20lMkZ2aSUy + Rk5idVVXOWktbUhzJTJGaHFkZWZhdWx0LmpwZyUzRnNxcCUzRC1vYXltd0VY + Q05BQ0VMd0JTRnJ5cTRxcEF3a0lBUlVBQUloQ0dBRSUzRCUyNnJzJTNEQU9u + NENMQVk0d0hMOEktamw2cFJrYlgtU3N1dnlhQnppQVx1MDAyNnNob3J0X3Zp + ZXdfY291bnRfdGV4dD02LjNNK3ZpZXdzXHUwMDI2aWQ9TmJ1VVc5aS1tSHNc + dTAwMjZzZXNzaW9uX2RhdGE9aXRjdCUzRENCQVF2VTRZQlNJVENNTGo4SzZL + eWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElKWlc1a2MyTnlaV1Z1U091Rjg1MmN6 + YWJ3UUElMjUzRCUyNTNELGl1cmxocT1odHRwcyUzQSUyRiUyRmkueXRpbWcu + Y29tJTJGdmklMkZkR2lRYWFiWDNfbyUyRmhxZGVmYXVsdC5qcGclM0ZzcXAl + M0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUlM0Ql + MjZycyUzREFPbjRDTEFuRDNOdVZWNkkxZ1I2alBvVFNRVGFWN3BKWEFcdTAw + MjZ0aXRsZT1XaGF0K0hhcHBlbmVkK0JlZm9yZStIaXN0b3J5JTNGK0h1bWFu + K09yaWdpbnNcdTAwMjZsZW5ndGhfc2Vjb25kcz02MDZcdTAwMjZhdXRob3I9 + S3Vyemdlc2FndCslRTIlODAlOTMrSW4rYStOdXRzaGVsbFx1MDAyNml1cmxt + cT1odHRwcyUzQSUyRiUyRmkueXRpbWcuY29tJTJGdmklMkZkR2lRYWFiWDNf + byUyRmhxZGVmYXVsdC5qcGclM0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdCU0Zy + eXE0cXBBd2tJQVJVQUFJaENHQUUlM0QlMjZycyUzREFPbjRDTEFuRDNOdVZW + NkkxZ1I2alBvVFNRVGFWN3BKWEFcdTAwMjZzaG9ydF92aWV3X2NvdW50X3Rl + eHQ9Ni44TSt2aWV3c1x1MDAyNmlkPWRHaVFhYWJYM19vXHUwMDI2c2Vzc2lv + bl9kYXRhPWl0Y3QlM0RDQThRdlU0WUJpSVRDTUxqOEs2S3lkZ0NGWXZUd1Fv + ZGRVZ0ppaWo0SFRJSlpXNWtjMk55WldWdVNPdUY4NTJjemFid1FBJTI1M0Ql + MjUzRCxpdXJsaHE9aHR0cHMlM0ElMkYlMkZpLnl0aW1nLmNvbSUyRnZpJTJG + NF9hT0lBLXZ5Qm8lMkZocWRlZmF1bHQuanBnJTNGc3FwJTNELW9heW13RVhD + TkFDRUx3QlNGcnlxNHFwQXdrSUFSVUFBSWhDR0FFJTNEJTI2cnMlM0RBT240 + Q0xDSFVHcFVKTUdZQjkxRXJwZy1ucWVoX2c1Y1FBXHUwMDI2dGl0bGU9VGhy + ZWUrV2F5cyt0bytEZXN0cm95K3RoZStVbml2ZXJzZVx1MDAyNmxlbmd0aF9z + ZWNvbmRzPTM3N1x1MDAyNmF1dGhvcj1LdXJ6Z2VzYWd0KyVFMiU4MCU5MytJ + bithK051dHNoZWxsXHUwMDI2aXVybG1xPWh0dHBzJTNBJTJGJTJGaS55dGlt + Zy5jb20lMkZ2aSUyRjRfYU9JQS12eUJvJTJGaHFkZWZhdWx0LmpwZyUzRnNx + cCUzRC1vYXltd0VYQ05BQ0VMd0JTRnJ5cTRxcEF3a0lBUlVBQUloQ0dBRSUz + RCUyNnJzJTNEQU9uNENMQ0hVR3BVSk1HWUI5MUVycGctbnFlaF9nNWNRQVx1 + MDAyNnNob3J0X3ZpZXdfY291bnRfdGV4dD04LjZNK3ZpZXdzXHUwMDI2aWQ9 + NF9hT0lBLXZ5Qm9cdTAwMjZzZXNzaW9uX2RhdGE9aXRjdCUzRENBNFF2VTRZ + QnlJVENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElKWlc1a2MyTnla + V1Z1U091Rjg1MmN6YWJ3UUElMjUzRCUyNTNELGl1cmxocT1odHRwcyUzQSUy + RiUyRmkueXRpbWcuY29tJTJGdmklMkZhbzhMLTBuU1l6ZyUyRmhxZGVmYXVs + dC5qcGclM0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJV + QUFJaENHQUUlM0QlMjZycyUzREFPbjRDTENFb3FSbG1TMlZFNjBDM0w2RnVa + bU1kU28wandcdTAwMjZ0aXRsZT1BZGRpY3Rpb25cdTAwMjZsZW5ndGhfc2Vj + b25kcz0zNDJcdTAwMjZhdXRob3I9S3Vyemdlc2FndCslRTIlODAlOTMrSW4r + YStOdXRzaGVsbFx1MDAyNml1cmxtcT1odHRwcyUzQSUyRiUyRmkueXRpbWcu + Y29tJTJGdmklMkZhbzhMLTBuU1l6ZyUyRmhxZGVmYXVsdC5qcGclM0ZzcXAl + M0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJaENHQUUlM0Ql + MjZycyUzREFPbjRDTENFb3FSbG1TMlZFNjBDM0w2RnVabU1kU28wandcdTAw + MjZzaG9ydF92aWV3X2NvdW50X3RleHQ9MTVNK3ZpZXdzXHUwMDI2aWQ9YW84 + TC0wblNZemdcdTAwMjZzZXNzaW9uX2RhdGE9aXRjdCUzRENBMFF2VTRZQ0NJ + VENNTGo4SzZLeWRnQ0ZZdlR3UW9kZFVnSmlpajRIVElKWlc1a2MyTnlaV1Z1 + U091Rjg1MmN6YWJ3UUElMjUzRCUyNTNELGl1cmxocT1odHRwcyUzQSUyRiUy + RmkueXRpbWcuY29tJTJGdmklMkZxamZhb2U4NDdxUSUyRmhxZGVmYXVsdC5q + cGclM0ZzcXAlM0Qtb2F5bXdFWENOQUNFTHdCU0ZyeXE0cXBBd2tJQVJVQUFJ + aENHQUUlM0QlMjZycyUzREFPbjRDTEIyYnVCUlhSWEhkUkEzY3JvRW9aT2FO + VC1sN2dcdTAwMjZ0aXRsZT1XaGF0K0lzK0NvbnNjaW91c25lc3MlM0ZcdTAw + MjZsZW5ndGhfc2Vjb25kcz00MzZcdTAwMjZhdXRob3I9VnNhdWNlXHUwMDI2 + aXVybG1xPWh0dHBzJTNBJTJGJTJGaS55dGltZy5jb20lMkZ2aSUyRnFqZmFv + ZTg0N3FRJTJGaHFkZWZhdWx0LmpwZyUzRnNxcCUzRC1vYXltd0VYQ05BQ0VM + d0JTRnJ5cTRxcEF3a0lBUlVBQUloQ0dBRSUzRCUyNnJzJTNEQU9uNENMQjJi + dUJSWFJYSGRSQTNjcm9Fb1pPYU5ULWw3Z1x1MDAyNnNob3J0X3ZpZXdfY291 + bnRfdGV4dD02TSt2aWV3c1x1MDAyNmlkPXFqZmFvZTg0N3FRXHUwMDI2c2Vz + c2lvbl9kYXRhPWl0Y3QlM0RDQXdRdlU0WUNTSVRDTUxqOEs2S3lkZ0NGWXZU + d1FvZGRVZ0ppaWo0SFRJSlpXNWtjMk55WldWdVNPdUY4NTJjemFid1FBJTI1 + M0QlMjUzRCxpdXJsaHE9aHR0cHMlM0ElMkYlMkZpLnl0aW1nLmNvbSUyRnZp + JTJGaEVlZU9pUDlHaEklMkZocWRlZmF1bHQuanBnJTNGc3FwJTNELW9heW13 + RVhDTkFDRUx3QlNGcnlxNHFwQXdrSUFSVUFBSWhDR0FFJTNEJTI2cnMlM0RB + T240Q0xESFFmQmROTVZtMXFRQXRmQ0Y1UTJ2T3JHSFVRXHUwMDI2dGl0bGU9 + VGhlK1JlYWwrUmVhc29uK1dlK0RvbiUyN3QrSGVhcitBYm91dCtKb2UrUGVz + Y2krQW55bW9yZVx1MDAyNmxlbmd0aF9zZWNvbmRzPTQwOVx1MDAyNmF1dGhv + cj1Mb29wZXJcdTAwMjZpdXJsbXE9aHR0cHMlM0ElMkYlMkZpLnl0aW1nLmNv + bSUyRnZpJTJGaEVlZU9pUDlHaEklMkZocWRlZmF1bHQuanBnJTNGc3FwJTNE + LW9heW13RVhDTkFDRUx3QlNGcnlxNHFwQXdrSUFSVUFBSWhDR0FFJTNEJTI2 + cnMlM0RBT240Q0xESFFmQmROTVZtMXFRQXRmQ0Y1UTJ2T3JHSFVRXHUwMDI2 + c2hvcnRfdmlld19jb3VudF90ZXh0PTUuNk0rdmlld3NcdTAwMjZpZD1oRWVl + T2lQOUdoSVx1MDAyNnNlc3Npb25fZGF0YT1pdGN0JTNEQ0FzUXZVNFlDaUlU + Q01MajhLNkt5ZGdDRll2VHdRb2RkVWdKaWlqNEhUSUpaVzVrYzJOeVpXVnVT + T3VGODUyY3phYndRQSUyNTNEJTI1M0QsaXVybGhxPWh0dHBzJTNBJTJGJTJG + aS55dGltZy5jb20lMkZ2aSUyRlI4LU5MdnlzZWpnJTJGaHFkZWZhdWx0Lmpw + ZyUzRnNxcCUzRC1vYXltd0VYQ05BQ0VMd0JTRnJ5cTRxcEF3a0lBUlVBQUlo + Q0dBRSUzRCUyNnJzJTNEQU9uNENMQkZJM1dILTlwUW1EWnpNcFYzZHVCZGVG + RTEwUVx1MDAyNnRpdGxlPVRoZStNb3N0K0hvcnJpZnlpbmcrVGhlb3JpZXMr + b2YrTWFua2luZCUyN3MrRXhpc3RlbmNlXHUwMDI2bGVuZ3RoX3NlY29uZHM9 + NTgyXHUwMDI2YXV0aG9yPVN0cmFuZ2UrTXlzdGVyaWVzXHUwMDI2aXVybG1x + PWh0dHBzJTNBJTJGJTJGaS55dGltZy5jb20lMkZ2aSUyRlI4LU5MdnlzZWpn + JTJGaHFkZWZhdWx0LmpwZyUzRnNxcCUzRC1vYXltd0VYQ05BQ0VMd0JTRnJ5 + cTRxcEF3a0lBUlVBQUloQ0dBRSUzRCUyNnJzJTNEQU9uNENMQkZJM1dILTlw + UW1EWnpNcFYzZHVCZGVGRTEwUVx1MDAyNnNob3J0X3ZpZXdfY291bnRfdGV4 + dD0xLjhNK3ZpZXdzXHUwMDI2aWQ9UjgtTkx2eXNlamdcdTAwMjZzZXNzaW9u + X2RhdGE9aXRjdCUzRENBb1F2VTRZQ3lJVENNTGo4SzZLeWRnQ0ZZdlR3UW9k + ZFVnSmlpajRIVElKWlc1a2MyTnlaV1Z1U091Rjg1MmN6YWJ3UUElMjUzRCUy + NTNEIn0sCgogICAgICAgICdDQ19BRERfVFJBTlNDUklQVF9VUkwnOiAiXC90 + aW1lZHRleHRfdmlkZW8/cmVmPXdhdGNoXHUwMDI2dj1RT0NhYWNPOHd1cyIs + CgogICAgICAgICAgJ0JHX1AnOiAiS0tKXC9WWEhJcEFEV000NHVZalNBeUo3 + eDVcL1l5N3pLOUw5dlJrS2hmVDNcL3lGejFlMXBNUU91QlRWeGNWWjRkOVN6 + Q0RYVytOaHZuQkVRNW9xRTV4WnI1cU96WHAxd3lRYmw0VDBtalFXek9ISlhz + aldGc0lIYnkxaW41RldrXC9KMlpcL3ZPcjJxUEtcL1dVSUxBYjZ2SHZzcGpt + OG9RcGF0SU1Gd2c1b3B1dlVDMGtJak1mb3VlZTVmSnlKcFJta0FtejlTQUNO + UUJvc3g5QndwTUo3QjQwV21SQ1hmUlQyWm9mZWVtODNmRWNcL3dXZndOVko2 + Rm45NnQzMlwvWmpzbHMwK2tPYWlueGR4N0F6MVo2NXd6U3N5WlJlam5TN1pp + dWpTbUlUV2h6N0dhS2F6anhjbUs0RE85UFhOQXZCM1Fvak92ZkEwb2h4SHVu + a1VNU01jdmxRQjM4Q0V4d0w4ejhWenhORXE1WUJKTkdJclwvSkVKNXYwZzZX + aDRORHcrd2xicWdDY0p6b0o2VVlKVlRCRnI1Y3R3Y0Z5WXZDRnozd01UbFNN + STZGcXp4ZGtaVHlLWlUwQVdwTFNPc0VqeWtuNitjMGFERHQyd1wvclNXT3pz + YWYyYUpWRWw0YUlcLzR2eWNYNmcwXC9pXC9pRDRQcDk5NWQxWXBmdEpUalNR + R2hmQjhIU29YaTNUc3VCVlB1ZWZGTXpvZUlOcDBneDRsbEx1eFZuUTVleU9q + eENFQ0lFUDByaDNsQ2ZNSld6ekZlNVhBN3F4aWtLdWcxSzFTRE9sWFwvbDJU + ZE5xRFV2dmZQU1wvTnIxdkJSeXdkWTZhT21BTWVWcTVMZTdCQVA1K093V1l6 + UjN6dXVqVHc3c1BHWlRvMmdYVWNYOXVqejdEUEdEd2EzRXhmclplbjVBbmdO + QWhRSFRobHF2Z084dHlOTDFTMFFhZDVzU3BDZVZKd3VBKzlcL3JNNHFBYmU3 + bmI3SU1WczBcL0NlbkluTXk3cnMwVzE3XC9IdTF3SzUrRERxREVcL0oyd001 + a3YxQkM1dmRTdVZaUVRWQlE2N0tWT0lRUXlxRmdSeUJWTWJPZEJhK3liZXcw + XC9ZUEsxcmszaklaQnF3NStTNVpDK3BtZWZlallEd3I2YWtEbHlDT21tTjZL + OW1vUnlra0FERXRnUFptQzlKUTI3ZDcxUUpwMjFLOFdKZWJTdVJJWUN6dFZc + L2dJOE5yRExzOHFmWlVyMzdSTHlKcmduS3g3eHpwZzJmMmJjeDB5VVdJKzVK + QjhhOUNzdVBMcnpUck9yUFwvSVpCclR0dUlZaHc2Y1NwalVTZ1ZhUzBETzNR + WGZPOTJnQWFmSEt2Wm1VQnBEM1laXC9ha1pua0Mxa0NtZnd6WVNxWFV1cFpD + ZHNrZ2lTbGFzM2h1aElXd0RJTGRHcFZuakZLVms3M0ZWXC9pemlLYU52bTkr + ZWRZZ1Uwb0p4TUhPSWlwUnMrcVcxVG4wdlwvOTB3QXJvUktwbzZZd1ZpU296 + eWt3akJqMUVZcDd2c29WbDlBQmp6TTdHaTRSK3NDbGdkaU84QkdmcFY2c0Vk + SVJPRksrVVphVGx1ZzBjNTgxUXFOK3ArREtlZlV5MXhFTmx2WUJyRllmTWNG + WlNJQjV5VjBoY2M3MGJGZms0cjMyZVwvNkxCdEk5cnliZGVBQVV1OTJWaGp1 + THF5MnZBdWN5SUxkdE5hU2VRdkg0NUVsSEV4RkV5SUdWUWhaNXBUaTFuZE9R + Sjk2WkZCcTZVSGp3Tk9iXC9nWmU2NEdnU0c0Mk0zTlVnS2FGK3NRaisxXC90 + eEhaSXh0T1FzSm9jN3lMXC9uRnpBVFhIemNtUVM0ckpaOGJHbGVQTkN0MzRa + RjhCY3FhZ3RjMzJhYVVKKzd3S3JGSDdZNEVsdnZsUDB0WFBGakNHQ0JnYndT + VHJWQUQ3WW1JZTkxeStOWDJhK3ZuM0dKSlZuNVpQeFFcL0ZcL2EzSnY4OEhT + Q25SeFdtZ2t1T1FBRjYyWUlVWWswWGc2dWFaaDZcL0dLZ0NRQXN1V1l4dDRN + dVFqd0FsODN5MlpxMGZTZmVMczRGWEFCMjdkR3NOSjY2NlQwMXB3NHVqbnE5 + ajREYmZHd1JmZWFSaEM5cHF0S0VSZ2xpRGtMU3R6bURoemNFOE5tVFhPekpa + UnBwdUJnbExWdnhheThnd0p4MkpPeEY5S3hXVkl2QnpnOGMzR2RxU2I4ZXRl + eFwvQkswZWpRUmhMcGpGakZxc0hCdE1FeGNodk9JVm9IaUQ5RnpqVURMRnJZ + YzNOUnBLTjlpenFnK1h0WG56Q1MxZ3RWMWpWcmxIUVwvR2ZlRFRzS0V2V043 + QmNcL3MzUU4xM1M2UmVXU3lPXC9iQkpnU2Y5Z1NtUjBKRm9ZamlTUVN4UldK + QXZ4MTdqZmM2NE0xTytWWm9zaXBVcW01N0tsbVFZSVE3SkprT1hxcUNWclhW + SEExVzM0RnpsdTN6dVpkb0xBZWsrVW1XQmdDSlZ0T1pmV2hvNEJCRTVYYVpx + RUZPS1A3XC81ZCtyeTZDa082VGdvdytCeEcwR01RMTVlNmFMb2lXSzlIdEw0 + MkdLaDlHZG84ZmtkZEtrdCtLT29uclwvdGE5Y0J5cDR3XC9wcjBwVXNUR2sw + ZW00cHZrUUFcL2F4c3lmUnVpam9xSkJFTWVWXC9DNzhzXC9vTzNHRmVNUVEy + anpcL0ZFTzJNdWNyOWZTaUFGdUdUUHJYNVArNEFMY085aTA2WnMyRzhqRWth + N3VwR2VweFN6cWFRNzA0cHdUSFNISXR6dytsazFpXC9ESU9qTU9SY1dHV0Iz + cmN2eXFSWmRjc0taY0xCc0hTeHFZKytnQXo2YzNScGRmT2xqOWxcL09NaDBm + VHA2dzlOMFBsdmN2WFVcL3g2Yk9PejlDT2Z0RFg2YkRsMGE2S0o2UEFZZUQy + VGVWamsrVUh4Mm1UVWRZcFVxRHczMUlLQzYreld6a1wvVkZlSUxFaks3REtj + WFJIMmM0Z2RyZ0dhRHRjN3BxVzBCcDZJY2xmWEdhOWJQcFJHNVwvNzd5ZWVP + Y1ZpR0ZuQU9MeERzbW00elNUaGtVT2pabkhRTFRpY1hOQitzMHRnSGx0MVEw + cjV3UzhXNzB2TFFsTEZac3NuSGJmXC9PWVdlNE11NHl1azZtc2NPc0p5c0Fl + ancrcElSZ0YySkh6NnJmU1JjY0dFSFpsbDg0WXNSN2RqdWNwUlwvbWhqcGNL + TXNOT2tKRGNZQVNuUlhwVSt4QXBBd0dTMThCYWU5RW9kN2dsdEhKUXZxN0p5 + MHlHUVY4SnlEV1UybU5rNlVxWHdTUjBKNVdwR1wvVXZNQ0tJREZ3MzZTcUJk + Y2dmMmJNajRiMGlcLzk2U1FHTTF3cVpjU3I4QkZQeXBoS1FHWFlVNnk5djBQ + R1IwekFhRlJKa0dTR0t5SE1rN0I5XC9Gc3dMZ0VwZU95eDcyMHNcL1RsUklW + STRleFwvWm16V1V3M1hWazdzOVNlVHlsSURLYmNnTkVrZzlVc3JaS1VrNUpq + RnBXbUNGZElrYytMU09YaUJscXlJN0tMNVpOcWpNWHVvcDdNcFFDUnJVQjN4 + QklUaWMzb3JTQVhDUEhkUDloQXJnck1EOFlORUErbGVvZWR2elJaZXF0QXNn + b2RtRmhmMjVveCtqV1JvYSt2cDhzeEpyXC82QVpCVUtIN0dZQ2dGMmFFM3Bj + eURhU2tjTExOUXBtNHlrXC9CYXFOVm5GZlRMUE1Rb2pDdGxTWnpBS29MVUxm + MERTVmV3SDBUd2dDaTlCUndyWlpBbXFWR1F3UWdmTHpcL1NtcVErWFwvbndl + UFZzZFFYK2hDR2hGaFFQajBKTitodTN4RitkUFVMajJWcXo3SkFEWXNHUURX + S0tkWTZqeXd5NVZXa1ZaaFNMbkpiUHRKUHlzeGh5MmM4ek51S2hJV2NIMVRH + VWJudDNIckFiMGdEQ3lKbHRMUk80bllPWEpcL1RINzZXQmJQTWNqeUdXODdM + SGdHU0hUMFRCa0lyRmJ4UEtMWEcxV2NKdW5WQUxWYkN0WkduaUp2bzk3SkNq + T1pCSjBwcm1DWnJySVRLVlFzK0NGT0ZGU3l6TlpxUGU3K1A0TzF2c1VLaWRE + dU81UXFCNkJxbklWcjFicTZPXC8yZmhcL2FCaGtUd1dQOWFsVE1uSnRYTytl + cmlEcHhBMTJiUmZcL0RRVXh6SlFRb3hCbUJkXC9sVjJDQmhFMGRNbHd6eE94 + bjFFMGtXWnBtbVVUS1dvclp4Smd3OUR1WUp0OW9hNmtNdUtNcUNvdHRzbUpv + dE42dzhrMnVJRjJXU25FaG80TjlPNXBQaVZ1allcL0NPQm9oYTBBaGpKZWtS + c0dEcTJcL2FNb01jemxaSTNTUEV5WGQxNUUwZjBId1BONlUrXC94UlhLd3NT + Sm9MXC83ZjJpU01vQ0hFNmlwamorV0paQXN1NElSTStTbzF5Q0U4TnNVWDN2 + UU9Wc3k5OTVHOFU1RThmMVhmT0ExOFFMWUNCN1VcL283OFJ0QVczc01Wc1A2 + OHB1XC9lRTBjYTRKRHBTdEZSUnZXbGNPcERYd05lblVkUGE2ejFhZ1dzNFkw + dzhTUlF4akJGTzNBa21DKzdzbTUwSGZ4eUtIem5rS04rZzloTmpXNE5pVmNp + TGkzQVwvOHVwUzRXUklNMEZUZ2FCWnRKcUVXS1RKbmxaOG5Zc0puc0ZjTWtq + UTFvWlwvWVRVb1pGakZPU1dCR3pYSFg3dE01YUF6ZHN1NjhJdUZBNzBjQnRP + UG92emNVZG85c2RSbEs4MktZd1ZpU2c1ZUw5Z1RoRGtkV2FpOEFhTkhCMFJv + K21MZk1oenB3RkdSMnhTNFlzSUNhV3RSTG43STc1dXlOemo5XC8zdERjXC9r + TG84MlRiNk5ONDJjM1wvTEFQN3lNZVIzY1FcL05JbUtCbm5RcWtUWjl0MTNp + OVJHUjVFWXpaWWhJSzVUMmhUZ3Q2TmJtR2hiYm1uWTVKd09od2NydUE0dFwv + RTVEOEs5WlRFUDVHNUpHNXlNNUJVRWVNb3ZvNHBCdDRuOFNrZ1lkVE5TR1Bt + cWdmUXRvRTFcLzgwXC9zK2cwT1RBVThkRFRnT3NrM3J3MDFkZVp0Z2twN3c2 + NUg1Z2p2cWNmditlTUQ5WjBGb2ozbjFHUEtvQzJTWmUwbjhlQ0NZOFJPSmg4 + amZwRlZ1NmhQM1cyNG1rK1BGdUV0WHUrSmlMXC9VT1kzdmlQMENDMjUrNGZ1 + VWZZWUl1bVdSMTRLb2l0ZndLVExtbGpnWFJPOFNHekR5MVwvTDZKVGdkUUNK + UndCb1ZmQVhtXC9jcXczQWNuOEtJMDcwT3pRbjRDTmttUWhubWcrUGoyZ1wv + ayt3Y1p0RGtoUHVYTWJKQ244dmhGcWtzTDMxTXZFT0xvTlo4b2lTc1FUYnVl + akZFREZ5TlpXcFVZWGw2N0llWnRTNlFOMXhFZXRzRWl2V3lVUUJFTzhSZkph + eHhWbytJVTFpb05YekhiRDFWR1wvU09ickVlK1IrV0JNZ09rUnAzWGFLSDVD + UEVPbjE4ZEkzcjRQVVhIQytrMVB1ck5uZkxWUkhZMnhiekVmbnZtMnNQU2xy + U1Z0ZDVaZUhRcHc3R0t1Slk1WEdXajd6ek9nWm1GZXQ0dDVSc0hDY0RCWmJp + eVhFRWZTXC9oNVdXTnA5eTlpRUNLa0ZnbTRRVzQ5VEVJSUI3UFg5dzg2NjZ1 + enJnWUk3eUFvK0FPQlhhakdNS1VKRkVqRVFRZFJXVG1RNFY2d3Erc1dDRFFv + TjRTZGVIYkJ4c0IxTGNuaUxyZjB1cXlXZkxvSjA0VUFMZDNMQTZkYUtTd0VC + NDYzRThldjZNbDVIdHlHXC9GQTUyREoxYmdyNmtNWE9aN3dmeTV5d2JSTEsy + NmcxRDRrNkpwSE05R0hFRklwXC9sMDdtYlwvMWtpTHk0cnNRWFViWW52RnRt + ZEJYeGpnYVF4YUVBVlQ0UStnbDRSaHJMcmJIdEwwQXc4ejM0aUZOMmozeWgr + ZEs1aGRobWRMVnVodHExM1NENFJIbVhNY1YrTnJUZTBJazlLSEFnWVR2Tklz + WlFPaFBVSDJtaDFwSUdxR2dEKzdMZURIU0thbnpjT2lXZG5XMmR0U2dNXC9M + aDJuNzJpcUJFeU9xOUUyZWJocUg0NlVVOTE4emNlbGVTeUJKYkhJR1lPVndn + YzFUMXVwRktRZzJVbFRqMHV4Sk9Fd2s2VFZLUnNQc1pvVm5ta3pYdXoyMlla + YzJnZHlsaXFTeXduWERTOEJKd3ZIeElSQk1qellQWENWcTZGYWp6XC8rSUVK + OGJFck5MVmdcL2hEcVZ0OTVibGt6aWkwMkcxV3JQeUFLenFGU09IQVRmaE5N + Vk43dmZ0N24zRlF3TFlyZ1BvYkNwMXpUMUpQMFZkY3hkN2dmaEczTEVHSXNv + R3ZtVHRYWmV6MDhQRFFYalUwNU44eFRibkoxWEhiczg2K2p3MFZEbkh3R1BC + XC9pNDNmZUhjQmpIXC9IekNWMnA0eFJQXC82YkMzYm1VTmFlNUIrdDlTdnBV + eDZmdXlxaHZGbFArOUJFMmE3MGJ6bWhjM2Y3VkJoVWxtZUZQdDNZVjFmdDU1 + ZWFERFR6NG0zZXMyZ1B3MUpIT3MwY1JzZThuSTQ5R0dDOGRsRTR0OE5xU1Y1 + U2xZOGJubWFTdFoxZ3hjOVFhb2M3WVhIUSsrdkJkVUVTdmVBUUFkUStTOWhT + akt1MDR0VzRaWSt6ejNnWHBiZ1UyZUcyRHlLT0hNOHFvNGNFZm5MQnY5cUQ1 + OUt2TFlHXC9sWEpSTitjb3JFYjlWcTJwKzV3dThERmQzUEt0S2lvRitGRTA3 + T0NCOWs1NFlXRVhHaDV4bk9Ya0lneWZaZTJFM1R2MkFIOTFrcGdXYUZRTHZr + UlwvdGZWNGtzUldWbFNpRmtSRTlac2s0NnZXOWEwbU1ZcWJqZkNcL3owM0w4 + UXRLdVwvVEk5N3hvcFdoVEYyQ3RuUnIxZEpoNkpjaFFFVlBybjhDVnd6MGJL + WjdhWjNmaStBRXNFM3JZQVltMzY3d3RtOGdWck4xRVhlbGpBVFwvNUVPdmM1 + Q3JuVVVrTUtNaEU1VlpQa2RRQk1GMXIxUk9hMlYyVHdXckU1elVJeGFuM1VU + RmhzQ0RnbnAyWVltM3RxT0U5SGVQSjlqeVZobGFcL2hGNWQ2MmlyVGdzOTFp + bFN0bjhEd2g2MWdwbXMxVVJiQ3g4VUhrWVllcERwMjZPYlRnckt5Y3AxNW5c + Lzl1bFJLYkhWeG00MytrMEF5ZjFnSUxkQldsRVBPMVRRbDNSTGxuc29QWFBs + c3B5RzR2b0FWMVcrVm42UTBkQzYyUml5dm9sOUxcL2o0TzJpQXdFTTVYQWpy + TERXRmJjcnV5bFpQbldDNmFCVmlDOUx6a0hpbGdrZmJ0cjVnRTVKM3hXcUtX + bklxams1d3Zpelphc0p3MXFpZnY2VlwvXC9xWjFyTGtMMjZUYU1tSXc1XC9j + RG9ZZ2thdWdaZXZBMFM0cFI0TFwva1JnblFmeThLZk1uZ2I2YXhBQTRFR1wv + b0hEWDA1SzhzaG15XC9QaXh4K0FUc1VCUGprMnRxcUIwTkdrSm1yaTZvcGM5 + VG5UK0FkMGVUb3VTaEY5NlpqTnhOaUswTUtmTFU4SWxWcVVNMnR5NEc4WG5n + YUw0MGd6RjdLTmwxSThyaTIremdrbkU4ZUU4bjZKWTRJQUxrbDJsWVJIclwv + N3AwSlJJTFpWbGFsak1xcjN3WmVXV2MxcFF0d2QxU29ld3I2YzZqelAzZlNF + dUdxV2dyQkJvN3VpcE1Hb0JGeW94Y2k1R2UxcnZlMHJ0WGN5UEtWMTY1a1Uz + aWFcL2s1UEZRMVlOcEpCSXd2M0dFSXB1XC93dDZjSVErNlcrKzB3bVFPUjN4 + Q2QzRlpQelYyemZcL0UrUlRzbExYZko0bnFSN291NGN5ZmxwN2tqXC9SdzVy + SFQ5ZVUrNFk0bUNiNFVsNk1NVTh3REpibWkzMnBKck1VcEx2MzkxS2w1bGhq + SVNGZzZIeXBJWlh6YStiaWdVTWtwOXJXcVl4cTB0OGU0SzRyQ1VyQUZ3cDl5 + QlQzK0trVmlWdTdcL2xzRnM3S2Z3YkdJWW1jT0ZveEpNSFh6VEdacVBUenpD + VHVYTVN1aEs3SmdrMjVNODQrRG11eXk3eEh2c25mUDNIMkhRMHZrM205ZFJo + bVZlWGl3WDhTSTM4c014K1Z3eHg3U1pXOE4rZlFNYWVUenJuZmV2cFh0XC9o + VTlGRkNyd1wvc01vajBMY09YMitoSjRxTTluSytocG5Kb0x2NElybmIwYUpq + Vm91KzU3endyTXRORlNyMjNHXC9QVEFIV3JjR05kTnY3dGNXU1ZTQVczR0Z2 + VTZ3WWZOa1VKMkJxQzdNSE8yeFJWVkNVaHZ3c2JzRUlHbG9QUnFNdEdWTDdl + K2pZTERrdlRGajdRd3JFK1JxIiwKICAgICAgICAgICdCR19JVSc6ICJcL1wv + d3d3Lmdvb2dsZS5jb21cL2pzXC9iZ1wvRDVuZGVoakRwSHNCbnR6Z3pPY1g5 + cmh4SDZTRzJHTndhcDk3NDFEMU1QZy5qcyIsCgogICAgICAgICdNRVRBREFU + QV9MQU5HVUFHRSc6ICdlbicsCgoKICAgICAgICAnQ09NTUVOVFNfVE9LRU4n + OiAiRWlZU0MxRlBRMkZoWTA4NGQzVnp3QUVBeUFFQTRBRUJvZ0lOS1BfX19f + X19fX19fX3dGQUFCZ0ciLAoKICAgICAgJ0dFVF9QTEFZRVJfRVZFTlRfSUQn + OiAidzhOVFdvTDJGNHVuaHdiMWtLWFFDQSIsCiAgICAgICdITF9MT0NBTEUn + OiAiZW5fVVMiLAogICAgICAnVFRTX1VSTCc6ICJodHRwczpcL1wvd3d3Lnlv + dXR1YmUuY29tXC9hcGlcL3RpbWVkdGV4dD9hc3JfbGFuZ3M9ZnIlMkNlbiUy + Q2phJTJDaXQlMkNkZSUyQ2tvJTJDcHQlMkNubCUyQ2VzJTJDcnVcdTAwMjZ2 + PVFPQ2FhY084d3VzXHUwMDI2a2V5PXl0dHQxXHUwMDI2c2lnbmF0dXJlPTQ2 + NjVEMUE1MDkyN0EzQzMzNDVCNTlCNDAxOEJDN0MzMzNDMzgwQzYuMEZFRjU4 + RjFGNjJDRTAxNjU0QkU0NkYxNTkyNDk2QzVDOTIwOUZCNlx1MDAyNmhsPWVu + X1VTXHUwMDI2Y2Fwcz1hc3JcdTAwMjZleHBpcmU9MTUxNTQ2NDI0M1x1MDAy + NnNwYXJhbXM9YXNyX2xhbmdzJTJDY2FwcyUyQ3YlMkNleHBpcmUiLAogICAg + ICAnSlNfREVMQVlfTE9BRCc6IDAsCiAgICAgICdMSVNUX0FVVE9fUExBWV9W + QUxVRSc6IDEsCiAgICAgICdTSFVGRkxFX1ZBTFVFJzogMCwKICAgICAgJ1NL + SVBfUkVMQVRFRF9BRFMnOiBmYWxzZSwKICAgICAgJ1NLSVBfVE9fTkVYVF9W + SURFTyc6IGZhbHNlLAogICAgICAnQ09OVkVSU0lPTl9DT05GSUdfRElDVCc6 + IHsiYmFzZVVybCI6Imh0dHBzOlwvXC93d3cueW91dHViZS5jb21cL3BhZ2Vh + ZFwvdmlld3Rocm91Z2hjb252ZXJzaW9uXC85NjI5ODU2NTZcLyIsInVpZCI6 + InNYVmszN2JsdEh4RDFyRFB3dE5NOFEiLCJmb2NFbmFibGVkIjp0cnVlLCJ2 + aWQiOiJRT0NhYWNPOHd1cyJ9LAogICAgICAnUkVTT0xVVElPTl9UUkFDS0lO + R19FTkFCTEVEJzogZmFsc2UsCiAgICAgICdXQVRDSF9MRUdBTF9URVhUX0VO + QUJMRV9BVVRPU0NST0xMJzogZmFsc2UsCiAgICAgICdBRFNfREFUQSc6IHsi + c2hvd19hZmMiOmZhbHNlLCJhZnZfdmFycyI6eyJnb29nbGVfeXRfcHQiOiJB + UGIzRjJfLU5WaUtnRUVOQ2xxM3VReEwzY05CaTBVRTR3V2JURlF3TDhySjU0 + aXFUVEdFaHowbFNIRFF3em9jckRwaWZSLUVVY2FVYkUzd2V4M0dBQjN0MHNy + RW5HeFRLanVOZkxpdzQ3ODJ4a3Fsc2pRUDhFUE00RWdTRnEwekZ1bHRZZU5H + cWZUSXZhQzFFbTQ2IiwiZ29vZ2xlX2FsdGVybmF0ZV9hZF91cmwiOiJodHRw + czpcL1wvd3d3LnlvdXR1YmUuY29tXC9hZF9mcmFtZT9pZD13YXRjaC1jaGFu + bmVsLWJyYW5kLWRpdiIsImdvb2dsZV9hZF9jaGFubmVsIjoiMDg1NDU1MDI4 + OCtWZXJ0aWNhbF8xNzQrVmVydGljYWxfNDM1K1ZlcnRpY2FsXzQ0NCthZnZf + dXNlcl9pZF9zWFZrMzdibHRIeEQxckRQd3ROTThRK2Fmdl91c2VyX2t1cnpn + ZXNhZ3QreXRfY2lkXzQwNzUwODU3K3l0X2dwK3l0X21wdmlkX2s3aVNFU25Z + a0Y2RTFtWlEreXRfbm9fMzYwK3l0X25vX2FwK3l0X25vX3dhK3l0ZGV2aWNl + XzEreXRkZXZpY2V2ZXJfMS4yMDE4MDEwNCt5dGVsX2RldGFpbHBhZ2UreXRw + c19kZWZhdWx0IiwiZ29vZ2xlX2N1c3RfZ2VuZGVyIjoiIiwiZ29vZ2xlX2Vp + ZHMiOltdLCJnb29nbGVfYWRfZm9ybWF0IjoiMzAweDI1MF9hcyIsImdvb2ds + ZV9jdXN0X2FnZSI6IiIsImdvb2dsZV9sYWN0IjoiLTEiLCJnb29nbGVfbG9l + aWQiOiI5NDIyNTk2LDk0MzgwNjcsOTQ1MjY0Myw5NDcxMjM5LDk0NzQ1OTQs + OTQ3NTY4Miw5NDc2NDA4LDk0ODcyMDYsOTQ4ODk5MSwyMzcwNDg0NiwyMzcw + NjMxOSwyMzcwNzY2NSwyMzcwOTc5MywyMzcxNTUwMSwyMzcxNTkwOCwyMzcx + NjExOSwyMzcxNjY5NCwyMzcxNzAwMCwyMzcxNzA3MiwyMzcxODQ4NiwyMzcx + OTAzNCIsImdvb2dsZV9hZF9ob3N0X3RpZXJfaWQiOiIxNTIwOTY5MSIsImdv + b2dsZV9hZF9oZWlnaHQiOiIyNTAiLCJnb29nbGVfYWRfY2xpZW50IjoiY2Et + cHViLTYyMTk4MTE3NDcwNDkzNzEiLCJnb29nbGVfYWRfYmxvY2siOiIyIiwi + Z29vZ2xlX3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50IjoiIiwi + Z29vZ2xlX3BhZ2VfdXJsIjoiaHR0cDpcL1wvd3d3LnlvdXR1YmUuY29tXC92 + aWRlb1wvUU9DYWFjTzh3dXMiLCJnb29nbGVfbGFuZ3VhZ2UiOiJlbiIsImdv + b2dsZV9zY3MiOiIiLCJnb29nbGVfYWRfdHlwZSI6ImltYWdlIiwiZ29vZ2xl + X3ZpZGVvX2RvY19pZCI6Inl0X1FPQ2FhY084d3VzIiwiZ29vZ2xlX3B1Y3Jk + IjoiQ2dZSUFCQUFHQUEiLCJnb29nbGVfdGFyZ2V0aW5nIjoiIiwiZ29vZ2xl + X2NvcmVfZGJwIjoiQ2haWmEyOUpXVkYwZUVwSllXbGtXbDk0YkdoWlYzVkJF + QUVnQVNnQSIsImdvb2dsZV9hZF9ob3N0IjoiY2EtaG9zdC1wdWItMjQ3NTIy + ODQyMDAxNTIzMCJ9LCJweXZfYWRfdGFnIjp7InRhZyI6Imh0dHBzOlwvXC9n + b29nbGVhZHMuZy5kb3VibGVjbGljay5uZXRcL3BhZ2VhZFwvbG9wcmk/YWRf + YmxvY2s9M1x1MDAyNmFkX3R5cGU9dGV4dFx1MDAyNmFkaz01MTEwMDE5MDZc + dTAwMjZjaGFubmVsPVB5dldhdGNoSW5SZWxhdGVkJTJCUHl2V2F0Y2hOb0Fk + WCUyQlB5dllUV2F0Y2glMkJZdExvUHJpJTJCYWZ2X3VzZXJfaWRfc1hWazM3 + Ymx0SHhEMXJEUHd0Tk04USUyQmFmdl91c2VyX2t1cnpnZXNhZ3QlMkJub25f + bHB3JTJCcHclMkJ5dF9jaWRfNDA3NTA4NTclMkJ5dF9tcHZpZF9rN2lTRVNu + WWtGNkUxbVpRJTJCeXRfbm9fYXAlMkJ5dGRldmljZV8xJTJCeXRkZXZpY2V2 + ZXJfMS4yMDE4MDEwNFx1MDAyNmNsaWVudD1jYS1wdWItNjIxOTgxMTc0NzA0 + OTM3MVx1MDAyNmNvcnJlbGF0b3I9MTUxNTQzOTA0MzUwM1x1MDAyNmRicD1D + aFpaYTI5SldWRjBlRXBKWVdsa1dsOTRiR2haVjNWQkVBRWdBU2dBXHUwMDI2 + ZWE9MFx1MDAyNmVhZT0yXHUwMDI2aGw9ZW5cdTAwMjZob3N0PWNhLWhvc3Qt + cHViLTI0NzUyMjg0MjAwMTUyMzBcdTAwMjZodF9pZD0xNTIwOTY5MVx1MDAy + Nmlzdz0wXHUwMDI2aXNoPTBcdTAwMjZsYWN0PS0xXHUwMDI2bG9jPUVNUFRZ + XHUwMDI2bG9laWQ9OTQyMjU5Niw5NDM4MDY3LDk0NTI2NDMsOTQ3MTIzOSw5 + NDc0NTk0LDk0NzU2ODIsOTQ3NjQwOCw5NDg3MjA2LDk0ODg5OTEsMjM3MDQ4 + NDYsMjM3MDYzMTksMjM3MDc2NjUsMjM3MDk3OTMsMjM3MTU1MDEsMjM3MTU5 + MDgsMjM3MTYxMTksMjM3MTY2OTQsMjM3MTcwMDAsMjM3MTcwNzIsMjM3MTg0 + ODYsMjM3MTkwMzRcdTAwMjZudW1fYWRzPTFcdTAwMjZvdXRwdXQ9anNcdTAw + MjZwdWNyZD1DZ1lJQUJBQUdBQVx1MDAyNnB5dj0xXHUwMDI2dG9wPWh0dHBz + JTNBXC9cL3d3dy55b3V0dWJlLmNvbVwvd2F0Y2glM0Z2JTNEUU9DYWFjTzh3 + dXMlMjZhcHAlM0RkZXNrdG9wXHUwMDI2dXJsPWh0dHAlM0ElMkYlMkZ3d3cu + eW91dHViZS5jb20lMkZ2aWRlbyUyRlFPQ2FhY084d3VzXHUwMDI2dmlkZW9f + ZG9jX2lkPXl0X1FPQ2FhY084d3VzXHUwMDI2eXRkZXZpY2V2ZXI9eXRkZXZp + Y2V2ZXJfMS4yMDE4MDEwNFx1MDAyNnl0X3B0PUFQYjNGMi1CbEgwZk9qTnN1 + MlNoN1RlcGpESFJram92QTliaTdDNl9HcWp2ZVI1bHBKZklDQ05mQmg0Nmc5 + bEJ0dGh1VzZjeEdTZTd3YkF6S25yTS1Gb1E3aVBQZFlPSXc5Snp1SV8yNU9z + UjFaTlB4cUQ4WVBVOFlTSnc0cEdMMXEtaFN0bUE0ckgwRUhjdGk5WDQifSwi + Z3V0X3ZhcnMiOnsidGFnIjoiXC80MDYxXC95dHB3YXRjaCJ9LCJ1c2VfZ3V0 + Ijp0cnVlLCJzaG93X2FmdiI6dHJ1ZSwiYWZjX3ZhcnMiOnsiZm9ybWF0Ijoi + MzAweDI1MF9hcyIsImxvZWlkIjoiOTQyMjU5Niw5NDM4MDY3LDk0NTI2NDMs + OTQ3MTIzOSw5NDc0NTk0LDk0NzU2ODIsOTQ3NjQwOCw5NDg3MjA2LDk0ODg5 + OTEsMjM3MDQ4NDYsMjM3MDYzMTksMjM3MDc2NjUsMjM3MDk3OTMsMjM3MTU1 + MDEsMjM3MTU5MDgsMjM3MTYxMTksMjM3MTY2OTQsMjM3MTcwMDAsMjM3MTcw + NzIsMjM3MTg0ODYsMjM3MTkwMzQiLCJhZF90eXBlIjoiaW1hZ2UiLCJ0YXJn + ZXRpbmciOiIiLCJhZF9ibG9jayI6IjIiLCJwdWNyZCI6IkNnWUlBQkFBR0FB + IiwidmlkZW9fZG9jX2lkIjoieXRfUU9DYWFjTzh3dXMiLCJlaWRzIjpbXSwi + bGFuZ3VhZ2UiOiJlbiIsImFsdGVybmF0ZV9hZF91cmwiOiJodHRwczpcL1wv + d3d3LnlvdXR1YmUuY29tXC9hZF9mcmFtZT9pZD13YXRjaC1jaGFubmVsLWJy + YW5kLWRpdiIsImFkX2hvc3RfdGllcl9pZCI6IjE1MjA5NjkxIiwiYWRfaG9z + dCI6ImNhLWhvc3QtcHViLTI0NzUyMjg0MjAwMTUyMzAiLCJsYWN0IjoiLTEi + LCJ0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudCI6IiIsImNvcmVf + ZGJwIjoiQ2haWmEyOUpXVkYwZUVwSllXbGtXbDk0YkdoWlYzVkJFQUVnQVNn + QSIsImFkX2NsaWVudCI6ImNhLXB1Yi02MjE5ODExNzQ3MDQ5MzcxIiwiYWRf + Y2hhbm5lbCI6IjA4NTQ1NTAyODcrVmVydGljYWxfMTc0K1ZlcnRpY2FsXzQz + NStWZXJ0aWNhbF80NDQrYWZjX29uX3BhZ2UrYWZ2X3VzZXJfaWRfc1hWazM3 + Ymx0SHhEMXJEUHd0Tk04USthZnZfdXNlcl9rdXJ6Z2VzYWd0K3l0X2NpZF80 + MDc1MDg1Nyt5dF9ncCt5dF9tcHZpZF9rN2lTRVNuWWtGNkUxbVpRK3l0X25v + XzM2MCt5dF9ub19hcCt5dF9ub193YSt5dGRldmljZV8xK3l0ZGV2aWNldmVy + XzEuMjAxODAxMDQreXRlbF9kZXRhaWxwYWdlK3l0cHNfZGVmYXVsdCJ9LCJz + aG93X2luc3RyZWFtIjpmYWxzZSwic2hvd19weXYiOnRydWUsImNoZWNrX3N0 + YXR1cyI6ZmFsc2V9LAogICAgICAnUExBWUJBQ0tfSUQnOiAiQUFWaVNLWGVW + SUFtOFBBeSIsCiAgICAgICdJU19ESVNUSUxMRVInOiB0cnVlLAogICAgICAn + U0hBUkVfQ0FQVElPTic6IG51bGwsCiAgICAgICdTSEFSRV9SRUZFUkVSJzog + IiIsCiAgICAgICdQTEFZTElTVF9JTkRFWCc6IG51bGwKICAgIH0pOwoKICAg + ICAgeXQucHVzaENvbmZpZ0FycmF5KCdUSU1JTkdfV0FJVCcsICdwYXJuJyk7 + CgogICAgeXQuc2V0TXNnKHsKICAgICAgJ0VESVRPUl9BSkFYX1JFUVVFU1Rf + RkFJTEVEJzogIlNvbWV0aGluZyB3ZW50IHdyb25nIHRyeWluZyB0byBnZXQg + ZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuIFRyeSBhZ2Fpbiwgb3IgcmVsb2FkIHRo + ZSBwYWdlLiIsCiAgICAgICdFRElUT1JfQUpBWF9SRVFVRVNUXzUwMyc6ICJU + aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGF2YWlsYWJsZSByaWdodCBub3cu + IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwKICAgICAgICAnSFRNTDVfU1VC + U19BU1InOiAiYXV0b21hdGljIGNhcHRpb25zIiwKICAgICAgICAnQ0NfQURE + X1RSQU5TQ1JJUFRfVElUTEUnOiAiQWRkIHN1YnRpdGxlc1wvQ0MiLAogICAg + ICAnTE9BRElORyc6ICJMb2FkaW5nLi4uIiAgICB9KTsKCiAgICAgIHl0LnNl + dE1zZygnU1BFRURZR19JTkZPJywgIkV4cGVyaWVuY2luZyBpbnRlcnJ1cHRp + b25zPyIpOwoKICAgIAoKCgoKCgoKICAgIAoKICAgICAgeXQuc2V0Q29uZmln + KHsKICAgICdHVUlERURfSEVMUF9MT0NBTEUnOiAiZW5fVVMiLAogICAgJ0dV + SURFRF9IRUxQX0VOVklST05NRU5UJzogInByb2QiCiAgfSk7CgogIDwvc2Ny + aXB0PgoKCjxzY3JpcHQ+eXQuc2V0Q29uZmlnKHtJTk5FUlRVQkVfQ09OVEVY + VF9DTElFTlRfVkVSU0lPTjogIjEuMjAxODAxMDQiLElOTkVSVFVCRV9BUElf + S0VZOiAiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4 + IixJTk5FUlRVQkVfQVBJX1ZFUlNJT046ICJ2MSIsR0FQSV9ISU5UX1BBUkFN + UzogIm07XC9fXC9zY3NcL2FiYy1zdGF0aWNcL19cL2pzXC9rPWdhcGkuZ2Fw + aS5lbi55b1RkcFFpcG82cy5PXC9tPV9fZmVhdHVyZXNfX1wvYW09QUFFXC9y + dD1qXC9kPTFcL3JzPUFIcE9vbzlfVmh1Um9Vb3Z3cFBQZjVMcUxaZC1kbUNu + eHciLElOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FOiAxLEFQSUFSWV9I + T1NUOiAiIixBUElBUllfSE9TVF9GSVJTVFBBUlRZOiAiIixYSFJfQVBJQVJZ + X0hPU1Q6ICJ5b3V0dWJlaS55b3V0dWJlLmNvbSIsJ1ZJU0lUT1JfREFUQSc6 + ICJDZ3RITW5reFRuY3hkbUU0YnclM0QlM0QiLCdHQVBJX0hPU1QnOiAiaHR0 + cHM6XC9cL2FwaXMuZ29vZ2xlLmNvbSIsJ0dBUElfTE9DQUxFJzogImVuX1VT + IiwnSU5ORVJUVUJFX0NPTlRFWFRfSEwnOiAiZW4iLCdJTk5FUlRVQkVfQ09O + VEVYVF9HTCc6ICJVUyIsJ1hIUl9BUElBUllfSE9TVCc6ICJ5b3V0dWJlaS55 + b3V0dWJlLmNvbSJ9KTt5dC5zZXRDb25maWcoeydST09UX1ZFX0NISUxEUkVO + JzogWyJDQUVRN1ZBaUV3akM0X0N1aXNuWUFoV0wwOEVLSFhWSUNZb28tQjAi + LCJDQUlRcG1FaUV3akM0X0N1aXNuWUFoV0wwOEVLSFhWSUNZb28tQjAiXSx9 + KTt5dC5zZXRDb25maWcoeydQQUdFX05BTUUnOiAid2F0Y2giLCdMT0dHRURf + SU4nOiBmYWxzZSwnU0VTU0lPTl9JTkRFWCc6IG51bGwsJ1ZBTElEX1NFU1NJ + T05fVEVNUERBVEFfRE9NQUlOUyc6IFsid3d3LnlvdXR1YmUuY29tIiwiZ2Ft + aW5nLnlvdXR1YmUuY29tIl0sJ1BBUkVOVF9UUkFDS0lOR19QQVJBTVMnOiAi + IiwnRk9STUFUU19GSUxFX1NJWkVfSlMnOiBbIiVzIEIiLCIlcyBLQiIsIiVz + IE1CIiwiJXMgR0IiLCIlcyBUQiJdLCdERUxFR0FURURfU0VTU0lPTl9JRCc6 + IG51bGwsJ09ORV9QSUNLX1VSTCc6ICIiLCdHT09HTEVQTFVTX0hPU1QnOiAi + aHR0cHM6XC9cL3BsdXMuZ29vZ2xlLmNvbSIsJ1BBR0VGUkFNRV9KUyc6ICJc + L3l0c1wvanNiaW5cL3d3dy1wYWdlZnJhbWUtdmZsZkxqTWNxXC93d3ctcGFn + ZWZyYW1lLmpzIiwnR0FQSV9MT0FERVJfVVJMJzogIlwveXRzXC9qc2Jpblwv + d3d3LWdhcGktbG9hZGVyLXZmbDdZc3dmVVwvd3d3LWdhcGktbG9hZGVyLmpz + IiwnSlNfQ09NTU9OX01PRFVMRSc6ICJcL3l0c1wvanNiaW5cL3d3dy1lbl9V + Uy12Zmw2alRHXzdcL2NvbW1vbi5qcyIsJ1BBR0VfRlJBTUVfREVMQVlMT0FE + RURfQ1NTJzogIlwveXRzXC9jc3NiaW5cL3d3dy1wYWdlZnJhbWVkZWxheWxv + YWRlZC12Zmx6a0ZiY0EuY3NzIiwnRVhQRVJJTUVOVF9GTEFHUyc6IHsiZG9f + bm90X3NldF9jb29raWVzX2Zvcl9hZHNfb25feW91dHViZV9ub2Nvb2tpZSI6 + dHJ1ZSwid2FybV9sb2FkX25hdl9zdGFydF93ZWIiOnRydWUsImFwcF9zZXR0 + aW5nc19zbmFwc2hvdF9taW5fdGltZV9iZXR3ZWVuX3NuYXBzaG90c19ob3Vy + cyI6MjQsImxpdmVfY2hhdF9mbGFnZ2luZ19yZWFzb25zIjp0cnVlLCJkZXNr + dG9wX25vdGlmaWNhdGlvbl9oaWdoX3ByaW9yaXR5X2lnbm9yZV9wdXNoIjp0 + cnVlLCJsaXZlX2NoYXRfdG9wX2NoYXRfd2luZG93X2xlbmd0aF9zZWMiOjUs + InNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2RlbGF5X21zIjozODg4MDAw + MDAwLCJ3ZWJfYWx3YXlzX2xvYWRfY2hhdF9zdXBwb3J0Ijp0cnVlLCJkZWJ1 + Z19mb3JjZWRfcHJvbW9faWQiOiIiLCJjdXN0b21fZW1vamlfc3VwZXJfY2hh + dCI6dHJ1ZSwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxMDAsInNlcnZpY2Vf + d29ya2VyX3B1c2hfZm9yY2Vfbm90aWZpY2F0aW9uX3Byb21wdF90YWciOiIx + IiwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zZWMiOjAsImludGVyYWN0aW9u + X2xvZ2dpbmdfb25fZ2VsX3dlYiI6dHJ1ZSwibG9nX3dlYl9tZXRhX2ludGVy + dmFsX21zIjowLCJsaXZlX2NoYXRfcmVwbGF5X21pbGxpcXBzX3RocmVzaG9s + ZCI6NTAwMCwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfY2FwIjotMSwi + Y2xlYXJfd2ViX2ltcGxpY2l0X2NsaWNrdHJhY2tpbmciOnRydWUsImVuYWJs + ZV9hZnZfZGl2X3Jlc2V0X2luX2tldmxhciI6dHJ1ZSwiY2FuY2VsX3BlbmRp + bmdfbmF2cyI6dHJ1ZSwibGl2ZV9jaGF0X2J1c3luZXNzX3NhbXBsaW5nX2Zs + b29yIjoyLjAsInNwb25zb3JzX3doaXRlbGlzdF9jcmVhdG9yIjp0cnVlLCJs + b2dfd2ViX3NjcmVlbl9lbmQiOnRydWUsImdmZWVkYmFja19mb3Jfc2lnbmVk + X291dF91c2Vyc19lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9lbmFi + bGVkIjp0cnVlLCJsaXZlX2NoYXRfYnVzeW5lc3Nfc2FtcGxpbmdfc3RlZXBu + ZXNzIjoxLjAsImFwcF9zZXR0aW5nc19zbmFwc2hvdF9pc19sb2dnaW5nX2Vu + YWJsZWQiOnRydWUsImNvbW1lbnRfZGVlcF9saW5rIjp0cnVlLCJ1c2VfcHVz + aF9mb3JfZGVza3RvcF9saXZlX2NoYXQiOnRydWUsIndhdGNoX25leHRfcGF1 + c2VfYXV0b3BsYXlfbGFjdF9zZWMiOjQ1MDAsInBsYXllcl9leHRlcm5hbF9j + b250cm9sX29uX2NsYXNzaWNfZGVza3RvcCI6dHJ1ZSwiZW5hYmxlX21vcmVf + cmVsYXRlZF92ZV9sb2dnaW5nIjp0cnVlLCJkZXNrdG9wX25vdGlmaWNhdGlv + bl9zZXRfdGl0bGVfYmFyIjp0cnVlLCJjdXN0b21fZW1vamlfY3JlYXRvciI6 + dHJ1ZSwiY3VzdG9tX2Vtb2ppX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9maXJl + Zm94X3B1c2hfbm90aWZpY2F0aW9ucyI6dHJ1ZSwic2VydmljZV93b3JrZXJf + c2NvcGUiOiJcLyIsIm9wdGltaXN0aWNhbGx5X2NyZWF0ZV90cmFuc3BvcnRf + Y2xpZW50Ijp0cnVlLCJhdXRvcGxheV9wYXVzZV9zYW1wbGluZ19mcmFjdGlv + biI6MC4wLCJsaXZlX2NoYXRfdXNlX25ld19kZWZhdWx0X2ZpbHRlcl9tb2Rl + Ijp0cnVlLCJib3RndWFyZF9wZXJpb2RpY19yZWZyZXNoIjp0cnVlLCJlbmFi + bGVfd2F0Y2hfbmV4dF9wYXVzZV9hdXRvcGxheV9sYWN0Ijp0cnVlLCJ3ZWJf + Z2VsX2xhY3QiOnRydWUsInBsYXllcl9zd2ZjZmdfY2xlYW51cCI6dHJ1ZSwi + bGl2ZV9jaGF0X21lc3NhZ2Vfc2FtcGxpbmdfcmF0ZSI6MS4wLCJzZXJ2aWNl + X3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInJlbW92ZV93 + ZWJfdmlzaWJpbGl0eV9iYXRjaGluZyI6dHJ1ZSwiYXV0b2VzY2FwZV90ZW1w + ZGF0YV91cmwiOnRydWUsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxp + bmdfZnJhY3Rpb24iOjAuMCwibGl2ZV9jaGF0X3RvcF9jaGF0X2VudHJ5X3Ro + cmVzaG9sZCI6MC4wLCJsaXZlX2NoYXRfYnVzeW5lc3Nfc2FtcGxpbmdfY2Vp + bCI6NC4wLCJlbmFibGVfcGxheWxpc3RfdmlzaWJpbGl0eSI6dHJ1ZSwiY2hh + dF9zbW9vdGhpbmdfYW5pbWF0aW9ucyI6ODQsImN1c3RvbV9lbW9qaV9tYWlu + X2FwcCI6dHJ1ZSwiZW5hYmxlX2dhbWluZ19uZXdfbG9nbyI6dHJ1ZSwic2Vy + dmljZV93b3JrZXJfcHVzaF9sb2dnZWRfb3V0X3Byb21wdF93YXRjaGVzIjot + MSwiY29sZF9sb2FkX25hdl9zdGFydF93ZWIiOnRydWUsImNvbnNlbnRfdXJs + X292ZXJyaWRlIjoiIiwiY3VzdG9tX2Vtb2ppX2xlZ2FjeSI6dHJ1ZSwiYmxv + Y2tfc3BmX3NlYXJjaF9hZHNfaW1wcmVzc2lvbnMiOnRydWUsImVuYWJsZV95 + b3V0dWJlaV9pbm5lcnR1YmUiOnRydWUsInlvdXR1YmVpX2Zvcl93ZWIiOnRy + dWUsImxpdmVfY2hhdF9pbmxpbmVfbW9kZXJhdGlvbiI6dHJ1ZSwibGl2ZV9j + aGF0X3RvcF9jaGF0X3NwbGl0IjowLjUsInNlcnZpY2Vfd29ya2VyX3B1c2hf + ZW5hYmxlZCI6dHJ1ZSwidXNlX3dhdGNoX2ZyYWdtZW50czIiOnRydWUsImRl + c2t0b3BfcHl2X29uX3dhdGNoX292ZXJyaWRlX2xhY3QiOnRydWUsInNhbWVf + ZG9tYWluX3N0YXRpY19yZXNvdXJjZXNfZGVza3RvcCI6dHJ1ZSwiZGVza3Rv + cF9weXZfb25fd2F0Y2hfdmlhX3ZhbG9yIjp0cnVlLCJsaXZlX2NoYXRfYnVz + eW5lc3Nfc2FtcGxpbmdfY2VudGVyIjoxNC4wLCJsaXZlX2NoYXRfYnVzeW5l + c3NfZW5hYmxlZCI6dHJ1ZSwiZW5hYmxlX3NlcnZlcl9zaWRlX3NlYXJjaF9w + eXYiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9vbmx5Ijp0cnVl + LCJwbGF5ZXJfdW5pZmllZF9mdWxsc2NyZWVuX3RyYW5zaXRpb25zIjp0cnVl + LCJkZXNrdG9wX3B5dl9vbl93YXRjaF9taXNzaW5nX3BhcmFtcyI6dHJ1ZSwi + ZW5hYmxlX2xvZ2dpbmdfZGlyZWN0aXZlc19kZXNrdG9wIjp0cnVlLCJsaXZl + X2NoYXRfbWVzc2FnZV9zYW1wbGluZ19tZXRob2QiOiIiLCJkZXNrdG9wX3Bv + bHltZXIiOnRydWUsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4x + LCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMX0sJ0dVSURFX0RF + TEFZX0xPQUQnOiB0cnVlLCdHVUlERV9ERUxBWUxPQURFRF9DU1MnOiAiXC95 + dHNcL2Nzc2Jpblwvd3d3LWd1aWRlLXZmbDlxVkhXdy5jc3MiLCdHVUlERURf + SEVMUF9QQVJBTVMnOiB7ImxvZ2dlZF9pbiI6IjAifSwnSElHSF9DT05UUkFT + VF9NT0RFX0NTUyc6ICJcL3l0c1wvY3NzYmluXC93d3ctaGlnaGNvbnRyYXN0 + bW9kZS12ZmxHR2otQlcuY3NzIiwnUFJFRkVUQ0hfTElOS1MnOiBmYWxzZSwn + UFJFRkVUQ0hfTElOS1NfTUFYJzogMSwnUFJFRkVUQ0hfQVVUT1BMQVknOiBm + YWxzZSwnUFJFRkVUQ0hfQVVUT1BMQVlfVElNRSc6IDAsJ1BSRUZFVENIX0FV + VE9OQVYnOiBmYWxzZSwnUFJFQlVGRkVSX01BWCc6IDEsJ1BSRUJVRkZFUl9M + SU5LUyc6IGZhbHNlLCdQUkVCVUZGRVJfQVVUT1BMQVknOiBmYWxzZSwnUFJF + QlVGRkVSX0FVVE9OQVYnOiBmYWxzZSwnV0FUQ0hfTEFURVJfQlVUVE9OJzog + IlxuXG4gIFx1MDAzY2J1dHRvbiBjbGFzcz1cInl0LXVpeC1idXR0b24geXQt + dWl4LWJ1dHRvbi1zaXplLXNtYWxsIHl0LXVpeC1idXR0b24tZGVmYXVsdCB5 + dC11aXgtYnV0dG9uLWVtcHR5IHl0LXVpeC1idXR0b24taGFzLWljb24gbm8t + aWNvbi1tYXJrdXAgYWRkdG8tYnV0dG9uIHZpZGVvLWFjdGlvbnMgc3BmLW5v + bGluayBoaWRlLXVudGlsLWRlbGF5bG9hZGVkIGFkZHRvLXdhdGNoLWxhdGVy + LWJ1dHRvbi1zaWduLWluIHl0LXVpeC10b29sdGlwXCIgdHlwZT1cImJ1dHRv + blwiIG9uY2xpY2s9XCI7cmV0dXJuIGZhbHNlO1wiIHJvbGU9XCJidXR0b25c + IiB0aXRsZT1cIldhdGNoIGxhdGVyXCIgZGF0YS1idXR0b24tbWVudS1pZD1c + InNoYXJlZC1hZGR0by13YXRjaC1sYXRlci1sb2dpblwiIGRhdGEtdmlkZW8t + aWRzPVwiX19WSURFT19JRF9fXCJcdTAwM2VcdTAwM2NzcGFuIGNsYXNzPVwi + eXQtdWl4LWJ1dHRvbi1hcnJvdyB5dC1zcHJpdGVcIlx1MDAzZVx1MDAzY1wv + c3Bhblx1MDAzZVx1MDAzY1wvYnV0dG9uXHUwMDNlXG4iLCdXQVRDSF9RVUVV + RV9CVVRUT04nOiAiICBcdTAwM2NidXR0b24gY2xhc3M9XCJ5dC11aXgtYnV0 + dG9uIHl0LXVpeC1idXR0b24tc2l6ZS1zbWFsbCB5dC11aXgtYnV0dG9uLWRl + ZmF1bHQgeXQtdWl4LWJ1dHRvbi1lbXB0eSB5dC11aXgtYnV0dG9uLWhhcy1p + Y29uIG5vLWljb24tbWFya3VwIGFkZHRvLWJ1dHRvbiBhZGR0by1xdWV1ZS1i + dXR0b24gdmlkZW8tYWN0aW9ucyBzcGYtbm9saW5rIGhpZGUtdW50aWwtZGVs + YXlsb2FkZWQgYWRkdG8tdHYtcXVldWUtYnV0dG9uIHl0LXVpeC10b29sdGlw + XCIgdHlwZT1cImJ1dHRvblwiIG9uY2xpY2s9XCI7cmV0dXJuIGZhbHNlO1wi + IHRpdGxlPVwiUXVldWVcIiBkYXRhLXN0eWxlPVwidHYtcXVldWVcIiBkYXRh + LXZpZGVvLWlkcz1cIl9fVklERU9fSURfX1wiXHUwMDNlXHUwMDNjXC9idXR0 + b25cdTAwM2VcbiIsJ1dBVENIX1FVRVVFX01FTlUnOiAiICBcdTAwM2NzcGFu + IGNsYXNzPVwidGh1bWItbWVudSBkYXJrLW92ZXJmbG93LWFjdGlvbi1tZW51 + IHZpZGVvLWFjdGlvbnNcIlx1MDAzZVxuICAgIFx1MDAzY2J1dHRvbiBjbGFz + cz1cInl0LXVpeC1idXR0b24tcmV2ZXJzZSBmbGlwIGFkZHRvLXdhdGNoLXF1 + ZXVlLW1lbnUgc3BmLW5vbGluayBoaWRlLXVudGlsLWRlbGF5bG9hZGVkIHl0 + LXVpeC1idXR0b24geXQtdWl4LWJ1dHRvbi1kYXJrLW92ZXJmbG93LWFjdGlv + bi1tZW51IHl0LXVpeC1idXR0b24tc2l6ZS1kZWZhdWx0IHl0LXVpeC1idXR0 + b24taGFzLWljb24gbm8taWNvbi1tYXJrdXAgeXQtdWl4LWJ1dHRvbi1lbXB0 + eVwiIG9uY2xpY2s9XCI7cmV0dXJuIGZhbHNlO1wiIGFyaWEtZXhwYW5kZWQ9 + XCJmYWxzZVwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgdHlwZT1cImJ1dHRv + blwiIFx1MDAzZVx1MDAzY3NwYW4gY2xhc3M9XCJ5dC11aXgtYnV0dG9uLWFy + cm93IHl0LXNwcml0ZVwiXHUwMDNlXHUwMDNjXC9zcGFuXHUwMDNlXHUwMDNj + dWwgY2xhc3M9XCJ3YXRjaC1xdWV1ZS10aHVtYi1tZW51IHl0LXVpeC1idXR0 + b24tbWVudSB5dC11aXgtYnV0dG9uLW1lbnUtZGFyay1vdmVyZmxvdy1hY3Rp + b24tbWVudSBoaWRcIlx1MDAzZVx1MDAzY2xpIHJvbGU9XCJtZW51aXRlbVwi + IGNsYXNzPVwib3ZlcmZsb3ctbWVudS1jaG9pY2UgYWRkdG8td2F0Y2gtcXVl + dWUtbWVudS1jaG9pY2UgYWRkdG8td2F0Y2gtcXVldWUtcGxheS1uZXh0IHl0 + LXVpeC1idXR0b24tbWVudS1pdGVtXCIgZGF0YS1hY3Rpb249XCJwbGF5LW5l + eHRcIiBvbmNsaWNrPVwiO3JldHVybiBmYWxzZTtcIiAgZGF0YS12aWRlby1p + ZHM9XCJfX1ZJREVPX0lEX19cIlx1MDAzZVx1MDAzY3NwYW4gY2xhc3M9XCJh + ZGR0by13YXRjaC1xdWV1ZS1tZW51LXRleHRcIlx1MDAzZVBsYXkgbmV4dFx1 + MDAzY1wvc3Bhblx1MDAzZVx1MDAzY1wvbGlcdTAwM2VcdTAwM2NsaSByb2xl + PVwibWVudWl0ZW1cIiBjbGFzcz1cIm92ZXJmbG93LW1lbnUtY2hvaWNlIGFk + ZHRvLXdhdGNoLXF1ZXVlLW1lbnUtY2hvaWNlIGFkZHRvLXdhdGNoLXF1ZXVl + LXBsYXktbm93IHl0LXVpeC1idXR0b24tbWVudS1pdGVtXCIgZGF0YS1hY3Rp + b249XCJwbGF5LW5vd1wiIG9uY2xpY2s9XCI7cmV0dXJuIGZhbHNlO1wiICBk + YXRhLXZpZGVvLWlkcz1cIl9fVklERU9fSURfX1wiXHUwMDNlXHUwMDNjc3Bh + biBjbGFzcz1cImFkZHRvLXdhdGNoLXF1ZXVlLW1lbnUtdGV4dFwiXHUwMDNl + UGxheSBub3dcdTAwM2NcL3NwYW5cdTAwM2VcdTAwM2NcL2xpXHUwMDNlXHUw + MDNjXC91bFx1MDAzZVx1MDAzY1wvYnV0dG9uXHUwMDNlXG4gIFx1MDAzY1wv + c3Bhblx1MDAzZVxuIiwnU0FGRVRZX01PREVfUEVORElORyc6IGZhbHNlLCda + V0lFQkFDS19QSU5HX1VSTFMnOiBbImh0dHBzOlwvXC93d3cuZ29vZ2xlLmNv + bVwvcGFnZWFkXC9sdno/ZXZ0aWQ9QURHQUJRcU5mX0ZVR3M2UTBac0lxMnZy + Q0VmZjNLQ2c2QTd2MDhGUVljcFdWQ0U5UW44WWVFWEhxbHVFVXFYRy1Jb2h6 + eGRONUdXRzdUaGd1Q1Qzelp1cjJhYnBoNjA4WEFcdTAwMjZyZXFfdHM9MTUx + NTQzOTA0M1x1MDAyNnBnPXdhdGNoXHUwMDI2c2lnaD1BSXFZVFBqMW5GOUJE + WllyMlVYSmVBUHhVbDRObEpjZld3Il0sJ0xPQ0FMX0RBVEVfVElNRV9DT05G + SUcnOiB7ImZpcnN0RGF5T2ZXZWVrIjowLCJmb3JtYXRXZWVrZGF5U2hvcnRU + aW1lIjoiRUUgaDptbSBhIiwid2Vla2RheXMiOlsiU3VuZGF5IiwiTW9uZGF5 + IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5Iiwi + U2F0dXJkYXkiXSwiZGF0ZUZvcm1hdHMiOlsiTU1NTSBkLCB5ICdhdCcgaDpt + bSBhIiwiTU1NTSBkLCB5IiwiTU1NIGQsIHkiLCJNTU0gZCwgeSJdLCJzaG9y + dE1vbnRocyI6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4i + LCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSwiZm9ybWF0 + U2hvcnRUaW1lIjoiaDptbSBhIiwiZm9ybWF0TG9uZ0RhdGVPbmx5IjoiTU1N + TSBkLCB5IiwiZm9ybWF0U2hvcnREYXRlIjoiTU1NIGQsIHkiLCJhbVBtcyI6 + WyJBTSIsIlBNIl0sIm1vbnRocyI6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJN + YXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJT + ZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLCJm + aXJzdFdlZWtDdXRvZmZEYXkiOjMsInNob3J0V2Vla2RheXMiOlsiU3VuIiwi + TW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sImZvcm1hdExv + bmdEYXRlIjoiTU1NTSBkLCB5ICdhdCcgaDptbSBhIiwid2Vla2VuZFJhbmdl + IjpbNiw1XX0sJ1BBR0VfQ0wnOiAxODA3NjM5NTAsJ1BBR0VfQlVJTERfTEFC + RUwnOiAieW91dHViZS55dGZlLmRlc2t0b3BfMjAxODAxMDRfMF9SQzAiLCdW + QVJJQU5UU19DSEVDS1NVTSc6ICI5ZjY1MzU5YjE1MWQ2M2YyODQ2YThjN2E1 + MzlmM2E1YyIsJ0NMSUVOVF9QUk9UT0NPTCc6ICJIVFRQXC8xLjEiLCdDTElF + TlRfVFJBTlNQT1JUJzogInRjcCIsJ01EWF9FTkFCTEVfQ0FTVFYyJzogdHJ1 + ZSwnTURYX0VOQUJMRV9RVUVVRSc6IHRydWUsJ0ZFRURCQUNLX0JVQ0tFVF9J + RCc6ICJXYXRjaCIsJ0ZFRURCQUNLX0xPQ0FMRV9MQU5HVUFHRSc6ICJlbiIs + J0ZFRURCQUNLX0xPQ0FMRV9FWFRSQVMnOiB7ImxvZ2dlZF9pbiI6ZmFsc2Us + ImV4cGVyaW1lbnRzIjoiMjM3MDAyNjYsMjM3MDA3MzIsMjM3MDEwMTksMjM3 + MDEyOTcsMjM3MDE2OTgsMjM3MDE4ODIsMjM3MDIwMTcsMjM3MDI0NTksMjM3 + MDI5MjMsMjM3MDMwOTAsMjM3MDM2NDUsMjM3MDM5NzUsMjM3MDQ0NjYsMjM3 + MDQ1NTUsMjM3MDQ4NDYsMjM3MDUwNTcsMjM3MDUxNDEsMjM3MDUxOTIsMjM3 + MDU3MzksMjM3MDU4NjYsMjM3MDYzMTksMjM3MDY3MzQsMjM3MDY4NDQsMjM3 + MDY4NDYsMjM3MDczNzIsMjM3MDc0OTQsMjM3MDc2NjUsMjM3MDc4ODEsMjM3 + MDg5MDQsMjM3MDg5MDYsMjM3MDg5MTAsMjM3MDkwOTAsMjM3MDk0MzksMjM3 + MDk0NDMsMjM3MDk1MzIsMjM3MDk1NDgsMjM3MDk1NjcsMjM3MDk3ODgsMjM3 + MDk3OTMsMjM3MDk4OTYsMjM3MDk4OTgsMjM3MDk5MDIsMjM3MDk5ODUsMjM3 + MTAwMzgsMjM3MTAzMTMsMjM3MTA0NzYsMjM3MTA1MzYsMjM3MTA1NjYsMjM3 + MTA2NDIsMjM3MTA4NjMsMjM3MTA5NjQsMjM3MTEyMDIsMjM3MTE2ODAsMjM3 + MTE4NTUsMjM3MTE4OTMsMjM3MTE5MTgsMjM3MTI1MzQsMjM3MTI3NDYsMjM3 + MTMzMTUsMjM3MTM0MjYsMjM3MTM1OTQsMjM3MTM3MTEsMjM3MTM4MTMsMjM3 + MTM4NzMsMjM3MTM4ODksMjM3MTM5MDksMjM3MTQ0NzEsMjM3MTQ5MDEsMjM3 + MTUwNTksMjM3MTUzMDIsMjM3MTU1MDEsMjM3MTU1MDksMjM3MTU1NTMsMjM3 + MTU2MTEsMjM3MTU2NzQsMjM3MTU3NTgsMjM3MTU4MzcsMjM3MTU4NTQsMjM3 + MTU5MDgsMjM3MTU5NjAsMjM3MTYwOTYsMjM3MTYxMTksMjM3MTYxNTUsMjM3 + MTYyMTIsMjM3MTYyNTcsMjM3MTYzOTksMjM3MTY2OTQsMjM3MTY5MTQsMjM3 + MTY5NzMsMjM3MTcwMDAsMjM3MTcwNzIsMjM3MTcxMzIsMjM3MTcxNzMsMjM3 + MTcyODMsMjM3MTczNzIsMjM3MTc0NDksMjM3MTc4OTcsMjM3MTgwNDgsMjM3 + MTgwNzgsMjM3MTgzMzIsMjM3MTg0MTIsMjM3MTg0ODYsMjM3MTg0OTAsMjM3 + MTg1OTksMjM3MTg4NDksMjM3MTkwMzQsMjM3MTkwMzcsMjM3MTkxODcsMjM3 + MTkyMzYsMjM3MTkzNTEsMjM3MTk1NjAsMjM3MTk3ODIsMjM3MTk4MTcsOTQx + NTM5OCw5NDE5OTc5LDk0MjAyODksOTQyMjU5Niw5NDMxNzU0LDk0MzI5Mzks + OTQzODA2Nyw5NDM4MzA5LDk0MzkyOTQsOTQ0MDA1NCw5NDQxMTk0LDk0NDIz + ODcsOTQ0Mjc0Niw5NDQzNjYxLDk0NDUxMzksOTQ0ODMwMiw5NDQ5MjQzLDk0 + NTE4MTQsOTQ1MjY0Myw5NDUzMTY3LDk0NTM0MDksOTQ1NjQ0NSw5NDU3MTY5 + LDk0NTk3OTIsOTQ1OTc5Nyw5NDYwMDk4LDk0NjAxNzIsOTQ2MDM0OSw5NDYw + NTU0LDk0NjA4MjksOTQ2MDk1OSw5NDYzNDYwLDk0NjM1OTQsOTQ2MzkzNiw5 + NDYzOTYzLDk0NjQyMDMsOTQ2NTUxMyw5NDY2ODM1LDk0Njc0NzEsOTQ2NzUw + OCw5NDY3NTEwLDk0Njc1MTIsOTQ2NzcwMCw5NDY3Nzk1LDk0Njc4MDYsOTQ2 + NzgyMCw5NDY3ODIyLDk0NjgxOTUsOTQ2OTkzNCw5NDcxMTAzLDk0NzEyMzks + OTQ3MTUzNiw5NDcxOTU1LDk0NzIxOTEsOTQ3MzM3MSw5NDczMzg3LDk0NzMz + OTEsOTQ3Mzk3Nyw5NDc0Mzk2LDk0NzQ0MTYsOTQ3NDU5NCw5NDc1MjE4LDk0 + NzU0NjAsOTQ3NTY4Miw5NDc2MDc3LDk0NzYzMjcsOTQ3NjQwOCw5NDc3NDE5 + LDk0Nzg3ODcsOTQ3OTIwMCw5NDc5NDU2LDk0Nzk3NTAsOTQ4MDE4MCw5NDgw + MzcxLDk0ODA1NTAsOTQ4MTIyMCw5NDgxNTAyLDk0ODI5NzMsOTQ4Mjk5OCw5 + NDgzMTkwLDk0ODMyNDUsOTQ4MzU4Myw5NDg0MjM3LDk0ODQzNDQsOTQ4NTAw + MCw5NDg1ODY4LDk0ODYzOTAsOTQ4NzAzNyw5NDg3MDY0LDk0ODcyMDYsOTQ4 + NzMyOSw5NDg3NDU0LDk0ODc0NTgsOTQ4ODI3Miw5NDg4NTUyLDk0ODg5OTEs + OTQ4ODk5NSw5NDg5MDc0LDk0ODkyNjYsOTQ4OTI3Nyw5NDg5MzMxLDk0ODkz + MzYsOTQ4OTU3MSw5NDg5NzAwLDk0ODk4MzEsOTQ4OTgzMyIsImFjY2VwdF9s + YW5ndWFnZSI6bnVsbH19KTsgICB5dC5zZXRDb25maWcoewogICAgJ0dVSURF + RF9IRUxQX0xPQ0FMRSc6ICJlbl9VUyIsCiAgICAnR1VJREVEX0hFTFBfRU5W + SVJPTk1FTlQnOiAicHJvZCIKICB9KTsKeXQuc2V0Q29uZmlnKCdTUEZfU0VB + UkNIX0JPWCcsIHRydWUpO3l0LnNldE1zZyh7J0FERFRPX0NSRUFURV9ORVdf + UExBWUxJU1QnOiAiQ3JlYXRlIG5ldyBwbGF5bGlzdFxuIiwnQUREVE9fQ1JF + QVRFX1BMQVlMSVNUX0RZTkFNSUNfVElUTEUnOiAiICAkZHluYW1pY190aXRs + ZV9wbGFjZWhvbGRlciAoY3JlYXRlIG5ldylcbiIsJ0FERFRPX1dBVENIX0xB + VEVSJzogIldhdGNoIGxhdGVyIiwnQUREVE9fV0FUQ0hfTEFURVJfQURERUQn + OiAiQWRkZWQiLCdBRERUT19XQVRDSF9MQVRFUl9FUlJPUic6ICJFcnJvciIs + J0FERFRPX1dBVENIX1FVRVVFJzogIldhdGNoIFF1ZXVlIiwnQUREVE9fV0FU + Q0hfUVVFVUVfQURERUQnOiAiQWRkZWQiLCdBRERUT19XQVRDSF9RVUVVRV9F + UlJPUic6ICJFcnJvciIsJ0FERFRPX1RWX1FVRVVFJzogIlF1ZXVlIiwnQURT + X0lOU1RSRUFNX0ZJUlNUX1BMQVknOiAiQSB2aWRlbyBhZCBpcyBwbGF5aW5n + LiIsJ0FEU19JTlNUUkVBTV9TS0lQUEFCTEUnOiAiVmlkZW8gYWQgY2FuIGJl + IHNraXBwZWQuIiwnQURTX09WRVJMQVlfSU1QUkVTU0lPTic6ICJBZCBkaXNw + bGF5ZWQuIiwnTUFTVEhFQURfTk9USUZJQ0FUSU9OU19MQUJFTCc6IHsiY2Fz + ZTAiOiAiMCB1bnJlYWQgbm90aWZpY2F0aW9ucy4iLCAiY2FzZTEiOiAiMSB1 + bnJlYWQgbm90aWZpY2F0aW9uLiIsICJvdGhlciI6ICIjIHVucmVhZCBub3Rp + ZmljYXRpb25zLiJ9LCdNQVNUSEVBRF9OT1RJRklDQVRJT05TX0NPVU5UXzk5 + UExVUyc6ICI5OSsiLCdNRFhfQVVUT1BMQVlfT0ZGJzogJ0F1dG9wbGF5IGlz + IG9mZicsJ01EWF9BVVRPUExBWV9PTic6ICdBdXRvcGxheSBpcyBvbid9KTsg + IHl0LnNldENvbmZpZygnRkVFRF9QUklWQUNZX0NTU19VUkwnLCAiXC95dHNc + L2Nzc2Jpblwvd3d3LWZlZWRwcml2YWN5ZGlhbG9nLXZmbEFiTkRtQy5jc3Mi + KTsKICB5dC5zZXRDb25maWcoJ0ZFRURfUFJJVkFDWV9MSUdIVEJPWF9FTkFC + TEVEJywgdHJ1ZSk7Cnl0LnNldENvbmZpZyh7J1NCT1hfSlNfVVJMJzogIlwv + eXRzXC9qc2Jpblwvd3d3LXNlYXJjaGJveC1sZWdhY3ktdmZsMWFLYW93XC93 + d3ctc2VhcmNoYm94LWxlZ2FjeS5qcyIsJ1NCT1hfU0VUVElOR1MnOiB7IlJF + UVVFU1RfTEFOR1VBR0UiOiJlbiIsIkhBU19PTl9TQ1JFRU5fS0VZQk9BUkQi + OmZhbHNlLCJJU19GVVNJT04iOmZhbHNlLCJQU1VHR0VTVF9UT0tFTiI6bnVs + bCwiUFEiOiIiLCJSRVFVRVNUX0RPTUFJTiI6InVzIiwiU1VHR19FWFBfSUQi + OiJ5dGZsZGMscnlmZj0xLHJ3ZmY9MCx5cmw9MTAsY2Zybz0xLHJ5ZmY9MSxy + d2ZmPTAseXJsPTEwLGZlZGk9ZmUiLCJTRVNTSU9OX0lOREVYIjpudWxsfSwn + U0JPWF9MQUJFTFMnOiB7IlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIjoi + U3VnZ2VzdGlvbiByZW1vdmVkIiwiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVM + IjoiUmVtb3ZlIn19KTsgIHl0LnNldENvbmZpZyh7CiAgICAnWVBDX0xPQURF + Ul9KUyc6ICJcL3l0c1wvanNiaW5cL3d3dy15cGMtdmZsOWVLX09JXC93d3ct + eXBjLmpzIiwKICAgICdZUENfTE9BREVSX0NTUyc6ICJcL3l0c1wvY3NzYmlu + XC93d3cteXBjLXZmbGJfRWYxZy5jc3MiLAogICAgJ1lQQ19TSUdOSU5fVVJM + JzogImh0dHBzOlwvXC9hY2NvdW50cy5nb29nbGUuY29tXC9TZXJ2aWNlTG9n + aW4/cGFzc2l2ZT10cnVlXHUwMDI2aGw9ZW5cdTAwMjZjb250aW51ZT1odHRw + JTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGbmV4dCUzRCUy + NTJGJTI2YWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiUy + NmFwcCUzRGRlc2t0b3BcdTAwMjZ1aWxlbD0zXHUwMDI2c2VydmljZT15b3V0 + dWJlIiwKICAgICdEQkxDTEtfQURWRVJUSVNFUl9JRCc6ICIyNTQyMTE2IiwK + ICAgICdEQkxDTEtfWVBDX0FDVElWSVRZX0dST1VQJzogInlvdXR1NDQ0IiwK + ICAgICdTVUJTQ1JJUFRJT05fVVJMJzogIlwvc3Vic2NyaXB0aW9uX2FqYXgi + LAogICAgJ1lQQ19TV0lUQ0hfVVJMJzogIlwvc2lnbmluP2ZlYXR1cmU9cHVy + Y2hhc2VzXHUwMDI2c2tpcF9pZGVudGl0eV9wcm9tcHQ9VHJ1ZVx1MDAyNm5l + eHQ9JTJGXHUwMDI2YWN0aW9uX2hhbmRsZV9zaWduaW49dHJ1ZSIsCiAgICAn + WVBDX0dCX0xBTkdVQUdFJzogImVuX1VTIiwKICAgICdZUENfTUJfVVJMJzog + Imh0dHBzOlwvXC9wYXltZW50cy55b3V0dWJlLmNvbVwvcGF5bWVudHNcL3Y0 + XC9qc1wvaW50ZWdyYXRvci5qcz9zcz1tZCIsCiAgICAnWVBDX1RSQU5TQUNU + SU9OX1VSTCc6ICJcL3RyYW5zYWN0aW9uX2hhbmRsZXIiLAogICAgJ1lQQ19T + VUJTQ1JJUFRJT05fVVJMJzogIlwveXBjX3N1YnNjcmlwdGlvbl9hamF4IiwK + ICAgICdZUENfUE9TVF9QVVJDSEFTRV9VUkwnOiAiXC95cGNfcG9zdF9wdXJj + aGFzZV9hamF4IiwKICAgICdZVFJfRkFNSUxZX0NSRUFUSU9OX1VSTCc6ICJo + dHRwczpcL1wvZmFtaWxpZXMuZ29vZ2xlLmNvbVwvd2ViY3JlYXRpb24/dXNl + Z2FwaT0xIiwKICAgICdZVE9fR1RNX0RBVEEnOiB7J2V2ZW50JzogJ3B1cmNo + YXNlZCcsICdwdXJjaGFzZVN0YXR1cyc6ICdzdWNjZXNzJ30sCiAgICAnWVRP + X0dUTV8xX0JVVFRPTl9DTElDS19EQVRBJzogeydldmVudCc6ICdsYW5kaW5n + QnV0dG9uQ2xpY2snLCAnYnV0dG9uUG9zaXRpb24nOiAnMSd9LAogICAgJ1lU + T19HVE1fMl9CVVRUT05fQ0xJQ0tfREFUQSc6IHsnZXZlbnQnOiAnbGFuZGlu + Z0J1dHRvbkNsaWNrJywgJ2J1dHRvblBvc2l0aW9uJzogJzInfQogIH0pOwog + IHl0LnNldE1zZyh7CiAgICAnWVBDX09GRkVSX09WRVJMQVknOiAiICBcbiIs + CiAgICAnWVBDX1VOU1VCU0NSSUJFX09WRVJMQVknOiAiICBcbiIKICB9KTsK + ICB5dC5zZXRDb25maWcoJ0dPT0dMRV9IRUxQX0NPTlRFWFQnLCAid2F0Y2gi + KTsKeXRjc2kuaW5mbygnc3QnLCAzMTQpO3l0Y2ZnLnNldCh7IlRJTUlOR19J + TkZPIjp7ImN2ZXIiOiIxLjIwMTgwMTA0IiwieXRfcGwiOjAsInl0X2xpIjoi + MCIsInl0X2FkIjoxLCJ5dF9hZF9hbiI6ImFmdixkY2xrIiwiR2V0UGxheWVy + X3JpZCI6IjB4NGJkNmNmN2YyYzY4NDRlNCIsImMiOiJXRUIiLCJ5dF9sdCI6 + ImNvbGQiLCJHZXRXYXRjaE5leHRfcmlkIjoiMHg0YmQ2Y2Y3ZjJjNjg0NGU0 + In0sIkNTSV9TRVJWSUNFX05BTUUiOiJ5b3V0dWJlIn0pOzt5dGNmZy5zZXQo + eyJUSU1JTkdfQUNUSU9OIjoid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiLCJDU0lf + VklFV1BPUlQiOnRydWV9KTs7ICB5dC5zZXRDb25maWcoewogICAgICAnWFNS + Rl9UT0tFTic6ICJRVUZGTFVocWJEQlVSMDlQWTFsbVREVTFZV05NZG5WblEz + WmxVWGRzZUZCeFVYeEJRM0p0YzB0c1EzWkhMVE5VU0c5UVlWYzVlRzlIZFhB + M1RITnpPRXN0ZVZkRE4wOWtVV3R0UkMxYVQwcHJWbmh0ZDFoWk5FZHNWVGRW + YVZwWlFqQjVRVTEwVEZCM2FWSm1SVlJzVEY5d056bEZkRzVGYWtSS1VqUlVU + R1JMUVVocFRVOXFPWHBHWDBremNqRnlPR0ZmVFhwaGJVVTBiVFpUZEc1ZlJI + TkRVelExZGpSS1dsQTBlWGd5UVdWVE1FbEdhVFZWY1d0QlMzUnFMWHBJTnpK + SGFXYz0iLAogICAgICAnWFNSRl9GSUVMRF9OQU1FJzogInNlc3Npb25fdG9r + ZW4iLAoKICAgICAgJ1hTUkZfUkVESVJFQ1RfVE9LRU4nOiAidFJRVUx1Qm0t + dDVtLVYzNTNOZTZOMDBNcVRoOE1UVXhOVFV5TlRRME0wQXhOVEUxTkRNNU1E + UXoiICB9KTsKeXQuc2V0Q29uZmlnKCdJRF9UT0tFTicsIG51bGwpO3dpbmRv + dy55dGNmZy5zZXQoJ1NFUlZJQ0VfV09SS0VSX0tJTExTV0lUQ0gnLCBmYWxz + ZSk7ICB5dC5zZXRDb25maWcoJ1RIVU1CX0RFTEFZX0xPQURfQlVGRkVSJywg + MCk7CmlmICh3aW5kb3cueXRjc2kpIHt3aW5kb3cueXRjc2kudGljaygiamwi + LCBudWxsLCAnJyk7fTwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg== + http_version: + recorded_at: Mon, 08 Jan 2018 19:17:23 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/fixtures/vcr_cassettes/se_daily_rss_feed.yml b/spec/support/fixtures/vcr_cassettes/se_daily_rss_feed.yml new file mode 100644 index 0000000000000..d63ec0cd2171d --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/se_daily_rss_feed.yml @@ -0,0 +1,35050 @@ +--- +http_interactions: +- request: + method: get + uri: http://softwareengineeringdaily.com/feed/podcast/ + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Fri, 27 Oct 2017 20:52:24 GMT + Content-Type: + - application/rss+xml; charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Keep-Alive: + - timeout=20 + Last-Modified: + - Fri, 27 Oct 2017 09:00:57 GMT + Etag: + - '"f13ef411b71180be57535734b93e6a54-gzip"' + Link: + - ; rel="https://api.w.org/" + X-Cacheable: + - 'CacheAlways: feed' + Cache-Control: + - max-age=600, must-revalidate + X-Cache: + - 'HIT: 77' + X-Pass-Why: + - '' + X-Cache-Group: + - '' + X-Type: + - feed + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2 + ZXJzaW9uPSIyLjAiDQoJeG1sbnM6Y29udGVudD0iaHR0cDovL3B1cmwub3Jn + L3Jzcy8xLjAvbW9kdWxlcy9jb250ZW50LyINCgl4bWxuczp3Znc9Imh0dHA6 + Ly93ZWxsZm9ybWVkd2ViLm9yZy9Db21tZW50QVBJLyINCgl4bWxuczpkYz0i + aHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iDQoJeG1sbnM6YXRv + bT0iaHR0cDovL3d3dy53My5vcmcvMjAwNS9BdG9tIg0KCXhtbG5zOnN5PSJo + dHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL3N5bmRpY2F0aW9uLyIN + Cgl4bWxuczpzbGFzaD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxl + cy9zbGFzaC8iDQoJeG1sbnM6aXR1bmVzPSJodHRwOi8vd3d3Lml0dW5lcy5j + b20vZHRkcy9wb2RjYXN0LTEuMC5kdGQiCnhtbG5zOnJhd3ZvaWNlPSJodHRw + Oi8vd3d3LnJhd3ZvaWNlLmNvbS9yYXd2b2ljZVJzc01vZHVsZS8iCnhtbG5z + Omdvb2dsZXBsYXk9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9zY2hlbWFzL3Bs + YXktcG9kY2FzdHMvMS4wIgo+DQo8Y2hhbm5lbD4NCgk8dGl0bGU+U29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHk8L3RpdGxlPg0KCTxhdG9tOmxpbmsgaHJl + Zj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZmVlZC9w + b2RjYXN0LyIgcmVsPSJzZWxmIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1s + IiAvPg0KCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tPC9saW5rPg0KCTxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPg0KCTxs + YXN0QnVpbGREYXRlPkZyaSwgMjcgT2N0IDIwMTcgMDk6MDA6NTcgKzAwMDA8 + L2xhc3RCdWlsZERhdGU+DQoJPGxhbmd1YWdlPmVuLVVTPC9sYW5ndWFnZT4N + Cgk8c3k6dXBkYXRlUGVyaW9kPmhvdXJseTwvc3k6dXBkYXRlUGVyaW9kPg0K + CTxzeTp1cGRhdGVGcmVxdWVuY3k+MTwvc3k6dXBkYXRlRnJlcXVlbmN5Pg0K + CQk8Z2VuZXJhdG9yPmh0dHBzOi8vd29yZHByZXNzLm9yZy8/dj00LjguMjwv + Z2VuZXJhdG9yPgo8IS0tIHBvZGNhc3RfZ2VuZXJhdG9yPSJCbHVicnJ5IFBv + d2VyUHJlc3MvNy4xLjEiIG1vZGU9InNpbXBsZSIgZmVlZHNsdWc9InBvZGNh + c3QiIC0tPgoJPGl0dW5lczpzdW1tYXJ5PlRlY2huaWNhbCBpbnRlcnZpZXdz + IGFib3V0IHNvZnR3YXJlIHRvcGljcy48L2l0dW5lczpzdW1tYXJ5PgoJPGl0 + dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5l + czphdXRob3I+Cgk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhw + bGljaXQ+Cgk8aXR1bmVzOmltYWdlIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWRh + aWx5LndwZW5naW5lLmNvbS93cC1jb250ZW50L3VwbG9hZHMvcG93ZXJwcmVz + cy9TRURfc3F1YXJlX3NvbGlkX2JnLnBuZyIgLz4KCTxpdHVuZXM6b3duZXI+ + CgkJPGl0dW5lczpuYW1lPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6bmFtZT4KCQk8aXR1bmVzOmVtYWlsPnNvZnR3YXJlZW5naW5lZXJp + bmdkYWlseUBnbWFpbC5jb208L2l0dW5lczplbWFpbD4KCTwvaXR1bmVzOm93 + bmVyPgoJPG1hbmFnaW5nRWRpdG9yPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eUBnbWFpbC5jb20gKFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5KTwvbWFu + YWdpbmdFZGl0b3I+Cgk8aXR1bmVzOnN1YnRpdGxlPlNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PC9pdHVuZXM6c3VidGl0bGU+Cgk8aW1hZ2U+CgkJPHRp + dGxlPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC90aXRsZT4KCQk8dXJs + Pmh0dHA6Ly9zb2Z0d2FyZWRhaWx5LndwZW5naW5lLmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvcG93ZXJwcmVzcy9TRURfc3F1YXJlX3NvbGlkX2JnLnBuZzwv + dXJsPgoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tPC9saW5rPgoJPC9pbWFnZT4KCTxpdHVuZXM6Y2F0ZWdvcnkgdGV4dD0i + VGVjaG5vbG9neSI+CgkJPGl0dW5lczpjYXRlZ29yeSB0ZXh0PSJUZWNoIE5l + d3MiPjwvaXR1bmVzOmNhdGVnb3J5PgoJPC9pdHVuZXM6Y2F0ZWdvcnk+Cgk8 + cmF3dm9pY2U6c3Vic2NyaWJlIGZlZWQ9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL2ZlZWQvcG9kY2FzdC8iIGl0dW5lcz0iaHR0cHM6 + Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qvc29mdHdhcmUtZW5naW5l + ZXJpbmctZGFpbHkvaWQxMDE5NTc2ODUzIj48L3Jhd3ZvaWNlOnN1YnNjcmli + ZT4KPHNpdGUgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6 + MSI+MTEzNTYwOTc1PC9zaXRlPgk8aXRlbT4NCgkJPHRpdGxlPkFuYWx5c2Ug + QXNpYSB3aXRoIEJlcm5hcmQgTGVvbmc8L3RpdGxlPg0KCQk8bGluaz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzI3L2Fu + YWx5c2UtYXNpYS13aXRoLWJlcm5hcmQtbGVvbmcvPC9saW5rPg0KCQk8cHVi + RGF0ZT5GcmksIDI3IE9jdCAyMDE3IDA5OjAwOjU3ICswMDAwPC9wdWJEYXRl + Pg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTQxMDM8L2d1aWQ+DQoJCTxjb21t + ZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzEwLzI3L2FuYWx5c2UtYXNpYS13aXRoLWJlcm5hcmQtbGVvbmcvI3Jlc3Bv + bmQ8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8yNy9hbmFseXNlLWFz + aWEtd2l0aC1iZXJuYXJkLWxlb25nL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4N + CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQnVzaW5lc3MgYW5kIFBoaWxvc29waHldXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtHcmVhdGVzdCBIaXRz + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FuYWx5c2UgQXNp + YV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0JBVF1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Jlcm5hcmQgTGVvbmdd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDaGluYSBGaW5U + ZWNoXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRkFBTkdd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTaW5ndWxhcml0 + eV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkluIEFtZXJpY2EsIHRo + ZSB0ZWNoIGNvbXBhbmllcyB3ZSBmb2N1cyBvbiBhcmUgY29tbW9ubHkga25v + d24gYXMgRkFBTkc6IEZhY2Vib29rLCBBbWF6b24sIEFwcGxlLCBOZXRmbGl4 + LCBHb29nbGUuIFdlIGFsbCBrbm93IHdoYXQgdGhlc2UgY29tcGFuaWVzIGRv + IGJlY2F1c2UgdGhleSBpbXBhY3Qgb3VyIGRhaWx5IGxpdmVzLiBJbiBBc2lh + LCB0aGVyZSBhcmUgdGhyZWUgZ2lhbnQgdGVjaCBjb21wYW5pZXMgdGhhdCBo + YXZlIHNpbWlsYXIgc2NhbGU6IEJhaWR1LCBBbGliYWJhLCBhbmQgVGVuY2Vu + dCwgb3RoZXJ3aXNlIGtub3duIGFzIEJBVC4gVGVjaG5vbG9neSB3aXRoaW4g + YSBsb2NhdGlvbiBpcyBzaGFwZWQgYnkgdGhlIHByZXNzdXJlcyBvZiB0aGF0 + IGxvY2F0aW9uLiBZb3UgbWlnaHQgdGhpbmsgd2UgbGl2ZSBpbiBhJmx0O3Am + Z3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBo + cmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMTAvMjcvYW5hbHlzZS1hc2lhLXdpdGgtYmVybmFyZC1sZW9uZy8m + cXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3Am + Z3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFU + QVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFu + LWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFu + LWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1p + bWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6 + IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVp + Z2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vYW5hbHlzZS5h + c2lhL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2JsLXN1LXNxdWFyZS5q + cGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5JbiBBbWVyaWNhLCB0aGUgdGVjaCBjb21wYW5pZXMgd2UgZm9jdXMg + b24gYXJlIGNvbW1vbmx5IGtub3duIGFzIEZBQU5HOiBGYWNlYm9vaywgQW1h + em9uLCBBcHBsZSwgTmV0ZmxpeCwgR29vZ2xlLiBXZSBhbGwga25vdyB3aGF0 + IHRoZXNlIGNvbXBhbmllcyBkbyBiZWNhdXNlIHRoZXkgaW1wYWN0IG91ciBk + YWlseSBsaXZlcy4gSW4gQXNpYSwgdGhlcmUgYXJlIHRocmVlIGdpYW50IHRl + Y2ggY29tcGFuaWVzIHRoYXQgaGF2ZSBzaW1pbGFyIHNjYWxlOiBCYWlkdSwg + QWxpYmFiYSwgYW5kIFRlbmNlbnQsIG90aGVyd2lzZSBrbm93biBhcyBCQVQu + PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5UZWNobm9sb2d5IHdpdGhpbiBhIGxvY2F0aW9uIGlzIHNoYXBlZCBieSB0 + aGUgcHJlc3N1cmVzIG9mIHRoYXQgbG9jYXRpb24uIFlvdSBtaWdodCB0aGlu + ayB3ZSBsaXZlIGluIGEgZ2xvYmFsIHNvY2lldHksIGJ1dCB0ZWNoIGluIEFz + aWEgaXMgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIGl0IGlzIGluIEFt + ZXJpY2EuIERpZmZlcmVuY2VzIGluIGN1bHR1cmUgbGVhZCB0byBkaWZmZXJl + bmNlcyBpbiBwcm9kdWN0IGRldmVsb3BtZW50Ljwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gQ2hpbmEsIGEgZGlm + ZmVyZW50IHBvbGl0aWNhbCBzeXN0ZW0gY29udHJpYnV0ZWQgdG8gbW9yZSBy + YXBpZCBhZG9wdGlvbiBvZiBvbmxpbmUgcGF5bWVudHMuIEJlY2F1c2UgdGhl + cmUgaXMgbW9yZSBwYXltZW50IGRhdGEsIHBlb3BsZSBjYW4gYmUgZ2l2ZW4g + bG9hbnMgbW9yZSBlZmZpY2llbnRseS4gTGVzcyBvZiB0aGUgcG9wdWxhdGlv + biBpcyDigJx1bmJhbmtlZC7igJ0gT25saW5lIHBheW1lbnRzIGFyZSBtb3N0 + bHkgaGFuZGxlZCBieSBXZUNoYXQsIGEgc29jaWFsIG5ldHdvcmtpbmcgcHJv + ZHVjdCBmcm9tIFRlbmNlbnQsIGFuZCBBbGliYWJhLCBhbiBlY29tbWVyY2Ug + Z2lhbnQuIElmIHlvdSBsaXZlIGluIHRoZSBXZXN0LCBpbWFnaW5lIHRoYXQg + RmFjZWJvb2sgYW5kIEFtYXpvbiBoYW5kbGVkIG1vc3Qgb2YgeW91ciBwYXlt + ZW50cyBmb3IgPC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+ZXZlcnl0aGluZy48L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+IFlvdSB3b3VsZCBoYXZlIGEgZGlmZmVyZW50IHJl + bGF0aW9uc2hpcCB3aXRoIHRob3NlIGNvbXBhbmllcy48L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkJlcm5hcmQgTGVv + bmcgaXMgdGhlIGhvc3Qgb2YgQW5hbHlzZSBBc2lhLCBhIHBvZGNhc3QgYWJv + dXQgQXNpYW4gZGV2ZWxvcG1lbnRzIGluIHRlY2hub2xvZ3kgaW4gYnVzaW5l + c3MuIEFmdGVyIHN0dWR5aW5nIG1hdGVyaWFscyBzY2llbmNlIGluIFNpbmdh + cG9yZSBhbmQgdGhlb3JldGljYWwgcGh5c2ljcyBhdCBDYW1icmlkZ2UsIGhl + IG1hZGUgaGlzIHdheSBpbnRvIGJ1c2luZXNzIGFuZCBqb3VybmFsaXNtLCBh + bmQgZGV2ZWxvcGVkIGFuIGludGVyZXN0IGluIHRoZSBTaW5ndWxhcml0eSYj + ODIxMTthIHN1YmplY3QgdGhhdCBmZXcgcGVvcGxlIHRvb2sgc2VyaW91c2x5 + IHVudGlsIHJlY2VudGx5IChvbmUgdG9waWMgd2UgZXhwbG9yZWQgaW4gdGhp + cyBzaG93IGlzIE1hc2F5b3NoaSBTb24sIHRoZSBKYXBhbmVzZSB0eWNvb24g + d2hvIHdhbnRzIHRvIGludmVzdCBuZWFybHkgYSB0cmlsbGlvbiBkb2xsYXJz + IGludG8gdGVjaG5vbG9neSBjb21wYW5pZXM7IE1hc2F5b3NoaSBiZWxpZXZl + cyBmaXJtbHkgdGhhdCB0aGUgU2luZ3VsYXJpdHkgaXMgY29taW5nKS48L3Nw + YW4+PC9wPgo8aDI+U2hvdyBOb3RlczwvaDI+CjxwIGNsYXNzPSJ0aXRsZSBz + dHlsZS1zY29wZSB5dGQtdmlkZW8tcHJpbWFyeS1pbmZvLXJlbmRlcmVyIj48 + YSBocmVmPSJodHRwczovL3lvdXR1LmJlL1NHSjVjWm5vb2RZIj5TaGVuemhl + bjogVGhlIFNpbGljb24gVmFsbGV5IG9mIEhhcmR3YXJlIChGdWxsIERvY3Vt + ZW50YXJ5KSB8IEZ1dHVyZSBDaXRpZXMgfCBXSVJFRDwvYT48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+PGVtPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmFtYXpvbi5jb20vUGxleC1Hb29nbGUtVGhpbmtzLVdvcmtz + LVNoYXBlcy9kcC8xNDE2NTk2NTg1Ij5JbiB0aGUgUGxleDwvYT48L2VtPsKg + YnkgU3RldmVuIExldnk8L3NwYW4+PC9wPgo8cD48YSBocmVmPSJodHRwOi8v + YmxvZy55Y29tYmluYXRvci5jb20vdGhlLWhpZGRlbi1mb3JjZXMtYmVoaW5k + LXRvdXRpYW8tY2hpbmFzLWNvbnRlbnQta2luZy8iPlRoZSBIaWRkZW4gRm9y + Y2VzIEJlaGluZCBUb3V0aWFvOiBDaGluYSYjODIxNztzIENvbnRlbnQgS2lu + ZzwvYT48L3A+CjxwPiZuYnNwOzwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8 + cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/C + oDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2Vl + ZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBm + aXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3Jp + cHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZv + ciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0i + aHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL1NFRDQ0OC1BbmFseXNlLUFzaWEucGRmIj5j + bGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48 + L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL29jdG9w + dXMuY29tIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iNDAyMCIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMTAvMDMvNDItY29kaW5nLXNjaG9vbC13aXRoLWJyaXR0YW55LWJp + ci9vY3RvcHVzZGVwbG95X2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5n + P2ZpdD04MDAlMkMxNTUiIGRhdGEtb3JpZy1zaXplPSI4MDAsMTU1IiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9Im9j + dG9wdXNkZXBsb3lfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L29jdG9wdXNkZXBsb3lfbG9nby5wbmc/Zml0PTMwMCUyQzU4IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1 + c2RlcGxveV9sb2dvLnBuZz9maXQ9ODAwJTJDMTU1IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTQwMjAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP3Jl + c2l6ZT0zMDAlMkM1OCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP3Jlc2l6ZT0z + MDAlMkM1OCAzMDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29j + dG9wdXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTc2OCUyQzE0OSA3Njh3LCBo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9n + by5wbmc/cmVzaXplPTcyMCUyQzE0MCA3MjB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/dz04MDAgODAw + dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+VGhlIG9jdG9wdXM6IGEgc2VhIGNyZWF0dXJlIGtu + b3duIGZvciBpdHMgaW50ZWxsaWdlbmNlIGFuZCBmbGV4aWJpbGl0eS4gT2N0 + b3B1cyBEZXBsb3k6IGEgZnJpZW5kbHkgZGVwbG95bWVudCBhdXRvbWF0aW9u + IHRvb2wgZm9yIGRlcGxveWluZyBhcHBsaWNhdGlvbnMgbGlrZSAuTkVUIGFw + cHMsIEphdmEgYXBwcyBhbmQgbW9yZS4gQXNrIGFueSBkZXZlbG9wZXIgYW5k + IHRoZXnigJlsbCB0ZWxsIHlvdSBpdOKAmXMgbmV2ZXIgZnVuIHB1c2hpbmcg + Y29kZSBhdCA1cG0gb24gYSBGcmlkYXkgdGhlbiBjcm9zc2luZyB5b3VyIGZp + bmdlcnMgaG9waW5nIGZvciB0aGUgYmVzdC7CoFRoYXTigJlzIHdoZXJlIE9j + dG9wdXMgRGVwbG95IGNvbWVzIGludG8gdGhlIHBpY3R1cmUuIE9jdG9wdXMg + RGVwbG95IGlzIGEgZnJpZW5kbHkgZGVwbG95bWVudCBhdXRvbWF0aW9uIHRv + b2wsIHRha2luZyBvdmVyIHdoZXJlIHlvdXIgYnVpbGQvQ0kgc2VydmVyIGVu + ZHMuIFVzZSBPY3RvcHVzIHRvIHByb21vdGUgcmVsZWFzZXMgb24tcHJlbSBv + ciB0byB0aGUgY2xvdWQuIE9jdG9wdXMgaW50ZWdyYXRlcyB3aXRoIHlvdXIg + ZXhpc3RpbmcgYnVpbGQgcGlwZWxpbmUmIzgyMTE7VEZTIGFuZCBWU1RTLCBC + YW1ib28sIFRlYW1DaXR5LCBhbmQgSmVua2lucy4gSXQgaW50ZWdyYXRlcyB3 + aXRoIEFXUywgQXp1cmUsIGFuZCBvbi1wcmVtIGVudmlyb25tZW50cy4gUmVs + aWFibHkgYW5kIHJlcGVhdGVkbHkgZGVwbG95IHlvdXIgLk5FVCBhbmQgSmF2 + YSBhcHBzIGFuZCBtb3JlLiBJZiB5b3UgY2FuIHBhY2thZ2UgaXQsIE9jdG9w + dXMgY2FuIGRlcGxveSBpdCHCoEl04oCZcyBxdWljayBhbmQgZWFzeSB0byBp + bnN0YWxsLiBHbyB0byA8YSBocmVmPSJodHRwOi8vT2N0b3B1cy5jb20iPk9j + dG9wdXMuY29tPC9hPiB0byB0cmlhbCBPY3RvcHVzIGZyZWUgZm9yIDQ1IGRh + eXMuIFRoYXQmIzgyMTc7cyA8YSBocmVmPSJodHRwOi8vT2N0b3B1cy5jb20i + Pk9jdG9wdXMuY29tPC9hPgo8cD48L3A+PC9kaXY+PC9wPgo8cD48L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cHM6Ly9zZW5kZ3JpZC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjQwNzEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NlbmRncmlkL3NlbmRncmlk + LWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9maXQ9MzMwMCUyQzcyNCIgZGF0 + YS1vcmlnLXNpemU9IjMzMDAsNzI0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlNlbmRHcmlkLUxvZ28iIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9maXQ9 + MzAwJTJDNjYiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9maXQ9MTAyNCUyQzIyNSIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS00MDcxIHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9n + by5wbmc/cmVzaXplPTMwMCUyQzY2IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6 + ZT0zMDAlMkM2NiAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT03NjglMkMxNjggNzY4dywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9y + ZXNpemU9MTAyNCUyQzIyNSAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9yZXNpemU9NzIwJTJDMTU4IDcy + MHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9n + by5wbmc/dz0yMTAwIDIxMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3c9MzE1MCAzMTUwdyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+WW91IGFyZSBwcm9ncmFtbWluZyBhIG5ldyBzZXJ2aWNlIGZvciB5b3Vy + IHVzZXJzLiBPciwgeW91IGFyZSBoYWNraW5nIG9uIGEgc2lkZSBwcm9qZWN0 + LiBXaGF0ZXZlciB5b3UgYXJlIGJ1aWxkaW5nLCB5b3UgbmVlZCB0byBzZW5k + IGVtYWlsLiBGb3Igc2VuZGluZyBlbWFpbCwgZGV2ZWxvcGVycyB1c2UgU2Vu + ZEdyaWQuIFNlbmRHcmlkIGlzIHRoZSBBUEkgZm9yIGVtYWlsLCB0cnVzdGVk + IGJ5IGRldmVsb3BlcnMuIFNlbmQgdHJhbnNhY3Rpb25hbCBlbWFpbHMgdGhy + b3VnaCB0aGUgU2VuZEdyaWQgQVBJLiBCdWlsZCBtYXJrZXRpbmcgY2FtcGFp + Z25zIHdpdGggYSBiZWF1dGlmdWwgaW50ZXJmYWNlIGZvciBjcmFmdGluZyB0 + aGUgcGVyZmVjdCBlbWFpbC4gU2VuZEdyaWQgaXMgdXNlZCBieSBVYmVyLCBB + aXJibmIsIGFuZCBTcG90aWZ5JiM4MjExO2J1dCBhbnlib2R5IGNhbiBzdGFy + dCBmb3IgZnJlZSBhbmQgZ2V0IDEwMCBlbWFpbHMgcGVyIGRheS4gSnVzdCBn + byB0byA8YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5Ij5T + ZW5kR3JpZC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0IHN0YXJ0ZWQuIFlvdXIg + ZW1haWwgaXMgaW1wb3J0YW50JiM4MjExO21ha2Ugc3VyZSBpdCBnZXRzIGRl + bGl2ZXJlZCBwcm9wZXJseSwgd2l0aCBTZW5kR3JpZCwgdGhlIG1vc3QgcmVs + aWFibGUgZW1haWwgZGVsaXZlcnkgc2VydmljZS4gR2V0IHN0YXJ0ZWQgd2l0 + aCAxMDAgZW1haWxzIHBlciBkYXkgYXQgPGEgaHJlZj0iaHR0cHM6Ly9zZW5k + Z3JpZC5jb20vc2VkYWlseSI+U2VuZEdyaWQuY29tL3NlZGFpbHk8L2E+Ljwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9y + bSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3NTMiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL3Bpdm90YWwtbG9nby9waXZvdGFsLW9ubGlnaHQvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9u + TGlnaHQucG5nP2ZpdD0yNjEwJTJDMTA4MCIgZGF0YS1vcmlnLXNpemU9IjI2 + MTAsMTA4MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJQaXZvdGFsLU9uTGlnaHQiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0zMDAlMkMxMjQi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0xMDI0JTJDNDI0IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTM3NTMgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5n + P3Jlc2l6ZT0zMDAlMkMxMjQiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + MzAwJTJDMTI0IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzY4JTJDMzE4IDc2OHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9yZXNpemU9MTAyNCUyQzQyNCAxMDI0dywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03MjAlMkMy + OTggNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP3c9MjEwMCAyMTAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+U3ByaW5n + IEZyYW1ld29yayBnaXZlcyBkZXZlbG9wZXJzIGFuIGVudmlyb25tZW50IGZv + ciBidWlsZGluZyBjbG91ZCBuYXRpdmUgcHJvamVjdHMuIE9uIERlY2VtYmVy + IDR0aC03dGgsIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxh + dGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gaXMgY29taW5nIHRvIFNh + biBGcmFuY2lzY28uIFNwcmluZ09uZSBQbGF0Zm9ybSBpcyBhIGNvbmZlcmVu + Y2Ugd2hlcmUgZGV2ZWxvcGVycyBjb25ncmVnYXRlIHRvIGV4cGxvcmUgdGhl + IGxhdGVzdCB0ZWNobm9sb2dpZXMgaW4gdGhlIFNwcmluZyBlY29zeXN0ZW0g + YW5kIGJleW9uZC4gU3BlYWtlcnMgYXQgU3ByaW5nT25lIFBsYXRmb3JtIGlu + Y2x1ZGUgRXJpYyBCcmV3ZXIgKHdobyBjcmVhdGVkIHRoZSBDQVAgdGhlb3Jl + bSksIFZhdWdobiBWZXJub24gKHdobyB3cml0ZXMgZXh0ZW5zaXZlbHkgYWJv + dXQgRG9tYWluIERyaXZlbiBEZXNpZ24pLCBhbmQgbWFueSB0aG91Z2h0IGxl + YWRlcnMgaW4gdGhlIFNwcmluZyBFY29zeXN0ZW0uIFNwcmluZ09uZSBQbGF0 + Zm9ybSBpcyB0aGUgcHJlbWllciBjb25mZXJlbmNlIGZvciB0aG9zZSB3aG8g + YnVpbGQsIGRlcGxveSwgYW5kIHJ1biBjbG91ZC1uYXRpdmUgc29mdHdhcmUu + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gc2ln + biB1cCB3aXRoIHRoZSBkaXNjb3VudCBjb2RlIFNFRGFpbHkxMDAgYW5kIHJl + Y2VpdmUgJDEwMCBvZmYgb2YgYSBTcHJpbmcgT25lIFBsYXRmb3JtIDxhIGhy + ZWY9Imh0dHBzOi8vMjAxNy5zcHJpbmdvbmVwbGF0Zm9ybS5pby9laG9tZS9z + MXAvcmVnaXN0cmF0aW9uIj5jb25mZXJlbmNlIHBhc3M8L2E+LiBJIHdpbGwg + YWxzbyBiZSBhdCBTcHJpbmdPbmUgcmVwb3J0aW5nIG9uIGRldmVsb3BtZW50 + cyBpbiB0aGUgY2xvdWQgbmF0aXZlIGVjb3N5c3RlbS4gSm9pbiBtZSBEZWNl + bWJlciA0dGgtN3RoIGF0IHRoZSA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nw + cmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGNvbmZl + cmVuY2UsIGFuZCB1c2UgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGZvciAk + MTAwIG9mZiB5b3VyIGNvbmZlcmVuY2UgcGFzcy4gPC9kaXY+PC9wPgo8cD48 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3lt + cGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWct + c2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25v + LnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3Jp + bmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEg + Y3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVy + cyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBm + cm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRw + Oi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5 + PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Ig + b2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHll + YXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBk + ZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIg + YmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29u + dGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZm + aWMubGlic3luLmNvbS9zZWRhaWx5L0FuYWx5c2VBc2lhLm1wMyIgbGVuZ3Ro + PSI2MzM0Njk5MSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPkluIEFtZXJpY2EsIHRoZSB0ZWNoIGNvbXBhbmllcyB3ZSBmb2N1 + cyBvbiBhcmUgY29tbW9ubHkga25vd24gYXMgRkFBTkc6IEZhY2Vib29rLCBB + bWF6b24sIEFwcGxlLCBOZXRmbGl4LCBHb29nbGUuIFdlIGFsbCBrbm93IHdo + YXQgdGhlc2UgY29tcGFuaWVzIGRvIGJlY2F1c2UgdGhleSBpbXBhY3Qgb3Vy + IGRhaWx5IGxpdmVzLiBJbiBBc2lhLCB0aGVyZSBhcmUgdGhyZWUgZ2lhbnQg + dGVjaCBjb21wYW5pZXMgdGhhdCBoYXZlIHNpbWlsYXIgcy4uLjwvaXR1bmVz + OnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5JbiBBbWVyaWNhLCB0aGUg + dGVjaCBjb21wYW5pZXMgd2UgZm9jdXMgb24gYXJlIGNvbW1vbmx5IGtub3du + IGFzIEZBQU5HOiBGYWNlYm9vaywgQW1hem9uLCBBcHBsZSwgTmV0ZmxpeCwg + R29vZ2xlLiBXZSBhbGwga25vdyB3aGF0IHRoZXNlIGNvbXBhbmllcyBkbyBi + ZWNhdXNlIHRoZXkgaW1wYWN0IG91ciBkYWlseSBsaXZlcy4gSW4gQXNpYSwg + dGhlcmUgYXJlIHRocmVlIGdpYW50IHRlY2ggY29tcGFuaWVzIHRoYXQgaGF2 + ZSBzaW1pbGFyIHNjYWxlOiBCYWlkdSwgQWxpYmFiYSwgYW5kIFRlbmNlbnQs + IG90aGVyd2lzZSBrbm93biBhcyBCQVQuIFRlY2hub2xvZ3kgd2l0aGluIGEg + bG9jYXRpb24gaXMgc2hhcGVkIGJ5IHRoZSBwcmVzc3VyZXMgb2YgdGhhdCBs + b2NhdGlvbi4gWW91IG1pZ2h0IHRoaW5rIHdlIGxpdmUgaW4gYUNvbnRpbnVl + IHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9y + PlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJ + CTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8 + aXR1bmVzOmR1cmF0aW9uPjE6MDU6NDE8L2l0dW5lczpkdXJhdGlvbj4KPHBv + c3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+ + NDEwMzwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPklG + VFRUIEFyY2hpdGVjdHVyZSB3aXRoIE5pY2t5IExlYWNoPC90aXRsZT4NCgkJ + PGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8yNi9pZnR0dC1hcmNoaXRlY3R1cmUtd2l0aC1uaWNreS1sZWFjaC88 + L2xpbms+DQoJCTxwdWJEYXRlPlRodSwgMjYgT2N0IDIwMTcgMDk6MDA6MzAg + KzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9NDEwMjwv + Z3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMTAvMjYvaWZ0dHQtYXJjaGl0ZWN0dXJlLXdpdGgt + bmlja3ktbGVhY2gvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21t + ZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMTAvMjYvaWZ0dHQtYXJjaGl0ZWN0dXJlLXdpdGgtbmlja3ktbGVhY2gv + ZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mzwv + c2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBp + c29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91 + ZCBFbmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVthcHBsZXRzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + Y29ubmVjdGVkIHdvcmxkXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbSUZUVFRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVtOaWNreSBMZWFjaF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW3NlcnZpY2UgaW5mcmFzdHJ1Y3R1cmVdXT48L2NhdGVnb3J5PgoJCTxk + ZXNjcmlwdGlvbj5JdOKAmXMgOXBtIGF0IG5pZ2h0LCBhbmQgeW91IGFyZSBo + dW5ncnkuIFlvdSBvcmRlciBhIHBpenphIGZyb20gRG9taW5v4oCZcy4gWW91 + IGxpdmUgb24gYSBzdHJlZXQgdGhhdOKAmXMgZGFyaywgYW5kIHNvIHlvdSBo + YXZlIGluc3RhbGxlZCBhIHNtYXJ0IGxpZ2h0YnVsYiBpbiBmcm9udCBvZiB5 + b3VyIG1haWxib3ggdGhhdCBsaWdodHMgdXAgdGhlIGFkZHJlc3MuIFdoZW4g + dGhlIHBpenphIGF0IERvbWlub+KAmXMgaXMgcmVhZHksIHlvdSB3YW50IHRo + ZSBsaWdodGJ1bGIgb24geW91ciBtYWlsYm94IHRvIGxpZ2h0IHVwIHNvIHRo + YXQgdGhlIGRlbGl2ZXJ5IHBlcnNvbiBjYW4gcmVhZCB5b3VyIGFkZHJlc3Mg + d2hlbiB0aGV5IGFycml2ZSBpbiBmcm9udCZsdDtwJmd0OyZsdDthIGNsYXNz + PSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzI2L2lm + dHR0LWFyY2hpdGVjdHVyZS13aXRoLW5pY2t5LWxlYWNoLyZxdW90OyZndDtD + b250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2Ny + aXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9n + b29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJl + bmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUi + IHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlk + ICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4 + OyIgc3JjPSJodHRwczovL2F2YXRhcnMxLmdpdGh1YnVzZXJjb250ZW50LmNv + bS91LzMzMTgwMz9zPTQwMCZhbXA7dj00IiB3aWR0aD0iMTc1IiBoZWlnaHQ9 + IjE3NSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+SXTigJlzIDlwbSBhdCBuaWdodCwgYW5kIHlvdSBhcmUgaHVuZ3J5LiBZ + b3Ugb3JkZXIgYSBwaXp6YSBmcm9tIERvbWlub+KAmXMuIFlvdSBsaXZlIG9u + IGEgc3RyZWV0IHRoYXTigJlzIGRhcmssIGFuZCBzbyB5b3UgaGF2ZSBpbnN0 + YWxsZWQgYSBzbWFydCBsaWdodGJ1bGIgaW4gZnJvbnQgb2YgeW91ciBtYWls + Ym94IHRoYXQgbGlnaHRzIHVwIHRoZSBhZGRyZXNzLiBXaGVuIHRoZSBwaXp6 + YSBhdCBEb21pbm/igJlzIGlzIHJlYWR5LCB5b3Ugd2FudCB0aGUgbGlnaHRi + dWxiIG9uIHlvdXIgbWFpbGJveCB0byBsaWdodCB1cCBzbyB0aGF0IHRoZSBk + ZWxpdmVyeSBwZXJzb24gY2FuIHJlYWQgeW91ciBhZGRyZXNzIHdoZW4gdGhl + eSBhcnJpdmUgaW4gZnJvbnQgb2YgeW91ciBob3VzZSB3aXRoIHRoZSBwaXp6 + YS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPlRoZSBJbnRlcm5ldCBzaG91bGQgbWFrZSBpdCBwb3NzaWJsZSB0byBo + YXZlIHRoaXMga2luZCBvZiBldmVudC1kcml2ZW4sIGNvbm5lY3RlZCB3b3Js + ZC4gQW55dGhpbmcgdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIEludGVybmV0 + IHNob3VsZCBiZSBhYmxlIHRvIHNlbmQgc2lnbmFscyB0byBhbnl0aGluZyBl + bHNlIG9uIHRoZSBJbnRlcm5ldCwgc28gdGhhdCBvdXIgbGl2ZXMgZ3JhZHVh + bGx5IGJlY29tZSBtb3JlIGF1dG9tYXRlZC48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoaXMgaXMgd2hhdCBJRlRU + VCBkb2VzLiBVc2VycyBvZiBJRlRUVCBjYW4gZWFzaWx5IGNyZWF0ZSBhcHBs + ZXRzIHRvIHdpcmUgZGlmZmVyZW50IHNlcnZpY2VzIHRvZ2V0aGVyLiBZb3Ug + Y2FuIHVzZSBJRlRUVCB0byB0cmlnZ2VyIGFuIGVtYWlsIHdoZW5ldmVyIHRo + cmVlIG9mIHlvdXIgZnJpZW5kcyByZXR3ZWV0IHNvbWV0aGluZyBvbiBUd2l0 + dGVyLiBZb3UgY2FuIHVzZSBJRlRUVCB0byBmbGFzaCB0aGUgbGlnaHRzIGlu + IHlvdXIgaG91c2Ugd2hlbiBCaXRjb2luIGhpdHMgbmV3IG1hcmtldCBoaWdo + cy4gWW91IGNhbiB1c2UgSUZUVFQgdG8gb3JkZXIgYSBwaXp6YSB3aGVuZXZl + ciBCaXRjb2luIGNyYXNoZXMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JRlRUVCBtYWtlcyBpdCBlYXN5IHRvIGNv + bm5lY3QgZGlmZmVyZW50IHNlcnZpY2VzIHRvZ2V0aGVyLCBhbmQgYSBsb3Qg + b2Ygd29yayBnb2VzIGludG8gdGhlIGluZnJhc3RydWN0dXJlIHRoYXQgZW5h + YmxlcyB0aGVzZSBiaWxsaW9ucyBvZiBldmVudHMgdG8gcHJvY2VzcyBjb3Jy + ZWN0bHkuIE5pY2t5IExlYWNoIGZyb20gSUZUVFTigJlzIGVuZ2luZWVyaW5n + IHRlYW0gam9pbnMgdGhlIHNob3cgdG8gZGVzY3JpYmUgaG93IElGVFRUIGFs + bG93cyBmb3IgaW50ZWdyYXRpb25zIGJldHdlZW4gc2VydmljZXMgdGhhdCB3 + ZXJlIG5vdCBidWlsdCB0byBpbnRlZ3JhdGUmIzgyMTE7YW5kIGhlIHRhbGtz + IGFib3V0IHRoZSBzY2hlZHVsaW5nLCBkYXRhIGVuZ2luZWVyaW5nLCBhbmQg + bW9uaXRvcmluZyBvZiB0aGUgY29tcGFueeKAmXMgc29mdHdhcmUgc3RhY2su + PC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0 + IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0 + dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMu + Y29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9u + dGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2Vydmlj + ZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5n + IHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzEwL1NFRDQ0Ny1JRlRUVC5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8Kg + dGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29y + czwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vYml0Lmx5LzJ5QnVLQjkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSI0MDk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9yYXlndW4v + cmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXlndW5fbWFzdGVy + LWxvZ28tY2xlYXJzcGFjZS5qcGc/Zml0PTExNjElMkMzMTgiIGRhdGEtb3Jp + Zy1zaXplPSIxMTYxLDMxOCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJSYXlndW5fbWFzdGVyLWxvZ28tY2xlYXJz + cGFjZSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0 + ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9maXQ9MzAwJTJDODIiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXlndW5f + bWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/Zml0PTEwMjQlMkMyODAiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtNDA5OCBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXIt + bG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9MzAwJTJDODIiIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUmF5Z3VuX21h + c3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP3Jlc2l6ZT0zMDAlMkM4MiAzMDB3 + LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXIt + bG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9NzY4JTJDMjEwIDc2OHcsIGh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUmF5Z3VuX21hc3Rlci1sb2dv + LWNsZWFyc3BhY2UuanBnP3Jlc2l6ZT0xMDI0JTJDMjgwIDEwMjR3LCBodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXItbG9nby1j + bGVhcnNwYWNlLmpwZz9yZXNpemU9NzIwJTJDMTk3IDcyMHcsIGh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFy + c3BhY2UuanBnP3c9MTE2MSAxMTYxdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2hlbiB5b3Vy + IGFwcGxpY2F0aW9uIGlzIGZhaWxpbmcgb24gYSB1c2Vy4oCZcyBkZXZpY2Us + IGhvdyBkbyB5b3UgZmluZCBvdXQgYWJvdXQgaXQ/IFJheWd1biBsZXRzIHlv + dSBzZWUgZXZlcnkgcHJvYmxlbSBpbiB5b3VyIHNvZnR3YXJlIGFuZCBob3cg + dG8gZml4IGl0LiBSYXlndW4gYnJpbmdzIHRvZ2V0aGVyIGNyYXNoIHJlcG9y + dGluZywgcmVhbCB1c2VyIG1vbml0b3JpbmcsIHVzZXIgdHJhY2tpbmcsIGFu + ZCBkZXBsb3ltZW50IHRyYWNraW5nLiBTZWUgZXZlcnkgZXJyb3IgYW5kIGNy + YXNoIGFmZmVjdGluZyB5b3VyIHVzZXJzIHJpZ2h0IG5vdy4gTW9uaXRvciB5 + b3VyIGRlcGxveW1lbnRzLCB0byBtYWtlIHN1cmUgdGhhdCBhIHJlbGVhc2Ug + aXMgbm90IGltcGFjdGluZyB1c2VycyBpbiBuZXcgd2F5cy4gQW5kIHRyYWNr + IHlvdXIgdXNlcnMgdGhyb3VnaCB5b3VyIGFwcGxpY2F0aW9uIHRvIGlkZW50 + aWZ5IHRoZSBiYWQgZXhwZXJpZW5jZXMgdGhleSBhcmUgaGF2aW5nLiBHbyB0 + byA8YSBocmVmPSJodHRwOi8vYml0Lmx5LzJ5QnVLQjkiPnNvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vcmF5Z3VuPC9hPiwgYW5kIGdldCBhIGZyZWUg + MTQgZGF5IHRyaWFsIHRvIHRyeSBvdXQgUmF5Z3VuIGFuZCBmaW5kIHRoZSBl + cnJvcnMgdGhhdCBhcmUgb2NjdXJyaW5nIGluIHlvdXIgYXBwbGljYXRpb25z + IHRvZGF5LiBSYXlndW4gaXMgdXNlZCBieSBNaWNyb3NvZnQsIFNsYWNrLCBh + bmQgVW5pdHkgdG8gbW9uaXRvciB0aGVpciBjdXN0b21lciBmYWNpbmcgc29m + dHdhcmUuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMnlCdUtCOSI+ + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9yYXlndW48L2E+IGFuZCB0 + cnkgaXQgb3V0IGZvciB5b3Vyc2VsZi48L2Rpdj48YnIgLz4KPC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9iaXQubHkvMnh2ZlRhdCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4 + ODQiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9rd2xvZ29zL2hlcHRpby9oZXB0aW8tbG9nby1kYXJrLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + aGVwdGlvLWxvZ28tZGFyay5wbmc/Zml0PTk2MCUyQzM5NiIgZGF0YS1vcmln + LXNpemU9Ijk2MCwzOTYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iaGVwdGlvLWxvZ28tZGFyayIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP2ZpdD0z + MDAlMkMxMjQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9oZXB0aW8tbG9nby1kYXJrLnBuZz9maXQ9OTYwJTJDMzk2 + IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4ODQgc2l6ZS1tZWRpdW0i + IHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0aW8tbG9n + by1kYXJrLnBuZz9yZXNpemU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsu + cG5nP3Jlc2l6ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9oZXB0aW8tbG9nby1kYXJrLnBuZz9yZXNpemU9NzY4JTJD + MzE3IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvaGVwdGlv + LWxvZ28tZGFyay5wbmc/cmVzaXplPTcyMCUyQzI5NyA3MjB3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP3c9 + OTYwIDk2MHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPllvdSB3YW50IHRvIHdvcmsgd2l0aCBL + dWJlcm5ldGVzIGJ1dCB3aXNoIHRoZSBwcm9jZXNzIHdhcyBzaW1wbGVyLiBU + aGUgZm9sa3Mgd2hvIGJyb3VnaHQgeW91IEt1YmVybmV0ZXMgbm93IHdhbnQg + dG8gbWFrZSBpdCBlYXNpZXIgdG8gdXNlLiBIZXB0aW8gaXMgYSBjb21wYW55 + IGJ5IGZvdW5kZXJzIG9mIHRoZSBLdWJlcm5ldGVzIHByb2plY3QsIGJ1aWx0 + IHRvIHN1cHBvcnQgYW5kIGFkdmFuY2UgdGhlIG9wZW4gS3ViZXJuZXRlcyBl + Y29zeXN0ZW0uIFRoZXkgYnVpbGQgcHJvZHVjdHMsIG9wZW4gc291cmNlIHRv + b2xzLCBhbmQgc2VydmljZXMgdGhhdCBicmluZyBwZW9wbGUgY2xvc2VyIHRv + IOKAmHVwc3RyZWFt4oCZIEt1YmVybmV0ZXMuIEhlcHRpbyBvZmZlcnMgaW5z + dHJ1Y3Rvci1sZWQgS3ViZXJuZXRlcyB0cmFpbmluZywgcHJvZmVzc2lvbmFs + IGhlbHAgZnJvbSBleHBlcnQgS3ViZXJuZXRlcyBzb2x1dGlvbnMgZW5naW5l + ZXJzLCBhcyB3ZWxsIGFzIGV4cGVydCBzdXBwb3J0IG9mIHVwc3RyZWFtIEt1 + YmVybmV0ZXMgY29uZmlndXJhdGlvbnMuIEZpbmQgb3V0IG1vcmUgYXQgPGEg + aHJlZj0iaHR0cDovL2JpdC5seS8yeHZmVGF0Ij5zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2hlcHRpbzwvYT4uIEhlcHRpbyBpcyBjb21taXR0ZWQg + dG8gbWFraW5nIEt1YmVybmV0ZXMgZWFzaWVyIGZvciBhbGwgZGV2ZWxvcGVy + cyB0byB1c2UgdGhyb3VnaCB0aGVpciBjb250cmlidXRpb25zIHRvIEt1YmVy + bmV0ZXMsIEhlcHRpbyBvcGVuIHNvdXJjZSBwcm9qZWN0cywgYW5kIG90aGVy + IGNvbW11bml0eSBlZmZvcnRzLiBDaGVjayBvdXQgSGVwdGlvIHRvIG1ha2Ug + eW91ciBsaWZlIHdpdGggS3ViZXJuZXRlcyBlYXNpZXIgYXQgPGEgaHJlZj0i + aHR0cDovL2JpdC5seS8yeHZmVGF0Ij5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2hlcHRpbzwvYT4uPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3Nl + bmRncmlkLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + NDA3MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc2VuZGdyaWQvc2VuZGdyaWQtbG9nby8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0zMzAwJTJDNzI0IiBkYXRhLW9yaWct + c2l6ZT0iMzMwMCw3MjQiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iU2VuZEdyaWQtTG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0zMDAlMkM2 + NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0xMDI0JTJDMjI1IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTQwNzEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9y + ZXNpemU9MzAwJTJDNjYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/cmVzaXplPTMwMCUy + QzY2IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdy + aWQtTG9nby5wbmc/cmVzaXplPTc2OCUyQzE2OCA3Njh3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT0x + MDI0JTJDMjI1IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT03MjAlMkMxNTggNzIwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz93 + PTIxMDAgMjEwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2Vu + ZEdyaWQtTG9nby5wbmc/dz0zMTUwIDMxNTB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Zb3Ug + YXJlIHByb2dyYW1taW5nIGEgbmV3IHNlcnZpY2UgZm9yIHlvdXIgdXNlcnMu + IE9yLCB5b3UgYXJlIGhhY2tpbmcgb24gYSBzaWRlIHByb2plY3QuIFdoYXRl + dmVyIHlvdSBhcmUgYnVpbGRpbmcsIHlvdSBuZWVkIHRvIHNlbmQgZW1haWwu + IEZvciBzZW5kaW5nIGVtYWlsLCBkZXZlbG9wZXJzIHVzZSBTZW5kR3JpZC4g + U2VuZEdyaWQgaXMgdGhlIEFQSSBmb3IgZW1haWwsIHRydXN0ZWQgYnkgZGV2 + ZWxvcGVycy4gU2VuZCB0cmFuc2FjdGlvbmFsIGVtYWlscyB0aHJvdWdoIHRo + ZSBTZW5kR3JpZCBBUEkuIEJ1aWxkIG1hcmtldGluZyBjYW1wYWlnbnMgd2l0 + aCBhIGJlYXV0aWZ1bCBpbnRlcmZhY2UgZm9yIGNyYWZ0aW5nIHRoZSBwZXJm + ZWN0IGVtYWlsLiBTZW5kR3JpZCBpcyB1c2VkIGJ5IFViZXIsIEFpcmJuYiwg + YW5kIFNwb3RpZnkmIzgyMTE7YnV0IGFueWJvZHkgY2FuIHN0YXJ0IGZvciBm + cmVlIGFuZCBnZXQgMTAwIGVtYWlscyBwZXIgZGF5LiBKdXN0IGdvIHRvIDxh + IGhyZWY9Imh0dHBzOi8vc2VuZGdyaWQuY29tL3NlZGFpbHkiPlNlbmRHcmlk + LmNvbS9zZWRhaWx5PC9hPiB0byBnZXQgc3RhcnRlZC4gWW91ciBlbWFpbCBp + cyBpbXBvcnRhbnQmIzgyMTE7bWFrZSBzdXJlIGl0IGdldHMgZGVsaXZlcmVk + IHByb3Blcmx5LCB3aXRoIFNlbmRHcmlkLCB0aGUgbW9zdCByZWxpYWJsZSBl + bWFpbCBkZWxpdmVyeSBzZXJ2aWNlLiBHZXQgc3RhcnRlZCB3aXRoIDEwMCBl + bWFpbHMgcGVyIGRheSBhdCA8YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNv + bS9zZWRhaWx5Ij5TZW5kR3JpZC5jb20vc2VkYWlseTwvYT4uPC9kaXY+PGJy + IC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFz + cz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48 + YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIyNjY4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zeW1waG9u + by9zeW1waG9uby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEt + b3JpZy1zaXplPSIyNzIsODQiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0ic3ltcGhvbm8iIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3lt + cGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS0yNjY4IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA2L3N5bXBob25vLnBuZz9yZXNpemU9MjcyJTJDODQiIGFsdD0i + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPlRoYW5rcyB0byBTeW1waG9ubyBmb3Igc3Bv + bnNvcmluZyBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS4gU3ltcGhvbm8g + aXMgYSBjdXN0b20gZW5naW5lZXJpbmcgc2hvcCB3aGVyZSBzZW5pb3IgZW5n + aW5lZXJzIHRhY2tsZSBiaWcgdGVjaCBjaGFsbGVuZ2VzIHdoaWxlIGxlYXJu + aW5nIGZyb20gZWFjaCBvdGhlci4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9 + Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+c3ltcGhvbm8uY29tL3Nl + ZGFpbHk8L2E+LiBUaGFua3MgdG8gU3ltcGhvbm8gZm9yIGJlaW5nIGEgc3Bv + bnNvciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBmb3IgYWxtb3N0 + IGEgeWVhciBub3cuIFlvdXIgY29udGludWVkIHN1cHBvcnQgYWxsb3dzIHVz + IHRvIGRlbGl2ZXIgY29udGVudCB0byB0aGUgbGlzdGVuZXJzIG9uIGEgcmVn + dWxhciBiYXNpcy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNz + PSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8L3A+CjxwPiZuYnNwOzwvcD4KXV0+ + PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8v + dHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvSUZUVFQubXAzIiBsZW5ndGg9 + IjU3MjY5MDUwIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+SXTigJlzIDlwbSBhdCBuaWdodCwgYW5kIHlvdSBhcmUgaHVuZ3J5 + LiBZb3Ugb3JkZXIgYSBwaXp6YSBmcm9tIERvbWlub+KAmXMuIFlvdSBsaXZl + IG9uIGEgc3RyZWV0IHRoYXTigJlzIGRhcmssIGFuZCBzbyB5b3UgaGF2ZSBp + bnN0YWxsZWQgYSBzbWFydCBsaWdodGJ1bGIgaW4gZnJvbnQgb2YgeW91ciBt + YWlsYm94IHRoYXQgbGlnaHRzIHVwIHRoZSBhZGRyZXNzLiBXaGVuIHRoZSBw + aXp6YSBhdCBEb21pbm/igJlzIGlzIHJlYWR5LDwvaXR1bmVzOnN1YnRpdGxl + PgoJCTxpdHVuZXM6c3VtbWFyeT5JdOKAmXMgOXBtIGF0IG5pZ2h0LCBhbmQg + eW91IGFyZSBodW5ncnkuIFlvdSBvcmRlciBhIHBpenphIGZyb20gRG9taW5v + 4oCZcy4gWW91IGxpdmUgb24gYSBzdHJlZXQgdGhhdOKAmXMgZGFyaywgYW5k + IHNvIHlvdSBoYXZlIGluc3RhbGxlZCBhIHNtYXJ0IGxpZ2h0YnVsYiBpbiBm + cm9udCBvZiB5b3VyIG1haWxib3ggdGhhdCBsaWdodHMgdXAgdGhlIGFkZHJl + c3MuIFdoZW4gdGhlIHBpenphIGF0IERvbWlub+KAmXMgaXMgcmVhZHksIHlv + dSB3YW50IHRoZSBsaWdodGJ1bGIgb24geW91ciBtYWlsYm94IHRvIGxpZ2h0 + IHVwIHNvIHRoYXQgdGhlIGRlbGl2ZXJ5IHBlcnNvbiBjYW4gcmVhZCB5b3Vy + IGFkZHJlc3Mgd2hlbiB0aGV5IGFycml2ZSBpbiBmcm9udENvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjU5OjIxPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlk + IHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQxMDI8 + L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5EcmVtaW8g + d2l0aCBUb21lciBTaGlyYW48L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzI1L2RyZW1pby13 + aXRoLXRvbWVyLXNoaXJhbi88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMjUg + T2N0IDIwMTcgMDk6MDA6MTAgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlz + UGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vP3A9NDA5OTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMjUvZHJlbWlv + LXdpdGgtdG9tZXItc2hpcmFuLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdm + dzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMTAvMjUvZHJlbWlvLXdpdGgtdG9tZXItc2hpcmFuL2ZlZWQv + PC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNo + OmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVz + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRGF0YV1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCaWcgRGF0YV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0RyZW1pb11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dvb2dsZV1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0hhZG9vcF1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW01hcFJdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtNYXBSZWR1Y2VdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtUb21lciBTaGlyYW5dXT48L2NhdGVnb3J5PgoJCTxk + ZXNjcmlwdGlvbj5UaGUgTWFwUmVkdWNlIHBhcGVyIHdhcyBwdWJsaXNoZWQg + YnkgR29vZ2xlIGluIDIwMDQuIE1hcFJlZHVjZSBpcyBhbiBhbGdvcml0aG0g + dGhhdCBkZXNjcmliZXMgaG93IHRvIGRvIGxhcmdlLXNjYWxlIGRhdGEgcHJv + Y2Vzc2luZyBvbiBsYXJnZSBjbHVzdGVycyBvZiBjb21tb2RpdHkgaGFyZHdh + cmUuIFRoZSBNYXBSZWR1Y2UgcGFwZXIgbWFya2VkIHRoZSBiZWdpbm5pbmcg + b2YgdGhlIOKAnGJpZyBkYXRh4oCdIG1vdmVtZW50LiBUaGUgSGFkb29wIHBy + b2plY3QgaXMgYW4gb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRpb24gb2YgdGhl + IE1hcFJlZHVjZSBwYXBlci4gRG91ZyBDdXR0aW5nIGFuZCBNaWtlIENhZmFy + ZWxsYSB3cm90ZSBzb2Z0d2FyZSB0aGF0IGFsbG93ZWQgYW55Ym9keSB0byB1 + c2UgTWFwUmVkdWNlLCBhcyBsb25nIGFzIHRoZXkgaGFkIHNpZ25pZmljYW50 + IHNlcnZlciZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzEwLzI1L2RyZW1pby13aXRoLXRvbWVyLXNo + aXJhbi8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsm + bHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48 + IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0 + YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1i + cmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0 + YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90 + O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Ny + ZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29w + eXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0 + aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJi + cmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMu + anBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVs + bCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBi + b3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBt + YXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vd3d3 + LmRyZW1pby5jb20vaW1nL2NhcmVlcnMvcGhvdG9zL3RvbWVyLmpwZz9yZXNp + emU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRo + ZSBNYXBSZWR1Y2UgcGFwZXIgd2FzIHB1Ymxpc2hlZCBieSBHb29nbGUgaW4g + MjAwNC4gTWFwUmVkdWNlIGlzIGFuIGFsZ29yaXRobSB0aGF0IGRlc2NyaWJl + cyBob3cgdG8gZG8gbGFyZ2Utc2NhbGUgZGF0YSBwcm9jZXNzaW5nIG9uIGxh + cmdlIGNsdXN0ZXJzIG9mIGNvbW1vZGl0eSBoYXJkd2FyZS4gPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgTWFw + UmVkdWNlIHBhcGVyIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSDigJxi + aWcgZGF0YeKAnSBtb3ZlbWVudC4gVGhlIEhhZG9vcCBwcm9qZWN0IGlzIGFu + IG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBNYXBSZWR1Y2Ug + cGFwZXIuIERvdWcgQ3V0dGluZyBhbmQgTWlrZSBDYWZhcmVsbGEgd3JvdGUg + c29mdHdhcmUgdGhhdCBhbGxvd2VkIGFueWJvZHkgdG8gdXNlIE1hcFJlZHVj + ZSwgYXMgbG9uZyBhcyB0aGV5IGhhZCBzaWduaWZpY2FudCBzZXJ2ZXIgb3Bl + cmF0aW9ucyBrbm93bGVkZ2UgYW5kIGEgcmFjayBvZiBjb21tb2RpdHkgc2Vy + dmVycy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkhhZG9vcCBnb3QgZGVwbG95ZWQgZmlyc3QgYXQgY29tcGFuaWVz + IHdpdGggdGhlIGludGVybmFsIGVuZ2luZWVyaW5nIHRlYW1zIHRoYXQgY291 + bGQgcmVjb2duaXplIGl0cyBpbXBvcnRhbmNlIGFuZCBpbXBsZW1lbnQgaXQm + IzgyMTE7Y29tcGFuaWVzIGxpa2UgWWFob28gYW5kIE1pY3Jvc29mdC4gVGhl + IHdvcmQgcXVpY2tseSBzcHJlYWQgYWJvdXQgdGhlIGxldmVyYWdlIEhhZG9v + cCBjb3VsZCBwcm92aWRlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+QXJvdW5kIHRoaXMgdGltZSwgZXZlcnkgbGFy + Z2UgY29tcGFueSB3YXMgd2FraW5nIHVwIHRvIHRoZSBmYWN0IHRoYXQgdGhl + eSBoYWQgdG9ucyBvZiBkYXRhIGFuZCBkaWRu4oCZdCBrbm93IGhvdyB0byB0 + YWtlIGFkdmFudGFnZSBvZiBpdC4gQmlsbGlvbiBkb2xsYXIgY29ycG9yYXRp + b25zIGluIGFyZWFzIGxpa2UgYmFua2luZywgaW5zdXJhbmNlLCBtYW51ZmFj + dHVyaW5nLCBhbmQgYWdyaWN1bHR1cmUgYWxsIHdhbnRlZCB0byB0YWtlIGFk + dmFudGFnZSBvZiB0aGlzIGFtYXppbmcgbmV3IHdheSBvZiBsb29raW5nIGF0 + IHRoZWlyIGRhdGEuIEJ1dCB0aGVzZSBjb21wYW5pZXMgZGlkIG5vdCBoYXZl + IHRoZSBlbmdpbmVlcmluZyBleHBlcnRpc2UgdG8gZGVwbG95IEhhZG9vcCBj + bHVzdGVycy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPlRocmVlIGJpZyBjb21wYW5pZXMgd2VyZSBmb3JtZWQgdG8g + aGVscCBicmluZyBIYWRvb3AgdG8gbGFyZ2UgZW50ZXJwcmlzZXM6IENsb3Vk + ZXJhLCBIb3J0b253b3JrcywgYW5kIE1hcFIuIEVhY2ggb2YgdGhlc2UgY29t + cGFuaWVzIHdvcmtlZCB3aXRoIGh1bmRyZWRzIG9mIGxhcmdlIGVudGVycHJp + c2UgY2xpZW50cyB0byBidWlsZCBvdXQgdGhlaXIgSGFkb29wIGNsdXN0ZXJz + IGFuZCBoZWxwIHRoZW0gYWNjZXNzIHRoZWlyIGRhdGEuIFRvbWVyIFNoaXJh + biBzcGVudCBmaXZlIHllYXJzIGF0IE1hcFIsIHNlZWluZyB0aGUgZGF0YSBw + cm9ibGVtcyBvZiB0aGVzZSBsYXJnZSBlbnRlcnByaXNlcyBhbmQgb2JzZXJ2 + aW5nIGhvdyBtdWNoIHZhbHVlIGNvdWxkIGJlIGNyZWF0ZWQgYnkgc29sdmlu + ZyB0aGVzZSBkYXRhIHByb2JsZW1zLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gMjAxNSwgZWxldmVuIHllYXJz + IGhhZCBwYXNzZWQgc2luY2UgTWFwUmVkdWNlIHdhcyBmaXJzdCBwdWJsaXNo + ZWQsIGFuZCBjb21wYW5pZXMgd2VyZSBzdGlsbCBoYXZpbmcgZGF0YSBwcm9i + bGVtcy4gVG9tZXIgc3RhcnRlZCB3b3JraW5nIG9uIERyZW1pbywgYSBjb21w + YW55IHRoYXQgd2FzIGluIHN0ZWFsdGggZm9yIGFub3RoZXIgdHdvIHllYXJz + LiBJIGludGVydmlld2VkIFRvbWVyIHR3byB5ZWFycyBhZ28sIHdoZW4gaGUg + c3RpbGwgY291bGQgbm90IHNheSBtdWNoIGFib3V0IHdoYXQgRHJlbWlvIHdh + cyBkb2luZy4gV2UgdGFsa2VkIGFib3V0IEFwYWNoZSBEcmlsbCwgYW4gb3Bl + bi1zb3VyY2UgcHJvamVjdCByZWxhdGVkIHRvIHdoYXQgRHJlbWlvIGV2ZW50 + dWFsbHkgYnVpbHQuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5FYXJsaWVyIHRoaXMgeWVhciwgdHdvIG9mIFRvbWVy + 4oCZcyBjb2xsZWFndWVzIEphY3F1ZXMgTmFkZWF1IGFuZCBKdWxpZW4gTGUg + RGVtIGNhbWUgb24gdG8gZGlzY3VzcyBjb2x1bW5hciBkYXRhIHN0b3JhZ2Ug + YW5kIGludGVyb3BlcmFiaWxpdHkuIFdoYXQgSSB0b29rIGF3YXkgZnJvbSB0 + aGF0IGNvbnZlcnNhdGlvbiB3YXMgdGhhdCB0b2RheSwgZGF0YSB3aXRoaW4g + YW4gYXZlcmFnZSBlbnRlcnByaXNlIGlzIGFjY2Vzc2libGUsIGJ1dCB0aGUg + ZGlmZmVyZW50IGZvcm1hdHMgYXJlIGEgcHJvYmxlbS4gU29tZSBkYXRhIGlz + IGluIE15U1FMLCBzb21lIGlzIGluIEFtYXpvbiBTMywgc29tZSBpcyBpbiBF + bGFzdGljU2VhcmNoLCBzb21lIGlzIG9uIEhERlMgc3RvcmVkIGluIFBhcnF1 + ZXQgZmlsZXMuIERpZmZlcmVudCB0ZWFtcyB3aWxsIHNldCB1cCBkaWZmZXJl + bnQgQkkgdG9vbHMgYW5kIGNoYXJ0cyB0aGF0IHJlYWQgZnJvbSBhIHNwZWNp + ZmljIHNpbG8gb2YgZGF0YS4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BdCB0aGUgbG93ZXN0IGxldmVsLCB0aGUg + ZGlmZmVyZW50IGRhdGEgZm9ybWF0cyBhcmUgaW5jb21wYXRpYmxlJiM4MjEx + O3lvdSBoYXZlIHRvIHRyYW5zZm9ybSBNeVNRTCBkYXRhIGluIG9yZGVyIHRv + IG1lcmdlIGl0IHdpdGggUzMgZGF0YS4gT24gdG9wIG9mIHRoYXQsIGVuZ2lu + ZWVycyBkb2luZyBkYXRhIHNjaWVuY2Ugd29yayBhcmUgdXNpbmcgU3Bhcmss + IFBhbmRhcywgYW5kIG90aGVyIHRvb2xzIHRoYXQgcHVsbCBsb3RzIG9mIGRh + dGEgaW50byBtZW1vcnkmIzgyMTE7aWYgdGhlIGluLW1lbW9yeSBmb3JtYXRz + IGFyZSBub3QgY29tcGF0aWJsZSwgdGhlIGRhdGEgdGVhbXMgY2Fu4oCZdCBn + ZXQgdGhlIG1vc3Qgb3V0IG9mIHRoZWlyIHdvcmsuIE9uIHRvcCBvZiBUSEFU + LCBhdCB0aGUgaGlnaGVzdCBsZXZlbCwgZGF0YSBhbmFseXN0cyBhcmUgd29y + a2luZyB3aXRoIGRpZmZlcmVudCBkYXRhIGFuYWx5c2lzIHRvb2xzLCBzbyB0 + aGVyZSBpcyBldmVuIG1vcmUgc2lsb2luZy48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk5vdyBJIHVuZGVyc3RhbmQg + d2h5IERyZW1pbyB0b29rIHR3byB5ZWFycyB0byBicmluZyB0byBtYXJrZXQu + IDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+VGhleSBhcmUgdHJ5aW5nIHRvIHNvbHZlIGRhdGEgaW50ZXJvcGVyYWJp + bGl0eSBieSBtYWtpbmcgaXQgZWFzeSB0byB0cmFuc2Zvcm0gZGF0YSBzZXRz + IGJldHdlZW4gZGlmZmVyZW50IGZvcm1hdHMuIFRoZXkgYXJlIHRyeWluZyB0 + byBzb2x2ZSBkYXRhIGFjY2VzcyBzcGVlZCBieSBjcmVhdGluZyBhIHNvcGhp + c3RpY2F0ZWQgY2FjaGluZyBzeXN0ZW0uIEFuZCB0aGV5IGFyZSB0cnlpbmcg + dG8gaW1wcm92ZSB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGUgZGF0YSBhbmFs + eXN0cyBieSBwcm92aWRpbmcgdGhlIHJpZ2h0IGFic3RyYWN0aW9ucyBmb3Ig + c29tZW9uZSB3aG8gaXMgbm90IGEgc29mdHdhcmUgZW5naW5lZXIgdG8gc3R1 + ZHkgdGhlIGRpZmZlcmVudCBkYXRhIHNldHMgYWNyb3NzIGFuIG9yZ2FuaXph + dGlvbi48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkRyZW1pbyBpcyBhbiBleGNpdGluZyBwcm9qZWN0IGJlY2F1c2Ug + aXQgaXMgcmFyZSB0byBzZWUgYSBwdXJlIHNvZnR3YXJlIGNvbXBhbnkgcHV0 + IHNvIG1hbnkgeWVhcnMgaW50byB1cC1mcm9udCBzdGVhbHRoIHByb2R1Y3Qg + ZGV2ZWxvcG1lbnQuIEFmdGVyIHRhbGtpbmcgdG8gVG9tZXIgaW4gdGhpcyBj + b252ZXJzYXRpb24sIEnigJltIGxvb2tpbmcgZm9yd2FyZCB0byBzZWVpbmcg + RHJlbWlvIGNvbWUgdG8gbWFya2V0LiBJdCB3YXMgZmFzY2luYXRpbmcgdG8g + aGVhciBoaW0gdGFsayBhYm91dCBob3cgZGF0YSBlbmdpbmVlcmluZyBoYXMg + ZXZvbHZlZCB0byB0b2RheS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPlNvbWUgb2YgdGhlIGJlc3QgZXBpc29kZXMg + b2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgY292ZXIgdGhlIGhpc3Rv + cnkgb2YgZGF0YSBlbmdpbmVlcmluZywgaW5jbHVkaW5nIGFuIDxhIGhyZWY9 + Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzAz + LzA5L2hhZG9vcC1wYXN0LXByZXNlbnQtZnV0dXJlLW1pa2UtY2FmYXJlbGxh + LyI+aW50ZXJ2aWV3IHdpdGggTWlrZSBDYWZhcmVsbGE8L2E+LCB0aGUgY28t + Zm91bmRlciBvZiBIYWRvb3AsIGFuZCBhbm90aGVyIGVwaXNvZGUgY2FsbGVk + IDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE2LzAyLzA2L2hpc3Rvcnktb2YtaGFkb29wLyI+4oCcVGhlIEhpc3Rv + cnkgb2YgSGFkb29w4oCdPC9hPiBpbiB3aGljaCB3ZSBleHBsb3JlZCBob3cg + SGFkb29wIG1hZGUgaXQgZnJvbSBhIEdvb2dsZSByZXNlYXJjaCBwYXBlciBp + bnRvIGEgbXVsdGliaWxsaW9uIGRvbGxhciBpbmR1c3RyeS4gPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UbyBmaW5k + IHRoZXNlIG9sZCBlcGlzb2RlcywgeW91IGNhbiBkb3dubG9hZCA8L3NwYW4+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0 + d2FyZS1lbmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0 + MjY/bXQ9OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+ + PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IGFuZCA8L3Nw + YW4+PGEgaHJlZj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBw + cy9kZXRhaWxzP2lkPWNvbS5rb2FsYXRlYS50aGVob2xsaWRheWlubi5zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+Zm9yIEFuZHJvaWQ8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+LiBXaXRoIHRoZXNlIGFwcHMsIHdlIGFyZSBi + dWlsZGluZyBhIG5ldyB3YXkgdG8gY29uc3VtZSBjb250ZW50IGFib3V0IHNv + ZnR3YXJlIGVuZ2luZWVyaW5nLiBUaGV5IGFyZSBvcGVuLXNvdXJjZWQgYXQg + PC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Tb2Z0d2FyZUVu + Z2luZWVyaW5nRGFpbHkiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+Z2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L3NwYW4+ + PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBJZiB5b3Ug + YXJlIGxvb2tpbmcgZm9yIGFuIG9wZW4gc291cmNlIHByb2plY3QgdG8gZ2V0 + IGludm9sdmVkIHdpdGgsIHdlIHdvdWxkIGxvdmUgdG8gZ2V0IHlvdXIgaGVs + cC48L3NwYW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3Jp + cHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0i + aHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0 + cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBt + b250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2 + aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJp + bmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvU0VENDQ2LURyZW1pby5wZGYiPmNsaWNrIGhlcmUgdG8gdmll + d8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9u + c29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iNDA3MSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3Mvc2VuZGdyaWQvc2VuZGdyaWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5n + P2ZpdD0zMzAwJTJDNzI0IiBkYXRhLW9yaWctc2l6ZT0iMzMwMCw3MjQiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + U2VuZEdyaWQtTG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1Nl + bmRHcmlkLUxvZ28ucG5nP2ZpdD0zMDAlMkM2NiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28u + cG5nP2ZpdD0xMDI0JTJDMjI1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTQwNzEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9yZXNpemU9MzAwJTJDNjYiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2Vu + ZEdyaWQtTG9nby5wbmc/cmVzaXplPTMwMCUyQzY2IDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/cmVzaXpl + PTc2OCUyQzE2OCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT0xMDI0JTJDMjI1IDEwMjR3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5n + P3Jlc2l6ZT03MjAlMkMxNTggNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz93PTIxMDAgMjEwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/dz0z + MTUwIDMxNTB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Zb3UgYXJlIHByb2dyYW1taW5nIGEg + bmV3IHNlcnZpY2UgZm9yIHlvdXIgdXNlcnMuIE9yLCB5b3UgYXJlIGhhY2tp + bmcgb24gYSBzaWRlIHByb2plY3QuIFdoYXRldmVyIHlvdSBhcmUgYnVpbGRp + bmcsIHlvdSBuZWVkIHRvIHNlbmQgZW1haWwuIEZvciBzZW5kaW5nIGVtYWls + LCBkZXZlbG9wZXJzIHVzZSBTZW5kR3JpZC4gU2VuZEdyaWQgaXMgdGhlIEFQ + SSBmb3IgZW1haWwsIHRydXN0ZWQgYnkgZGV2ZWxvcGVycy4gU2VuZCB0cmFu + c2FjdGlvbmFsIGVtYWlscyB0aHJvdWdoIHRoZSBTZW5kR3JpZCBBUEkuIEJ1 + aWxkIG1hcmtldGluZyBjYW1wYWlnbnMgd2l0aCBhIGJlYXV0aWZ1bCBpbnRl + cmZhY2UgZm9yIGNyYWZ0aW5nIHRoZSBwZXJmZWN0IGVtYWlsLiBTZW5kR3Jp + ZCBpcyB1c2VkIGJ5IFViZXIsIEFpcmJuYiwgYW5kIFNwb3RpZnkmIzgyMTE7 + YnV0IGFueWJvZHkgY2FuIHN0YXJ0IGZvciBmcmVlIGFuZCBnZXQgMTAwIGVt + YWlscyBwZXIgZGF5LiBKdXN0IGdvIHRvIDxhIGhyZWY9Imh0dHBzOi8vc2Vu + ZGdyaWQuY29tL3NlZGFpbHkiPlNlbmRHcmlkLmNvbS9zZWRhaWx5PC9hPiB0 + byBnZXQgc3RhcnRlZC4gWW91ciBlbWFpbCBpcyBpbXBvcnRhbnQmIzgyMTE7 + bWFrZSBzdXJlIGl0IGdldHMgZGVsaXZlcmVkIHByb3Blcmx5LCB3aXRoIFNl + bmRHcmlkLCB0aGUgbW9zdCByZWxpYWJsZSBlbWFpbCBkZWxpdmVyeSBzZXJ2 + aWNlLiBHZXQgc3RhcnRlZCB3aXRoIDEwMCBlbWFpbHMgcGVyIGRheSBhdCA8 + YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5Ij5TZW5kR3Jp + ZC5jb20vc2VkYWlseTwvYT4uPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZG8u + Y28vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjQwMTciIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzEwLzAyL3JlYWN0dnItd2l0aC1hbmRyZXctaW1tL2RpZ2l0 + YWxvY2Vhbi8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTgwMCUyQzQwMCIgZGF0 + YS1vcmlnLXNpemU9IjgwMCw0MDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGlnaXRhbG9jZWFuIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9maXQ9MzAw + JTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9maXQ9ODAwJTJDNDAwIiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwMTcgc2l6ZS1tZWRpdW0iIHNyYz0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5n + P3Jlc2l6ZT0zMDAlMkMxNTAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9MzAw + JTJDMTUwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGln + aXRhbG9jZWFuLnBuZz9yZXNpemU9NzY4JTJDMzg0IDc2OHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9 + NzIwJTJDMzYwIDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + ZGlnaXRhbG9jZWFuLnBuZz93PTgwMCA4MDB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5EaWdp + dGFsIE9jZWFuIFNwYWNlcyBnaXZlcyB5b3Ugc2ltcGxlIG9iamVjdCBzdG9y + YWdlIHdpdGggYSBiZWF1dGlmdWwgdXNlciBpbnRlcmZhY2UuIFlvdSBuZWVk + IGFuIGVhc3kgd2F5IHRvIGhvc3Qgb2JqZWN0cyBsaWtlIGltYWdlcyBhbmQg + dmlkZW9zLiBZb3VyIHVzZXJzIG5lZWQgdG8gdXBsb2FkIG9iamVjdHMgbGlr + ZSBwZGZzIGFuZCBtdXNpYyBmaWxlcy4gVG8gdHJ5IERpZ2l0YWwgT2NlYW4g + U3BhY2VzLCBnbyB0bzxhIGhyZWY9Imh0dHA6Ly9kby5jby9zZWRhaWx5Ij4g + PGI+ZG8uY28vc2VkYWlseTwvYj48L2E+IGFuZCBnZXQgMiBtb250aHMgb2Yg + U3BhY2VzIHBsdXMgYSAkMTAgY3JlZGl0IHRvIHVzZSBvbiBhbnkgb3RoZXIg + RGlnaXRhbCBPY2VhbiBwcm9kdWN0cyYjODIxMTthbmQgeW91IGdldCB0aGlz + IGNyZWRpdCBldmVuIGlmIHlvdSBoYXZlIGJlZW4gd2l0aCBEaWdpdGFsIE9j + ZWFuIGZvciBhd2hpbGUuIEl0JiM4MjE3O3MgYSBuaWNlIGFkZGVkIGJvbnVz + IGp1c3QgZm9yIHRyeWluZyBvdXQgU3BhY2VzLiBJZiB5b3UgYmVjb21lIGEg + Y3VzdG9tZXIsIHRoZSBwcmljaW5nIGlzIDxpPnNpbXBsZTogwqA8L2k+JDUg + cGVyIG1vbnRoIHByaWNlIGFuZCBpbmNsdWRlcyAyNTBHQiBvZiBzdG9yYWdl + IGFuZCAxVEIgb2Ygb3V0Ym91bmQgYmFuZHdpZHRoLiBUaGVyZSBhcmUgbm8g + Y29zdHMgcGVyIHJlcXVlc3QgYW5kIGFkZGl0aW9uYWwgc3RvcmFnZSBpcyBw + cmljZWQgYXQgdGhlIGxvd2VzdCByYXRlIGF2YWlsYWJsZTogJDAuMDEgcGVy + IEdCIHRyYW5zZmVycmVkIGFuZCAkMC4wMiBwZXIgR0Igc3RvcmVkLiBUaGVy + ZSB3b24mIzgyMTc7dCBiZSBhbnkgc3VycHJpc2VzIG9uIHlvdXIgYmlsbC4g + RGlnaXRhbCBPY2VhbiBzaW1wbGlmaWVzIHRoZSBjbG91ZCYjODIxMTt0aGV5 + IGxvb2sgZm9yIGV2ZXJ5IG9wcG9ydHVuaXR5IHRvIHJlbW92ZSBmcmljdGlv + biBmcm9tIGEgZGV2ZWxvcGVyJiM4MjE3O3MgZXhwZXJpZW5jZS4gSSBsb3Zl + IGl0LCBhbmQgSSB0aGluayB5b3Ugd2lsbCB0b28mIzgyMTE7Y2hlY2sgaXQg + b3V0IGF0PGEgaHJlZj0iaHR0cDovL2RvLmNvL3NlZGFpbHkiPiA8Yj5kby5j + by9zZWRhaWx5PC9iPjwvYT48Yj4uPC9iPjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmluY2Fwc3VsYS5jb20vMjAxN3BvZGNhc3RzIj48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzExNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3li + ZXItd2FyZmFyZS13aXRoLWphcmVkLXNtaXRoL2luY2Fwc3VsYS1sb2dvLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEv + aW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD01MzMlMkMxMjYiIGRhdGEtb3JpZy1z + aXplPSI1MzMsMTI2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9ImluY2Fwc3VsYS1sb2dvIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD0zMDAlMkM3 + MSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTMxMTYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/ + cmVzaXplPTMwMCUyQzcxIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAw + JTJDNzEgMzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/dz01MzMgNTMzdyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SW5jYXBz + dWxhIGNhbiBwcm90ZWN0IHlvdXIgQVBJIHNlcnZlcnMgYW5kIG1pY3Jvc2Vy + dmljZXMgZnJvbSByZXNwb25kaW5nIHRvIHVud2FudGVkIHJlcXVlc3RzLiBU + byB0cnkgSW5jYXBzdWxhIGZvciB5b3Vyc2VsZiwgZ28gdG8gPGEgaHJlZj0i + aHR0cHM6Ly9pbmNhcHN1bGEuY29tLzIwMTdwb2RjYXN0cyI+aW5jYXBzdWxh + LmNvbS8yMDE3cG9kY2FzdHM8L2E+IGFuZCBnZXQgYSBmcmVlIGVudGVycHJp + c2UgdHJpYWwgb2YgSW5jYXBzdWxhLiBJbmNhcHN1bGEmIzgyMTc7cyBBUEkg + Z2l2ZXMgeW91IGNvbnRyb2wgb3ZlciB0aGUgc2VjdXJpdHkgYW5kIHBlcmZv + cm1hbmNlIG9mIHlvdXIgYXBwbGljYXRpb24mIzgyMTE7d2hldGhlciB5b3Ug + aGF2ZSBhIGNvbXBsZXggbWljcm9zZXJ2aWNlcyBhcmNoaXRlY3R1cmUgb3Ig + YSBXb3JkUHJlc3Mgc2l0ZSwgbGlrZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseS4gSW5jYXBzdWxhIGhhcyBhIGdsb2JhbCBuZXR3b3JrIG9mIG92ZXIg + MzAgZGF0YSBjZW50ZXJzIHRoYXQgb3B0aW1pemUgcm91dGluZyBhbmQgY2Fj + aGUgeW91ciBjb250ZW50LiBUaGUgc2FtZSBuZXR3b3JrIG9mIGRhdGEgY2Vu + dGVycyB0aGF0IGFyZSBmaWx0ZXJpbmcgeW91ciBjb250ZW50IGZvciBhdHRh + Y2tlcnMgYXJlIG9wZXJhdGluZyBhcyBhIENETiwgYW5kIHNwZWVkaW5nIHVw + IHlvdXIgYXBwbGljYXRpb24uIFRvIHRyeSBJbmNhcHN1bGEgdG9kYXksIGdv + IHRvIDxhIGhyZWY9Imh0dHBzOi8vaW5jYXBzdWxhLmNvbS8yMDE3cG9kY2Fz + dHMiPmluY2Fwc3VsYS5jb20vMjAxN3BvZGNhc3RzPC9hPiBhbmQgY2hlY2sg + aXQgb3V0LiBUaGFua3MgYWdhaW4sIEluY2Fwc3VsYS48L2Rpdj48YnIgLz4K + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3 + b3Jrc19nb19ibGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2Vk + aXQucG5nP2ZpdD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5 + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9IlRob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5n + P2ZpdD0zMDAlMkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5w + bmc/Zml0PTYxMiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + MTc1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0z + MDAlMkMyMzAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6 + ZT0zMDAlMkMyMzAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ny9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/dz02MTIgNjEydyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+U2ltcGxpZnkgY29udGludW91cyBkZWxpdmVyeSB3aXRo + IEdvQ0QsIHRoZSBvbi1wcmVtaXNlLCBvcGVuIHNvdXJjZSwgY29udGludW91 + cyBkZWxpdmVyeSB0b29sIGJ5IFRob3VnaHRXb3Jrcy4gV2l0aCBHb0NELCB5 + b3UgY2FuIGVhc2lseSBtb2RlbCBjb21wbGV4IGRlcGxveW1lbnQgd29ya2Zs + b3dzIHVzaW5nIHBpcGVsaW5lcyBhbmQgdmlzdWFsaXplIHRoZW0gZW5kLXRv + LWVuZCB3aXRoIHRoZSBWYWx1ZSBTdHJlYW0gTWFwLiBZb3UgZ2V0IGNvbXBs + ZXRlIHZpc2liaWxpdHkgaW50byBhbmQgY29udHJvbCBvZiB5b3VyIGNvbXBh + bnnigJlzIGRlcGxveW1lbnRzLiBBdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9y + Zy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4sIGZpbmQgb3V0IGhv + dyB0byBicmluZyBjb250aW51b3VzIGRlbGl2ZXJ5IHRvIHlvdXIgdGVhbXMu + IFNheSBnb29kYnllIHRvIGRlcGxveW1lbnQgcGFuaWMgYW5kIGhlbGxvIHRv + IGNvbnNpc3RlbnQsIHByZWRpY3RhYmxlIGRlbGl2ZXJpZXMuIFZpc2l0PGEg + aHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPsKgZ29jZC5vcmcvc2Vk + YWlseTwvYT4gdG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFs + IHN1cHBvcnQgYW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRp + c2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwv + cD4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVu + Y2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWls + eS9EcmVtaW8ubXAzIiBsZW5ndGg9IjY0NTM5NTMwIiB0eXBlPSJhdWRpby9t + cGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+VGhlIE1hcFJlZHVjZSBwYXBl + ciB3YXMgcHVibGlzaGVkIGJ5IEdvb2dsZSBpbiAyMDA0LiBNYXBSZWR1Y2Ug + aXMgYW4gYWxnb3JpdGhtIHRoYXQgZGVzY3JpYmVzIGhvdyB0byBkbyBsYXJn + ZS1zY2FsZSBkYXRhIHByb2Nlc3Npbmcgb24gbGFyZ2UgY2x1c3RlcnMgb2Yg + Y29tbW9kaXR5IGhhcmR3YXJlLiBUaGUgTWFwUmVkdWNlIHBhcGVyIG1hcmtl + ZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSDigJxiaWcgZGF0YeKAnSBtb3ZlbWVu + dC48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+VGhlIE1h + cFJlZHVjZSBwYXBlciB3YXMgcHVibGlzaGVkIGJ5IEdvb2dsZSBpbiAyMDA0 + LiBNYXBSZWR1Y2UgaXMgYW4gYWxnb3JpdGhtIHRoYXQgZGVzY3JpYmVzIGhv + dyB0byBkbyBsYXJnZS1zY2FsZSBkYXRhIHByb2Nlc3Npbmcgb24gbGFyZ2Ug + Y2x1c3RlcnMgb2YgY29tbW9kaXR5IGhhcmR3YXJlLiBUaGUgTWFwUmVkdWNl + IHBhcGVyIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSDigJxiaWcgZGF0 + YeKAnSBtb3ZlbWVudC4gVGhlIEhhZG9vcCBwcm9qZWN0IGlzIGFuIG9wZW4g + c291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBNYXBSZWR1Y2UgcGFwZXIu + IERvdWcgQ3V0dGluZyBhbmQgTWlrZSBDYWZhcmVsbGEgd3JvdGUgc29mdHdh + cmUgdGhhdCBhbGxvd2VkIGFueWJvZHkgdG8gdXNlIE1hcFJlZHVjZSwgYXMg + bG9uZyBhcyB0aGV5IGhhZCBzaWduaWZpY2FudCBzZXJ2ZXJDb250aW51ZSBy + ZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5T + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8 + aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0 + dW5lczpkdXJhdGlvbj4xOjA2OjU2PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0 + LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQw + OTk8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5LZXli + YXNlIHdpdGggTWF4IEtyb2huPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8yNC9rZXliYXNl + LXdpdGgtbWF4LWtyb2huLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAyNCBP + Y3QgMjAxNyAwOTowMDozOSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8/cD00MDk0PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8yNC9rZXliYXNl + LXdpdGgtbWF4LWtyb2huLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpj + b21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMTAvMjQva2V5YmFzZS13aXRoLW1heC1rcm9obi9mZWVkLzwvd2Z3 + OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFzaDpjb21t + ZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTZWN1cml0eV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0tleWJhc2VdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYXggS3JvaG5dXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQR1BdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtQdWJsaWMga2V5IGVuY3J5cHRpb25dXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtzZWN1cmUgbWVzc2Fn + aW5nXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+UHVibGljIGtleSBl + bmNyeXB0aW9uIGFsbG93cyBmb3IgZW5jcnlwdGVkLCBwcml2YXRlIG1lc3Nh + Z2VzLiBBIG1lc3NhZ2Ugc2VudCBmcm9tIEJvYiB0byBBbGljZSBnZXRzIGVu + Y3J5cHRlZCB1c2luZyBBbGljZeKAmXMgcHVibGljIGtleS4gUHVibGljIGtl + eSBlbmNyeXB0aW9uIGFsc28gYWxsb3dzIGZvciBzaWduZWQgbWVzc2FnZXPi + gJNzbyB0aGF0IHdoZW4gQWxpY2Ugc2lnbnMgYSBtZXNzYWdlLCBBbGljZSB1 + c2VzIGhlciBwcml2YXRlIGtleSBhbmQgQm9iIGNhbiB2ZXJpZnkgaXQgaWYg + Qm9iIGhhcyBoZXIgcHVibGljIGtleS4gSW4gYm90aCBjYXNlcywgQm9iIG5l + ZWRzIEFsaWNl4oCZcyBwdWJsaWMga2V5ISBJZiBCb2IgZ2V0cyB0aGF0IHB1 + YmxpYyBrZXkgZnJvbSBhbiBlbWFpbCBtZXNzYWdlLCBCb2ImbHQ7cCZndDsm + bHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9 + JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8yNC9rZXliYXNlLXdpdGgtbWF4LWtyb2huLyZxdW90OyZndDtDb250 + aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0 + aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29n + bGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRh + bi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRh + dGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIg + Y2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0 + eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMw + MDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIg + c3JjPSJodHRwczovL2kxLndwLmNvbS9zMy5hbWF6b25hd3MuY29tL2tleWJh + c2VfcHJvY2Vzc2VkX3VwbG9hZHMvOTVkNTgxNjdiNzgzMWE5MDQyY2RiYzQy + OTMxYmUzMDVfMzYwXzM2MC5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3Nz + bD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+UHVibGljIGtl + eSBlbmNyeXB0aW9uIGFsbG93cyBmb3IgZW5jcnlwdGVkLCBwcml2YXRlIG1l + c3NhZ2VzLiBBIG1lc3NhZ2Ugc2VudCBmcm9tIEJvYiB0byBBbGljZSBnZXRz + IGVuY3J5cHRlZCB1c2luZyBBbGljZeKAmXMgcHVibGljIGtleS4gUHVibGlj + IGtleSBlbmNyeXB0aW9uIGFsc28gYWxsb3dzIGZvciBzaWduZWQgbWVzc2Fn + ZXMmIzgyMTE7c28gdGhhdCB3aGVuIEFsaWNlIHNpZ25zIGEgbWVzc2FnZSwg + QWxpY2UgdXNlcyBoZXIgcHJpdmF0ZSBrZXkgYW5kIEJvYiBjYW4gdmVyaWZ5 + IGl0IGlmIEJvYiBoYXMgaGVyIHB1YmxpYyBrZXkuPC9wPgo8cD5JbiBib3Ro + IGNhc2VzLCBCb2IgbmVlZHMgQWxpY2XigJlzIHB1YmxpYyBrZXkhIElmIEJv + YiBnZXRzIHRoYXQgcHVibGljIGtleSBmcm9tIGFuIGVtYWlsIG1lc3NhZ2Us + IEJvYiBpcyB0cnVzdGluZyB0aGF0IHRoZSBlbWFpbCBtZXNzYWdlIGlzIHNl + Y3VyZSYjODIxMTthbmQgaWYgQm9iIGNhbuKAmXQgZXZlciB2ZXJpZnkgdGhh + dCBmaXJzdCBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIGtleSwgaGUgaGFzIG5v + IHdheSB0byB2ZXJpZnkgdGhlIG1lc3NhZ2VzIHRoYXQgY29tZSBhZnRlciBp + dC48L3A+CjxwPlRoaXMgaXMgdGhlIHByb2JsZW0gb2Yga2V5IGRpc3RyaWJ1 + dGlvbi48L3A+CjxwPktleSBkaXN0cmlidXRpb24gdW5kZXJtaW5lcyB0aGUg + dXNhYmlsaXR5IG9mIFBHUCBlbmNyeXB0aW9uLiBTZXJpb3VzIGVuY3J5cHRp + b24gYWR2b2NhdGVzIHdpbGwgc29tZXRpbWVzIG1lZXQgaW4gcGVyc29uIHRv + IGV4Y2hhbmdlIHBpZWNlcyBvZiBwYXBlciBjb250YWluaW5nIHB1YmxpYyBr + ZXlzLiBLZXliYXNlIGlzIGEgY29tcGFueSB0aGF0IGF0dGVtcHRzIHRvIHNv + bHZlIHRoZSBwcm9ibGVtIG9mIGtleSBkaXN0cmlidXRpb24gYnkgaGF2aW5n + IHVzZXJzIGNvbm5lY3Qgc29jaWFsIG1lZGlhIGFjY291bnRzIGFuZCBkZXZp + Y2VzIHRvIEtleWJhc2UsIGluIG9yZGVyIHRvIGNvbGxlY3RpdmVseSB2ZXJp + Znkgd2hvIHlvdSBhcmUsIGFuZCB0aGVuIGdpdmUgeW91IHRoZSBwb3dlciB0 + byBzaGFyZSB5b3VyIHB1YmxpYyBrZXkuPC9wPgo8cD5NYXggS3JvaG4gaXMg + YSBmb3VuZGVyIG9mIEtleWJhc2UsIGFuZCB3YXMgcHJldmlvdXNseSBhIGZv + dW5kZXIgb2YgU3BhcmtOb3RlcyBhbmQgT0tDdXBpZC4gTWF4IHdhcyBvbiB0 + aGUgc2hvdyBhIGZldyB5ZWFycyBhZ28gdG8gZGlzY3VzcyB0aGUgYmFzaWNz + IG9mIEtleWJhc2UsIGFuZCBpbiB0aGlzIGVwaXNvZGUgaGUgZXhwbG9yZXMg + c29tZSBvZiB0aGUgYWJzdHJhY3Rpb25zIHRoYXQgS2V5YmFzZSBoYXMgYnVp + bHQgb24gdG9wIG9mIGl0cyBjb3JlIGlkZW50aXR5IHRvb2wmIzgyMTE7S2V5 + YmFzZSBGaWxlIFN5c3RlbSwgS2V5YmFzZSBUZWFtcywgYW5kIEtleWJhc2Ug + R2l0LiBXZSBkbyBicmVhayBkb3duIHRoZSBiYXNpY3Mgb2YgS2V5YmFzZSwg + YnV0IGlmIHlvdSB3YW50IGEgbW9yZSB0aG9yb3VnaCBleHBsYW5hdGlvbiwg + eW91IG1pZ2h0IGxpa2UgdG8gY2hlY2sgb3V0IHRoYXQgb2xkZXIgZXBpc29k + ZSwgeW91IGNhbiBkb3dubG9hZCB0aGUgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgYXBwIG9uIGlPUyBvciBBbmRyb2lkIHRvIGZpbmQgYWxsIG9mIG91 + ciBvbGQgZXBpc29kZXMuPC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRy + YW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEg + aHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRw + b2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0 + IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlv + biBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBh + cnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRw + czovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMTAvU0VENDQ1LUtleWJhc2UucGRmIj5jbGljayBoZXJl + IHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8 + aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2RvLmNvL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDE3IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8x + MC8wMi9yZWFjdHZyLXdpdGgtYW5kcmV3LWltbS9kaWdpdGFsb2NlYW4vIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9k + aWdpdGFsb2NlYW4ucG5nP2ZpdD04MDAlMkM0MDAiIGRhdGEtb3JpZy1zaXpl + PSI4MDAsNDAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImRpZ2l0YWxvY2VhbiIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTMwMCUyQzE1MCIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2Rp + Z2l0YWxvY2Vhbi5wbmc/Zml0PTgwMCUyQzQwMCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS00MDE3IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9MzAw + JTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5w + bmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTcyMCUyQzM2MCA3 + MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vh + bi5wbmc/dz04MDAgODAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGlnaXRhbCBPY2VhbiBT + cGFjZXMgZ2l2ZXMgeW91IHNpbXBsZSBvYmplY3Qgc3RvcmFnZSB3aXRoIGEg + YmVhdXRpZnVsIHVzZXIgaW50ZXJmYWNlLiBZb3UgbmVlZCBhbiBlYXN5IHdh + eSB0byBob3N0IG9iamVjdHMgbGlrZSBpbWFnZXMgYW5kIHZpZGVvcy4gWW91 + ciB1c2VycyBuZWVkIHRvIHVwbG9hZCBvYmplY3RzIGxpa2UgcGRmcyBhbmQg + bXVzaWMgZmlsZXMuIFRvIHRyeSBEaWdpdGFsIE9jZWFuIFNwYWNlcywgZ28g + dG88YSBocmVmPSJodHRwOi8vZG8uY28vc2VkYWlseSI+IDxiPmRvLmNvL3Nl + ZGFpbHk8L2I+PC9hPiBhbmQgZ2V0IDIgbW9udGhzIG9mIFNwYWNlcyBwbHVz + IGEgJDEwIGNyZWRpdCB0byB1c2Ugb24gYW55IG90aGVyIERpZ2l0YWwgT2Nl + YW4gcHJvZHVjdHMmIzgyMTE7YW5kIHlvdSBnZXQgdGhpcyBjcmVkaXQgZXZl + biBpZiB5b3UgaGF2ZSBiZWVuIHdpdGggRGlnaXRhbCBPY2VhbiBmb3IgYXdo + aWxlLiBJdCYjODIxNztzIGEgbmljZSBhZGRlZCBib251cyBqdXN0IGZvciB0 + cnlpbmcgb3V0IFNwYWNlcy4gSWYgeW91IGJlY29tZSBhIGN1c3RvbWVyLCB0 + aGUgcHJpY2luZyBpcyA8aT5zaW1wbGU6IMKgPC9pPiQ1IHBlciBtb250aCBw + cmljZSBhbmQgaW5jbHVkZXMgMjUwR0Igb2Ygc3RvcmFnZSBhbmQgMVRCIG9m + IG91dGJvdW5kIGJhbmR3aWR0aC4gVGhlcmUgYXJlIG5vIGNvc3RzIHBlciBy + ZXF1ZXN0IGFuZCBhZGRpdGlvbmFsIHN0b3JhZ2UgaXMgcHJpY2VkIGF0IHRo + ZSBsb3dlc3QgcmF0ZSBhdmFpbGFibGU6ICQwLjAxIHBlciBHQiB0cmFuc2Zl + cnJlZCBhbmQgJDAuMDIgcGVyIEdCIHN0b3JlZC4gVGhlcmUgd29uJiM4MjE3 + O3QgYmUgYW55IHN1cnByaXNlcyBvbiB5b3VyIGJpbGwuIERpZ2l0YWwgT2Nl + YW4gc2ltcGxpZmllcyB0aGUgY2xvdWQmIzgyMTE7dGhleSBsb29rIGZvciBl + dmVyeSBvcHBvcnR1bml0eSB0byByZW1vdmUgZnJpY3Rpb24gZnJvbSBhIGRl + dmVsb3BlciYjODIxNztzIGV4cGVyaWVuY2UuIEkgbG92ZSBpdCwgYW5kIEkg + dGhpbmsgeW91IHdpbGwgdG9vJiM4MjExO2NoZWNrIGl0IG91dCBhdDxhIGhy + ZWY9Imh0dHA6Ly9kby5jby9zZWRhaWx5Ij4gPGI+ZG8uY28vc2VkYWlseTwv + Yj48L2E+PGI+LjwvYj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+Cjxw + PjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3d3dy5p + bmNhcHN1bGEuY29tLzIwMTdwb2RjYXN0cyI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjMxMTYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAxLzA5L2N5YmVyLXdhcmZhcmUt + d2l0aC1qYXJlZC1zbWl0aC9pbmNhcHN1bGEtbG9nby8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1s + b2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBkYXRhLW9yaWctc2l6ZT0iNTMzLDEy + NiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJpbmNhcHN1bGEtbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9MzAwJTJDNzEiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1 + bGEtbG9nby5wbmc/Zml0PTUzMyUyQzEyNiIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zMTE2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAl + MkM3MSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVzaXplPTMwMCUyQzcxIDMwMHcs + IGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28u + cG5nP3c9NTMzIDUzM3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkluY2Fwc3VsYSBjYW4gcHJv + dGVjdCB5b3VyIEFQSSBzZXJ2ZXJzIGFuZCBtaWNyb3NlcnZpY2VzIGZyb20g + cmVzcG9uZGluZyB0byB1bndhbnRlZCByZXF1ZXN0cy4gVG8gdHJ5IEluY2Fw + c3VsYSBmb3IgeW91cnNlbGYsIGdvIHRvIDxhIGhyZWY9Imh0dHBzOi8vaW5j + YXBzdWxhLmNvbS8yMDE3cG9kY2FzdHMiPmluY2Fwc3VsYS5jb20vMjAxN3Bv + ZGNhc3RzPC9hPiBhbmQgZ2V0IGEgZnJlZSBlbnRlcnByaXNlIHRyaWFsIG9m + IEluY2Fwc3VsYS4gSW5jYXBzdWxhJiM4MjE3O3MgQVBJIGdpdmVzIHlvdSBj + b250cm9sIG92ZXIgdGhlIHNlY3VyaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiB5 + b3VyIGFwcGxpY2F0aW9uJiM4MjExO3doZXRoZXIgeW91IGhhdmUgYSBjb21w + bGV4IG1pY3Jvc2VydmljZXMgYXJjaGl0ZWN0dXJlIG9yIGEgV29yZFByZXNz + IHNpdGUsIGxpa2UgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIEluY2Fw + c3VsYSBoYXMgYSBnbG9iYWwgbmV0d29yayBvZiBvdmVyIDMwIGRhdGEgY2Vu + dGVycyB0aGF0IG9wdGltaXplIHJvdXRpbmcgYW5kIGNhY2hlIHlvdXIgY29u + dGVudC4gVGhlIHNhbWUgbmV0d29yayBvZiBkYXRhIGNlbnRlcnMgdGhhdCBh + cmUgZmlsdGVyaW5nIHlvdXIgY29udGVudCBmb3IgYXR0YWNrZXJzIGFyZSBv + cGVyYXRpbmcgYXMgYSBDRE4sIGFuZCBzcGVlZGluZyB1cCB5b3VyIGFwcGxp + Y2F0aW9uLiBUbyB0cnkgSW5jYXBzdWxhIHRvZGF5LCBnbyB0byA8YSBocmVm + PSJodHRwczovL2luY2Fwc3VsYS5jb20vMjAxN3BvZGNhc3RzIj5pbmNhcHN1 + bGEuY29tLzIwMTdwb2RjYXN0czwvYT4gYW5kIGNoZWNrIGl0IG91dC4gVGhh + bmtzIGFnYWluLCBJbmNhcHN1bGEuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48 + L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczov + L3NlbmRncmlkLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iNDA3MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2VuZGdyaWQvc2VuZGdyaWQtbG9n + by8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0zMzAwJTJDNzI0IiBkYXRhLW9y + aWctc2l6ZT0iMzMwMCw3MjQiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iU2VuZEdyaWQtTG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0zMDAl + MkM2NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0xMDI0JTJDMjI1IiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwNzEgc2l6ZS1tZWRpdW0iIHNyYz0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBu + Zz9yZXNpemU9MzAwJTJDNjYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/cmVzaXplPTMw + MCUyQzY2IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2Vu + ZEdyaWQtTG9nby5wbmc/cmVzaXplPTc2OCUyQzE2OCA3Njh3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6 + ZT0xMDI0JTJDMjI1IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT03MjAlMkMxNTggNzIwdywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBu + Zz93PTIxMDAgMjEwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + U2VuZEdyaWQtTG9nby5wbmc/dz0zMTUwIDMxNTB3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Z + b3UgYXJlIHByb2dyYW1taW5nIGEgbmV3IHNlcnZpY2UgZm9yIHlvdXIgdXNl + cnMuIE9yLCB5b3UgYXJlIGhhY2tpbmcgb24gYSBzaWRlIHByb2plY3QuIFdo + YXRldmVyIHlvdSBhcmUgYnVpbGRpbmcsIHlvdSBuZWVkIHRvIHNlbmQgZW1h + aWwuIEZvciBzZW5kaW5nIGVtYWlsLCBkZXZlbG9wZXJzIHVzZSBTZW5kR3Jp + ZC4gU2VuZEdyaWQgaXMgdGhlIEFQSSBmb3IgZW1haWwsIHRydXN0ZWQgYnkg + ZGV2ZWxvcGVycy4gU2VuZCB0cmFuc2FjdGlvbmFsIGVtYWlscyB0aHJvdWdo + IHRoZSBTZW5kR3JpZCBBUEkuIEJ1aWxkIG1hcmtldGluZyBjYW1wYWlnbnMg + d2l0aCBhIGJlYXV0aWZ1bCBpbnRlcmZhY2UgZm9yIGNyYWZ0aW5nIHRoZSBw + ZXJmZWN0IGVtYWlsLiBTZW5kR3JpZCBpcyB1c2VkIGJ5IFViZXIsIEFpcmJu + YiwgYW5kIFNwb3RpZnkmIzgyMTE7YnV0IGFueWJvZHkgY2FuIHN0YXJ0IGZv + ciBmcmVlIGFuZCBnZXQgMTAwIGVtYWlscyBwZXIgZGF5LiBKdXN0IGdvIHRv + IDxhIGhyZWY9Imh0dHBzOi8vc2VuZGdyaWQuY29tL3NlZGFpbHkiPlNlbmRH + cmlkLmNvbS9zZWRhaWx5PC9hPiB0byBnZXQgc3RhcnRlZC4gWW91ciBlbWFp + bCBpcyBpbXBvcnRhbnQmIzgyMTE7bWFrZSBzdXJlIGl0IGdldHMgZGVsaXZl + cmVkIHByb3Blcmx5LCB3aXRoIFNlbmRHcmlkLCB0aGUgbW9zdCByZWxpYWJs + ZSBlbWFpbCBkZWxpdmVyeSBzZXJ2aWNlLiBHZXQgc3RhcnRlZCB3aXRoIDEw + MCBlbWFpbHMgcGVyIGRheSBhdCA8YSBocmVmPSJodHRwczovL3NlbmRncmlk + LmNvbS9zZWRhaWx5Ij5TZW5kR3JpZC5jb20vc2VkYWlseTwvYT4uPC9kaXY+ + PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij48YSBocmVmPSJodHRwczovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3lt + cGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBk + YXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9y + IHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBo + b25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9y + IGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBs + ZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBo + cmVmPSJodHRwczovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5j + b20vc2VkYWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcg + YSBzcG9uc29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBh + bG1vc3QgYSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxv + d3MgdXMgdG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24g + YSByZWd1bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8 + ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRh + aWx5L0tleWJhc2UubXAzIiBsZW5ndGg9IjU1NTI3MTYwIiB0eXBlPSJhdWRp + by9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+UHVibGljIGtleSBlbmNy + eXB0aW9uIGFsbG93cyBmb3IgZW5jcnlwdGVkLCBwcml2YXRlIG1lc3NhZ2Vz + LiBBIG1lc3NhZ2Ugc2VudCBmcm9tIEJvYiB0byBBbGljZSBnZXRzIGVuY3J5 + cHRlZCB1c2luZyBBbGljZeKAmXMgcHVibGljIGtleS4gUHVibGljIGtleSBl + bmNyeXB0aW9uIGFsc28gYWxsb3dzIGZvciBzaWduZWQgbWVzc2FnZXPigJNz + byB0aGF0IHdoZW4gQWxpY2Ugc2lnbnMgYSBtZXNzYWdlLDwvaXR1bmVzOnN1 + YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5QdWJsaWMga2V5IGVuY3J5cHRp + b24gYWxsb3dzIGZvciBlbmNyeXB0ZWQsIHByaXZhdGUgbWVzc2FnZXMuIEEg + bWVzc2FnZSBzZW50IGZyb20gQm9iIHRvIEFsaWNlIGdldHMgZW5jcnlwdGVk + IHVzaW5nIEFsaWNl4oCZcyBwdWJsaWMga2V5LiBQdWJsaWMga2V5IGVuY3J5 + cHRpb24gYWxzbyBhbGxvd3MgZm9yIHNpZ25lZCBtZXNzYWdlc+KAk3NvIHRo + YXQgd2hlbiBBbGljZSBzaWducyBhIG1lc3NhZ2UsIEFsaWNlIHVzZXMgaGVy + IHByaXZhdGUga2V5IGFuZCBCb2IgY2FuIHZlcmlmeSBpdCBpZiBCb2IgaGFz + IGhlciBwdWJsaWMga2V5LiBJbiBib3RoIGNhc2VzLCBCb2IgbmVlZHMgQWxp + Y2XigJlzIHB1YmxpYyBrZXkhIElmIEJvYiBnZXRzIHRoYXQgcHVibGljIGtl + eSBmcm9tIGFuIGVtYWlsIG1lc3NhZ2UsIEJvYkNvbnRpbnVlIHJlYWRpbmcu + Li48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6 + ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1 + cmF0aW9uPjU3OjMyPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5z + PSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQwOTQ8L3Bvc3Qt + aWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5RdWFudHVtIENvbXB1 + dGluZyBJbnRyb2R1Y3Rpb24gd2l0aCBabGF0a28gTWluZXY8L3RpdGxlPg0K + CQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzEwLzIzL3F1YW50dW0tY29tcHV0aW5nLWludHJvZHVjdGlvbi13aXRo + LXpsYXRrby1taW5ldi88L2xpbms+DQoJCTxwdWJEYXRlPk1vbiwgMjMgT2N0 + IDIwMTcgMDk6MDA6MTYgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVy + bWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vP3A9NDA5MDwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMjMvcXVhbnR1bS1j + b21wdXRpbmctaW50cm9kdWN0aW9uLXdpdGgtemxhdGtvLW1pbmV2LyNjb21t + ZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzIzL3F1YW50dW0t + Y29tcHV0aW5nLWludHJvZHVjdGlvbi13aXRoLXpsYXRrby1taW5ldi9mZWVk + Lzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4yPC9zbGFz + aDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rl + c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVu + Z2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Fs + Z29yaXRobXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtx + dWFudHVtIGNvbXB1dGluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW3F1Yml0c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1lhbGVdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVta + bGF0a28gTWluZXZdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5Db21w + dXRlciBjaGlwcyBoYXZlIHBoeXNpY2FsIGxpbWl0YXRpb25zLiBXaGVuIHRy + YW5zaXN0b3JzIGdldCB0b28gc21hbGwsIGVsZWN0cm9ucyBzdGFydCB0byBi + ZWhhdmUgaW4gd2F5cyB0aGF0IG1ha2UgdGhlIGhhcmR3YXJlIG1vZHVsZXMg + bGVzcyByZWxpYWJsZS4gT3VyIHJlbGlhYmxlIHRlY2hub2xvZ2ljYWwgcHJv + Z3Jlc3MgaGFzIGJlZW4gZW5hYmxlZCBieSBNb29yZeKAmXMgTGF3OiB0aGUg + aWRlYSB0aGF0IHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyB3ZSBjYW4gZml0 + IG9uIGEgY2hpcCBkb3VibGVzIHJvdWdobHkgZXZlcnkgMTItMTggbW9udGhz + LiBXZSBjYW7igJl0IGtlZXAgc2hyaW5raW5nIHRoZSBzaXplIG9mIHRoZXNl + IGNvbXBvbmVudHMsIGJlY2F1c2UgcGh5c2ljcyBpcyBubyBsb25nZXIgY29t + cGx5aW5nLiBRdWFudHVtIGNvbXB1dGluZyBhbGxvd3MgdXMmbHQ7cCZndDsm + bHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9 + JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8yMy9xdWFudHVtLWNvbXB1dGluZy1pbnRyb2R1Y3Rpb24td2l0aC16 + bGF0a28tbWluZXYvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7 + L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVu + Y29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0 + NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFn + ZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwx + NzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFu + LWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBz + aXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6 + IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAx + NzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIud3Au + Y29tL21lZGlhLmxpY2RuLmNvbS9tcHIvbXByL3Nocmlua25wXzIwMF8yMDAv + QUFFQUFRQUFBQUFBQUFxd0FBQUFKRFkzWWpKaU9HWTJMV0UzT1dNdE5ERXpO + QzFoTWpneUxUSmpOVGszT1dFMVpqUXpOQS5qcGc/cmVzaXplPTE3NSUyQzE3 + NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFy + aWFsOyBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw + YXJlbnQ7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc3R5bGU6IG5vcm1hbDsg + Zm9udC12YXJpYW50OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsg + dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB3aGl0ZS1zcGFjZTogcHJlLXdy + YXA7Ij5Db21wdXRlciBjaGlwcyBoYXZlIHBoeXNpY2FsIGxpbWl0YXRpb25z + LiBXaGVuIHRyYW5zaXN0b3JzIGdldCB0b28gc21hbGwsIGVsZWN0cm9ucyBz + dGFydCB0byBiZWhhdmUgaW4gd2F5cyB0aGF0IG1ha2UgdGhlIGhhcmR3YXJl + IG1vZHVsZXMgbGVzcyByZWxpYWJsZS4gT3VyIHJlbGlhYmxlIHRlY2hub2xv + Z2ljYWwgcHJvZ3Jlc3MgaGFzIGJlZW4gZW5hYmxlZCBieSBNb29yZeKAmXMg + TGF3OiB0aGUgaWRlYSB0aGF0IHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyB3 + ZSBjYW4gZml0IG9uIGEgY2hpcCBkb3VibGVzIHJvdWdobHkgZXZlcnkgMTIt + MTggbW9udGhzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNp + emU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6ICMwMDAwMDA7 + IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXdlaWdodDog + NDAwOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFs + OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHZlcnRpY2FsLWFsaWduOiBiYXNl + bGluZTsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyI+V2UgY2Fu4oCZdCBrZWVw + IHNocmlua2luZyB0aGUgc2l6ZSBvZiB0aGVzZSBjb21wb25lbnRzLCBiZWNh + dXNlIHBoeXNpY3MgaXMgbm8gbG9uZ2VyIGNvbXBseWluZy4gPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1p + bHk6IEFyaWFsOyBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjog + dHJhbnNwYXJlbnQ7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc3R5bGU6IG5v + cm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjog + bm9uZTsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB3aGl0ZS1zcGFjZTog + cHJlLXdyYXA7Ij5RdWFudHVtIGNvbXB1dGluZyBhbGxvd3MgdXMgdG8gb3Bl + cmF0ZSBvbiBxdWJpdHMgcmF0aGVyIHRoYW4gYml0cywgZ2l2aW5nIHVzIGJl + dHRlciBwYXJhbGxlbGlzbSBhbmQgY29udGludWVkIHJlbGlhYmxlIHRlY2hu + b2xvZ2ljYWwgcHJvZ3Jlc3MuIFF1YW50dW0gY29tcHV0aW5nIGlzIHN0aWxs + IG1vc3RseSBhbiBhcmVhIG9mIHJlc2VhcmNoIHJhdGhlciB0aGFuIHByb2R1 + Y3Rpb24gc3lzdGVtcyYjODIxMTtidXQgaXQgaXMgcmFwaWRseSBhcHByb2Fj + aGluZyB1c2FiaWxpdHksIGFuZCBabGF0a28gTWluZXYgam9pbnMgdGhlIHNo + b3cgdG8gZXhwbGFpbiBob3cgcXVhbnR1bSBjb21wdXRpbmcgd29ya3MsIGFu + ZCB3aHkgc29mdHdhcmUgZW5naW5lZXJzIHNob3VsZCBjYXJlLjwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFt + aWx5OiBBcmlhbDsgY29sb3I6ICMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6 + IHRyYW5zcGFyZW50OyBmb250LXdlaWdodDogNDAwOyBmb250LXN0eWxlOiBu + b3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyB0ZXh0LWRlY29yYXRpb246 + IG5vbmU7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgd2hpdGUtc3BhY2U6 + IHByZS13cmFwOyI+WmxhdGtvIGlzIGEgUGhEIGNhbmRpZGF0ZSBhdCB0aGUg + WWFsZSBRdWFudHVtIEluZm9ybWF0aW9uIExhYi4gVG9kYXkgaGUgZGVzY3Jp + YmVzIGhvdyBxdWJpdHMgd29yaywgd2hpY2ggYWxnb3JpdGhtcyBxdWFudHVt + IGNvbXB1dGluZyBpbXBhY3RzLCBhbmQgd2hpY2ggcGFydHMgb2YgbW9kZXJu + IGNvbXB1dGVyIGFyY2hpdGVjdHVyZSB3aWxsIHdvcmsgb24gYSBxdWFudHVt + IGNvbXB1dGVyLiBXZSBtYXkgaGF2ZSB0byB0aHJvdyBvdXQgdGhlIFZvbiBO + ZXVtYW5uIGFyY2hpdGVjdHVyZSB3aGVuIGl0IGNvbWVzIHRvIHF1YW50dW0h + IDwvc3Bhbj48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlw + dCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdp + bmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJo + dHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3Rz + LmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1v + bnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZp + Y2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmlu + ZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TRUQ0NDQtUXVhbnR1bS1Db21wdXRpbmcucGRmIj5jbGljayBo + ZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9w + Pgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cHM6Ly9kaWNlLmNvbS9z + ZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzExMiIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDEvMDkvY3liZXItd2FyZmFyZS13aXRoLWphcmVkLXNtaXRoL2Rp + Y2UtbG9nbzJ4LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDEvZGljZS1sb2dvQDJ4LnBuZz9maXQ9MjU2JTJDMTI4IiBk + YXRhLW9yaWctc2l6ZT0iMjU2LDEyOCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJkaWNlLWxvZ29AMngiIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP2ZpdD0y + NTYlMkMxMjgiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP2ZpdD0yNTYlMkMxMjgiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzExMiBzaXplLWZ1bGwiIHNyYz0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5n + P3Jlc2l6ZT0yNTYlMkMxMjgiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+RGljZSBoZWxwcyB5b3Ug + YWNjZWxlcmF0ZSB5b3VyIHRlY2ggY2FyZWVyLiBXaGV0aGVyIHlvdeKAmXJl + IGFjdGl2ZWx5IGxvb2tpbmcgZm9yIGEgam9iIG9yIG5lZWQgaW5zaWdodHMg + dG8gZ3JvdyBpbiB5b3VyIHJvbGUsIERpY2UgaGFzIHRoZSByZXNvdXJjZXMg + eW91IG5lZWQuIERpY2XigJlzIG1vYmlsZSBhcHAgaXMgdGhlIGZhc3Rlc3Qg + YW5kIGVhc2llc3Qgd2F5IHRvIGdldCBhaGVhZC4gU2VhcmNoIHRob3VzYW5k + cyBvZiB0ZWNoIGpvYnMg4oCTIGZyb20gc29mdHdhcmUgZW5naW5lZXJpbmcg + dG8gVUkvVVggdG8gcHJvZHVjdCBtYW5hZ2VtZW50LiBEaXNjb3ZlciB5b3Vy + IHdvcnRoIHdpdGggRGljZeKAmXMgU2FsYXJ5IFByZWRpY3RvciBiYXNlZCBv + biB5b3VyIHVuaXF1ZSBza2lsbCBzZXQuIFVuY292ZXIgbmV3IG9wcG9ydHVu + aXRpZXMgd2l0aCBEaWNl4oCZcyBuZXcgY2FyZWVyIHBhdGhpbmcgdG9vbCB3 + aGljaCBjYW4gZ2l2ZSB5b3UgaW5zaWdodHMgYWJvdXQgdGhlIGJlc3QgdHlw + ZXMgb2Ygcm9sZXMgdG8gdHJhbnNpdGlvbiB0byDigJMgYW5kIHRoZSBza2ls + bHMgeW914oCZbGwgbmVlZCB0byBnZXQgdGhlcmUuIE1hbmFnZSB5b3VyIHRl + Y2ggY2FyZWVyIGFuZCBkb3dubG9hZCB0aGUgRGljZSBDYXJlZXJzIGFwcCBv + biBBbmRyb2lkIG9yIGlPUyB0b2RheS4gU28gY2hlY2sgb3V0IERpY2UgYW5k + IHN1cHBvcnQgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIGdvIHRvIDxh + IGhyZWY9Imh0dHBzOi8vRGljZS5jb20vc2VkYWlseSI+RGljZS5jb20vc2Vk + YWlseTwvYT4uIFRoYW5rcyB0byBEaWNlIGZvciBiZWluZyBhIHNwb25zb3Ig + b2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuPC9zcGFuPgo8cD48L3A+ + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iNDA3MSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3Mvc2VuZGdyaWQvc2VuZGdyaWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5n + P2ZpdD0zMzAwJTJDNzI0IiBkYXRhLW9yaWctc2l6ZT0iMzMwMCw3MjQiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + U2VuZEdyaWQtTG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1Nl + bmRHcmlkLUxvZ28ucG5nP2ZpdD0zMDAlMkM2NiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28u + cG5nP2ZpdD0xMDI0JTJDMjI1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTQwNzEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz9yZXNpemU9MzAwJTJDNjYiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvU2Vu + ZEdyaWQtTG9nby5wbmc/cmVzaXplPTMwMCUyQzY2IDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/cmVzaXpl + PTc2OCUyQzE2OCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT0xMDI0JTJDMjI1IDEwMjR3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5n + P3Jlc2l6ZT03MjAlMkMxNTggNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9TZW5kR3JpZC1Mb2dvLnBuZz93PTIxMDAgMjEwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/dz0z + MTUwIDMxNTB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Zb3UgYXJlIHByb2dyYW1taW5nIGEg + bmV3IHNlcnZpY2UgZm9yIHlvdXIgdXNlcnMuIE9yLCB5b3UgYXJlIGhhY2tp + bmcgb24gYSBzaWRlIHByb2plY3QuIFdoYXRldmVyIHlvdSBhcmUgYnVpbGRp + bmcsIHlvdSBuZWVkIHRvIHNlbmQgZW1haWwuIEZvciBzZW5kaW5nIGVtYWls + LCBkZXZlbG9wZXJzIHVzZSBTZW5kR3JpZC4gU2VuZEdyaWQgaXMgdGhlIEFQ + SSBmb3IgZW1haWwsIHRydXN0ZWQgYnkgZGV2ZWxvcGVycy4gU2VuZCB0cmFu + c2FjdGlvbmFsIGVtYWlscyB0aHJvdWdoIHRoZSBTZW5kR3JpZCBBUEkuIEJ1 + aWxkIG1hcmtldGluZyBjYW1wYWlnbnMgd2l0aCBhIGJlYXV0aWZ1bCBpbnRl + cmZhY2UgZm9yIGNyYWZ0aW5nIHRoZSBwZXJmZWN0IGVtYWlsLiBTZW5kR3Jp + ZCBpcyB1c2VkIGJ5IFViZXIsIEFpcmJuYiwgYW5kIFNwb3RpZnkmIzgyMTE7 + YnV0IGFueWJvZHkgY2FuIHN0YXJ0IGZvciBmcmVlIGFuZCBnZXQgMTAwIGVt + YWlscyBwZXIgZGF5LiBKdXN0IGdvIHRvIDxhIGhyZWY9Imh0dHBzOi8vc2Vu + ZGdyaWQuY29tL3NlZGFpbHkiPlNlbmRHcmlkLmNvbS9zZWRhaWx5PC9hPiB0 + byBnZXQgc3RhcnRlZC4gWW91ciBlbWFpbCBpcyBpbXBvcnRhbnQmIzgyMTE7 + bWFrZSBzdXJlIGl0IGdldHMgZGVsaXZlcmVkIHByb3Blcmx5LCB3aXRoIFNl + bmRHcmlkLCB0aGUgbW9zdCByZWxpYWJsZSBlbWFpbCBkZWxpdmVyeSBzZXJ2 + aWNlLiBHZXQgc3RhcnRlZCB3aXRoIDEwMCBlbWFpbHMgcGVyIGRheSBhdCA8 + YSBocmVmPSJodHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5Ij5TZW5kR3Jp + ZC5jb20vc2VkYWlseTwvYT4uPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3d3 + dy5pbmNhcHN1bGEuY29tLzIwMTdwb2RjYXN0cyI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjMxMTYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAxLzA5L2N5YmVyLXdhcmZh + cmUtd2l0aC1qYXJlZC1zbWl0aC9pbmNhcHN1bGEtbG9nby8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3Vs + YS1sb2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBkYXRhLW9yaWctc2l6ZT0iNTMz + LDEyNiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJpbmNhcHN1bGEtbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9MzAwJTJDNzEiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/Zml0PTUzMyUyQzEyNiIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0zMTE2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0z + MDAlMkM3MSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVzaXplPTMwMCUyQzcxIDMw + MHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxv + Z28ucG5nP3c9NTMzIDUzM3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkluY2Fwc3VsYSBjYW4g + cHJvdGVjdCB5b3VyIEFQSSBzZXJ2ZXJzIGFuZCBtaWNyb3NlcnZpY2VzIGZy + b20gcmVzcG9uZGluZyB0byB1bndhbnRlZCByZXF1ZXN0cy4gVG8gdHJ5IElu + Y2Fwc3VsYSBmb3IgeW91cnNlbGYsIGdvIHRvIDxhIGhyZWY9Imh0dHBzOi8v + aW5jYXBzdWxhLmNvbS8yMDE3cG9kY2FzdHMiPmluY2Fwc3VsYS5jb20vMjAx + N3BvZGNhc3RzPC9hPiBhbmQgZ2V0IGEgZnJlZSBlbnRlcnByaXNlIHRyaWFs + IG9mIEluY2Fwc3VsYS4gSW5jYXBzdWxhJiM4MjE3O3MgQVBJIGdpdmVzIHlv + dSBjb250cm9sIG92ZXIgdGhlIHNlY3VyaXR5IGFuZCBwZXJmb3JtYW5jZSBv + ZiB5b3VyIGFwcGxpY2F0aW9uJiM4MjExO3doZXRoZXIgeW91IGhhdmUgYSBj + b21wbGV4IG1pY3Jvc2VydmljZXMgYXJjaGl0ZWN0dXJlIG9yIGEgV29yZFBy + ZXNzIHNpdGUsIGxpa2UgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIElu + Y2Fwc3VsYSBoYXMgYSBnbG9iYWwgbmV0d29yayBvZiBvdmVyIDMwIGRhdGEg + Y2VudGVycyB0aGF0IG9wdGltaXplIHJvdXRpbmcgYW5kIGNhY2hlIHlvdXIg + Y29udGVudC4gVGhlIHNhbWUgbmV0d29yayBvZiBkYXRhIGNlbnRlcnMgdGhh + dCBhcmUgZmlsdGVyaW5nIHlvdXIgY29udGVudCBmb3IgYXR0YWNrZXJzIGFy + ZSBvcGVyYXRpbmcgYXMgYSBDRE4sIGFuZCBzcGVlZGluZyB1cCB5b3VyIGFw + cGxpY2F0aW9uLiBUbyB0cnkgSW5jYXBzdWxhIHRvZGF5LCBnbyB0byA8YSBo + cmVmPSJodHRwczovL2luY2Fwc3VsYS5jb20vMjAxN3BvZGNhc3RzIj5pbmNh + cHN1bGEuY29tLzIwMTdwb2RjYXN0czwvYT4gYW5kIGNoZWNrIGl0IG91dC4g + VGhhbmtzIGFnYWluLCBJbmNhcHN1bGEuPC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + czovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ni9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0i + MjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9m + aXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBz + aXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9z + eW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9t + IGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNr + bGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVh + Y2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwczovL3N5 + bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20vc2VkYWlseTwvYT4u + IFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBzcG9uc29yIG9mIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1vc3QgYSB5ZWFyIG5v + dy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3MgdXMgdG8gZGVsaXZl + ciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSByZWd1bGFyIGJhc2lz + LjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+CjxwPiZuYnNwOzwvcD4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6 + ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxp + YnN5bi5jb20vc2VkYWlseS9RdWFudHVtQ29tcHV0aW5nLm1wMyIgbGVuZ3Ro + PSI1ODM2MjQyOCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPkNvbXB1dGVyIGNoaXBzIGhhdmUgcGh5c2ljYWwgbGltaXRhdGlv + bnMuIFdoZW4gdHJhbnNpc3RvcnMgZ2V0IHRvbyBzbWFsbCwgZWxlY3Ryb25z + IHN0YXJ0IHRvIGJlaGF2ZSBpbiB3YXlzIHRoYXQgbWFrZSB0aGUgaGFyZHdh + cmUgbW9kdWxlcyBsZXNzIHJlbGlhYmxlLiBPdXIgcmVsaWFibGUgdGVjaG5v + bG9naWNhbCBwcm9ncmVzcyBoYXMgYmVlbiBlbmFibGVkIGJ5IE1vb3Jl4oCZ + cyBMYXc6IHRoZSBpZGVhIHRoYXQgdGhlIG51bWJlciBvZiBjLi4uPC9pdHVu + ZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkNvbXB1dGVyIGNoaXBz + IGhhdmUgcGh5c2ljYWwgbGltaXRhdGlvbnMuIFdoZW4gdHJhbnNpc3RvcnMg + Z2V0IHRvbyBzbWFsbCwgZWxlY3Ryb25zIHN0YXJ0IHRvIGJlaGF2ZSBpbiB3 + YXlzIHRoYXQgbWFrZSB0aGUgaGFyZHdhcmUgbW9kdWxlcyBsZXNzIHJlbGlh + YmxlLiBPdXIgcmVsaWFibGUgdGVjaG5vbG9naWNhbCBwcm9ncmVzcyBoYXMg + YmVlbiBlbmFibGVkIGJ5IE1vb3Jl4oCZcyBMYXc6IHRoZSBpZGVhIHRoYXQg + dGhlIG51bWJlciBvZiBjb21wb25lbnRzIHdlIGNhbiBmaXQgb24gYSBjaGlw + IGRvdWJsZXMgcm91Z2hseSBldmVyeSAxMi0xOCBtb250aHMuIFdlIGNhbuKA + mXQga2VlcCBzaHJpbmtpbmcgdGhlIHNpemUgb2YgdGhlc2UgY29tcG9uZW50 + cywgYmVjYXVzZSBwaHlzaWNzIGlzIG5vIGxvbmdlciBjb21wbHlpbmcuIFF1 + YW50dW0gY29tcHV0aW5nIGFsbG93cyB1c0NvbnRpbnVlIHJlYWRpbmcuLi48 + L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhw + bGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0 + aW9uPjE6MDA6MzA8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9 + ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+NDA5MDwvcG9zdC1p + ZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPlNtYXJ0IENvbnRyYWN0 + IFNlY3VyaXR5IHdpdGggRW1pbiBHw7xuIFNpcmVyPC90aXRsZT4NCgkJPGxp + bms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8x + MC8yMC80MDg1LzwvbGluaz4NCgkJPHB1YkRhdGU+RnJpLCAyMCBPY3QgMjAx + NyAwOTowMDo0MyArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxp + bms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8/cD00MDg1PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8yMC80MDg1LyNjb21tZW50 + czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzIwLzQwODUvZmVlZC88 + L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MTwvc2xhc2g6 + Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCbG9ja2NoYWlu + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NlY3VyaXR5XV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbY3J5cHRvY3VycmVu + Y3ldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtFbWluIEfD + vG4gU2lyZXJdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVto + YXNlZWIgcXVyZXNoaV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0luaXRpYXRpdmUgZm9yIENyeXB0b2N1cnJlbmNpZXMgYW5kIENvbnRy + YWN0c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3NtYXJ0 + IGNvbnRyYWN0c11dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkEgc21h + cnQgY29udHJhY3QgaXMgYSBwcm9ncmFtIHRoYXQgYWxsb3dzIGZvciBmaW5h + bmNpYWwgdHJhbnNhY3Rpb25zLiBTbWFydCBjb250cmFjdHMgYXJlIHVzdWFs + bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBFdGhlcmV1bSBwbGF0Zm9ybSwgd2hp + Y2ggaGFzIGEgbGFuZ3VhZ2UgY2FsbGVkIFNvbGlkaXR5IHRoYXQgbWFrZXMg + aXQgZWFzeSB0byBwcm9ncmFtIHNtYXJ0IGNvbnRyYWN0cy4gU29tZWRheSwg + d2Ugd2lsbCBoYXZlIHNtYXJ0IGNvbnRyYWN0cyBpc3N1aW5nIGluc3VyYW5j + ZSwgcHJvY2Vzc2luZyBsZWdhbCBjbGFpbXMsIGFuZCBleGVjdXRpbmcgYWNj + b3VudGluZyB0cmFuc2FjdGlvbnMuIFNtYXJ0IGNvbnRyYWN0cyBpbnZvbHZl + IG1vbmV5LCBhbmQgdGhleSBhcmUgbGlrZWx5IHRvIHRyYW5zYWN0IHdpdGgg + Y3J5cHRvY3VycmVuY2llcy4gVGhhdCBtYWtlcyB0aGVtIHJpcGUgdGFyZ2V0 + cyBmb3IgYXR0YWNrZXJzLiBXaGF0IGFyZSZsdDtwJmd0OyZsdDthIGNsYXNz + PSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzIwLzQw + ODUvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0 + Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFb + Q0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJl + bmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJl + bmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwg + d3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9y + ZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4 + LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3Bicy50 + d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvNTkzMTkyNzY3ODg4NjI5NzYwLzN0 + RlYzTjBrLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPkEgc21hcnQgY29udHJhY3QgaXMgYSBwcm9ncmFtIHRo + YXQgYWxsb3dzIGZvciBmaW5hbmNpYWwgdHJhbnNhY3Rpb25zLiBTbWFydCBj + b250cmFjdHMgYXJlIHVzdWFsbHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBFdGhl + cmV1bSBwbGF0Zm9ybSwgd2hpY2ggaGFzIGEgbGFuZ3VhZ2UgY2FsbGVkIFNv + bGlkaXR5IHRoYXQgbWFrZXMgaXQgZWFzeSB0byBwcm9ncmFtIHNtYXJ0IGNv + bnRyYWN0cy4gU29tZWRheSwgd2Ugd2lsbCBoYXZlIHNtYXJ0IGNvbnRyYWN0 + cyBpc3N1aW5nIGluc3VyYW5jZSwgcHJvY2Vzc2luZyBsZWdhbCBjbGFpbXMs + IGFuZCBleGVjdXRpbmcgYWNjb3VudGluZyB0cmFuc2FjdGlvbnMuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TbWFy + dCBjb250cmFjdHMgaW52b2x2ZSBtb25leSwgYW5kIHRoZXkgYXJlIGxpa2Vs + eSB0byB0cmFuc2FjdCB3aXRoIGNyeXB0b2N1cnJlbmNpZXMuIFRoYXQgbWFr + ZXMgdGhlbSByaXBlIHRhcmdldHMgZm9yIGF0dGFja2Vycy4gV2hhdCBhcmUg + dGhlIHZ1bG5lcmFiaWxpdGllcyBvZiBzbWFydCBjb250cmFjdHM/IFdoYXQg + Y2FuIHdlIGRvIHRvIGVuc3VyZSB0aGUgc2FmZXR5IG9mIGEgaGlnaCB0aHJv + dWdocHV0LCBhdXRvbWF0ZWQgZmluYW5jaWFsIHN5c3RlbT88L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkluIHRvZGF5 + 4oCZcyBlcGlzb2RlLCBIYXNlZWIgUXVyZXNoaSB0YWxrcyB0byBFbWluIEfD + vG4gU2lyZXIsIGEgcHJvZmVzc29yIGF0IENvcm5lbGwgVW5pdmVyc2l0eSB3 + aGVyZSBoZSBpcyBjby1kaXJlY3RvciBvZiB0aGUgSW5pdGlhdGl2ZSBmb3Ig + Q3J5cHRvY3VycmVuY2llcyBhbmQgQ29udHJhY3RzLiBUaGV5IGRpc2N1c3Mg + aG93IHNtYXJ0IGNvbnRyYWN0cyB3b3JrIGFuZCBob3cgdG8gc2VjdXJlIHRo + ZW0uIEhhc2VlYiBhbmQgRW1pbiBhcmUgYm90aCB3b3JraW5nIGZ1bGwtdGlt + ZSBvbiBjcnlwdG9jdXJyZW5jaWVzLCB3aGljaCBtYWtlcyBmb3IgYSBkZXRh + aWxlZCB0ZWNobmljYWwgZGlzY3Vzc2lvbi4gPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbiBvdXIgcHJldmlvdXMg + ZXBpc29kZSBhYm91dCB0aGUgREFPIGhhY2ssIEVtaW4gR8O8biBTaXJlciB3 + YXMgb25lIG9mIHRoZSBwcm90YWdvbmlzdHMgb2YgdGhlIHN0b3J5LiBZb3Ug + Y2FuIGZpbmQgdGhhdCBlcGlzb2RlIGFzIHdlbGwgYXMgYWxsIG9mIG91ciBv + bGQgZXBpc29kZXMgYnkgZG93bmxvYWRpbmc8L3NwYW4+IDxhIGhyZWY9Imh0 + dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvc29mdHdhcmUtZW5naW5l + ZXJpbmctZGFpbHktcG9kY2FzdC1hcHAvaWQxMjUzNzM0NDI2P210PTgiPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dGhlIFNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5IGFwcCBmb3IgaU9TPC9zcGFuPjwvYT48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBhbmQgPC9zcGFuPjxhIGhyZWY9 + Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9p + ZD1jb20ua29hbGF0ZWEudGhlaG9sbGlkYXlpbm4uc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmZv + ciBBbmRyb2lkPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPi4gV2UgYWxzbyBoYXZlIHNldmVyYWwgb3RoZXIgZXBpc29kZXMg + d2l0aCBIYXNlZWIuPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8 + cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/C + oDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2Vl + ZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBm + aXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3Jp + cHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZv + ciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0i + aHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL1NFRDQ0My1TbWFydC1Db250cmFjdC1TZWN1 + cml0eS5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8KgdGhpcyBzaG934oCZcyB0 + cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xh + c3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwczovL3NlbmRncmlkLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iNDA3MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2VuZGdyaWQvc2VuZGdy + aWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0zMzAwJTJDNzI0IiBk + YXRhLW9yaWctc2l6ZT0iMzMwMCw3MjQiIGRhdGEtY29tbWVudHMtb3BlbmVk + PSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9u + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRl + cl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsw + JnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iU2VuZEdyaWQtTG9nbyIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2Zp + dD0zMDAlMkM2NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP2ZpdD0xMDI0JTJDMjI1 + IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwNzEgc2l6ZS1tZWRpdW0i + IHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1M + b2dvLnBuZz9yZXNpemU9MzAwJTJDNjYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/cmVz + aXplPTMwMCUyQzY2IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvU2VuZEdyaWQtTG9nby5wbmc/cmVzaXplPTc2OCUyQzE2OCA3Njh3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5n + P3Jlc2l6ZT0xMDI0JTJDMjI1IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL1NlbmRHcmlkLUxvZ28ucG5nP3Jlc2l6ZT03MjAlMkMxNTgg + NzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TZW5kR3JpZC1M + b2dvLnBuZz93PTIxMDAgMjEwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMTAvU2VuZEdyaWQtTG9nby5wbmc/dz0zMTUwIDMxNTB3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5Zb3UgYXJlIHByb2dyYW1taW5nIGEgbmV3IHNlcnZpY2UgZm9yIHlv + dXIgdXNlcnMuIE9yLCB5b3UgYXJlIGhhY2tpbmcgb24gYSBzaWRlIHByb2pl + Y3QuIFdoYXRldmVyIHlvdSBhcmUgYnVpbGRpbmcsIHlvdSBuZWVkIHRvIHNl + bmQgZW1haWwuIEZvciBzZW5kaW5nIGVtYWlsLCBkZXZlbG9wZXJzIHVzZSBT + ZW5kR3JpZC4gU2VuZEdyaWQgaXMgdGhlIEFQSSBmb3IgZW1haWwsIHRydXN0 + ZWQgYnkgZGV2ZWxvcGVycy4gU2VuZCB0cmFuc2FjdGlvbmFsIGVtYWlscyB0 + aHJvdWdoIHRoZSBTZW5kR3JpZCBBUEkuIEJ1aWxkIG1hcmtldGluZyBjYW1w + YWlnbnMgd2l0aCBhIGJlYXV0aWZ1bCBpbnRlcmZhY2UgZm9yIGNyYWZ0aW5n + IHRoZSBwZXJmZWN0IGVtYWlsLiBTZW5kR3JpZCBpcyB1c2VkIGJ5IFViZXIs + IEFpcmJuYiwgYW5kIFNwb3RpZnkmIzgyMTE7YnV0IGFueWJvZHkgY2FuIHN0 + YXJ0IGZvciBmcmVlIGFuZCBnZXQgMTAwIGVtYWlscyBwZXIgZGF5LiBKdXN0 + IGdvIHRvIDxhIGhyZWY9Imh0dHBzOi8vc2VuZGdyaWQuY29tL3NlZGFpbHki + PlNlbmRHcmlkLmNvbS9zZWRhaWx5PC9hPiB0byBnZXQgc3RhcnRlZC4gWW91 + ciBlbWFpbCBpcyBpbXBvcnRhbnQmIzgyMTE7bWFrZSBzdXJlIGl0IGdldHMg + ZGVsaXZlcmVkIHByb3Blcmx5LCB3aXRoIFNlbmRHcmlkLCB0aGUgbW9zdCBy + ZWxpYWJsZSBlbWFpbCBkZWxpdmVyeSBzZXJ2aWNlLiBHZXQgc3RhcnRlZCB3 + aXRoIDEwMCBlbWFpbHMgcGVyIGRheSBhdCA8YSBocmVmPSJodHRwczovL3Nl + bmRncmlkLmNvbS9zZWRhaWx5Ij5TZW5kR3JpZC5jb20vc2VkYWlseTwvYT4u + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vcGFya215Y2xvdWQuY29tL3NlZGFp + bHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDMwIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3ds + b2dvcy9wYXJrbXljbG91ZC9wcmludC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpw + Zz9maXQ9NjAwJTJDMTIzIiBkYXRhLW9yaWctc2l6ZT0iNjAwLDEyMyIgZGF0 + YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90 + O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Ny + ZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29w + eXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7UHJpbnQmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MSZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9IlByaW50IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUGFya015 + Q2xvdWRsb2dvLmpwZz9maXQ9MzAwJTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlDbG91ZGxvZ28u + anBnP2ZpdD02MDAlMkMxMjMiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + NDAzMCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzEwL1BhcmtNeUNsb3VkbG9nby5qcGc/cmVzaXplPTMwMCUyQzYyIiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1Bh + cmtNeUNsb3VkbG9nby5qcGc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz93 + PTYwMCA2MDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtN + eUNsb3VkbG9nby5qcGc/cmVzaXplPTU5NSUyQzEyMyA1OTV3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5FdmVyeSBzZWNvbmQgeW91ciBjbG91ZCBzZXJ2ZXJzIGFyZSBydW5u + aW5nLCB0aGV5IGFyZSBjb3N0aW5nIHlvdSBtb25leS4gU3RvcCBwYXlpbmcg + Zm9yIGlkbGUgY2xvdWQgaW5zdGFuY2VzIGFuZCBWTXMuIENvbnRyb2wgdGhl + IGNvc3Qgb2YgeW91ciBjbG91ZCB3aXRoIFBhcmtNeUNsb3VkLiBQYXJrTXlD + bG91ZCBhdXRvbWF0aWNhbGx5IHR1cm5zIG9mZiBjbG91ZCByZXNvdXJjZXMg + d2hlbiB5b3UgZG9u4oCZdCBuZWVkIHRoZW0uIFdoZXRoZXIgeW91IGFyZSBv + biBBV1MsIEF6dXJlLCBvciBHb29nbGUgQ2xvdWQsIGl04oCZcyBlYXN5IHRv + IHN0YXJ0IHNhdmluZyBtb25leSB3aXRoIFBhcmtNeUNsb3VkLiBZb3Ugc2ln + biB1cCBmb3IgUGFya015Q2xvdWQsIHlvdSBjb25uZWN0IHRvIHlvdXIgY2xv + dWQgcHJvdmlkZXIsIGFuZCBQYXJrTXlDbG91ZCBnaXZlcyB5b3UgYSBkYXNo + Ym9hcmQgb2YgYWxsIHlvdXIgcmVzb3VyY2VzJiM4MjExO2luY2x1ZGluZyB0 + aGVpciBjb3N0cy4gRnJvbSB0aGUgZGFzaGJvYXJkLCB5b3UgY2FuIGF1dG9t + YXRpY2FsbHkgc2NoZWR1bGUgd2hlbiB5b3VyIGRpZmZlcmVudCBjbG91ZCBp + bnN0YW5jZXMgZ2V0IHR1cm5lZCBvbiBvciBvZmYg4oCTIHNhdmluZyB5b3Ug + NjUlIG9yIG1vcmUuIEFkZGl0aW9uYWxseSwgeW91IGNhbiBtYW5hZ2UgZGF0 + YWJhc2VzLCBhdXRvIHNjYWxpbmcgZ3JvdXBzIGFuZCBzZXQgdXAgbG9naWNh + bCBncm91cHMgb2Ygc2VydmVycyB0byB0dXJuIG9mZiBkdXJpbmcgbmlnaHRz + IGFuZCB3ZWVrZW5kcyB3aGVuIHlvdSBkb27igJl0IG5lZWQgdGhlbSYjODIx + MTthbmQgeW91IGNhbiBzZWUgaG93IG11Y2ggbW9uZXkgeW91IGFyZSBzYXZp + bmcuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9wYXJrbXljbG91ZC5jb20vc2Vk + YWlseSI+cGFya215Y2xvdWQuY29tL3NlZGFpbHk8L2E+IHRvIGdldCAkMTAw + IGluIGZyZWUgY3JlZGl0IGZvciBQYXJrTXlDbG91ZCBmb3IgU0UgRGFpbHkg + bGlzdGVuZXJzLiBQYXJrTXlDbG91ZCBpcyB1c2VkIGJ5IE1jRG9uYWxk4oCZ + cywgQ2FwaXRhbE9uZSwgYW5kIEZveCwgYW5kIHNhdmVzIGN1c3RvbWVycyB0 + ZW5zIG9mIHRob3VzYW5kcyBvZiBkb2xsYXJzIGV2ZXJ5IG1vbnRoLiBHbyB0 + byA8YSBocmVmPSJodHRwOi8vcGFya215Y2xvdWQuY29tL3NlZGFpbHkiPnBh + cmtteWNsb3VkLmNvbS9zZWRhaWx5PC9hPiwgYW5kIGN1dCB0aGUgY29zdCBv + ZiB5b3VyIGNsb3VkIHRvZGF5LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9i + aXQubHkvMnlCdUtCOSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjQwOTgi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL3JheWd1bi9yYXlndW5fbWFzdGVyLWxvZ28tY2xl + YXJzcGFjZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL1JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9m + aXQ9MTE2MSUyQzMxOCIgZGF0YS1vcmlnLXNpemU9IjExNjEsMzE4IiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlJh + eWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBn + P2ZpdD0zMDAlMkM4MiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNl + LmpwZz9maXQ9MTAyNCUyQzI4MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFn + ZS00MDk4IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP3Jl + c2l6ZT0zMDAlMkM4MiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8xMC9SYXlndW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5q + cGc/cmVzaXplPTMwMCUyQzgyIDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP3Jl + c2l6ZT03NjglMkMyMTAgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8xMC9SYXlndW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXpl + PTEwMjQlMkMyODAgMTAyNHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP3Jlc2l6ZT03 + MjAlMkMxOTcgNzIwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9S + YXlndW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/dz0xMTYxIDExNjF3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PldoZW4geW91ciBhcHBsaWNhdGlvbiBpcyBmYWlsaW5nIG9uIGEgdXNlcuKA + mXMgZGV2aWNlLCBob3cgZG8geW91IGZpbmQgb3V0IGFib3V0IGl0PyBSYXln + dW4gbGV0cyB5b3Ugc2VlIGV2ZXJ5IHByb2JsZW0gaW4geW91ciBzb2Z0d2Fy + ZSBhbmQgaG93IHRvIGZpeCBpdC4gUmF5Z3VuIGJyaW5ncyB0b2dldGhlciBj + cmFzaCByZXBvcnRpbmcsIHJlYWwgdXNlciBtb25pdG9yaW5nLCB1c2VyIHRy + YWNraW5nLCBhbmQgZGVwbG95bWVudCB0cmFja2luZy4gU2VlIGV2ZXJ5IGVy + cm9yIGFuZCBjcmFzaCBhZmZlY3RpbmcgeW91ciB1c2VycyByaWdodCBub3cu + IE1vbml0b3IgeW91ciBkZXBsb3ltZW50cywgdG8gbWFrZSBzdXJlIHRoYXQg + YSByZWxlYXNlIGlzIG5vdCBpbXBhY3RpbmcgdXNlcnMgaW4gbmV3IHdheXMu + IEFuZCB0cmFjayB5b3VyIHVzZXJzIHRocm91Z2ggeW91ciBhcHBsaWNhdGlv + biB0byBpZGVudGlmeSB0aGUgYmFkIGV4cGVyaWVuY2VzIHRoZXkgYXJlIGhh + dmluZy4gR28gdG8gPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMnlC + dUtCOSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3JheWd1bjwvc3Bhbj48L2E+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIGFuZCBnZXQgYSBmcmVlIDE0 + IGRheSB0cmlhbCB0byB0cnkgb3V0IFJheWd1biBhbmQgZmluZCB0aGUgZXJy + b3JzIHRoYXQgYXJlIG9jY3VycmluZyBpbiB5b3VyIGFwcGxpY2F0aW9ucyB0 + b2RheS4gUmF5Z3VuIGlzIHVzZWQgYnkgTWljcm9zb2Z0LCBTbGFjaywgYW5k + IFVuaXR5IHRvIG1vbml0b3IgdGhlaXIgY3VzdG9tZXIgZmFjaW5nIHNvZnR3 + YXJlLiBHbyB0byA8L3NwYW4+PGEgaHJlZj0iaHR0cDovL2JpdC5seS8yeUJ1 + S0I5Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnNvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vcmF5Z3VuPC9zcGFuPjwvYT48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBhbmQgdHJ5IGl0IG91dCBmb3Ig + eW91cnNlbGYuPC9zcGFuPjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogLWFw + cGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBS + b2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgJ0hlbHZl + dGljYSBOZXVlJywgc2Fucy1zZXJpZjsiPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9zcGFuPjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBob25vL3N5 + bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1vcmln + LXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9u + by5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0PSIiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBzcG9uc29y + aW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9ubyBpcyBh + IGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBlbmdpbmVl + cnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVhcm5pbmcg + ZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJlZj0iaHR0 + cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20vc2VkYWls + eTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBzcG9uc29y + IG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1vc3QgYSB5 + ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3MgdXMgdG8g + ZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSByZWd1bGFy + IGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KPHA+Jm5ic3A7PC9wPgpdXT48L2Nv + bnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFm + ZmljLmxpYnN5bi5jb20vc2VkYWlseS9TbWFydENvbnRyYWN0U2VjdXJpdHku + bXAzIiBsZW5ndGg9IjEyNzM0NzA2OSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4K + CQk8aXR1bmVzOnN1YnRpdGxlPkEgc21hcnQgY29udHJhY3QgaXMgYSBwcm9n + cmFtIHRoYXQgYWxsb3dzIGZvciBmaW5hbmNpYWwgdHJhbnNhY3Rpb25zLiBT + bWFydCBjb250cmFjdHMgYXJlIHVzdWFsbHkgYXNzb2NpYXRlZCB3aXRoIHRo + ZSBFdGhlcmV1bSBwbGF0Zm9ybSwgd2hpY2ggaGFzIGEgbGFuZ3VhZ2UgY2Fs + bGVkIFNvbGlkaXR5IHRoYXQgbWFrZXMgaXQgZWFzeSB0byBwcm9ncmFtIHNt + YXJ0IGNvbnRyYWN0cy4gU29tZWRheSw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8 + aXR1bmVzOnN1bW1hcnk+QSBzbWFydCBjb250cmFjdCBpcyBhIHByb2dyYW0g + dGhhdCBhbGxvd3MgZm9yIGZpbmFuY2lhbCB0cmFuc2FjdGlvbnMuIFNtYXJ0 + IGNvbnRyYWN0cyBhcmUgdXN1YWxseSBhc3NvY2lhdGVkIHdpdGggdGhlIEV0 + aGVyZXVtIHBsYXRmb3JtLCB3aGljaCBoYXMgYSBsYW5ndWFnZSBjYWxsZWQg + U29saWRpdHkgdGhhdCBtYWtlcyBpdCBlYXN5IHRvIHByb2dyYW0gc21hcnQg + Y29udHJhY3RzLiBTb21lZGF5LCB3ZSB3aWxsIGhhdmUgc21hcnQgY29udHJh + Y3RzIGlzc3VpbmcgaW5zdXJhbmNlLCBwcm9jZXNzaW5nIGxlZ2FsIGNsYWlt + cywgYW5kIGV4ZWN1dGluZyBhY2NvdW50aW5nIHRyYW5zYWN0aW9ucy4gU21h + cnQgY29udHJhY3RzIGludm9sdmUgbW9uZXksIGFuZCB0aGV5IGFyZSBsaWtl + bHkgdG8gdHJhbnNhY3Qgd2l0aCBjcnlwdG9jdXJyZW5jaWVzLiBUaGF0IG1h + a2VzIHRoZW0gcmlwZSB0YXJnZXRzIGZvciBhdHRhY2tlcnMuIFdoYXQgYXJl + Q29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5l + czphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczph + dXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxp + Y2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+MTowNjoxOTwvaXR1bmVzOmR1cmF0 + aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0 + aW9uczoxIj40MDg1PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8 + dGl0bGU+SW50ZXJ2aWV3aW5nLmlvIHdpdGggQWxpbmUgTGVybmVyPC90aXRs + ZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8xMC8xOS9pbnRlcnZpZXdpbmctaW8td2l0aC1hbGluZS1sZXJu + ZXIvPC9saW5rPg0KCQk8cHViRGF0ZT5UaHUsIDE5IE9jdCAyMDE3IDA5OjAw + OjExICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFs + c2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTQw + ODE8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzEwLzE5L2ludGVydmlld2luZy1pby13aXRo + LWFsaW5lLWxlcm5lci8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNv + bW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8xMC8xOS9pbnRlcnZpZXdpbmctaW8td2l0aC1hbGluZS1sZXJuZXIv + ZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mjwv + c2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBp + c29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCdXNp + bmVzcyBhbmQgUGhpbG9zb3BoeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtBbGluZSBMZXJuZXJdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtpbnRlcnZpZXcgcHJhY3RpY2VdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtJbnRlcnZpZXdpbmcuaW9dXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtqb2IgaHVudGluZ11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3NvZnR3YXJlIGludGVydmll + d11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3RlY2huaWNh + bCBpbnRlcnZpZXddXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5JbnRl + cnZpZXdpbmcgZW5naW5lZXJzIGlzIG5vdCBhIHNvbHZlZCBwcm9ibGVtLiBR + dWl0ZSB0aGUgb3Bwb3NpdGXigJNldmVyeW9uZSBpbiB0aGUgc29mdHdhcmUg + aW5kdXN0cnkgd2lsbCB0ZWxsIHlvdSB0aGVpciBvd24gcGVyc29uYWwgaXNz + dWVzIHdpdGggdGhlIGhpcmluZyBwcm9jZXNzLiBPbmUgcmVhc29uIHRoYXQg + dGVjaG5pY2FsIGludGVydmlld3MgaGF2ZSBub3QgZXZvbHZlZCBzaWduaWZp + Y2FudGx5IGlzIHRoZSBsYWNrIG9mIHN0YW5kYXJkaXplZCB0b29saW5nLiBT + b21lIGNvbXBhbmllcyBnaXZlIHlvdSBvbmUgcGhvbmUgc2NyZWVuLCBzb21l + IGdpdmUgeW91IHR3by4gU29tZSBjb21wYW5pZXMgaGF2ZSB5b3Ugc29sdmUg + YnJhaW4gdGVhc2VycyAo4oCcaG93IG1hbnkgZ29sZiBiYWxscyBmaXQgaW4g + YSBzY2hvb2wgYnVz4oCdKSBhbmQgc29tZSBtYWtlJmx0O3AmZ3Q7Jmx0O2Eg + Y2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90 + O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAv + MTkvaW50ZXJ2aWV3aW5nLWlvLXdpdGgtYWxpbmUtbGVybmVyLyZxdW90OyZn + dDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rl + c2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8x + OS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMv + YnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0 + NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNv + bGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3 + NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9ibG9nLmFsaW5lbGVybmVy + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMy8wOC9tZV9zcXVhcmUuanBn + P3Jlc2l6ZT0xNzUlMkMxNzUiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkludGVydmll + d2luZyBlbmdpbmVlcnMgaXMgbm90IGEgc29sdmVkIHByb2JsZW0uIFF1aXRl + IHRoZSBvcHBvc2l0ZSYjODIxMTtldmVyeW9uZSBpbiB0aGUgc29mdHdhcmUg + aW5kdXN0cnkgd2lsbCB0ZWxsIHlvdSB0aGVpciBvd24gcGVyc29uYWwgaXNz + dWVzIHdpdGggdGhlIGhpcmluZyBwcm9jZXNzLiA8L3NwYW4+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk9uZSByZWFzb24gdGhh + dCB0ZWNobmljYWwgaW50ZXJ2aWV3cyBoYXZlIG5vdCBldm9sdmVkIHNpZ25p + ZmljYW50bHkgaXMgdGhlIGxhY2sgb2Ygc3RhbmRhcmRpemVkIHRvb2xpbmcu + IFNvbWUgY29tcGFuaWVzIGdpdmUgeW91IG9uZSBwaG9uZSBzY3JlZW4sIHNv + bWUgZ2l2ZSB5b3UgdHdvLiBTb21lIGNvbXBhbmllcyBoYXZlIHlvdSBzb2x2 + ZSBicmFpbiB0ZWFzZXJzICjigJxob3cgbWFueSBnb2xmIGJhbGxzIGZpdCBp + biBhIHNjaG9vbCBidXPigJ0pIGFuZCBzb21lIG1ha2UgeW91IGZpeCBidWdz + IGluIHRoZWlyIHByb2R1Y3Rpb24gY29kZWJhc2UuIER1cmluZyB0aGUgb24t + c2l0ZSBpbnRlcnZpZXcsIHNvbWUgY29tcGFuaWVzIHVzZSB3aGl0ZWJvYXJk + cywgc29tZSBsZXQgeW91IHVzZSBhIGxhcHRvcC48L3NwYW4+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNvZnR3YXJlIGNvbXBh + bmllcyBkbyBzbyBtdWNoJiM4MjExO3RoZXkgc2hvdWxkIGJlIG91dHNvdXJj + aW5nIHRoZSB0aGluZ3MgdGhhdCBhcmUgbm90IHRoZWlyIGNvcmUgY29tcGV0 + ZW5jeS4gQ2VydGFpbmx5IHRoZXkgY2Fubm90IG91dHNvdXJjZSB0aGUgZW50 + aXJlIGhpcmluZyBwcm9jZXNzJiM4MjExO2J1dCB0aGV5IGNhbiBvdXRzb3Vy + Y2UgcGFydHMgb2YgaXQgdG8gYSBjb21wYW55IGxpa2UgSW50ZXJ2aWV3aW5n + LmlvLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+RW5naW5lZXJzIGNvbWUgdG8gSW50ZXJ2aWV3aW5nLmlvIHRvIHBy + YWN0aWNlIHRoZWlyIGludGVydmlldyBza2lsbHMsIHdoZXJlIG90aGVyIGVu + Z2luZWVycyBmcm9tIHRvcCBjb21wYW5pZXMgcHJhY3RpY2Ugd2l0aCB0aGVt + IGFzIGFuIGludGVydmlld2VyLiBXaGVuIGFuIGVuZ2luZWVyIGhhcyBwcmFj + dGljZWQgaW50ZXJ2aWV3aW5nIGVub3VnaCwgdGhleSBjYW4gdXNlIEludGVy + dmlld2luZy5pbyB0byBpbnRlcnZpZXcgZm9yIHJlYWwgd2l0aCByZWFsIGNv + bXBhbmllcyBhbmQgZmluZCBhIGpvYi48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFsaW5lIExlcm5lciBpcyB0aGUg + Q0VPIG9mIEludGVydmlld2luZy5pbywgYW5kIHNoZSBrbm93cyBhYm91dCB0 + aGUgc29mdHdhcmUgaW50ZXJ2aWV3aW5nIGFuZCByZWNydWl0aW5nIHByb2Nl + c3MgYXMgbXVjaCBhcyBhbnlvbmUuIEFmdGVyIHdvcmtpbmcgYXMgYW4gZW5n + aW5lZXIsIHNoZSBzdGFydGVkIHN0dWR5aW5nIHJlY3J1aXRpbmcsIGNvbnN1 + bHRpbmcgd2l0aCB0b3AgY29tcGFuaWVzIHRvIGhlbHAgdGhlbSBpbXByb3Zl + IHRoZWlyIHByb2Nlc3MuIEZyb20gaGVyIG9ic2VydmF0aW9ucywgc2hlIGNy + ZWF0ZWQgSW50ZXJ2aWV3aW5nLmlvLiBJbiB0aGlzIGVwaXNvZGUsIHdlIGRp + c3NlY3QgdGhlIHdvcmtmbG93IHRoYXQgc2hlIGNyZWF0ZWQgZm9yIGVuZ2lu + ZWVycyB0byBpbXByb3ZlIGF0IGludGVydmlld2luZyBhbmQgZmluZCBqb2Jz + LCBhbmQgYWxzbyBleHBsb3JlIHRoZSBpbnNpZ2h0cyB0aGF0IGxlZCBoZXIg + dG8gc3RhcnRpbmcgSW50ZXJ2aWV3aW5nLmlvLjwvc3Bhbj48L3A+CjxoMj5U + cmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBF + ZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0 + ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNh + c3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBn + ZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0 + aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2Ug + RWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQ + bGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TRUQ0NDItSW50 + ZXJ2aWV3aW5nLWlvLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNo + b3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9waXZv + dGFsLWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9maXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1zaXplPSIyNjEwLDEwODAi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iUGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAwJTJDMTI0IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3Rh + bC1PbkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEy + NCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3Njh3LCBodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXpl + PTEwMjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzIwJTJDMjk4IDcyMHcs + IGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0 + LnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNwcmluZyBGcmFtZXdv + cmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9ubWVudCBmb3IgYnVpbGRp + bmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBEZWNlbWJlciA0dGgtN3Ro + LCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5T + cHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWluZyB0byBTYW4gRnJhbmNp + c2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBjb25mZXJlbmNlIHdoZXJl + IGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBsb3JlIHRoZSBsYXRlc3Qg + dGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNvc3lzdGVtIGFuZCBiZXlv + bmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0Zm9ybSBpbmNsdWRlIEVy + aWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQIHRoZW9yZW0pLCBWYXVn + aG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2ZWx5IGFib3V0IERvbWFp + biBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhvdWdodCBsZWFkZXJzIGlu + IHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMg + dGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhvc2Ugd2hvIGJ1aWxkLCBk + ZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNvZnR3YXJlLiBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIHNpZ24gdXAgd2l0 + aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGFuZCByZWNlaXZlICQx + MDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9ybSA8YSBocmVmPSJodHRw + czovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8vZWhvbWUvczFwL3JlZ2lz + dHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4gSSB3aWxsIGFsc28gYmUg + YXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZlbG9wbWVudHMgaW4gdGhl + IGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4gbWUgRGVjZW1iZXIgNHRo + LTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVw + bGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBjb25mZXJlbmNlLCBh + bmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBmb3IgJDEwMCBvZmYg + eW91ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9nb2NkLm9yZy9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jrc19nb19i + bGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlRob3Vn + aHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD0zMDAl + MkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYx + MiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1IHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMy + MzAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0 + V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+U2ltcGxpZnkgY29udGludW91cyBkZWxpdmVyeSB3aXRoIEdvQ0QsIHRo + ZSBvbi1wcmVtaXNlLCBvcGVuIHNvdXJjZSwgY29udGludW91cyBkZWxpdmVy + eSB0b29sIGJ5IFRob3VnaHRXb3Jrcy4gV2l0aCBHb0NELCB5b3UgY2FuIGVh + c2lseSBtb2RlbCBjb21wbGV4IGRlcGxveW1lbnQgd29ya2Zsb3dzIHVzaW5n + IHBpcGVsaW5lcyBhbmQgdmlzdWFsaXplIHRoZW0gZW5kLXRvLWVuZCB3aXRo + IHRoZSBWYWx1ZSBTdHJlYW0gTWFwLiBZb3UgZ2V0IGNvbXBsZXRlIHZpc2li + aWxpdHkgaW50byBhbmQgY29udHJvbCBvZiB5b3VyIGNvbXBhbnnigJlzIGRl + cGxveW1lbnRzLiBBdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5 + Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4sIGZpbmQgb3V0IGhvdyB0byBicmlu + ZyBjb250aW51b3VzIGRlbGl2ZXJ5IHRvIHlvdXIgdGVhbXMuIFNheSBnb29k + YnllIHRvIGRlcGxveW1lbnQgcGFuaWMgYW5kIGhlbGxvIHRvIGNvbnNpc3Rl + bnQsIHByZWRpY3RhYmxlIGRlbGl2ZXJpZXMuIFZpc2l0PGEgaHJlZj0iaHR0 + cDovL2dvY2Qub3JnL3NlZGFpbHkiPsKgZ29jZC5vcmcvc2VkYWlseTwvYT4g + dG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQg + YW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJl + Y292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+ + CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+ + PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDov + L2RpY2UuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + MTEyIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wMS8wOS9jeWJlci13YXJmYXJlLXdpdGgtamFy + ZWQtc21pdGgvZGljZS1sb2dvMngvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP2ZpdD0y + NTYlMkMxMjgiIGRhdGEtb3JpZy1zaXplPSIyNTYsMTI4IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRpY2UtbG9n + b0AyeCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2RpY2UtbG9nb0Ay + eC5wbmc/Zml0PTI1NiUyQzEyOCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2RpY2UtbG9nb0AyeC5wbmc/Zml0PTI1 + NiUyQzEyOCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTEyIHNpemUt + ZnVsbCIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2RpY2Ut + bG9nb0AyeC5wbmc/cmVzaXplPTI1NiUyQzEyOCIgYWx0PSIiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+RGljZS5jb20gd2lsbCBoZWxwIHlvdSBhY2NlbGVyYXRlIHlv + dXIgdGVjaCBjYXJlZXIuIFdoZXRoZXIgeW914oCZcmUgYWN0aXZlbHkgbG9v + a2luZyBmb3IgYSBqb2Igb3IgbmVlZCBpbnNpZ2h0cyB0byBncm93IGluIHlv + dXIgcm9sZSwgRGljZSBoYXMgdGhlIHJlc291cmNlcyB5b3UgbmVlZC4gRGlj + ZeKAmXMgbW9iaWxlIGFwcCBpcyB0aGUgZmFzdGVzdCBhbmQgZWFzaWVzdCB3 + YXkgdG8gZ2V0IGFoZWFkLiBTZWFyY2ggdGhvdXNhbmRzIG9mIGpvYnMgZnJv + bSB0b3AgY29tcGFuaWVzLiBEaXNjb3ZlciB5b3VyIG1hcmtldCB2YWx1ZSBi + YXNlZCBvbiB5b3VyIHVuaXF1ZSBza2lsbCBzZXQuIE1hbmFnZSB5b3VyIHRl + Y2ggY2FyZWVyIGFuZCBkb3dubG9hZCB0aGUgRGljZSBDYXJlZXJzIGFwcCBv + biBBbmRyb2lkIG9yIGlPUyB0b2RheS4gQW5kIHRvIGNoZWNrIG91dCB0aGUg + RGljZSB3ZWJzaXRlIGFuZCBzdXBwb3J0IFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5LCBnbyB0byA8YSBocmVmPSJodHRwOi8vZGljZS5jb20vc2VkYWls + eSI+ZGljZS5jb20vc2VkYWlseTwvYT4uCjxwPjwvcD48L2Rpdj48YnIgLz4K + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBob25vL3N5 + bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1vcmln + LXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9u + by5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0PSIiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBzcG9uc29y + aW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9ubyBpcyBh + IGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBlbmdpbmVl + cnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVhcm5pbmcg + ZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJlZj0iaHR0 + cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20vc2VkYWls + eTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBzcG9uc29y + IG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1vc3QgYSB5 + ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3MgdXMgdG8g + ZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSByZWd1bGFy + IGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+ + DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29t + L3NlZGFpbHkvSW50ZXJ2aWV3aW5nLWlvLm1wMyIgbGVuZ3RoPSI1MjQ1NjA0 + MiIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPklu + dGVydmlld2luZyBlbmdpbmVlcnMgaXMgbm90IGEgc29sdmVkIHByb2JsZW0u + IFF1aXRlIHRoZSBvcHBvc2l0ZeKAk2V2ZXJ5b25lIGluIHRoZSBzb2Z0d2Fy + ZSBpbmR1c3RyeSB3aWxsIHRlbGwgeW91IHRoZWlyIG93biBwZXJzb25hbCBp + c3N1ZXMgd2l0aCB0aGUgaGlyaW5nIHByb2Nlc3MuIE9uZSByZWFzb24gdGhh + dCB0ZWNobmljYWwgaW50ZXJ2aWV3cyBoYXZlIG5vdCBldm9sdmVkIHNpZ25p + ZmljYW50bHkgaXMgdGhlIGxhY2sgb2Ygc3RhLi4uPC9pdHVuZXM6c3VidGl0 + bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkludGVydmlld2luZyBlbmdpbmVlcnMg + aXMgbm90IGEgc29sdmVkIHByb2JsZW0uIFF1aXRlIHRoZSBvcHBvc2l0ZeKA + k2V2ZXJ5b25lIGluIHRoZSBzb2Z0d2FyZSBpbmR1c3RyeSB3aWxsIHRlbGwg + eW91IHRoZWlyIG93biBwZXJzb25hbCBpc3N1ZXMgd2l0aCB0aGUgaGlyaW5n + IHByb2Nlc3MuIE9uZSByZWFzb24gdGhhdCB0ZWNobmljYWwgaW50ZXJ2aWV3 + cyBoYXZlIG5vdCBldm9sdmVkIHNpZ25pZmljYW50bHkgaXMgdGhlIGxhY2sg + b2Ygc3RhbmRhcmRpemVkIHRvb2xpbmcuIFNvbWUgY29tcGFuaWVzIGdpdmUg + eW91IG9uZSBwaG9uZSBzY3JlZW4sIHNvbWUgZ2l2ZSB5b3UgdHdvLiBTb21l + IGNvbXBhbmllcyBoYXZlIHlvdSBzb2x2ZSBicmFpbiB0ZWFzZXJzICjigJxo + b3cgbWFueSBnb2xmIGJhbGxzIGZpdCBpbiBhIHNjaG9vbCBidXPigJ0pIGFu + ZCBzb21lIG1ha2VDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFy + eT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9p + dHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41NDoyMTwvaXR1 + bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpm + ZWVkLWFkZGl0aW9uczoxIj40MDgxPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxp + dGVtPg0KCQk8dGl0bGU+TW9kZWwgVHJhaW5pbmcgd2l0aCBZdWZlbmcgR3Vv + PC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8xMC8xOC9tb2RlbC10cmFpbmluZy13aXRoLXl1ZmVu + Zy1ndW8vPC9saW5rPg0KCQk8cHViRGF0ZT5XZWQsIDE4IE9jdCAyMDE3IDA5 + OjAwOjUyICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9w + PTQwNzc8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzE4L21vZGVsLXRyYWluaW5nLXdp + dGgteXVmZW5nLWd1by8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNv + bW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8xMC8xOC9tb2RlbC10cmFpbmluZy13aXRoLXl1ZmVuZy1ndW8vZmVl + ZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mzwvc2xh + c2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29k + ZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYWNoaW5l + IExlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dv + b2dsZSBDbG91ZE1MXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbbWFjaGluZSBsZWFybmluZyBtb2RlbF1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW3JpY2ggZGF0YSBzZXRdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtZdWZlbmcgR3VvXV0+PC9jYXRlZ29yeT4K + CQk8ZGVzY3JpcHRpb24+TWFjaGluZSBsZWFybmluZyBtb2RlbHMgY2FuIGJl + IGJ1aWx0IGJ5IHBsb3R0aW5nIHBvaW50cyBpbiBzcGFjZSBhbmQgb3B0aW1p + emluZyBhIGZ1bmN0aW9uIGJhc2VkIG9mZiBvZiB0aG9zZSBwb2ludHMuIEZv + ciBleGFtcGxlLCBJIGNhbiBwbG90IGV2ZXJ5IHBlcnNvbiBpbiB0aGUgVW5p + dGVkIFN0YXRlcyBpbiBhIDMgZGltZW5zaW9uYWwgc3BhY2U6IGFnZSwgZ2Vv + Z3JhcGhpYyBsb2NhdGlvbiwgYW5kIHllYXJseSBzYWxhcnkuIFRoZW4gSSBj + YW4gZHJhdyBhIGZ1bmN0aW9uIHRoYXQgbWluaW1pemVzIHRoZSBkaXN0YW5j + ZSBiZXR3ZWVuIG15IGZ1bmN0aW9uIGFuZCBlYWNoIG9mIHRob3NlIGRhdGEg + cG9pbnRzLiBPbmNlIEkgZGVmaW5lIHRoYXQgZnVuY3Rpb24sIHlvdSBjYW4g + Z2l2ZSBtZSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzEwLzE4L21vZGVsLXRyYWluaW5nLXdpdGgt + eXVmZW5nLWd1by8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsv + YSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3 + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdl + bWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNp + emUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czog + NTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3 + NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vd3d3LjIwMTdzcC5kZXZmZXN0ZGMub3JnL3dwLWNvbnRlbnQvdXBsb2Fk + cy9zcGVha2VyLWd1by5wbmc/cmVzaXplPTE3NSUyQzE3NSIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+TWFjaGluZSBsZWFybmluZyBtb2RlbHMgY2FuIGJlIGJ1aWx0 + IGJ5IHBsb3R0aW5nIHBvaW50cyBpbiBzcGFjZSBhbmQgb3B0aW1pemluZyBh + IGZ1bmN0aW9uIGJhc2VkIG9mZiBvZiB0aG9zZSBwb2ludHMuIDwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Rm9yIGV4 + YW1wbGUsIEkgY2FuIHBsb3QgZXZlcnkgcGVyc29uIGluIHRoZSBVbml0ZWQg + U3RhdGVzIGluIGEgMyBkaW1lbnNpb25hbCBzcGFjZTogYWdlLCBnZW9ncmFw + aGljIGxvY2F0aW9uLCBhbmQgeWVhcmx5IHNhbGFyeS4gVGhlbiBJIGNhbiBk + cmF3IGEgZnVuY3Rpb24gdGhhdCBtaW5pbWl6ZXMgdGhlIGRpc3RhbmNlIGJl + dHdlZW4gbXkgZnVuY3Rpb24gYW5kIGVhY2ggb2YgdGhvc2UgZGF0YSBwb2lu + dHMuIE9uY2UgSSBkZWZpbmUgdGhhdCBmdW5jdGlvbiwgeW91IGNhbiBnaXZl + IG1lIHlvdXIgYWdlIGFuZCBhIGdlb2dyYXBoaWMgbG9jYXRpb24sIGFuZCBJ + IGNhbiBwcmVkaWN0IHlvdXIgc2FsYXJ5Ljwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+UGxvdHRpbmcgdGhlc2UgcG9p + bnRzIGluIHNwYWNlIGlzIGNhbGxlZCBlbWJlZGRpbmcuIEJ5IGVtYmVkZGlu + ZyBhIHJpY2ggZGF0YSBzZXQsIGFuZCB0aGVuIGV4cGVyaW1lbnRpbmcgd2l0 + aCBkaWZmZXJlbnQgZnVuY3Rpb25zLCB3ZSBjYW4gYnVpbGQgYSBtb2RlbCB0 + aGF0IG1ha2VzIHByZWRpY3Rpb25zIGJhc2VkIG9uIHRob3NlIGRhdGEgc2V0 + cy4gWXVmZW5nIEd1byBpcyBhIGRldmVsb3BlciBhZHZvY2F0ZSBhdCBHb29n + bGUgd29ya2luZyBvbiBDbG91ZE1MLiBJbiB0aGlzIHNob3csIHdlIGRlc2Ny + aWJlZCB0d28gc2VwYXJhdGUgZXhhbXBsZXMgZm9yIHByZXBhcmluZyBkYXRh + LCBlbWJlZGRpbmcgdGhlIGRhdGEgcG9pbnRzLCBhbmQgaXRlcmF0aW5nIG9u + IHRoZSBmdW5jdGlvbiBpbiBvcmRlciB0byB0cmFpbiB0aGUgbW9kZWwuPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5J + biBhIGZ1dHVyZSBlcGlzb2RlLCBZdWZlbmcgd2lsbCBkaXNjdXNzIENsb3Vk + TUwgYW5kIG1vcmUgYWR2YW5jZWQgY29uY2VwdHMgb2YgbWFjaGluZSBsZWFy + bmluZy48L3NwYW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5z + Y3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJl + Zj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2Rj + YXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3 + byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBz + ZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRu + ZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvU0VENDQxLU1vZGVsLVRyYWluaW5nLnBkZiI+Y2xpY2sg + aGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwv + cD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9z + ZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzE3NSIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jrc19nb19ibGFja19lZGl0LyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0Njki + IGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlRob3VnaHRXb3Jrc19Hb19i + bGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdo + dFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD0zMDAlMkMyMzAiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91 + Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dv + X2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAiIGFsdD0iIiBzcmNz + ZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtz + X0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAgMzAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+U2ltcGxpZnkg + Y29udGludW91cyBkZWxpdmVyeSB3aXRoIEdvQ0QsIHRoZSBvbi1wcmVtaXNl + LCBvcGVuIHNvdXJjZSwgY29udGludW91cyBkZWxpdmVyeSB0b29sIGJ5IFRo + b3VnaHRXb3Jrcy4gV2l0aCBHb0NELCB5b3UgY2FuIGVhc2lseSBtb2RlbCBj + b21wbGV4IGRlcGxveW1lbnQgd29ya2Zsb3dzIHVzaW5nIHBpcGVsaW5lcyBh + bmQgdmlzdWFsaXplIHRoZW0gZW5kLXRvLWVuZCB3aXRoIHRoZSBWYWx1ZSBT + dHJlYW0gTWFwLiBZb3UgZ2V0IGNvbXBsZXRlIHZpc2liaWxpdHkgaW50byBh + bmQgY29udHJvbCBvZiB5b3VyIGNvbXBhbnnigJlzIGRlcGxveW1lbnRzLiBB + dDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcv + c2VkYWlseTwvYT4sIGZpbmQgb3V0IGhvdyB0byBicmluZyBjb250aW51b3Vz + IGRlbGl2ZXJ5IHRvIHlvdXIgdGVhbXMuIFNheSBnb29kYnllIHRvIGRlcGxv + eW1lbnQgcGFuaWMgYW5kIGhlbGxvIHRvIGNvbnNpc3RlbnQsIHByZWRpY3Rh + YmxlIGRlbGl2ZXJpZXMuIFZpc2l0PGEgaHJlZj0iaHR0cDovL2dvY2Qub3Jn + L3NlZGFpbHkiPsKgZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9y + ZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJp + c2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUg + YXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2RvLmNvL3NlZGFp + bHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDE3IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8wMi9yZWFjdHZyLXdpdGgtYW5kcmV3LWltbS9kaWdpdGFsb2NlYW4v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8x + MC9kaWdpdGFsb2NlYW4ucG5nP2ZpdD04MDAlMkM0MDAiIGRhdGEtb3JpZy1z + aXplPSI4MDAsNDAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9ImRpZ2l0YWxvY2VhbiIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTMwMCUyQzE1MCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTgwMCUyQzQwMCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS00MDE3IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9 + MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTMwMCUyQzE1MCAz + MDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vh + bi5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTcyMCUyQzM2 + MCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxv + Y2Vhbi5wbmc/dz04MDAgODAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGlnaXRhbCBPY2Vh + biBTcGFjZXMgZ2l2ZXMgeW91IHNpbXBsZSBvYmplY3Qgc3RvcmFnZSB3aXRo + IGEgYmVhdXRpZnVsIHVzZXIgaW50ZXJmYWNlLiBZb3UgbmVlZCBhbiBlYXN5 + IHdheSB0byBob3N0IG9iamVjdHMgbGlrZSBpbWFnZXMgYW5kIHZpZGVvcy4g + WW91ciB1c2VycyBuZWVkIHRvIHVwbG9hZCBvYmplY3RzIGxpa2UgcGRmcyBh + bmQgbXVzaWMgZmlsZXMuIERpZ2l0YWwgT2NlYW4gU3BhY2VzIGlzIG1vZGVy + biBvYmplY3Qgc3RvcmFnZSB3aXRoIGEgbW9kZXJuIFVJIHRoYXQgeW91IHdp + bGwgbG92ZSB0byB1c2UmIzgyMTE7aXTigJlzIGxpa2UgdGhlIFVJIGZvciBE + cm9wYm94LCBidXQgd2l0aCB0aGUgcHJpY2luZyBvZiBhIHJhdyBvYmplY3Qg + c3RvcmFnZTsgSSBhbG1vc3Qgd2FudCB0byB1c2UgaXQgbGlrZSBhIGNvbnN1 + bWVyIHByb2R1Y3QuIFRvIHRyeSBEaWdpdGFsIE9jZWFuIFNwYWNlcywgZ28g + dG88YSBocmVmPSJodHRwOi8vZG8uY28vc2VkYWlseSI+IDxiPmRvLmNvL3Nl + ZGFpbHk8L2I+PC9hPiBhbmQgZ2V0IDIgbW9udGhzIG9mIFNwYWNlcyBwbHVz + IGEgJDEwIGNyZWRpdCB0byB1c2Ugb24gYW55IG90aGVyIERpZ2l0YWwgT2Nl + YW4gcHJvZHVjdHMmIzgyMTE7YW5kIHlvdSBnZXQgdGhpcyBjcmVkaXQgZXZl + biBpZiB5b3UgaGF2ZSBiZWVuIHdpdGggRGlnaXRhbCBPY2VhbiBmb3IgYXdo + aWxlLiBJdCYjODIxNztzIGEgbmljZSBhZGRlZCBib251cyBqdXN0IGZvciB0 + cnlpbmcgb3V0IFNwYWNlcy4gSWYgeW91IGJlY29tZSBhIGN1c3RvbWVyLCB0 + aGUgcHJpY2luZyBpcyA8aT5zaW1wbGU6IMKgPC9pPiQ1IHBlciBtb250aCBw + cmljZSBhbmQgaW5jbHVkZXMgMjUwR0Igb2Ygc3RvcmFnZSBhbmQgMVRCIG9m + IG91dGJvdW5kIGJhbmR3aWR0aC4gVGhlcmUgYXJlIG5vIGNvc3RzIHBlciBy + ZXF1ZXN0IGFuZCBhZGRpdGlvbmFsIHN0b3JhZ2UgaXMgcHJpY2VkIGF0IHRo + ZSBsb3dlc3QgcmF0ZSBhdmFpbGFibGU6ICQwLjAxIHBlciBHQiB0cmFuc2Zl + cnJlZCBhbmQgJDAuMDIgcGVyIEdCIHN0b3JlZC4gVGhlcmUgd29uJiM4MjE3 + O3QgYmUgYW55IHN1cnByaXNlcyBvbiB5b3VyIGJpbGwuIERpZ2l0YWwgT2Nl + YW4gc2ltcGxpZmllcyB0aGUgY2xvdWQmIzgyMTE7dGhleSBsb29rIGZvciBl + dmVyeSBvcHBvcnR1bml0eSB0byByZW1vdmUgZnJpY3Rpb24gZnJvbSBhIGRl + dmVsb3BlciYjODIxNztzIGV4cGVyaWVuY2UuIEkgbG92ZSBpdCwgYW5kIEkg + dGhpbmsgeW91IHdpbGwgdG9vJiM4MjExO2NoZWNrIGl0IG91dCBhdDxhIGhy + ZWY9Imh0dHA6Ly9kby5jby9zZWRhaWx5Ij4gPGI+ZG8uY28vc2VkYWlseTwv + Yj48L2E+PGI+LjwvYj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+Cjxw + PjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vb2N0b3B1 + cy5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDIwIiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8xMC8wMy80Mi1jb2Rpbmctc2Nob29sLXdpdGgtYnJpdHRhbnktYmly + L29jdG9wdXNkZXBsb3lfbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/ + Zml0PTgwMCUyQzE1NSIgZGF0YS1vcmlnLXNpemU9IjgwMCwxNTUiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ib2N0 + b3B1c2RlcGxveV9sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + b2N0b3B1c2RlcGxveV9sb2dvLnBuZz9maXQ9MzAwJTJDNTgiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVz + ZGVwbG95X2xvZ28ucG5nP2ZpdD04MDAlMkMxNTUiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtNDAyMCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/cmVz + aXplPTMwMCUyQzU4IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTMw + MCUyQzU4IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0 + b3B1c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9NzY4JTJDMTQ5IDc2OHcsIGh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dv + LnBuZz9yZXNpemU9NzIwJTJDMTQwIDcyMHcsIGh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz93PTgwMCA4MDB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5UaGUgb2N0b3B1czogYSBzZWEgY3JlYXR1cmUga25v + d24gZm9yIGl0cyBpbnRlbGxpZ2VuY2UgYW5kIGZsZXhpYmlsaXR5LiBPY3Rv + cHVzIERlcGxveTogYSBmcmllbmRseSBkZXBsb3ltZW50IGF1dG9tYXRpb24g + dG9vbCBmb3IgZGVwbG95aW5nIGFwcGxpY2F0aW9ucyBsaWtlIC5ORVQgYXBw + cywgSmF2YSBhcHBzIGFuZCBtb3JlLiBBc2sgYW55IGRldmVsb3BlciBhbmQg + dGhleeKAmWxsIHRlbGwgeW91IGl04oCZcyBuZXZlciBmdW4gcHVzaGluZyBj + b2RlIGF0IDVwbSBvbiBhIEZyaWRheSB0aGVuIGNyb3NzaW5nIHlvdXIgZmlu + Z2VycyBob3BpbmcgZm9yIHRoZSBiZXN0LsKgVGhhdOKAmXMgd2hlcmUgT2N0 + b3B1cyBEZXBsb3kgY29tZXMgaW50byB0aGUgcGljdHVyZS4gT2N0b3B1cyBE + ZXBsb3kgaXMgYSBmcmllbmRseSBkZXBsb3ltZW50IGF1dG9tYXRpb24gdG9v + bCwgdGFraW5nIG92ZXIgd2hlcmUgeW91ciBidWlsZC9DSSBzZXJ2ZXIgZW5k + cy4gVXNlIE9jdG9wdXMgdG8gcHJvbW90ZSByZWxlYXNlcyBvbi1wcmVtIG9y + IHRvIHRoZSBjbG91ZC4gT2N0b3B1cyBpbnRlZ3JhdGVzIHdpdGggeW91ciBl + eGlzdGluZyBidWlsZCBwaXBlbGluZSYjODIxMTtURlMgYW5kIFZTVFMsIEJh + bWJvbywgVGVhbUNpdHksIGFuZCBKZW5raW5zLiBJdCBpbnRlZ3JhdGVzIHdp + dGggQVdTLCBBenVyZSwgYW5kIG9uLXByZW0gZW52aXJvbm1lbnRzLiBSZWxp + YWJseSBhbmQgcmVwZWF0ZWRseSBkZXBsb3kgeW91ciAuTkVUIGFuZCBKYXZh + IGFwcHMgYW5kIG1vcmUuIElmIHlvdSBjYW4gcGFja2FnZSBpdCwgT2N0b3B1 + cyBjYW4gZGVwbG95IGl0IcKgSXTigJlzIHF1aWNrIGFuZCBlYXN5IHRvIGlu + c3RhbGwuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+T2N0 + b3B1cy5jb208L2E+IHRvIHRyaWFsIE9jdG9wdXMgZnJlZSBmb3IgNDUgZGF5 + cy4gVGhhdCYjODIxNztzIDxhIGhyZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+ + T2N0b3B1cy5jb208L2E+CjxwPjwvcD48L2Rpdj48L3A+CjxwPjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXIiPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzOTE5IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zY2Fs + eXIvc2NhbHlyX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkw + IiBkYXRhLW9yaWctc2l6ZT0iMjIwLDkwIiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlNjYWx5cl9sb2dvIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0y + MjAlMkM5MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzkxOSBzaXplLWZ1bGwiIHNyYz0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/cmVz + aXplPTIyMCUyQzkwIiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5XaG8gZG8g + eW91IHVzZSBmb3IgbG9nIG1hbmFnZW1lbnQ/IEkgd2FudCB0byB0ZWxsIHlv + dSBhYm91dCBTY2FseXIsIHRoZSBmaXJzdCBwdXJwb3NlIGJ1aWx0IGxvZyBt + YW5hZ2VtZW50IHRvb2wgb24gdGhlIG1hcmtldC4gTW9zdCB0b29scyBvbiB0 + aGUgbWFya2V0IHV0aWxpemUgdGV4dCBpbmRleGluZyBzZWFyY2gsIHdoaWNo + IGlzIGdyZWF0JiM4MjMwOyBmb3IgaW5kZXhpbmcgYSBib29rLiBCdXQgaWYg + eW91IHdhbnQgdG8gc2VhcmNoIGxvZ3MsIGF0IHNjYWxlLCBmYXN0JiM4MjMw + OyBpdCBicmVha3MgZG93bi4gU2NhbHlyIGJ1aWx0IHRoZWlyIG93biBkYXRh + YmFzZSBmcm9tIHNjcmF0Y2g6IHRoZSBzeXN0ZW0gaXMgZmFzdC4gTW9zdCBz + ZWFyY2hlcyB0YWtlIGxlc3MgdGhhbiAxIHNlY29uZC4gSW4gZmFjdCwgOTkl + IG9mIHRoZWlyIHF1ZXJpZXMgZXhlY3V0ZSBpbiAmbHQ7MSBzZWNvbmQuIMKg + Q29tcGFuaWVzIGxpa2UgT0tDdXBpZCwgR2lwaHkgYW5kIENhcmVlckJ1aWxk + ZXIgdXNlIFNjYWx5ci4gSXQgd2FzIGJ1aWx0IGJ5IG9uZSBvZiB0aGUgZm91 + bmRlcnMgb2YgV3JpdGVseSAoYWthIEdvb2dsZSBEb2NzKS4gU2NhbHlyIGhh + cyBjb25zdW1lciBncmFkZSBVSSwgdGhhdCBzY2FsZXMgaW5maW5pdGVseS4g + WW91IGNhbiBtb25pdG9yIGtleSBtZXRyaWNzLCB0cmlnZ2VyIGFsZXJ0cywg + YW5kIGludGVncmF0ZSB3aXRoIFBhZ2VyRHV0eS4gSXQmIzgyMTc7cyBlYXN5 + IHRvIHVzZSBhbmQgZGlkIHdlIG1lbnRpb246IGxpZ2h0bmluZyBmYXN0LiBH + aXZlIGl0IGEgdHJ5IHRvZGF5LiBJdOKAmXMgZnJlZSBmb3IgOTAgZGF5cyBh + dCA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9zY2FseXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHly + PC9hPi4gPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+ + DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29t + L3NlZGFpbHkvTW9kZWxUcmFpbmluZy5tcDMiIGxlbmd0aD0iNDc1ODU2NTYi + IHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5NYWNo + aW5lIGxlYXJuaW5nIG1vZGVscyBjYW4gYmUgYnVpbHQgYnkgcGxvdHRpbmcg + cG9pbnRzIGluIHNwYWNlIGFuZCBvcHRpbWl6aW5nIGEgZnVuY3Rpb24gYmFz + ZWQgb2ZmIG9mIHRob3NlIHBvaW50cy4gRm9yIGV4YW1wbGUsIEkgY2FuIHBs + b3QgZXZlcnkgcGVyc29uIGluIHRoZSBVbml0ZWQgU3RhdGVzIGluIGEgMyBk + aW1lbnNpb25hbCBzcGFjZTogYWdlLCBnZW9ncmFwaGljIGxvY2F0aW9uLCBh + bmQgeWVhcmx5IHNhbGFyeS48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVz + OnN1bW1hcnk+TWFjaGluZSBsZWFybmluZyBtb2RlbHMgY2FuIGJlIGJ1aWx0 + IGJ5IHBsb3R0aW5nIHBvaW50cyBpbiBzcGFjZSBhbmQgb3B0aW1pemluZyBh + IGZ1bmN0aW9uIGJhc2VkIG9mZiBvZiB0aG9zZSBwb2ludHMuIEZvciBleGFt + cGxlLCBJIGNhbiBwbG90IGV2ZXJ5IHBlcnNvbiBpbiB0aGUgVW5pdGVkIFN0 + YXRlcyBpbiBhIDMgZGltZW5zaW9uYWwgc3BhY2U6IGFnZSwgZ2VvZ3JhcGhp + YyBsb2NhdGlvbiwgYW5kIHllYXJseSBzYWxhcnkuIFRoZW4gSSBjYW4gZHJh + dyBhIGZ1bmN0aW9uIHRoYXQgbWluaW1pemVzIHRoZSBkaXN0YW5jZSBiZXR3 + ZWVuIG15IGZ1bmN0aW9uIGFuZCBlYWNoIG9mIHRob3NlIGRhdGEgcG9pbnRz + LiBPbmNlIEkgZGVmaW5lIHRoYXQgZnVuY3Rpb24sIHlvdSBjYW4gZ2l2ZSBt + ZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVu + ZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6 + YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBs + aWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjQ5OjE3PC9pdHVuZXM6ZHVyYXRp + b24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRp + b25zOjEiPjQwNzc8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0 + aXRsZT5JbnRlcm5ldCBNb25pdG9yaW5nIHdpdGggTWF0dCBLcmFuaW5nPC90 + aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8xMC8xNy9pbnRlcm5ldC1tb25pdG9yaW5nLXdpdGgtbWF0 + dC1rcmFuaW5nLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAxNyBPY3QgMjAx + NyAwOTowMDowMyArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxp + bms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8/cD00MDY0PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8xNy9pbnRlcm5ldC1tb25p + dG9yaW5nLXdpdGgtbWF0dC1rcmFuaW5nLyNyZXNwb25kPC9jb21tZW50cz4N + CgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMTAvMTcvaW50ZXJuZXQtbW9uaXRvcmluZy13aXRo + LW1hdHQta3JhbmluZy9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFz + aDpjb21tZW50cz4wPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW2luZGV4aW5nIGFuZCBtb25pdG9yaW5nXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSVAgYWRkcmVzc2VzXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWF0dCBLcmFuaW5n + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbcGFja2V0c11d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1FhZGl1bV1dPjwv + Y2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkhvdyB3b3VsZCB5b3UgYnVpbGQg + YSBzeXN0ZW0gZm9yIGluZGV4aW5nIGFuZCBtb25pdG9yaW5nIHRoZSBlbnRp + cmUgSW50ZXJuZXQ/IFN0YXJ0IGJ5IGJyZWFraW5nIHRoZSBJbnRlcm5ldCB1 + cCBpbnRvIElQIGFkZHJlc3MgcmFuZ2VzLiBHaXZlIGVhY2ggb2YgdGhvc2Ug + YWRkcmVzcyByYW5nZXMgdG8gc2VydmVycyBkaXN0cmlidXRlZCBhcm91bmQg + dGhlIHdvcmxkLiBPbiBlYWNoIG9mIHRob3NlIHNlcnZlcnMsIGl0ZXJhdGUg + dGhyb3VnaCB5b3VyIGxpc3Qgb2YgSVAgYWRkcmVzc2VzLCBzZW5kaW5nIHBh + Y2tldHMgdG8gdGhlbS4gRGVwZW5kaW5nIG9uIHdoYXQgc29ydHMgb2YgcGFj + a2V0cyB0aG9zZSBJUCBhZGRyZXNzZXMgcmVzcG9uZCB0bywgYW5kIHdoYXQg + dGhvc2UgcmVzcG9uc2VzIGFyZSwgeW91IGNhbiBidWlsZCZsdDtwJmd0OyZs + dDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0m + cXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzEwLzE3L2ludGVybmV0LW1vbml0b3Jpbmctd2l0aC1tYXR0LWtyYW5pbmcv + JnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9w + Jmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RB + VEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRh + bi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRh + bi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3At + aW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVy + OiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhl + aWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vd3d3LnFhZGl1bS5jb20vaW1n + L2NvbnRlbnQvdGVhbS1pbWFnZS0yLndlYnAiIHdpZHRoPSIxNzUiIGhlaWdo + dD0iMTc1IiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5Ib3cgd291bGQgeW91IGJ1aWxkIGEgc3lzdGVtIGZvciBpbmRleGlu + ZyBhbmQgbW9uaXRvcmluZyB0aGUgZW50aXJlIEludGVybmV0Pzwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U3RhcnQg + YnkgYnJlYWtpbmcgdGhlIEludGVybmV0IHVwIGludG8gSVAgYWRkcmVzcyBy + YW5nZXMuIEdpdmUgZWFjaCBvZiB0aG9zZSBhZGRyZXNzIHJhbmdlcyB0byBz + ZXJ2ZXJzIGRpc3RyaWJ1dGVkIGFyb3VuZCB0aGUgd29ybGQuIE9uIGVhY2gg + b2YgdGhvc2Ugc2VydmVycywgaXRlcmF0ZSB0aHJvdWdoIHlvdXIgbGlzdCBv + ZiBJUCBhZGRyZXNzZXMsIHNlbmRpbmcgcGFja2V0cyB0byB0aGVtLiBEZXBl + bmRpbmcgb24gd2hhdCBzb3J0cyBvZiBwYWNrZXRzIHRob3NlIElQIGFkZHJl + c3NlcyByZXNwb25kIHRvLCBhbmQgd2hhdCB0aG9zZSByZXNwb25zZXMgYXJl + LCB5b3UgY2FuIGJ1aWxkIGEgbWFwIG9mIHRoZSBkZXZpY2VzIG9uIHRoZSBJ + bnRlcm5ldDogd2hhdCBpcyBydW5uaW5nIG9uIHRob3NlIGRldmljZXMsIGFu + ZCB3aGF0IHRoZXkgcmVzcG9uZCB0by48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlFhZGl1bSBpcyBhIGNvbXBhbnkg + dGhhdCBpbmRleGVzIGFuZCBtb25pdG9ycyBkZXZpY2VzIG9uIHRoZSBJbnRl + cm5ldCwgdG8gaGVscCBvcmdhbml6YXRpb25zIHVuZGVyc3RhbmQgdGhlIGRl + dmljZXMgdGhhdCBhcmUgd2l0aGluIGNvcnBvcmF0ZSBuZXR3b3Jrcy4gSWYg + eW91IGFyZSBhIGxhcmdlIGNvcnBvcmF0aW9uLCBRYWRpdW0gY2FuIHByb2Jh + Ymx5IGRvIGEgYmV0dGVyIGpvYiBvZiBmaWd1cmluZyBvdXQgeW91ciBJbnRl + cm5ldCBmb290cHJpbnQgdGhhbiB5b3UgY2FuLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+TWF0dCBLcmFuaW5nIGlz + IHRoZSBDVE8gb2YgUWFkaXVtLCBhbmQgaW4gdG9kYXnigJlzIHNob3cgaGUg + ZGVzY3JpYmVzIHRoZSBwcm9jZXNzIGJ5IHdoaWNoIFFhZGl1bSBtYXBzIHRo + ZSBJbnRlcm5ldC4gTWF0dCB1c2VkIHRvIHdvcmsgb24gZGF0YSBpbmZyYXN0 + cnVjdHVyZSBhdCBEQVJQQSwgYW5kIGhhcyBkZXBsb3llZCBIYWRvb3AgaW4g + QWZnaGFuaXN0YW4mIzgyMTE7c28gdGhlIGluZnJhc3RydWN0dXJlIG9mIFFh + ZGl1bSBzZWVtcyByZWxhdGl2ZWx5IG1hbmFnZWFibGUuIE91ciBkYXRhIGNv + bnZlcnNhdGlvbnMgaW4gdGhpcyBlcGlzb2RlIHNwYW0gZnJvbSB0YWxraW5n + IGFib3V0IFN0b3JtIGFuZCBIYWRvb3AgdG8gR29vZ2xlIEJpZ1F1ZXJ5LCBC + aWdUYWJsZSwgYW5kIERhdGFGbG93Ljwvc3Bhbj48L3A+CjxoMj5UcmFuc2Ny + aXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBv + ZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMg + Y2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNv + bS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAl + IG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFu + ZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQ + b2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XC + oDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TRUQ0NDAtSW50ZXJuZXQt + TW9uaXRvcmluZy5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8KgdGhpcyBzaG93 + 4oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+Cjxk + aXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vcGFya215Y2xvdWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSI0MDMwIiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9wYXJrbXlj + bG91ZC9wcmludC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz9maXQ9NjAwJTJD + MTIzIiBkYXRhLW9yaWctc2l6ZT0iNjAwLDEyMyIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7UHJpbnQmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MSZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlByaW50IiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpw + Zz9maXQ9MzAwJTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlDbG91ZGxvZ28uanBnP2ZpdD02MDAl + MkMxMjMiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtNDAzMCBzaXplLW1l + ZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtN + eUNsb3VkbG9nby5qcGc/cmVzaXplPTMwMCUyQzYyIiBhbHQ9IiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtNeUNsb3VkbG9n + by5qcGc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz93PTYwMCA2MDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtNeUNsb3VkbG9nby5q + cGc/cmVzaXplPTU5NSUyQzEyMyA1OTV3IiBzaXplcz0iKG1heC13aWR0aDog + MzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5FdmVyeSBz + ZWNvbmQgeW91ciBjbG91ZCBzZXJ2ZXJzIGFyZSBydW5uaW5nLCB0aGV5IGFy + ZSBjb3N0aW5nIHlvdSBtb25leS4gU3RvcCBwYXlpbmcgZm9yIGlkbGUgY2xv + dWQgaW5zdGFuY2VzIGFuZCBWTXMuIENvbnRyb2wgdGhlIGNvc3Qgb2YgeW91 + ciBjbG91ZCB3aXRoIFBhcmtNeUNsb3VkLiBQYXJrTXlDbG91ZCBhdXRvbWF0 + aWNhbGx5IHR1cm5zIG9mZiBjbG91ZCByZXNvdXJjZXMgd2hlbiB5b3UgZG9u + 4oCZdCBuZWVkIHRoZW0uIFdoZXRoZXIgeW91IGFyZSBvbiBBV1MsIEF6dXJl + LCBvciBHb29nbGUgQ2xvdWQsIGl04oCZcyBlYXN5IHRvIHN0YXJ0IHNhdmlu + ZyBtb25leSB3aXRoIFBhcmtNeUNsb3VkLiBZb3Ugc2lnbiB1cCBmb3IgUGFy + a015Q2xvdWQsIHlvdSBjb25uZWN0IHRvIHlvdXIgY2xvdWQgcHJvdmlkZXIs + IGFuZCBQYXJrTXlDbG91ZCBnaXZlcyB5b3UgYSBkYXNoYm9hcmQgb2YgYWxs + IHlvdXIgcmVzb3VyY2VzJiM4MjExO2luY2x1ZGluZyB0aGVpciBjb3N0cy4g + RnJvbSB0aGUgZGFzaGJvYXJkLCB5b3UgY2FuIGF1dG9tYXRpY2FsbHkgc2No + ZWR1bGUgd2hlbiB5b3VyIGRpZmZlcmVudCBjbG91ZCBpbnN0YW5jZXMgZ2V0 + IHR1cm5lZCBvbiBvciBvZmYg4oCTIHNhdmluZyB5b3UgNjUlIG9yIG1vcmUu + IEFkZGl0aW9uYWxseSwgeW91IGNhbiBtYW5hZ2UgZGF0YWJhc2VzLCBhdXRv + IHNjYWxpbmcgZ3JvdXBzIGFuZCBzZXQgdXAgbG9naWNhbCBncm91cHMgb2Yg + c2VydmVycyB0byB0dXJuIG9mZiBkdXJpbmcgbmlnaHRzIGFuZCB3ZWVrZW5k + cyB3aGVuIHlvdSBkb27igJl0IG5lZWQgdGhlbSYjODIxMTthbmQgeW91IGNh + biBzZWUgaG93IG11Y2ggbW9uZXkgeW91IGFyZSBzYXZpbmcuIEdvIHRvIDxh + IGhyZWY9Imh0dHA6Ly9wYXJrbXljbG91ZC5jb20vc2VkYWlseSI+cGFya215 + Y2xvdWQuY29tL3NlZGFpbHk8L2E+IHRvIGdldCAkMTAwIGluIGZyZWUgY3Jl + ZGl0IGZvciBQYXJrTXlDbG91ZCBmb3IgU0UgRGFpbHkgbGlzdGVuZXJzLiBQ + YXJrTXlDbG91ZCBpcyB1c2VkIGJ5IE1jRG9uYWxk4oCZcywgQ2FwaXRhbE9u + ZSwgYW5kIEZveCwgYW5kIHNhdmVzIGN1c3RvbWVycyB0ZW5zIG9mIHRob3Vz + YW5kcyBvZiBkb2xsYXJzIGV2ZXJ5IG1vbnRoLiBHbyB0byA8YSBocmVmPSJo + dHRwOi8vcGFya215Y2xvdWQuY29tL3NlZGFpbHkiPnBhcmtteWNsb3VkLmNv + bS9zZWRhaWx5PC9hPiwgYW5kIGN1dCB0aGUgY29zdCBvZiB5b3VyIGNsb3Vk + IHRvZGF5LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJy + b3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRh + aWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzE3NSIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3 + bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jrc19nb19ibGFja19lZGl0LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0NjkiIGRh + dGEtb3JpZy1zaXplPSI2MTIsNDY5IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlRob3VnaHRXb3Jrc19Hb19ibGFj + a19lZGl0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdv + cmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD0zMDAlMkMyMzAiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0 + V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2Js + YWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dv + X2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAgMzAwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tf + ZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+U2ltcGxpZnkgY29u + dGludW91cyBkZWxpdmVyeSB3aXRoIEdvQ0QsIHRoZSBvbi1wcmVtaXNlLCBv + cGVuIHNvdXJjZSwgY29udGludW91cyBkZWxpdmVyeSB0b29sIGJ5IFRob3Vn + aHRXb3Jrcy4gV2l0aCBHb0NELCB5b3UgY2FuIGVhc2lseSBtb2RlbCBjb21w + bGV4IGRlcGxveW1lbnQgd29ya2Zsb3dzIHVzaW5nIHBpcGVsaW5lcyBhbmQg + dmlzdWFsaXplIHRoZW0gZW5kLXRvLWVuZCB3aXRoIHRoZSBWYWx1ZSBTdHJl + YW0gTWFwLiBZb3UgZ2V0IGNvbXBsZXRlIHZpc2liaWxpdHkgaW50byBhbmQg + Y29udHJvbCBvZiB5b3VyIGNvbXBhbnnigJlzIGRlcGxveW1lbnRzLiBBdDxh + IGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2Vk + YWlseTwvYT4sIGZpbmQgb3V0IGhvdyB0byBicmluZyBjb250aW51b3VzIGRl + bGl2ZXJ5IHRvIHlvdXIgdGVhbXMuIFNheSBnb29kYnllIHRvIGRlcGxveW1l + bnQgcGFuaWMgYW5kIGhlbGxvIHRvIGNvbnNpc3RlbnQsIHByZWRpY3RhYmxl + IGRlbGl2ZXJpZXMuIFZpc2l0PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3Nl + ZGFpbHkiPsKgZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9yZSBh + Ym91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJpc2Ug + YWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZh + aWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxh + LmNvbS8yMDE3cG9kY2FzdHMiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + MTE2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wMS8wOS9jeWJlci13YXJmYXJlLXdpdGgtamFy + ZWQtc21pdGgvaW5jYXBzdWxhLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/ + Zml0PTUzMyUyQzEyNiIgZGF0YS1vcmlnLXNpemU9IjUzMywxMjYiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5j + YXBzdWxhLWxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/Zml0PTMwMCUyQzcxIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28u + cG5nP2ZpdD01MzMlMkMxMjYiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzExNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJDNzEiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5j + YXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSAzMDB3LCBodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz93PTUz + MyA1MzN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkluY2Fwc3VsYSBjYW4gcHJvdGVjdCB5b3VyIEFQSSBzZXJ2ZXJz + IGFuZCBtaWNyb3NlcnZpY2VzIGZyb20gcmVzcG9uZGluZyB0byB1bndhbnRl + ZCByZXF1ZXN0cy4gVG8gdHJ5IEluY2Fwc3VsYSBmb3IgeW91cnNlbGYsIGdv + IHRvIDwvc3Bhbj48YSBocmVmPSJodHRwOi8vaW5jYXBzdWxhLmNvbS8yMDE3 + cG9kY2FzdHMiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+aW5j + YXBzdWxhLmNvbS88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij4yMDE3cG9kY2FzdHM8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+IGFuZCBnZXQgYSA8L3NwYW4+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5mcmVlIGVudGVycHJpc2UgdHJpYWw8L3Nw + YW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4gb2YgSW5jYXBz + dWxhLiBJbmNhcHN1bGEmIzgyMTc7cyBBUEkgZ2l2ZXMgeW91IGNvbnRyb2wg + b3ZlciB0aGUgc2VjdXJpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIHlvdXIgYXBw + bGljYXRpb24mIzgyMTE7d2hldGhlciB5b3UgaGF2ZSBhIGNvbXBsZXggbWlj + cm9zZXJ2aWNlcyBhcmNoaXRlY3R1cmUgb3IgYSBXb3JkUHJlc3Mgc2l0ZSwg + bGlrZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS4gSW5jYXBzdWxhIGhh + cyBhIGdsb2JhbCBuZXR3b3JrIG9mIG92ZXIgMzAgZGF0YSBjZW50ZXJzIHRo + YXQgb3B0aW1pemUgcm91dGluZyBhbmQgY2FjaGUgeW91ciBjb250ZW50LiBU + aGUgc2FtZSBuZXR3b3JrIG9mIGRhdGEgY2VudGVycyB0aGF0IGFyZSBmaWx0 + ZXJpbmcgeW91ciBjb250ZW50IGZvciBhdHRhY2tlcnMgYXJlIG9wZXJhdGlu + ZyBhcyBhIENETiwgYW5kIHNwZWVkaW5nIHVwIHlvdXIgYXBwbGljYXRpb24u + IFRvIHRyeSBJbmNhcHN1bGEgdG9kYXksIGdvIHRvIDwvc3Bhbj48YSBocmVm + PSJodHRwOi8vaW5jYXBzdWxhLmNvbS8yMDE3cG9kY2FzdHMiPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+aW5jYXBzdWxhLmNvbS88L3NwYW4+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4yMDE3cG9kY2FzdHM8 + L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IGFu + ZCBjaGVjayBpdCBvdXQuIFRoYW5rcyBhZ2FpbiwgSW5jYXBzdWxhLjwvc3Bh + bj48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL3N5bXBob25vL3N5bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIl + MkM4NCIgZGF0YS1vcmlnLXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9Mjcy + JTJDODQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIl + MkM4NCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBo + b25vIGZvciBzcG9uc29yaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + LiBTeW1waG9ubyBpcyBhIGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJl + IHNlbmlvciBlbmdpbmVlcnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMg + d2hpbGUgbGVhcm5pbmcgZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQg + YXQgPGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1w + aG9uby5jb20vc2VkYWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3Ig + YmVpbmcgYSBzcG9uc29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + IGZvciBhbG1vc3QgYSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9y + dCBhbGxvd3MgdXMgdG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5l + cnMgb24gYSByZWd1bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+ + CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KPHA+Jm5i + c3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1 + cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9JbnRlcm5l + dE1vbml0b3JpbmcubXAzIiBsZW5ndGg9IjU2MTQ4MDAyIiB0eXBlPSJhdWRp + by9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+SG93IHdvdWxkIHlvdSBi + dWlsZCBhIHN5c3RlbSBmb3IgaW5kZXhpbmcgYW5kIG1vbml0b3JpbmcgdGhl + IGVudGlyZSBJbnRlcm5ldD8gU3RhcnQgYnkgYnJlYWtpbmcgdGhlIEludGVy + bmV0IHVwIGludG8gSVAgYWRkcmVzcyByYW5nZXMuIEdpdmUgZWFjaCBvZiB0 + aG9zZSBhZGRyZXNzIHJhbmdlcyB0byBzZXJ2ZXJzIGRpc3RyaWJ1dGVkIGFy + b3VuZCB0aGUgd29ybGQuIE9uIGVhY2ggb2YgdGhvc2Ugc2VydmVycyw8L2l0 + dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+SG93IHdvdWxkIHlv + dSBidWlsZCBhIHN5c3RlbSBmb3IgaW5kZXhpbmcgYW5kIG1vbml0b3Jpbmcg + dGhlIGVudGlyZSBJbnRlcm5ldD8gU3RhcnQgYnkgYnJlYWtpbmcgdGhlIElu + dGVybmV0IHVwIGludG8gSVAgYWRkcmVzcyByYW5nZXMuIEdpdmUgZWFjaCBv + ZiB0aG9zZSBhZGRyZXNzIHJhbmdlcyB0byBzZXJ2ZXJzIGRpc3RyaWJ1dGVk + IGFyb3VuZCB0aGUgd29ybGQuIE9uIGVhY2ggb2YgdGhvc2Ugc2VydmVycywg + aXRlcmF0ZSB0aHJvdWdoIHlvdXIgbGlzdCBvZiBJUCBhZGRyZXNzZXMsIHNl + bmRpbmcgcGFja2V0cyB0byB0aGVtLiBEZXBlbmRpbmcgb24gd2hhdCBzb3J0 + cyBvZiBwYWNrZXRzIHRob3NlIElQIGFkZHJlc3NlcyByZXNwb25kIHRvLCBh + bmQgd2hhdCB0aG9zZSByZXNwb25zZXMgYXJlLCB5b3UgY2FuIGJ1aWxkQ29u + dGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczph + dXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRo + b3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0 + PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTg6MTI8L2l0dW5lczpkdXJhdGlvbj4K + PHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6 + MSI+NDA2NDwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxl + PlNjYWxhIE5hdGl2ZSB3aXRoIERlbnlzIFNoYWJhbGluPC90aXRsZT4NCgkJ + PGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8xNi9zY2FsYS1uYXRpdmUtd2l0aC1kZW55cy1zaGFiYWxpbi88L2xp + bms+DQoJCTxwdWJEYXRlPk1vbiwgMTYgT2N0IDIwMTcgMDk6MDA6NDkgKzAw + MDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9NDA1OTwvZ3Vp + ZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTcvMTAvMTYvc2NhbGEtbmF0aXZlLXdpdGgtZGVueXMtc2hh + YmFsaW4vI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAv + MTYvc2NhbGEtbmF0aXZlLXdpdGgtZGVueXMtc2hhYmFsaW4vZmVlZC88L3dm + dzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mjwvc2xhc2g6Y29t + bWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91ZCBFbmdpbmVl + cmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNh + c3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtBZGFtIEJl + bGxdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtiYXJlIG1l + dGFsXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29tcGls + ZXJdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEZW55cyBT + aGFiYWxpbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0VQ + RkxdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtKVk1dXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTY2FsYSBOYXRpdmVd + XT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5TY2FsYSBpcyBhIGZ1bmN0 + aW9uYWwgYW5kIG9iamVjdCBvcmllbnRlZCBwcm9ncmFtbWluZyBsYW5ndWFn + ZSBidWlsdCBvbiB0aGUgSlZNLiBTY2FsYSBOYXRpdmUgdGFrZXMgdGhpcyBs + YW5ndWFnZSwgbG92ZWQgYnkgbWFueSwgYW5kIGJyaW5ncyBpdCB0byBiYXJl + IG1ldGFsLiBTY2FsYSBOYXRpdmUgaXMgYW4gb3B0aW1pemluZyBhaGVhZC1v + Zi10aW1lIGNvbXBpbGVyIGFuZCBsaWdodHdlaWdodCBtYW5hZ2VkIHJ1bnRp + bWUgZGVzaWduZWQgc3BlY2lmaWNhbGx5IGZvciBTY2FsYS4gRGVueXMgU2hh + YmFsaW4gaXMgYSBSZXNlYXJjaCBBc3Npc3RhbnQgYXQgdGhlIEVQRkwgYW5k + IHRoZSBwcmltYXJ5IGNyZWF0b3Igb2YgU2NhbGEgTmF0aXZlLiBJbiB0aGlz + IGVwaXNvZGUsIEFkYW0gQmVsbCBpbnRlcnZpZXdzIERlbnlzIGFib3V0IHRo + ZSBtb3RpdmF0aW9ucyBiZWhpbmQgdGhlJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9 + JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMTYvc2Nh + bGEtbmF0aXZlLXdpdGgtZGVueXMtc2hhYmFsaW4vJnF1b3Q7Jmd0O0NvbnRp + bnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRp + b24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2ds + ZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFu + LWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0 + YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBj + bGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5 + bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAw + MDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBz + cmM9Imh0dHBzOi8vYXZhdGFyczIuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Uv + MzIwOTY2P3Y9NCZhbXA7cz00NjAiIHdpZHRoPSIxNzUiIGhlaWdodD0iMTc1 + IiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5T + Y2FsYSBpcyBhIGZ1bmN0aW9uYWwgYW5kIG9iamVjdCBvcmllbnRlZCBwcm9n + cmFtbWluZyBsYW5ndWFnZSBidWlsdCBvbiB0aGUgSlZNLiBTY2FsYSBOYXRp + dmUgdGFrZXMgdGhpcyBsYW5ndWFnZSwgbG92ZWQgYnkgbWFueSwgYW5kIGJy + aW5ncyBpdCB0byBiYXJlIG1ldGFsLiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5TY2FsYSBOYXRpdmUgaXMgYW4gb3B0aW1pemlu + ZyBhaGVhZC1vZi10aW1lIGNvbXBpbGVyIGFuZCBsaWdodHdlaWdodCBtYW5h + Z2VkIHJ1bnRpbWUgZGVzaWduZWQgc3BlY2lmaWNhbGx5IGZvciBTY2FsYS48 + L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PkRlbnlzIFNoYWJhbGluIGlzIGEgUmVzZWFyY2ggQXNzaXN0YW50IGF0IHRo + ZSBFUEZMIGFuZCB0aGUgcHJpbWFyeSBjcmVhdG9yIG9mIFNjYWxhIE5hdGl2 + ZS4gSW4gdGhpcyBlcGlzb2RlLCBBZGFtIEJlbGwgaW50ZXJ2aWV3cyBEZW55 + cyBhYm91dCB0aGUgbW90aXZhdGlvbnMgYmVoaW5kIHRoZSBTY2FsYSBOYXRp + dmUgcHJvamVjdCwgaG93IGl0IHdhcyBpbXBsZW1lbnRlZCBhbmQgZnV0dXJl + IGRpcmVjdGlvbnMuIEhlIGFsc28gYnJpZWZseSB0b3VjaGVzIG9uIGhvdyBT + Y2FsYSBOYXRpdmUgbWFkZSBjb2xkIGNvbXBpbGF0aW9uIHRpbWVzIG9mIFNj + YWxhIGNvZGUgdHdpY2UgYXMgZmFzdC4gSWYgeW91IGFyZSBpbnRlcmVzdGVk + IGluIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcsIGNvbXBpbGVyIGRlc2lnbiwg + b3Igd2FudCB0byBsZWFybiBzb21lIGludGVyZXN0aW5nIHRpZGJpdHMgYWJv + dXQgZ2FyYmFnZSBjb2xsZWN0b3IgZGVzaWduIGFuZCB0cmFkZSBvZmZzIHlv + dSB3aWxsIGxpa2UgdGhpcyBlcGlzb2RlLjwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gcGFzdCBzaG93cywgd2Ug + aGF2ZSBjb3ZlcmVkIG1hbnkgbmV3ZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Vz + LCBhbmQgbmV3IHR3aXN0cyBvbiBvbGQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Vz + LiBXZeKAmXZlIHRhbGtlZCBhYm91dCBTY2FsYUpTLCBTd2lmdCBvbiB0aGUg + U2VydmVyLCBhbmQgUnVzdCBhdCBNb3ppbGxhLiBEb3dubG9hZCA8L3NwYW4+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0 + d2FyZS1lbmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0 + MjY/bXQ9OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+ + PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IG9yIEFuZHJv + aWQgdG8gaGVhciBhbGwgb2Ygb3VyIG9sZCBlcGlzb2Rlcy4gVGhleSBhcmUg + ZWFzaWx5IG9yZ2FuaXplZCBieSBjYXRlZ29yeSwgYW5kIGFzIHlvdSBsaXN0 + ZW4sIHRoZSBTRSBEYWlseSBhcHAgZ2V0cyBzbWFydGVyLCBhbmQgcmVjb21t + ZW5kcyB5b3UgY29udGVudCBiYXNlZCBvbiB0aGUgZXBpc29kZXMgeW91IGFy + ZSBoZWFyaW5nLiBJZiB5b3UgZG9u4oCZdCBsaWtlIHRoaXMgZXBpc29kZSwg + eW91IGNhbiBlYXNpbHkgZmluZCBzb21ldGhpbmcgbW9yZSBpbnRlcmVzdGlu + ZyBieSB1c2luZyB0aGUgcmVjb21tZW5kYXRpb24gc3lzdGVtLjwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+VGhlIG1v + YmlsZSBhcHBzIGFyZSBvcGVuIHNvdXJjZWQgYXQgPGEgaHJlZj0iaHR0cDov + L2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5Ij5naXRodWIu + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseTwvYT4uIElmIHlvdSBhcmUg + bG9va2luZyBmb3IgYW4gb3BlbiBzb3VyY2UgcHJvamVjdCB0byBoYWNrIG9u + LCB3ZSB3b3VsZCBsb3ZlIHRvIGdldCB5b3VyIGhlbHAhIFdlIGFyZSBidWls + ZGluZyBhIG5ldyB3YXkgdG8gY29uc3VtZSBzb2Z0d2FyZSBlbmdpbmVlcmlu + ZyBjb250ZW50LiBXZSBoYXZlIHRoZSBBbmRyb2lkIGFwcCwgdGhlIGlPUyBh + cHAsIGEgcmVjb21tZW5kYXRpb24gc3lzdGVtLCBhbmQgYSB3ZWIgZnJvbnRl + bmQmIzgyMTE7YW5kIG1vcmUgcHJvamVjdHMgYXJlIGNvbWluZyBzb29uLiBJ + ZiB5b3UgaGF2ZSBpZGVhcyBmb3IgaG93IHNvZnR3YXJlIGVuZ2luZWVyaW5n + IG1lZGlhIGNvbnRlbnQgc2hvdWxkIGJlIGNvbnN1bWVkLCBvciBpZiB5b3Ug + YXJlIGludGVyZXN0ZWQgaW4gY29udHJpYnV0aW5nIGNvZGUsIGNoZWNrIG91 + dCA8YSBocmVmPSJodHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkiPmdpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + PC9hPiwgb3Igam9pbiBvdXIgU2xhY2sgY2hhbm5lbCAodGhlcmXigJlzIGEg + bGluayBvbiBvdXIgd2Vic2l0ZSkmIzgyMTE7b3Igc2VuZCBtZSBhbiBlbWFp + bDogamVmZkBzb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwv + cD4KPGgyPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2hvdyBO + b3Rlczwvc3Bhbj48L2gyPgo8dWw+CjxsaSBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2NhbGEtbmF0aXZlLm9yZyI+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TY2FsYSBOYXRpdmU8 + L3NwYW4+PC9hPjwvbGk+CjxsaSBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXJX + V2x3UWwzN0EiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2Nh + bGEgR29lcyBOYXRpdmUgVGFsazwvc3Bhbj48L2E+PC9saT4KPGxpIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuc3Bh + bnRyZWUubmV0L2Jsb2cvMjAxNy8wOC8yOS9ib290c3RyYXBwaW5nLXdlYi1z + Y2FsYS1uYXRpdmUuaHRtbCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5Cb290c3RyYXBwaW5nIHRoZSBXZWIgd2l0aCBTY2FsYSBOYXRpdmU8 + L3NwYW4+PC9hPjwvbGk+CjwvdWw+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+ + VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8 + YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRp + dHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmly + c3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0 + aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3Ig + cGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8xMC9TRUQ0MzktU2NhbGEtTmF0aXZlLnBkZiI+Y2xp + Y2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9h + PjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjM5MTkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NjYWx5ci9zY2FseXJf + bG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGRhdGEtb3Jp + Zy1zaXplPSIyMjAsOTAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iU2NhbHlyX2xvZ28iIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + U2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0zOTE5IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9yZXNpemU9MjIwJTJD + OTAiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPldobyBkbyB5b3UgdXNlIGZv + ciBsb2cgbWFuYWdlbWVudD8gSSB3YW50IHRvIHRlbGwgeW91IGFib3V0IFNj + YWx5ciwgdGhlIGZpcnN0IHB1cnBvc2UgYnVpbHQgbG9nIG1hbmFnZW1lbnQg + dG9vbCBvbiB0aGUgbWFya2V0LiBNb3N0IHRvb2xzIG9uIHRoZSBtYXJrZXQg + dXRpbGl6ZSB0ZXh0IGluZGV4aW5nIHNlYXJjaCwgd2hpY2ggaXMgZ3JlYXQm + IzgyMzA7IGZvciBpbmRleGluZyBhIGJvb2suIEJ1dCBpZiB5b3Ugd2FudCB0 + byBzZWFyY2ggbG9ncywgYXQgc2NhbGUsIGZhc3QmIzgyMzA7IGl0IGJyZWFr + cyBkb3duLiBTY2FseXIgYnVpbHQgdGhlaXIgb3duIGRhdGFiYXNlIGZyb20g + c2NyYXRjaDogdGhlIHN5c3RlbSBpcyBmYXN0LiBNb3N0IHNlYXJjaGVzIHRh + a2UgbGVzcyB0aGFuIDEgc2Vjb25kLiBJbiBmYWN0LCA5OSUgb2YgdGhlaXIg + cXVlcmllcyBleGVjdXRlIGluICZsdDsxIHNlY29uZC4gwqBDb21wYW5pZXMg + bGlrZSBPS0N1cGlkLCBHaXBoeSBhbmQgQ2FyZWVyQnVpbGRlciB1c2UgU2Nh + bHlyLiBJdCB3YXMgYnVpbHQgYnkgb25lIG9mIHRoZSBmb3VuZGVycyBvZiBX + cml0ZWx5IChha2EgR29vZ2xlIERvY3MpLiBTY2FseXIgaGFzIGNvbnN1bWVy + IGdyYWRlIFVJLCB0aGF0IHNjYWxlcyBpbmZpbml0ZWx5LiBZb3UgY2FuIG1v + bml0b3Iga2V5IG1ldHJpY3MsIHRyaWdnZXIgYWxlcnRzLCBhbmQgaW50ZWdy + YXRlIHdpdGggUGFnZXJEdXR5LiBJdCYjODIxNztzIGVhc3kgdG8gdXNlIGFu + ZCBkaWQgd2UgbWVudGlvbjogbGlnaHRuaW5nIGZhc3QuIEdpdmUgaXQgYSB0 + cnkgdG9kYXkuIEl04oCZcyBmcmVlIGZvciA5MCBkYXlzIGF0IDxhIGhyZWY9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+ + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXI8L2E+LiA8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vb2N0b3B1cy5jb20iPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSI0MDIwIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8wMy80Mi1jb2Rp + bmctc2Nob29sLXdpdGgtYnJpdHRhbnktYmlyL29jdG9wdXNkZXBsb3lfbG9n + by8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/Zml0PTgwMCUyQzE1NSIgZGF0 + YS1vcmlnLXNpemU9IjgwMCwxNTUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ib2N0b3B1c2RlcGxveV9sb2dvIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dv + LnBuZz9maXQ9MzAwJTJDNTgiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP2Zp + dD04MDAlMkMxNTUiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtNDAyMCBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L29jdG9wdXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTMwMCUyQzU4IiBhbHQ9 + IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9w + dXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTMwMCUyQzU4IDMwMHcsIGh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBu + Zz9yZXNpemU9NzY4JTJDMTQ5IDc2OHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9NzIwJTJD + MTQwIDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1 + c2RlcGxveV9sb2dvLnBuZz93PTgwMCA4MDB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUg + b2N0b3B1czogYSBzZWEgY3JlYXR1cmUga25vd24gZm9yIGl0cyBpbnRlbGxp + Z2VuY2UgYW5kIGZsZXhpYmlsaXR5LiBPY3RvcHVzIERlcGxveTogYSBmcmll + bmRseSBkZXBsb3ltZW50IGF1dG9tYXRpb24gdG9vbCBmb3IgZGVwbG95aW5n + IGFwcGxpY2F0aW9ucyBsaWtlIC5ORVQgYXBwcywgSmF2YSBhcHBzIGFuZCBt + b3JlLiBBc2sgYW55IGRldmVsb3BlciBhbmQgdGhleeKAmWxsIHRlbGwgeW91 + IGl04oCZcyBuZXZlciBmdW4gcHVzaGluZyBjb2RlIGF0IDVwbSBvbiBhIEZy + aWRheSB0aGVuIGNyb3NzaW5nIHlvdXIgZmluZ2VycyBob3BpbmcgZm9yIHRo + ZSBiZXN0LsKgVGhhdOKAmXMgd2hlcmUgT2N0b3B1cyBEZXBsb3kgY29tZXMg + aW50byB0aGUgcGljdHVyZS4gT2N0b3B1cyBEZXBsb3kgaXMgYSBmcmllbmRs + eSBkZXBsb3ltZW50IGF1dG9tYXRpb24gdG9vbCwgdGFraW5nIG92ZXIgd2hl + cmUgeW91ciBidWlsZC9DSSBzZXJ2ZXIgZW5kcy4gVXNlIE9jdG9wdXMgdG8g + cHJvbW90ZSByZWxlYXNlcyBvbi1wcmVtIG9yIHRvIHRoZSBjbG91ZC4gT2N0 + b3B1cyBpbnRlZ3JhdGVzIHdpdGggeW91ciBleGlzdGluZyBidWlsZCBwaXBl + bGluZSYjODIxMTtURlMgYW5kIFZTVFMsIEJhbWJvbywgVGVhbUNpdHksIGFu + ZCBKZW5raW5zLiBJdCBpbnRlZ3JhdGVzIHdpdGggQVdTLCBBenVyZSwgYW5k + IG9uLXByZW0gZW52aXJvbm1lbnRzLiBSZWxpYWJseSBhbmQgcmVwZWF0ZWRs + eSBkZXBsb3kgeW91ciAuTkVUIGFuZCBKYXZhIGFwcHMgYW5kIG1vcmUuIElm + IHlvdSBjYW4gcGFja2FnZSBpdCwgT2N0b3B1cyBjYW4gZGVwbG95IGl0IcKg + SXTigJlzIHF1aWNrIGFuZCBlYXN5IHRvIGluc3RhbGwuIEdvIHRvIDxhIGhy + ZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+T2N0b3B1cy5jb208L2E+IHRvIHRy + aWFsIE9jdG9wdXMgZnJlZSBmb3IgNDUgZGF5cy4gVGhhdCYjODIxNztzIDxh + IGhyZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+T2N0b3B1cy5jb208L2E+Cjxw + PjwvcD48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRh + aWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTYvMTAvMTgvc2ltcHNvbnMtZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2hu + ZWlkZXIvaW5kZWVkLXByaW1lLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYz + JTJDOTYiIGRhdGEtb3JpZy1zaXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1l + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBu + Zz9maXQ9MzAwJTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5 + NiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXBy + aW1lLnBuZz9yZXNpemU9MzAwJTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAl + MkM2MiAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVl + ZC1wcmltZS5wbmc/dz00NjMgNDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNwYW4gaWQ9 + Im1fNzk5MDUyMTE1MDIxMzI3MzI3Nm1fOTA1MTE0MTYzNzQwNjQ5NDc3Mm1f + LTg3OTQ3MTY3MzA5MTc3ODc2MjFnbWFpbC1tXzkzODU4NDQ2ODI3NDU1MjE0 + NWdtYWlsLW1fLTg1NjE3MjM2NzUxMjc2NjA4MjJnbWFpbC1kb2NzLWludGVy + bmFsLWd1aWQtOTZiZjE1MDktMTY0NC1lNDcxLTRiYTgtYWY2ZmU1ODhjNzNl + Ij5JbmRlZWQgUHJpbWUgZmxpcHMgdGhlIHR5cGljYWwgbW9kZWwgb2Ygam9i + IHNlYXJjaCBhbmQgbWFrZXMgaXQgZWFzeSB0byBhcHBseSB0byBtdWx0aXBs + ZSBqb2JzIGFuZCBnZXQgbXVsdGlwbGUgb2ZmZXJzLiBJbmRlZWQgUHJpbWUg + c2ltcGxpZmllcyB5b3VyIGpvYiBzZWFyY2ggYW5kIGhlbHBzIHlvdSBsYW5k + IHRoYXQgaWRlYWwgPHNwYW4gY2xhc3M9Im1fNzk5MDUyMTE1MDIxMzI3MzI3 + Nm1fOTA1MTE0MTYzNzQwNjQ5NDc3Mm1fLTg3OTQ3MTY3MzA5MTc3ODc2MjFn + bWFpbC1tXzkzODU4NDQ2ODI3NDU1MjE0NWdtYWlsLWlsIj5zb2Z0d2FyZTwv + c3Bhbj4gPHNwYW4gY2xhc3M9Im1fNzk5MDUyMTE1MDIxMzI3MzI3Nm1fOTA1 + MTE0MTYzNzQwNjQ5NDc3Mm1fLTg3OTQ3MTY3MzA5MTc3ODc2MjFnbWFpbC1t + XzkzODU4NDQ2ODI3NDU1MjE0NWdtYWlsLWlsIj5lbmdpbmVlcmluZzwvc3Bh + bj4gcG9zaXRpb24uIENhbmRpZGF0ZXMgZ2V0IGltbWVkaWF0ZSBleHBvc3Vy + ZSB0byB0b3AgY29tcGFuaWVzIHdpdGgganVzdCBvbmUgc2ltcGxlIGFwcGxp + Y2F0aW9uIHRvIEluZGVlZCBQcmltZS4gQ29tcGFuaWVzIG9uIFByaW1l4oCZ + cyBleGNsdXNpdmUgcGxhdGZvcm0gbWVzc2FnZSBjYW5kaWRhdGVzIHdpdGgg + c2FsYXJ5IGFuZCBlcXVpdHkgdXBmcm9udC4gSW5kZWVkIFByaW1lIGlzIDEw + MCUgZnJlZSBmb3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5ncyBhdHRhY2hl + ZC4gPC9zcGFuPlNpZ24gdXAgbm93IGF0PGEgaHJlZj0iaHR0cDovL2luZGVl + ZC5jb20vc2VkYWlseSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIi + IGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29t + L3VybD9obD1lbiZhbXA7cT1odHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5JmFt + cDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNTA2NDA5NzE2ODMxMDAwJmFtcDt1 + c2c9QUZRakNORm8wU253cEt1WDhtTW1wRGN0RUwwUlBMdk5lZyI+IGluZGVl + ZC5jb20vc2VkYWlseTwvYT4uwqBZb3UgY2FuIGFsc28gcHV0IG1vbmV5IGlu + IHlvdXIgcG9ja2V0IGJ5IHJlZmVycmluZyB5b3VyIGZyaWVuZHMgYW5kIGNv + bGxlYWd1ZXMuIFJlZmVyIGEgc29mdHdhcmUgZW5naW5lZXIgdG8gdGhlIHBs + YXRmb3JtIGFuZCBnZXQgJDIwMCB3aGVuIHRoZXkgZ2V0IGNvbnRhY3RlZCBi + eSBhIGNvbXBhbnkmIzgyMzA7LiBhbmQgJDIsMDAwIHdoZW4gdGhleSBhY2Nl + cHQgYSBqb2IgdGhyb3VnaCBQcmltZSEgTGVhcm4gbW9yZSBhdMKgPGEgaHJl + Zj0iaHR0cDovL2luZGVlZC5jb20vcHJpbWUvcmVmZXJyYWwiIHRhcmdldD0i + X2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0i + aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDov + L2luZGVlZC5jb20vcHJpbWUvcmVmZXJyYWwmYW1wO3NvdXJjZT1nbWFpbCZh + bXA7dXN0PTE1MDY0MDk3MTY4MzEwMDAmYW1wO3VzZz1BRlFqQ05Fd1dBU0VQ + TFFpTVVZU2JyNW5zakNHWXR0dVNBIj5pbmRlZWQuY29tL3ByaW1lL3JlZmVy + cmFsPC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAtYXBwbGUtc3lz + dGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywg + T3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAnSGVsdmV0aWNhIE5l + dWUnLCBzYW5zLXNlcmlmOyI+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3Nw + YW4+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ni9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0i + MjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9m + aXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBz + aXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9z + eW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9t + IGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNr + bGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVh + Y2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3lt + cGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4g + VGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93 + LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVy + IGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMu + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rp + dj4KPHA+Jm5ic3A7PC9wPgo8cD4mbmJzcDs8L3A+CjxwPiZuYnNwOzwvcD4K + XV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRw + Oi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU2NhbGFOYXRpdmUubXAz + IiBsZW5ndGg9IjU0NzUzNzA3IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+U2NhbGEgaXMgYSBmdW5jdGlvbmFsIGFuZCBvYmpl + Y3Qgb3JpZW50ZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgYnVpbHQgb24gdGhl + IEpWTS4gU2NhbGEgTmF0aXZlIHRha2VzIHRoaXMgbGFuZ3VhZ2UsIGxvdmVk + IGJ5IG1hbnksIGFuZCBicmluZ3MgaXQgdG8gYmFyZSBtZXRhbC4gU2NhbGEg + TmF0aXZlIGlzIGFuIG9wdGltaXppbmcgYWhlYWQtb2YtdGltZSBjb21waWxl + ciBhbmQgbGlnaHR3ZWlnaHQgbWFuYWdlZCBydW50aW1lIGRlc2lnbmVkLi4u + PC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlNjYWxhIGlz + IGEgZnVuY3Rpb25hbCBhbmQgb2JqZWN0IG9yaWVudGVkIHByb2dyYW1taW5n + IGxhbmd1YWdlIGJ1aWx0IG9uIHRoZSBKVk0uIFNjYWxhIE5hdGl2ZSB0YWtl + cyB0aGlzIGxhbmd1YWdlLCBsb3ZlZCBieSBtYW55LCBhbmQgYnJpbmdzIGl0 + IHRvIGJhcmUgbWV0YWwuIFNjYWxhIE5hdGl2ZSBpcyBhbiBvcHRpbWl6aW5n + IGFoZWFkLW9mLXRpbWUgY29tcGlsZXIgYW5kIGxpZ2h0d2VpZ2h0IG1hbmFn + ZWQgcnVudGltZSBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIFNjYWxhLiBE + ZW55cyBTaGFiYWxpbiBpcyBhIFJlc2VhcmNoIEFzc2lzdGFudCBhdCB0aGUg + RVBGTCBhbmQgdGhlIHByaW1hcnkgY3JlYXRvciBvZiBTY2FsYSBOYXRpdmUu + IEluIHRoaXMgZXBpc29kZSwgQWRhbSBCZWxsIGludGVydmlld3MgRGVueXMg + YWJvdXQgdGhlIG1vdGl2YXRpb25zIGJlaGluZCB0aGVDb250aW51ZSByZWFk + aW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1 + bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5l + czpkdXJhdGlvbj41Njo0NTwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4 + bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj40MDU5PC9w + b3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+R2lnc3RlciB3 + aXRoIFJvZ2VyIERpY2tleTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMTMvZ2lnc3Rlci13 + aXRoLXJvZ2VyLWRpY2tleS88L2xpbms+DQoJCTxwdWJEYXRlPkZyaSwgMTMg + T2N0IDIwMTcgMDk6MDA6NTMgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlz + UGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vP3A9NDA1MDwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMTMvZ2lnc3Rl + ci13aXRoLXJvZ2VyLWRpY2tleS8jcmVzcG9uZDwvY29tbWVudHM+DQoJCTx3 + Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzEwLzEzL2dpZ3N0ZXItd2l0aC1yb2dlci1kaWNrZXkvZmVl + ZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xh + c2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29k + ZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCdXNpbmVz + cyBhbmQgUGhpbG9zb3BoeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtmcmVlbGFuY2Ugc29mdHdhcmUgZGV2ZWxvcG1lbnRdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtnaWcgZWNvbm9teV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dpZ3N0ZXJdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtvdXRzb3VyY2luZ11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1JvZ2VyIERpY2tleV1dPjwv + Y2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPllvdSBoYXZlIGhlYXJkIHRoZSBw + aHJhc2U6IGV2ZXJ5IGNvbXBhbnkgaXMgYmVjb21pbmcgYSBzb2Z0d2FyZSBj + b21wYW55LiBBbiBpbnN1cmFuY2UgY29tcGFueSBpcyBub3cgc3VwcG9zZWQg + dG8gdHVybiBpbnRvIGEgc29mdHdhcmUgY29tcGFueSB0aGF0IHNlbGxzIGlu + c3VyYW5jZS4gQSBjbG90aGluZyByZXRhaWxlciBuZWVkcyB0byByZWludmVu + dCBpdHNlbGYgdG8gYmUgYWJsZSB0byBidWlsZCBzb2Z0d2FyZSB0byBtYW5h + Z2UgdGhlIHByb2R1Y3Rpb24gYW5kIGRpc3RyaWJ1dGlvbiBvZiBpdHMgY2xv + dGhpbmcuIFNvZnR3YXJlIGFwcGxpY2F0aW9ucyBwcm92aWRlIHNvIG11Y2gg + bGV2ZXJhZ2UgdG8gYW4gb3JnYW5pemF0aW9uLCBpdCBzZWVtcyBzbWFydCB0 + byBkZXZlbG9wIGluLWhvdXNlIHNvZnR3YXJlIHRlYW1zIHRvIGJ1aWxkIHRo + b3NlIGFwcGxpY2F0aW9ucy4mbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtj + b250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8xMy9naWdzdGVyLXdp + dGgtcm9nZXItZGlja2V5LyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4u + Jmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1t + YW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIx + NzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmln + aHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFk + aXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0 + aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kx + LndwLmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzQ3MTEzMzE2 + NTMzNjAyMzA0MS8tamFwNUFjeS5qcGVnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAz + ODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+WW91IGhhdmUgaGVhcmQgdGhl + IHBocmFzZTogZXZlcnkgY29tcGFueSBpcyBiZWNvbWluZyBhIHNvZnR3YXJl + IGNvbXBhbnkuIEFuIGluc3VyYW5jZSBjb21wYW55IGlzIG5vdyBzdXBwb3Nl + ZCB0byB0dXJuIGludG8gYSBzb2Z0d2FyZSBjb21wYW55IHRoYXQgc2VsbHMg + aW5zdXJhbmNlLiBBIGNsb3RoaW5nIHJldGFpbGVyIG5lZWRzIHRvIHJlaW52 + ZW50IGl0c2VsZiB0byBiZSBhYmxlIHRvIGJ1aWxkIHNvZnR3YXJlIHRvIG1h + bmFnZSB0aGUgcHJvZHVjdGlvbiBhbmQgZGlzdHJpYnV0aW9uIG9mIGl0cyBj + bG90aGluZy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPlNvZnR3YXJlIGFwcGxpY2F0aW9ucyBwcm92aWRlIHNvIG11 + Y2ggbGV2ZXJhZ2UgdG8gYW4gb3JnYW5pemF0aW9uLCBpdCBzZWVtcyBzbWFy + dCB0byBkZXZlbG9wIGluLWhvdXNlIHNvZnR3YXJlIHRlYW1zIHRvIGJ1aWxk + IHRob3NlIGFwcGxpY2F0aW9ucy4gQnV0IGRvZXMgaXQgcmVhbGx5IG1ha2Ug + c2Vuc2U/IElzIHRoZXJlIGEgYmV0dGVyIGFsdGVybmF0aXZlPzwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gdGhl + IDkwcyBvdXRzb3VyY2luZyB3YXMgYSBjb21tb24gc29sdXRpb24gdG8gdGhp + cyBwcm9ibGVtLiBJZiB5b3UgZGlkbuKAmXQgaGF2ZSBzb2Z0d2FyZSBleHBl + cnRpc2UgYXQgeW91ciBjb21wYW55LCB5b3Ugd291bGQgaGlyZSBhIGxhcmdl + IGNvbnN1bHRpbmcgZmlybS4gVGhlc2UgZmlybXMgd291bGQgb2Z0ZW4gaGly + ZSBpbmV4cGVyaWVuY2VkIG9mZnNob3JlIGRldmVsb3BlcnMsIGFuZCB0aGUg + cmVzdWx0aW5nIGNvZGUgcXVhbGl0eSB3YXMgbm90IHNvIGdyZWF0Ljwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QmVj + YXVzZSBvZiB0aGUgYmFkIGV4cGVyaWVuY2VzIG9mIHRoZSBmaXJzdCBJbnRl + cm5ldCBib29tLCBjb21wYW5pZXMgYmVjYW1lIG1vcmUgY2F1dGlvdXMgYWJv + dXQgb3V0c291cmNpbmcgdGhlaXIgZW5naW5lZXJpbmcgd29yayYjODIxMTt3 + aGljaCBsZWQgdG8gdG9kYXksIHdoZXJlIHRoZSBzdGFuZGFyZCBpcyB0byBo + aXJlIHlvdXIgb3duIHNvZnR3YXJlIHRlYW0uPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgd29ybGQgaGFzIGNo + YW5nZWQgaW4gd2F5cyB0aGF0IGhhdmUgbWFkZSBvdXRzb3VyY2luZyBhIG1v + cmUgdmlhYmxlIHNvbHV0aW9uLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlByb2dyYW1taW5nIGJlc3QgcHJhY3Rp + Y2VzIGFyZSBtb3JlIHdpZGVseSB1bmRlcnN0b29kLiBUaGVyZSBpcyBhbiBp + bnRlcm5hdGlvbmFsIGNvbW11bml0eSBvZiBzb2Z0d2FyZSBlbmdpbmVlcnMg + dGhhdCBzaGFyZSBpbmZvcm1hdGlvbiBvbiBwbGFjZXMgbGlrZSBTdGFjayBP + dmVyZmxvdywgUXVvcmEsIGFuZCBUd2l0dGVyLiDCoE9mZi10aGUtc2hlbGYg + Y29sbGFib3JhdGlvbiB0b29scyBtYWtlIGl0IG11Y2ggZWFzaWVyIHRvIGNv + bW11bmljYXRlIHRoZSByZXF1aXJlbWVudHMgb2YgYSBwcm9qZWN0IHRvIGEg + dGVhbSBvZiBkZXZlbG9wZXJzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+R2lnc3RlciBpcyBhIGNvbXBhbnkgdGhh + dCBpcyB3b3JraW5nIHRvIG9wdGltaXplIHRoZSBlbmdpbmVlcmluZyBvZiBz + b2Z0d2FyZSBwcm9qZWN0cy4gTGFyZ2UgZW50ZXJwcmlzZXMgY29tZSB0byBH + aWdzdGVyIHRvIGJ1aWxkIG5ldyBwcm9qZWN0cyBmcm9tIHNjcmF0Y2gmIzgy + MTE7d2hldGhlciB0aGF0IHByb2plY3QgaXMgYSBtYXJrZXRwbGFjZSwgYSBt + b2JpbGUgYXBwbGljYXRpb24sIG9yIGEgbWFjaGluZSBsZWFybmluZyBtb2Rl + bC4gUm9nZXIgRGlja2V5IGlzIHRoZSBDRU8gb2YgR2lnc3RlciwgYW5kIGhl + IGpvaW5zIHRoZSBzaG93IHRvIGRlc2NyaWJlIGhvdyBHaWdzdGVyIHdvcmtz + LCBhbmQgd2h5IGl0IG9mdGVuIG1ha2VzIHNlbnNlIGZvciBjb21wYW5pZXMg + dG8gZm9jdXMgb24gdGhlaXIgY29yZSBjb21wZXRlbmN5IGFuZCBvdXRzb3Vy + Y2Ugc29mdHdhcmUgZW5naW5lZXJpbmcuPC9zcGFuPjwvcD4KPHA+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Tb21lIG9mIG91ciBtb3N0IHBv + cHVsYXIgZXBpc29kZXMgb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkg + ZGVzY3JpYmUgaG93IGxlYWRpbmcgc29mdHdhcmUgY29tcGFuaWVzIGFyZSBi + ZWluZyBidWlsdCYjODIxMTt3ZSBoYXZlIGNvdmVyZWQgR2lwaHksIE5ldGZs + aXgsIERpZ2l0YWwgT2NlYW4sIFN0cmlwZSwgYW5kIG1hbnkgb3RoZXJzLiDC + oERvd25sb2FkIDwvc3Bhbj48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBs + ZS5jb20vdXMvYXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LXBvZGNh + c3QtYXBwL2lkMTI1MzczNDQyNj9tdD04Ij48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPnRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBh + cHAgZm9yIGlPUzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4gb3IgQW5kcm9pZCB0byBoZWFyIGFsbCBvZiBvdXIgb2xkIGVw + aXNvZGVzLiBUaGV5IGFyZSBlYXNpbHkgb3JnYW5pemVkIGJ5IGNhdGVnb3J5 + LCBhbmQgYXMgeW91IGxpc3RlbiwgdGhlIFNFIERhaWx5IGFwcCBnZXRzIHNt + YXJ0ZXIsIGFuZCByZWNvbW1lbmRzIHlvdSBjb250ZW50IGJhc2VkIG9uIHRo + ZSBlcGlzb2RlcyB5b3UgYXJlIGhlYXJpbmcuIElmIHlvdSBkb27igJl0IGxp + a2UgdGhpcyBlcGlzb2RlLCB5b3UgY2FuIGVhc2lseSBmaW5kIHNvbWV0aGlu + ZyBtb3JlIGludGVyZXN0aW5nIGJ5IHVzaW5nIHRoZSByZWNvbW1lbmRhdGlv + biBzeXN0ZW0uPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5UaGUgbW9iaWxlIGFwcHMgYXJlIG9wZW4gc291cmNlZCBh + dCA8YSBocmVmPSJodHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkiPmdpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + PC9hPi4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhbiBvcGVuIHNvdXJjZSBw + cm9qZWN0IHRvIGhhY2sgb24sIHdlIHdvdWxkIGxvdmUgdG8gZ2V0IHlvdXIg + aGVscCEgV2UgYXJlIGJ1aWxkaW5nIGEgbmV3IHdheSB0byBjb25zdW1lIHNv + ZnR3YXJlIGVuZ2luZWVyaW5nIGNvbnRlbnQuIFdlIGhhdmUgdGhlIEFuZHJv + aWQgYXBwLCB0aGUgaU9TIGFwcCwgYSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0s + IGFuZCBhIHdlYiBmcm9udGVuZCYjODIxMTthbmQgbW9yZSBwcm9qZWN0cyBh + cmUgY29taW5nIHNvb24uIElmIHlvdSBoYXZlIGlkZWFzIGZvciBob3cgc29m + dHdhcmUgZW5naW5lZXJpbmcgbWVkaWEgY29udGVudCBzaG91bGQgYmUgY29u + c3VtZWQsIG9yIGlmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBjb250cmlidXRp + bmcgY29kZSwgY2hlY2sgb3V0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHk8L2E+LCBvciBqb2luIG91ciBTbGFjayBjaGFu + bmVsICh0aGVyZeKAmXMgYSBsaW5rIG9uIG91ciB3ZWJzaXRlKSYjODIxMTtv + ciBzZW5kIG1lIGFuIGVtYWlsOiBqZWZmQHNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb208L3NwYW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRy + YW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEg + aHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRw + b2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0 + IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlv + biBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBh + cnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRw + czovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMTAvU0VENDM4LUdpZ3N0ZXIucGRmIj5jbGljayBoZXJl + IHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8 + aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS8yeUJ1S0I5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iNDA5OCIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3MvcmF5Z3VuL3JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlLyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUmF5 + Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP2ZpdD0xMTYxJTJDMzE4 + IiBkYXRhLW9yaWctc2l6ZT0iMTE2MSwzMTgiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iUmF5Z3VuX21hc3Rlci1s + b2dvLWNsZWFyc3BhY2UiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9S + YXlndW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/Zml0PTMwMCUyQzgy + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP2ZpdD0xMDI0 + JTJDMjgwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwOTggc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXln + dW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTMwMCUyQzgy + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9MzAw + JTJDODIgMzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXln + dW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTc2OCUyQzIx + MCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9t + YXN0ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9MTAyNCUyQzI4MCAx + MDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXlndW5fbWFz + dGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTcyMCUyQzE5NyA3MjB3 + LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXIt + bG9nby1jbGVhcnNwYWNlLmpwZz93PTExNjEgMTE2MXciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PldoZW4geW91ciBhcHBsaWNhdGlvbiBpcyBmYWlsaW5nIG9uIGEgdXNlcuKA + mXMgZGV2aWNlLCBob3cgZG8geW91IGZpbmQgb3V0IGFib3V0IGl0PyBSYXln + dW4gbGV0cyB5b3Ugc2VlIGV2ZXJ5IHByb2JsZW0gaW4geW91ciBzb2Z0d2Fy + ZSBhbmQgaG93IHRvIGZpeCBpdC4gUmF5Z3VuIGJyaW5ncyB0b2dldGhlciBj + cmFzaCByZXBvcnRpbmcsIHJlYWwgdXNlciBtb25pdG9yaW5nLCB1c2VyIHRy + YWNraW5nLCBhbmQgZGVwbG95bWVudCB0cmFja2luZy4gU2VlIGV2ZXJ5IGVy + cm9yIGFuZCBjcmFzaCBhZmZlY3RpbmcgeW91ciB1c2VycyByaWdodCBub3cu + IE1vbml0b3IgeW91ciBkZXBsb3ltZW50cywgdG8gbWFrZSBzdXJlIHRoYXQg + YSByZWxlYXNlIGlzIG5vdCBpbXBhY3RpbmcgdXNlcnMgaW4gbmV3IHdheXMu + IEFuZCB0cmFjayB5b3VyIHVzZXJzIHRocm91Z2ggeW91ciBhcHBsaWNhdGlv + biB0byBpZGVudGlmeSB0aGUgYmFkIGV4cGVyaWVuY2VzIHRoZXkgYXJlIGhh + dmluZy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL2JpdC5seS8yeUJ1S0I5Ij5z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3JheWd1bjwvYT4sIGFuZCBn + ZXQgYSBmcmVlIDE0IGRheSB0cmlhbCB0byB0cnkgb3V0IFJheWd1biBhbmQg + ZmluZCB0aGUgZXJyb3JzIHRoYXQgYXJlIG9jY3VycmluZyBpbiB5b3VyIGFw + cGxpY2F0aW9ucyB0b2RheS4gUmF5Z3VuIGlzIHVzZWQgYnkgTWljcm9zb2Z0 + LCBTbGFjaywgYW5kIFVuaXR5IHRvIG1vbml0b3IgdGhlaXIgY3VzdG9tZXIg + ZmFjaW5nIHNvZnR3YXJlLiBHbyB0byA8YSBocmVmPSJodHRwOi8vYml0Lmx5 + LzJ5QnVLQjkiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vcmF5Z3Vu + PC9hPiBhbmQgdHJ5IGl0IG91dCBmb3IgeW91cnNlbGYuPGJyIC8+CjwvZGl2 + PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9kby5jby9zZWRhaWx5Ij48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iNDAxNyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMDIvcmVhY3R2 + ci13aXRoLWFuZHJldy1pbW0vZGlnaXRhbG9jZWFuLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFu + LnBuZz9maXQ9ODAwJTJDNDAwIiBkYXRhLW9yaWctc2l6ZT0iODAwLDQwMCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJkaWdpdGFsb2NlYW4iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9k + aWdpdGFsb2NlYW4ucG5nP2ZpdD0zMDAlMkMxNTAiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4u + cG5nP2ZpdD04MDAlMkM0MDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + NDAxNyBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTMwMCUyQzE1MCIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9kaWdp + dGFsb2NlYW4ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAgMzAwdywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5nP3Jlc2l6ZT03 + NjglMkMzODQgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9k + aWdpdGFsb2NlYW4ucG5nP3Jlc2l6ZT03MjAlMkMzNjAgNzIwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5nP3c9ODAw + IDgwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4 + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPkRpZ2l0YWwgT2NlYW4gU3BhY2VzIGdpdmVz + IHlvdSBzaW1wbGUgb2JqZWN0IHN0b3JhZ2Ugd2l0aCBhIGJlYXV0aWZ1bCB1 + c2VyIGludGVyZmFjZS4gWW91IG5lZWQgYW4gZWFzeSB3YXkgdG8gaG9zdCBv + YmplY3RzIGxpa2UgaW1hZ2VzIGFuZCB2aWRlb3MuIFlvdXIgdXNlcnMgbmVl + ZCB0byB1cGxvYWQgb2JqZWN0cyBsaWtlIHBkZnMgYW5kIG11c2ljIGZpbGVz + LiBEaWdpdGFsIE9jZWFuIFNwYWNlcyBpcyBtb2Rlcm4gb2JqZWN0IHN0b3Jh + Z2Ugd2l0aCBhIG1vZGVybiBVSSB0aGF0IHlvdSB3aWxsIGxvdmUgdG8gdXNl + JiM4MjExO2l04oCZcyBsaWtlIHRoZSBVSSBmb3IgRHJvcGJveCwgYnV0IHdp + dGggdGhlIHByaWNpbmcgb2YgYSByYXcgb2JqZWN0IHN0b3JhZ2U7IEkgYWxt + b3N0IHdhbnQgdG8gdXNlIGl0IGxpa2UgYSBjb25zdW1lciBwcm9kdWN0LiBU + byB0cnkgRGlnaXRhbCBPY2VhbiBTcGFjZXMsIGdvIHRvPGEgaHJlZj0iaHR0 + cDovL2RvLmNvL3NlZGFpbHkiPiA8Yj5kby5jby9zZWRhaWx5PC9iPjwvYT4g + YW5kIGdldCAyIG1vbnRocyBvZiBTcGFjZXMgcGx1cyBhICQxMCBjcmVkaXQg + dG8gdXNlIG9uIGFueSBvdGhlciBEaWdpdGFsIE9jZWFuIHByb2R1Y3RzJiM4 + MjExO2FuZCB5b3UgZ2V0IHRoaXMgY3JlZGl0IGV2ZW4gaWYgeW91IGhhdmUg + YmVlbiB3aXRoIERpZ2l0YWwgT2NlYW4gZm9yIGF3aGlsZS4gSXQmIzgyMTc7 + cyBhIG5pY2UgYWRkZWQgYm9udXMganVzdCBmb3IgdHJ5aW5nIG91dCBTcGFj + ZXMuIElmIHlvdSBiZWNvbWUgYSBjdXN0b21lciwgdGhlIHByaWNpbmcgaXMg + PGk+c2ltcGxlOiDCoDwvaT4kNSBwZXIgbW9udGggcHJpY2UgYW5kIGluY2x1 + ZGVzIDI1MEdCIG9mIHN0b3JhZ2UgYW5kIDFUQiBvZiBvdXRib3VuZCBiYW5k + d2lkdGguIFRoZXJlIGFyZSBubyBjb3N0cyBwZXIgcmVxdWVzdCBhbmQgYWRk + aXRpb25hbCBzdG9yYWdlIGlzIHByaWNlZCBhdCB0aGUgbG93ZXN0IHJhdGUg + YXZhaWxhYmxlOiAkMC4wMSBwZXIgR0IgdHJhbnNmZXJyZWQgYW5kICQwLjAy + IHBlciBHQiBzdG9yZWQuIFRoZXJlIHdvbiYjODIxNzt0IGJlIGFueSBzdXJw + cmlzZXMgb24geW91ciBiaWxsLiBEaWdpdGFsIE9jZWFuIHNpbXBsaWZpZXMg + dGhlIGNsb3VkJiM4MjExO3RoZXkgbG9vayBmb3IgZXZlcnkgb3Bwb3J0dW5p + dHkgdG8gcmVtb3ZlIGZyaWN0aW9uIGZyb20gYSBkZXZlbG9wZXImIzgyMTc7 + cyBleHBlcmllbmNlLiBJIGxvdmUgaXQsIGFuZCBJIHRoaW5rIHlvdSB3aWxs + IHRvbyYjODIxMTtjaGVjayBpdCBvdXQgYXQ8YSBocmVmPSJodHRwOi8vZG8u + Y28vc2VkYWlseSI+IDxiPmRvLmNvL3NlZGFpbHk8L2I+PC9hPjxiPi48L2I+ + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+Cjxw + PjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0 + Zm9ybSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3NTMiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9r + d2xvZ29zL3Bpdm90YWwtbG9nby9waXZvdGFsLW9ubGlnaHQvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP2ZpdD0yNjEwJTJDMTA4MCIgZGF0YS1vcmlnLXNpemU9 + IjI2MTAsMTA4MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1h + Z2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28m + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRh + LWltYWdlLXRpdGxlPSJQaXZvdGFsLU9uTGlnaHQiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0zMDAlMkMx + MjQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0xMDI0JTJDNDI0IiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3NTMgc2l6ZS1tZWRpdW0iIHNyYz0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQu + cG5nP3Jlc2l6ZT0zMDAlMkMxMjQiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNp + emU9MzAwJTJDMTI0IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzY4JTJDMzE4IDc2OHcs + IGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0 + LnBuZz9yZXNpemU9MTAyNCUyQzQyNCAxMDI0dywgaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03MjAl + MkMyOTggNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZv + dGFsLU9uTGlnaHQucG5nP3c9MjEwMCAyMTAwdyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+U3By + aW5nIEZyYW1ld29yayBnaXZlcyBkZXZlbG9wZXJzIGFuIGVudmlyb25tZW50 + IGZvciBidWlsZGluZyBjbG91ZCBuYXRpdmUgcHJvamVjdHMuIE9uIERlY2Vt + YmVyIDR0aC03dGgsIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25l + cGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gaXMgY29taW5nIHRv + IFNhbiBGcmFuY2lzY28uIFNwcmluZ09uZSBQbGF0Zm9ybSBpcyBhIGNvbmZl + cmVuY2Ugd2hlcmUgZGV2ZWxvcGVycyBjb25ncmVnYXRlIHRvIGV4cGxvcmUg + dGhlIGxhdGVzdCB0ZWNobm9sb2dpZXMgaW4gdGhlIFNwcmluZyBlY29zeXN0 + ZW0gYW5kIGJleW9uZC4gU3BlYWtlcnMgYXQgU3ByaW5nT25lIFBsYXRmb3Jt + IGluY2x1ZGUgRXJpYyBCcmV3ZXIgKHdobyBjcmVhdGVkIHRoZSBDQVAgdGhl + b3JlbSksIFZhdWdobiBWZXJub24gKHdobyB3cml0ZXMgZXh0ZW5zaXZlbHkg + YWJvdXQgRG9tYWluIERyaXZlbiBEZXNpZ24pLCBhbmQgbWFueSB0aG91Z2h0 + IGxlYWRlcnMgaW4gdGhlIFNwcmluZyBFY29zeXN0ZW0uIFNwcmluZ09uZSBQ + bGF0Zm9ybSBpcyB0aGUgcHJlbWllciBjb25mZXJlbmNlIGZvciB0aG9zZSB3 + aG8gYnVpbGQsIGRlcGxveSwgYW5kIHJ1biBjbG91ZC1uYXRpdmUgc29mdHdh + cmUuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4g + c2lnbiB1cCB3aXRoIHRoZSBkaXNjb3VudCBjb2RlIFNFRGFpbHkxMDAgYW5k + IHJlY2VpdmUgJDEwMCBvZmYgb2YgYSBTcHJpbmcgT25lIFBsYXRmb3JtIDxh + IGhyZWY9Imh0dHBzOi8vMjAxNy5zcHJpbmdvbmVwbGF0Zm9ybS5pby9laG9t + ZS9zMXAvcmVnaXN0cmF0aW9uIj5jb25mZXJlbmNlIHBhc3M8L2E+LiBJIHdp + bGwgYWxzbyBiZSBhdCBTcHJpbmdPbmUgcmVwb3J0aW5nIG9uIGRldmVsb3Bt + ZW50cyBpbiB0aGUgY2xvdWQgbmF0aXZlIGVjb3N5c3RlbS4gSm9pbiBtZSBE + ZWNlbWJlciA0dGgtN3RoIGF0IHRoZSA8YSBocmVmPSJodHRwOi8vYml0Lmx5 + L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGNv + bmZlcmVuY2UsIGFuZCB1c2UgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGZv + ciAkMTAwIG9mZiB5b3VyIGNvbmZlcmVuY2UgcGFzcy4gPC9kaXY+PC9wPgo8 + cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8v + c3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9y + aWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBo + b25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25z + b3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlz + IGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2lu + ZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmlu + ZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJo + dHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRh + aWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25z + b3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBh + IHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0 + byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3Vs + YXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1 + cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvR2ln + c3Rlci5tcDMiIGxlbmd0aD0iNTE4NzE2NjkiIHR5cGU9ImF1ZGlvL21wZWci + IC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5Zb3UgaGF2ZSBoZWFyZCB0aGUgcGhy + YXNlOiBldmVyeSBjb21wYW55IGlzIGJlY29taW5nIGEgc29mdHdhcmUgY29t + cGFueS4gQW4gaW5zdXJhbmNlIGNvbXBhbnkgaXMgbm93IHN1cHBvc2VkIHRv + IHR1cm4gaW50byBhIHNvZnR3YXJlIGNvbXBhbnkgdGhhdCBzZWxscyBpbnN1 + cmFuY2UuIEEgY2xvdGhpbmcgcmV0YWlsZXIgbmVlZHMgdG8gcmVpbnZlbnQg + aXRzZWxmIHRvIGJlIGFibGUgdG8gYnVpbGQgc29mdHdhcmUgdG8gbWFuYWdl + IHRoZSAuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+ + WW91IGhhdmUgaGVhcmQgdGhlIHBocmFzZTogZXZlcnkgY29tcGFueSBpcyBi + ZWNvbWluZyBhIHNvZnR3YXJlIGNvbXBhbnkuIEFuIGluc3VyYW5jZSBjb21w + YW55IGlzIG5vdyBzdXBwb3NlZCB0byB0dXJuIGludG8gYSBzb2Z0d2FyZSBj + b21wYW55IHRoYXQgc2VsbHMgaW5zdXJhbmNlLiBBIGNsb3RoaW5nIHJldGFp + bGVyIG5lZWRzIHRvIHJlaW52ZW50IGl0c2VsZiB0byBiZSBhYmxlIHRvIGJ1 + aWxkIHNvZnR3YXJlIHRvIG1hbmFnZSB0aGUgcHJvZHVjdGlvbiBhbmQgZGlz + dHJpYnV0aW9uIG9mIGl0cyBjbG90aGluZy4gU29mdHdhcmUgYXBwbGljYXRp + b25zIHByb3ZpZGUgc28gbXVjaCBsZXZlcmFnZSB0byBhbiBvcmdhbml6YXRp + b24sIGl0IHNlZW1zIHNtYXJ0IHRvIGRldmVsb3AgaW4taG91c2Ugc29mdHdh + cmUgdGVhbXMgdG8gYnVpbGQgdGhvc2UgYXBwbGljYXRpb25zLkNvbnRpbnVl + IHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9y + PlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJ + CTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8 + aXR1bmVzOmR1cmF0aW9uPjUzOjQ1PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0 + LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQw + NTA8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5CbG9j + a2NoYWluIEJ1aWxkaW5nIHdpdGggRGFuaWVsIHZhbiBGbHltZW48L3RpdGxl + Pg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzEwLzEyL2Jsb2NrY2hhaW4tYnVpbGRpbmctd2l0aC1kYW5pZWwt + dmFuLWZseW1lbi88L2xpbms+DQoJCTxwdWJEYXRlPlRodSwgMTIgT2N0IDIw + MTcgMDk6MDA6NTYgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFM + aW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vP3A9NDA1MTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMTIvYmxvY2tjaGFpbi1i + dWlsZGluZy13aXRoLWRhbmllbC12YW4tZmx5bWVuLyNjb21tZW50czwvY29t + bWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzEyL2Jsb2NrY2hhaW4tYnVpbGRp + bmctd2l0aC1kYW5pZWwtdmFuLWZseW1lbi9mZWVkLzwvd2Z3OmNvbW1lbnRS + c3M+DQoJCTxzbGFzaDpjb21tZW50cz43PC9zbGFzaDpjb21tZW50cz4NCgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Jsb2NrY2hhaW5dXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQml0Y29pbl1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW2NyeXB0b2N1cnJlbmN5XV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRGFuaWVsIHZhbiBGbHltZW5dXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtMZWFybiBCbG9ja2No + YWlucyBieSBCdWlsZGluZyBPbmVdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtQeXRob25dXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlv + bj5BIGJsb2NrY2hhaW4gaXMgYSBkYXRhIHN0cnVjdHVyZSB0aGF0IHByb3Zp + ZGVzIGRlY2VudHJhbGl6ZWQsIHBlZXItdG8tcGVlciBkYXRhIGRpc3RyaWJ1 + dGlvbi4gQml0Y29pbiBpcyB0aGUgbW9zdCB3ZWxsLWtub3duIGJsb2NrY2hh + aW4sIGJ1dCBpbiB0aGUgbmV4dCBkZWNhZGUgd2Ugd2lsbCBzZWUgbWFueSBt + b3JlIGJsb2NrY2hhaW5zLiBNb3N0IGxpc3RlbmVycyBwcm9iYWJseSBrbm93 + IHRoYXQgeW91IGNvdWxkIGp1c3QgZm9yayB0aGUgY29kZSBvZiBCaXRjb2lu + IHRvIHN0YXJ0IHlvdXIgb3duIGJsb2NrY2hhaW7igJNidXQgd291bGRu4oCZ + dCBpdCBiZSBuaWNlIHRvIGtub3cgaG93IHRvIGJ1aWxkIGEgYmxvY2tjaGFp + biBmcm9tIHNjcmF0Y2g/IERhbmllbCB2YW4gRmx5bWVuIGlzIHRoZSBhdXRo + b3Igb2YgdGhlIE1lZGl1bSBhcnRpY2xlJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9 + JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMTIvYmxv + Y2tjaGFpbi1idWlsZGluZy13aXRoLWRhbmllbC12YW4tZmx5bWVuLyZxdW90 + OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8 + L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxw + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8w + NC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVy + bnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVy + bnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdl + LTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4 + IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6 + IDE3NXB4OyIgc3JjPSJodHRwczovL2F2YXRhcnMyLmdpdGh1YnVzZXJjb250 + ZW50LmNvbS91LzExNjk5NzQ/dj00JmFtcDtzPTQ2MCIgd2lkdGg9IjE3NSIg + aGVpZ2h0PSIxNzUiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkEgYmxvY2tjaGFpbiBpcyBhIGRhdGEgc3RydWN0dXJlIHRo + YXQgcHJvdmlkZXMgZGVjZW50cmFsaXplZCwgcGVlci10by1wZWVyIGRhdGEg + ZGlzdHJpYnV0aW9uLiBCaXRjb2luIGlzIHRoZSBtb3N0IHdlbGwta25vd24g + YmxvY2tjaGFpbiwgYnV0IGluIHRoZSBuZXh0IGRlY2FkZSB3ZSB3aWxsIHNl + ZSBtYW55IG1vcmUgYmxvY2tjaGFpbnMuIE1vc3QgbGlzdGVuZXJzIHByb2Jh + Ymx5IGtub3cgdGhhdCB5b3UgY291bGQganVzdCBmb3JrIHRoZSBjb2RlIG9m + IEJpdGNvaW4gdG8gc3RhcnQgeW91ciBvd24gYmxvY2tjaGFpbiYjODIxMTti + dXQgd291bGRu4oCZdCBpdCBiZSBuaWNlIHRvIGtub3cgaG93IHRvIGJ1aWxk + IGEgYmxvY2tjaGFpbiBmcm9tIHNjcmF0Y2g/PC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5EYW5pZWwgdmFuIEZseW1l + biBpcyB0aGUgYXV0aG9yIG9mIHRoZSBNZWRpdW0gYXJ0aWNsZSA8L3NwYW4+ + PGEgaHJlZj0iaHR0cHM6Ly9oYWNrZXJub29uLmNvbS9sZWFybi1ibG9ja2No + YWlucy1ieS1idWlsZGluZy1vbmUtMTE3NDI4NjEyZjQ2Ij48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkxlYXJuIEJsb2NrY2hhaW5zIGJ5IEJ1 + aWxkaW5nIE9uZTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4uIEluIGhpcyBwb3N0LCBoZSB3YWxrcyB5b3UgdGhyb3VnaCBo + b3cgdG8gd3JpdGUgdGhlIGNvZGUgZm9yIGEgYmxvY2tjaGFpbiYjODIxMTtq + dXN0IGxpa2UgYW55IG90aGVyIHdlYiBhcHAuIEhlIHN0YXJ0cyB3aXRoIHJh + dyBQeXRob24gY29kZSwgZGVmaW5lcyB0aGUgZGF0YSBzdHJ1Y3R1cmVzLCBh + bmQgc3RhbmRzIHVwIGhpcyBzaW1wbGUgYmxvY2tjaGFpbiBhcHAgb24gYSB3 + ZWIgc2VydmVyIHRvIGdpdmUgYSB0b3kgZXhhbXBsZSBmb3IgaG93IG5vZGVz + IGluIGEgYmxvY2tjaGFpbiBjb21tdW5pY2F0ZS48L3NwYW4+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkZvciBtZSwgdGhpcyB3 + YXMgYSBncmVhdCBhcnRpY2xlIHRvIHJlYWQuIEkgaGF2ZSByZXBvcnRlZCBv + biBibG9ja2NoYWlucyBmb3Igb3ZlciBhIHllYXIsIGJ1dCBoYWQgbm90IHNl + ZW4gc3VjaCBhIGNsZWFyIGV4YW1wbGUgd2l0aCBleGVjdXRhYmxlLCBzaW1w + bGlmaWVkIGNvZGUuPC9zcGFuPjwvcD4KPHA+PGVtPlN0YXkgdHVuZWQgYXQg + dGhlIGVuZCBvZiB0aGUgZXBpc29kZSBmb3IgSmVmZiBNZXllcnNvbuKAmXMg + dGlwIGFib3V0IG1ha2luZyB0aGUgbW9zdCBvZiBhIG5ldyBqb2I6IGJyb3Vn + aHQgdG8geW91IGJ5IEluZGVlZCBQcmltZS48L2VtPjwvcD4KPHA+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UbyBmaW5kIGFsbCBvZiBvdXIg + Y292ZXJhZ2Ugb2YgY3J5cHRvY3VycmVuY2llcywgZG93bmxvYWQgPC9zcGFu + PjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvc29m + dHdhcmUtZW5naW5lZXJpbmctZGFpbHktcG9kY2FzdC1hcHAvaWQxMjUzNzM0 + NDI2P210PTgiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dGhl + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGFwcCBmb3IgaU9TPC9zcGFu + PjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBvciBBbmRy + b2lkIHRvIGhlYXIgYWxsIG9mIG91ciBvbGQgZXBpc29kZXMuIFRoZXkgYXJl + IGVhc2lseSBvcmdhbml6ZWQgYnkgY2F0ZWdvcnksIGFuZCBhcyB5b3UgbGlz + dGVuLCB0aGUgU0UgRGFpbHkgYXBwIGdldHMgc21hcnRlciwgYW5kIHJlY29t + bWVuZHMgeW91IGNvbnRlbnQgYmFzZWQgb24gdGhlIGVwaXNvZGVzIHlvdSBh + cmUgaGVhcmluZy4gSWYgeW91IGRvbuKAmXQgbGlrZSB0aGlzIGVwaXNvZGUs + IHlvdSBjYW4gZWFzaWx5IGZpbmQgc29tZXRoaW5nIG1vcmUgaW50ZXJlc3Rp + bmcgYnkgdXNpbmcgdGhlIHJlY29tbWVuZGF0aW9uIHN5c3RlbS48L3NwYW4+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZSBt + b2JpbGUgYXBwcyBhcmUgb3BlbiBzb3VyY2VkIGF0IDxhIGhyZWY9Imh0dHA6 + Ly9naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHVi + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+LiBJZiB5b3UgYXJl + IGxvb2tpbmcgZm9yIGFuIG9wZW4gc291cmNlIHByb2plY3QgdG8gaGFjayBv + biwgd2Ugd291bGQgbG92ZSB0byBnZXQgeW91ciBoZWxwISBXZSBhcmUgYnVp + bGRpbmcgYSBuZXcgd2F5IHRvIGNvbnN1bWUgc29mdHdhcmUgZW5naW5lZXJp + bmcgY29udGVudC4gV2UgaGF2ZSB0aGUgQW5kcm9pZCBhcHAsIHRoZSBpT1Mg + YXBwLCBhIHJlY29tbWVuZGF0aW9uIHN5c3RlbSwgYW5kIGEgd2ViIGZyb250 + ZW5kJiM4MjExO2FuZCBtb3JlIHByb2plY3RzIGFyZSBjb21pbmcgc29vbi4g + SWYgeW91IGhhdmUgaWRlYXMgZm9yIGhvdyBzb2Z0d2FyZSBlbmdpbmVlcmlu + ZyBtZWRpYSBjb250ZW50IHNob3VsZCBiZSBjb25zdW1lZCwgb3IgaWYgeW91 + IGFyZSBpbnRlcmVzdGVkIGluIGNvbnRyaWJ1dGluZyBjb2RlLCBjaGVjayBv + dXQgPGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5Ij5naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eTwvYT4sIG9yIGpvaW4gb3VyIFNsYWNrIGNoYW5uZWwgKHRoZXJl4oCZcyBh + IGxpbmsgb24gb3VyIHdlYnNpdGUpJiM4MjExO29yIHNlbmQgbWUgYW4gZW1h + aWw6IGplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbTwvc3Bhbj48 + L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRl + ZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dl + ZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8 + L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBh + dWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFu + a3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNF + IERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9T + RUQ0MzctQnVpbGQtYS1CbG9ja2NoYWluLnBkZiI+Y2xpY2sgaGVyZSB0byB2 + aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNw + b25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxh + dGZvcm0iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + a3dsb2dvcy9waXZvdGFsLWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3Rh + bC1PbkxpZ2h0LnBuZz9maXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1zaXpl + PSIyNjEwLDEwODAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iUGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAwJTJD + MTI0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0 + LnBuZz9yZXNpemU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVz + aXplPTMwMCUyQzEyNCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3Njh3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdo + dC5wbmc/cmVzaXplPTEwMjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzIw + JTJDMjk4IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdp + ZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNw + cmluZyBGcmFtZXdvcmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9ubWVu + dCBmb3IgYnVpbGRpbmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBEZWNl + bWJlciA0dGgtN3RoLCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29u + ZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWluZyB0 + byBTYW4gRnJhbmNpc2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBjb25m + ZXJlbmNlIHdoZXJlIGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBsb3Jl + IHRoZSBsYXRlc3QgdGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNvc3lz + dGVtIGFuZCBiZXlvbmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0Zm9y + bSBpbmNsdWRlIEVyaWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQIHRo + ZW9yZW0pLCBWYXVnaG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2ZWx5 + IGFib3V0IERvbWFpbiBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhvdWdo + dCBsZWFkZXJzIGluIHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdPbmUg + UGxhdGZvcm0gaXMgdGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhvc2Ug + d2hvIGJ1aWxkLCBkZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNvZnR3 + YXJlLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2Fu + IHNpZ24gdXAgd2l0aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGFu + ZCByZWNlaXZlICQxMDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9ybSA8 + YSBocmVmPSJodHRwczovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8vZWhv + bWUvczFwL3JlZ2lzdHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4gSSB3 + aWxsIGFsc28gYmUgYXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZlbG9w + bWVudHMgaW4gdGhlIGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4gbWUg + RGVjZW1iZXIgNHRoLTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2JpdC5s + eS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBj + b25mZXJlbmNlLCBhbmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBm + b3IgJDEwMCBvZmYgeW91ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2PjwvcD4K + PHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIyODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29u + cy1kYXRhLXNjaWVuY2Utd2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJp + bWUvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmln + LXNpemU9IjQ2Myw5NiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEw + L2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTI4OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0z + MDAlMkM2MiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEw + L2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2 + MyA0NjN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBpZD0ibV83OTkwNTIxMTUwMjEz + MjczMjc2bV85MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4 + NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwtbV8tODU2MTcy + MzY3NTEyNzY2MDgyMmdtYWlsLWRvY3MtaW50ZXJuYWwtZ3VpZC05NmJmMTUw + OS0xNjQ0LWU0NzEtNGJhOC1hZjZmZTU4OGM3M2UiPkluZGVlZCBQcmltZSBm + bGlwcyB0aGUgdHlwaWNhbCBtb2RlbCBvZiBqb2Igc2VhcmNoIGFuZCBtYWtl + cyBpdCBlYXN5IHRvIGFwcGx5IHRvIG11bHRpcGxlIGpvYnMgYW5kIGdldCBt + dWx0aXBsZSBvZmZlcnMuIEluZGVlZCBQcmltZSBzaW1wbGlmaWVzIHlvdXIg + am9iIHNlYXJjaCBhbmQgaGVscHMgeW91IGxhbmQgdGhhdCBpZGVhbCA8c3Bh + biBjbGFzcz0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQxNjM3NDA2 + NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4 + Mjc0NTUyMTQ1Z21haWwtaWwiPnNvZnR3YXJlPC9zcGFuPiA8c3BhbiBjbGFz + cz0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQxNjM3NDA2NDk0Nzcy + bV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUy + MTQ1Z21haWwtaWwiPmVuZ2luZWVyaW5nPC9zcGFuPiBwb3NpdGlvbi4gQ2Fu + ZGlkYXRlcyBnZXQgaW1tZWRpYXRlIGV4cG9zdXJlIHRvIHRvcCBjb21wYW5p + ZXMgd2l0aCBqdXN0IG9uZSBzaW1wbGUgYXBwbGljYXRpb24gdG8gSW5kZWVk + IFByaW1lLiBDb21wYW5pZXMgb24gUHJpbWXigJlzIGV4Y2x1c2l2ZSBwbGF0 + Zm9ybSBtZXNzYWdlIGNhbmRpZGF0ZXMgd2l0aCBzYWxhcnkgYW5kIGVxdWl0 + eSB1cGZyb250LiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5k + aWRhdGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiA8L3NwYW4+U2lnbiB1 + cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5IiB0 + YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS1zYWZlcmVkaXJl + Y3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtx + PWh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkmYW1wO3NvdXJjZT1nbWFpbCZh + bXA7dXN0PTE1MDY0MDk3MTY4MzEwMDAmYW1wO3VzZz1BRlFqQ05GbzBTbndw + S3VYOG1NbXBEY3RFTDBSUEx2TmVnIj4gaW5kZWVkLmNvbS9zZWRhaWx5PC9h + Pi7CoFlvdSBjYW4gYWxzbyBwdXQgbW9uZXkgaW4geW91ciBwb2NrZXQgYnkg + cmVmZXJyaW5nIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy4gUmVmZXIg + YSBzb2Z0d2FyZSBlbmdpbmVlciB0byB0aGUgcGxhdGZvcm0gYW5kIGdldCAk + MjAwIHdoZW4gdGhleSBnZXQgY29udGFjdGVkIGJ5IGEgY29tcGFueSYjODIz + MDsuIGFuZCAkMiwwMDAgd2hlbiB0aGV5IGFjY2VwdCBhIGpvYiB0aHJvdWdo + IFByaW1lISBMZWFybiBtb3JlIGF0wqA8YSBocmVmPSJodHRwOi8vaW5kZWVk + LmNvbS9wcmltZS9yZWZlcnJhbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9v + cGVuZXIiIGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29n + bGUuY29tL3VybD9obD1lbiZhbXA7cT1odHRwOi8vaW5kZWVkLmNvbS9wcmlt + ZS9yZWZlcnJhbCZhbXA7c291cmNlPWdtYWlsJmFtcDt1c3Q9MTUwNjQwOTcx + NjgzMTAwMCZhbXA7dXNnPUFGUWpDTkV3V0FTRVBMUWlNVVlTYnI1bnNqQ0dZ + dHR1U0EiPmluZGVlZC5jb20vcHJpbWUvcmVmZXJyYWw8L2E+LjwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9oZXB0aW8uY29tL3NlZGFpbHkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzODg0IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9oZXB0aW8v + aGVwdGlvLWxvZ28tZGFyay8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP2ZpdD05 + NjAlMkMzOTYiIGRhdGEtb3JpZy1zaXplPSI5NjAsMzk2IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhlcHRpby1s + b2dvLWRhcmsiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0aW8t + bG9nby1kYXJrLnBuZz9maXQ9MzAwJTJDMTI0IiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvaGVwdGlvLWxvZ28tZGFy + ay5wbmc/Zml0PTk2MCUyQzM5NiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFn + ZS0zODg0IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvaGVwdGlvLWxvZ28tZGFyay5wbmc/cmVzaXplPTMwMCUyQzEy + NCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9oZXB0aW8tbG9nby1kYXJrLnBuZz9yZXNpemU9MzAwJTJDMTI0IDMwMHcs + IGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvaGVwdGlvLWxvZ28tZGFy + ay5wbmc/cmVzaXplPTc2OCUyQzMxNyA3Njh3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP3Jlc2l6ZT03MjAl + MkMyOTcgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0 + aW8tbG9nby1kYXJrLnBuZz93PTk2MCA5NjB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Zb3Ug + d2FudCB0byB3b3JrIHdpdGggS3ViZXJuZXRlcyBidXQgd2lzaCB0aGUgcHJv + Y2VzcyB3YXMgc2ltcGxlci4gVGhlIGZvbGtzIHdobyBicm91Z2h0IHlvdSBL + dWJlcm5ldGVzIG5vdyB3YW50IHRvIG1ha2UgaXQgZWFzaWVyIHRvIHVzZS4g + SGVwdGlvIGlzIGEgY29tcGFueSBieSBmb3VuZGVycyBvZiB0aGUgS3ViZXJu + ZXRlcyBwcm9qZWN0LCBidWlsdCB0byBzdXBwb3J0IGFuZCBhZHZhbmNlIHRo + ZSBvcGVuIEt1YmVybmV0ZXMgZWNvc3lzdGVtLiBUaGV5IGJ1aWxkIHByb2R1 + Y3RzLCBvcGVuIHNvdXJjZSB0b29scywgYW5kIHNlcnZpY2VzIHRoYXQgYnJp + bmcgcGVvcGxlIGNsb3NlciB0byDigJh1cHN0cmVhbeKAmSBLdWJlcm5ldGVz + LiBIZXB0aW8gb2ZmZXJzIGluc3RydWN0b3ItbGVkIEt1YmVybmV0ZXMgdHJh + aW5pbmcsIHByb2Zlc3Npb25hbCBoZWxwIGZyb20gZXhwZXJ0IEt1YmVybmV0 + ZXMgc29sdXRpb25zIGVuZ2luZWVycywgYXMgd2VsbCBhcyBleHBlcnQgc3Vw + cG9ydCBvZiB1cHN0cmVhbSBLdWJlcm5ldGVzIGNvbmZpZ3VyYXRpb25zLiBG + aW5kIG91dCBtb3JlIGF0IDxhIGhyZWY9Imh0dHA6Ly9oZXB0aW8uY29tL3Nl + ZGFpbHkiPmhlcHRpby5jb20vc2VkYWlseTwvYT4uIEhlcHRpbyBpcyBjb21t + aXR0ZWQgdG8gbWFraW5nIEt1YmVybmV0ZXMgZWFzaWVyIGZvciBhbGwgZGV2 + ZWxvcGVycyB0byB1c2UgdGhyb3VnaCB0aGVpciBjb250cmlidXRpb25zIHRv + IEt1YmVybmV0ZXMsIEhlcHRpbyBvcGVuIHNvdXJjZSBwcm9qZWN0cywgYW5k + IG90aGVyIGNvbW11bml0eSBlZmZvcnRzLiBDaGVjayBvdXQgSGVwdGlvIHRv + IG1ha2UgeW91ciBsaWZlIHdpdGggS3ViZXJuZXRlcyBlYXNpZXIgYXQgPGEg + aHJlZj0iaHR0cDovL2hlcHRpby5jb20vc2VkYWlseSI+aGVwdGlvLmNvbS9z + ZWRhaWx5PC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNs + b3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkv + QnVpbGRhQmxvY2tjaGFpbi5tcDMiIGxlbmd0aD0iNjU1NjYxMTQiIHR5cGU9 + ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5BIGJsb2NrY2hh + aW4gaXMgYSBkYXRhIHN0cnVjdHVyZSB0aGF0IHByb3ZpZGVzIGRlY2VudHJh + bGl6ZWQsIHBlZXItdG8tcGVlciBkYXRhIGRpc3RyaWJ1dGlvbi4gQml0Y29p + biBpcyB0aGUgbW9zdCB3ZWxsLWtub3duIGJsb2NrY2hhaW4sIGJ1dCBpbiB0 + aGUgbmV4dCBkZWNhZGUgd2Ugd2lsbCBzZWUgbWFueSBtb3JlIGJsb2NrY2hh + aW5zLiBNb3N0IGxpc3RlbmVycyBwcm9iYWJseSBrbm93IHRoYXQgeW91IGNv + dWxkIGp1c3QgZm9yayB0aGUuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1 + bmVzOnN1bW1hcnk+QSBibG9ja2NoYWluIGlzIGEgZGF0YSBzdHJ1Y3R1cmUg + dGhhdCBwcm92aWRlcyBkZWNlbnRyYWxpemVkLCBwZWVyLXRvLXBlZXIgZGF0 + YSBkaXN0cmlidXRpb24uIEJpdGNvaW4gaXMgdGhlIG1vc3Qgd2VsbC1rbm93 + biBibG9ja2NoYWluLCBidXQgaW4gdGhlIG5leHQgZGVjYWRlIHdlIHdpbGwg + c2VlIG1hbnkgbW9yZSBibG9ja2NoYWlucy4gTW9zdCBsaXN0ZW5lcnMgcHJv + YmFibHkga25vdyB0aGF0IHlvdSBjb3VsZCBqdXN0IGZvcmsgdGhlIGNvZGUg + b2YgQml0Y29pbiB0byBzdGFydCB5b3VyIG93biBibG9ja2NoYWlu4oCTYnV0 + IHdvdWxkbuKAmXQgaXQgYmUgbmljZSB0byBrbm93IGhvdyB0byBidWlsZCBh + IGJsb2NrY2hhaW4gZnJvbSBzY3JhdGNoPyBEYW5pZWwgdmFuIEZseW1lbiBp + cyB0aGUgYXV0aG9yIG9mIHRoZSBNZWRpdW0gYXJ0aWNsZUNvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjE6MDg6MDE8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3Qt + aWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+NDA1 + MTwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkV0aGVy + ZXVtIFBsYXRmb3JtIHdpdGggUHJlZXRoaSBLYXNpcmVkZHk8L3RpdGxlPg0K + CQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzEwLzExL2V0aGVyZXVtLXBsYXRmb3JtLXdpdGgtcHJlZXRoaS1rYXNp + cmVkZHkvPC9saW5rPg0KCQk8cHViRGF0ZT5XZWQsIDExIE9jdCAyMDE3IDA5 + OjAwOjM5ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9w + PTQwNDY8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzExL2V0aGVyZXVtLXBsYXRmb3Jt + LXdpdGgtcHJlZXRoaS1rYXNpcmVkZHkvI2NvbW1lbnRzPC9jb21tZW50cz4N + CgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMTAvMTEvZXRoZXJldW0tcGxhdGZvcm0td2l0aC1w + cmVldGhpLWthc2lyZWRkeS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxz + bGFzaDpjb21tZW50cz43PC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0Jsb2NrY2hhaW5dXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbY3J5cHRvY3VycmVuY3ldXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtFdGhlcmV1bV1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW1ByZWV0aGkgS2FzaXJlZGR5XV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbc21hcnQgY29udHJhY3RdXT48L2Nh + dGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5FdGhlcmV1bSBpcyBhIGRlY2VudHJh + bGl6ZWQgdHJhbnNhY3Rpb24tYmFzZWQgc3RhdGUgbWFjaGluZS4gRXRoZXJl + dW0gd2FzIGRlc2lnbmVkIHRvIG1ha2Ugc21hcnQgY29udHJhY3RzIG1vcmUg + dXNhYmxlIGZvciBkZXZlbG9wZXJzLiBTbWFydCBjb250cmFjdHMgYXJlIGRl + Y2VudHJhbGl6ZWQgcHJvZ3JhbXMgdGhhdCB1c3VhbGx5IGFsbG93IGZvciBz + b21lIGEgdHJhbnNhY3Rpb24gYmV0d2VlbiB0aGUgb3duZXIgb2YgdGhlIGNv + bnRyYWN0IGFuZCBhbnlvbmUgd2hvIHdvdWxkIHdhbnQgdG8gcHVyY2hhc2Ug + c29tZXRoaW5nIGZyb20gdGhlIGNvbnRyYWN0IG93bmVyLiBGb3IgZXhhbXBs + ZSwgSSBjb3VsZCBzZXQgdXAgYSBzbWFydCBjb250cmFjdCB3aGVyZSBhIGxp + c3RlbmVyIHNlbmRzIG15IHNtYXJ0IGNvbnRyYWN0IHNvbWUgZXRoZXIgYW5k + IEkgc2VuZCB0aGUmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8xMS9ldGhlcmV1bS1wbGF0Zm9y + bS13aXRoLXByZWV0aGkta2FzaXJlZGR5LyZxdW90OyZndDtDb250aW51ZSBy + ZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0K + CQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRh + Y2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNv + bnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJu + cy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3Jp + Zy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9 + ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJi + b3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7 + IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9tZWRpYS5saWNkbi5jb20vbXByL21wci9zaHJp + bmtucF8yMDBfMjAwL0FBRUFBUUFBQUFBQUFBc3dBQUFBSkdFMVl6SXpZVFl6 + TFRsbU9UVXROR00zWlMwNU5EQmhMVE5pTkdNeFpXTXlZakE0TmcuanBnP3Jl + c2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + RXRoZXJldW0gaXMgYSBkZWNlbnRyYWxpemVkIHRyYW5zYWN0aW9uLWJhc2Vk + IHN0YXRlIG1hY2hpbmUuIEV0aGVyZXVtIHdhcyBkZXNpZ25lZCB0byBtYWtl + IHNtYXJ0IGNvbnRyYWN0cyBtb3JlIHVzYWJsZSBmb3IgZGV2ZWxvcGVycy4g + U21hcnQgY29udHJhY3RzIGFyZSBkZWNlbnRyYWxpemVkIHByb2dyYW1zIHRo + YXQgdXN1YWxseSBhbGxvdyBmb3Igc29tZSBhIHRyYW5zYWN0aW9uIGJldHdl + ZW4gdGhlIG93bmVyIG9mIHRoZSBjb250cmFjdCBhbmQgYW55b25lIHdobyB3 + b3VsZCB3YW50IHRvIHB1cmNoYXNlIHNvbWV0aGluZyBmcm9tIHRoZSBjb250 + cmFjdCBvd25lci48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPkZvciBleGFtcGxlLCBJIGNvdWxkIHNldCB1cCBhIHNt + YXJ0IGNvbnRyYWN0IHdoZXJlIGEgbGlzdGVuZXIgc2VuZHMgbXkgc21hcnQg + Y29udHJhY3Qgc29tZSBldGhlciBhbmQgSSBzZW5kIHRoZSBsaXN0ZW5lciBh + IHBvZGNhc3QgZXBpc29kZSBhdXRvbWF0aWNhbGx5LiBTbWFydCBjb250cmFj + dHMgY2FuIGFsc28gaW50ZXJhY3Qgd2l0aCBlYWNoIG90aGVyLCB0byBuZXR3 + b3JrIHRvZ2V0aGVyIGNvbXBsZXggdHJhbnNhY3Rpb25zLiBJbiB0aGUgc2Ft + ZSB3YXkgdGhhdCB3ZWIgZGV2ZWxvcG1lbnQgaGFzIGJlZW4gbWFkZSBlYXNp + ZXIgYnkgUGFhUyBhbmQgU2FhUywgc21hcnQgY29udHJhY3RzIHdpbGwgbWFr + ZSBidWlsZGluZyBmaW5hbmNpYWwgc3lzdGVtcyBzaW1wbGUuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5QcmVldGhp + IEthc2lyZWRkeSBpcyBhIGJsb2NrY2hhaW4gZGV2ZWxvcGVyIHdobyB3cml0 + ZXMgZXh0ZW5zaXZlbHkgYWJvdXQgY3J5cHRvY3VycmVuY2llcy4gU2hlIGpv + aW5zIHRoZSBzaG93IHRvIGRlc2NyaWJlIGhvdyB0aGUgRXRoZXJldW0gcGxh + dGZvcm0gd29ya3MsIGluY2x1ZGluZyB0aGUgc3RlcHMgaW52b2x2ZWQgaW4g + YSBzbWFydCBjb250cmFjdCB0cmFuc2FjdGlvbi4gVGhpcyBlcGlzb2RlIGNv + dmVycyBzb21lIGFkdmFuY2VkIHRvcGljcyBvZiBFdGhlcmV1bSwgYW5kIGlm + IHlvdSBhcmUgb3V0IG9mIHlvdXIgY29tZm9ydCB6b25lLCBkb27igJl0IHdv + cnJ5JiM4MjExO3lvdSBhcmVu4oCZdCBhbG9uZS48L3NwYW4+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldlIGhhdmUgY292ZXJl + ZCB0aGUgYmFzaWNzIG9mIGNyeXB0b2N1cnJlbmNpZXMgaW4gZGV0YWlsLCBh + bmQgd2UgaGF2ZSBhbHNvIHRhY2tsZWQgbW9yZSBjb21wbGV4IGFzcGVjdHMg + b2YgdGhlbSBpbiBwYXN0IGVwaXNvZGVzLiBEb3dubG9hZCA8L3NwYW4+PGEg + aHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0d2Fy + ZS1lbmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0MjY/ + bXQ9OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+PC9h + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IGFuZCBBbmRyb2lk + IHRvIGhlYXIgYWxsIG9mIG91ciBvbGQgZXBpc29kZXMuIFRoZXkgYXJlIGVh + c2lseSBvcmdhbml6ZWQgYnkgY2F0ZWdvcnksIGFuZCBhcyB5b3UgbGlzdGVu + LCB0aGUgU0UgRGFpbHkgYXBwIGdldHMgc21hcnRlciwgYW5kIHJlY29tbWVu + ZHMgeW91IGNvbnRlbnQgYmFzZWQgb24gdGhlIGVwaXNvZGVzIHlvdSBhcmUg + aGVhcmluZy4gSWYgeW91IGRvbuKAmXQgbGlrZSB0aGlzIGVwaXNvZGUsIHlv + dSBjYW4gZWFzaWx5IGZpbmQgc29tZXRoaW5nIG1vcmUgaW50ZXJlc3Rpbmcg + YnkgdXNpbmcgdGhlIHJlY29tbWVuZGF0aW9uIHN5c3RlbS48L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZSBtb2Jp + bGUgYXBwcyBhcmUgb3BlbiBzb3VyY2VkIGF0IDxhIGhyZWY9Imh0dHA6Ly9n + aXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHViLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+LiBJZiB5b3UgYXJlIGxv + b2tpbmcgZm9yIGFuIG9wZW4gc291cmNlIHByb2plY3QgdG8gaGFjayBvbiwg + d2Ugd291bGQgbG92ZSB0byBnZXQgeW91ciBoZWxwISBXZSBhcmUgYnVpbGRp + bmcgYSBuZXcgd2F5IHRvIGNvbnN1bWUgc29mdHdhcmUgZW5naW5lZXJpbmcg + Y29udGVudC4gV2UgaGF2ZSB0aGUgQW5kcm9pZCBhcHAsIHRoZSBpT1MgYXBw + LCBhIHJlY29tbWVuZGF0aW9uIHN5c3RlbSwgYW5kIGEgd2ViIGZyb250ZW5k + JiM4MjExO2FuZCBtb3JlIHByb2plY3RzIGFyZSBjb21pbmcgc29vbi4gSWYg + eW91IGhhdmUgaWRlYXMgZm9yIGhvdyBzb2Z0d2FyZSBlbmdpbmVlcmluZyBt + ZWRpYSBjb250ZW50IHNob3VsZCBiZSBjb25zdW1lZCwgb3IgaWYgeW91IGFy + ZSBpbnRlcmVzdGVkIGluIGNvbnRyaWJ1dGluZyBjb2RlLCBjaGVjayBvdXQg + PGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5Ij5naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseTwv + YT4sIG9yIGpvaW4gb3VyIFNsYWNrIGNoYW5uZWwgKHRoZXJl4oCZcyBhIGxp + bmsgb24gb3VyIHdlYnNpdGUpJiM4MjExO29yIHNlbmQgbWUgYW4gZW1haWw6 + IGplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbTwvc3Bhbj48L3A+ + CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBi + eSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRp + dHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+ + wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRp + byBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3Mg + dG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERh + aWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9TRUQ0 + MzYtRXRoZXJldW0tQmFzaWNzLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0 + aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3Jz + PC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9vY3RvcHVzLmNvbSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjQwMjAiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzAzLzQyLWNvZGlu + Zy1zY2hvb2wtd2l0aC1icml0dGFueS1iaXIvb2N0b3B1c2RlcGxveV9sb2dv + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9maXQ9ODAwJTJDMTU1IiBkYXRh + LW9yaWctc2l6ZT0iODAwLDE1NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJvY3RvcHVzZGVwbG95X2xvZ28iIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28u + cG5nP2ZpdD0zMDAlMkM1OCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/Zml0 + PTgwMCUyQzE1NSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS00MDIwIHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + b2N0b3B1c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9MzAwJTJDNTgiIGFsdD0i + IiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1 + c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9MzAwJTJDNTggMzAwdywgaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5n + P3Jlc2l6ZT03NjglMkMxNDkgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMx + NDAgNzIwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVz + ZGVwbG95X2xvZ28ucG5nP3c9ODAwIDgwMHciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRoZSBv + Y3RvcHVzOiBhIHNlYSBjcmVhdHVyZSBrbm93biBmb3IgaXRzIGludGVsbGln + ZW5jZSBhbmQgZmxleGliaWxpdHkuIE9jdG9wdXMgRGVwbG95OiBhIGZyaWVu + ZGx5IGRlcGxveW1lbnQgYXV0b21hdGlvbiB0b29sIGZvciBkZXBsb3lpbmcg + YXBwbGljYXRpb25zIGxpa2UgLk5FVCBhcHBzLCBKYXZhIGFwcHMgYW5kIG1v + cmUuIEFzayBhbnkgZGV2ZWxvcGVyIGFuZCB0aGV54oCZbGwgdGVsbCB5b3Ug + aXTigJlzIG5ldmVyIGZ1biBwdXNoaW5nIGNvZGUgYXQgNXBtIG9uIGEgRnJp + ZGF5IHRoZW4gY3Jvc3NpbmcgeW91ciBmaW5nZXJzIGhvcGluZyBmb3IgdGhl + IGJlc3QuwqBUaGF04oCZcyB3aGVyZSBPY3RvcHVzIERlcGxveSBjb21lcyBp + bnRvIHRoZSBwaWN0dXJlLiBPY3RvcHVzIERlcGxveSBpcyBhIGZyaWVuZGx5 + IGRlcGxveW1lbnQgYXV0b21hdGlvbiB0b29sLCB0YWtpbmcgb3ZlciB3aGVy + ZSB5b3VyIGJ1aWxkL0NJIHNlcnZlciBlbmRzLiBVc2UgT2N0b3B1cyB0byBw + cm9tb3RlIHJlbGVhc2VzIG9uLXByZW0gb3IgdG8gdGhlIGNsb3VkLiBPY3Rv + cHVzIGludGVncmF0ZXMgd2l0aCB5b3VyIGV4aXN0aW5nIGJ1aWxkIHBpcGVs + aW5lJiM4MjExO1RGUyBhbmQgVlNUUywgQmFtYm9vLCBUZWFtQ2l0eSwgYW5k + IEplbmtpbnMuIEl0IGludGVncmF0ZXMgd2l0aCBBV1MsIEF6dXJlLCBhbmQg + b24tcHJlbSBlbnZpcm9ubWVudHMuIFJlbGlhYmx5IGFuZCByZXBlYXRlZGx5 + IGRlcGxveSB5b3VyIC5ORVQgYW5kIEphdmEgYXBwcyBhbmQgbW9yZS4gSWYg + eW91IGNhbiBwYWNrYWdlIGl0LCBPY3RvcHVzIGNhbiBkZXBsb3kgaXQhwqBJ + dOKAmXMgcXVpY2sgYW5kIGVhc3kgdG8gaW5zdGFsbC4gR28gdG8gPGEgaHJl + Zj0iaHR0cDovL09jdG9wdXMuY29tIj5PY3RvcHVzLmNvbTwvYT4gdG8gdHJp + YWwgT2N0b3B1cyBmcmVlIGZvciA0NSBkYXlzLiBUaGF0JiM4MjE3O3MgPGEg + aHJlZj0iaHR0cDovL09jdG9wdXMuY29tIj5PY3RvcHVzLmNvbTwvYT4KPHA+ + PC9wPjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9wYXJrbXljbG91ZC5jb20v + c2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjQwMzAiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9rd2xvZ29zL3BhcmtteWNsb3VkL3ByaW50LTIvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlDbG91ZGxv + Z28uanBnP2ZpdD02MDAlMkMxMjMiIGRhdGEtb3JpZy1zaXplPSI2MDAsMTIz + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDtQcmludCZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsxJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iUHJpbnQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9Q + YXJrTXlDbG91ZGxvZ28uanBnP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtNeUNsb3Vk + bG9nby5qcGc/Zml0PTYwMCUyQzEyMyIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS00MDMwIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9MzAwJTJD + NjIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvUGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9MzAwJTJDNjIgMzAwdywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlDbG91ZGxvZ28u + anBnP3c9NjAwIDYwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + UGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9NTk1JTJDMTIzIDU5NXciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPkV2ZXJ5IHNlY29uZCB5b3VyIGNsb3VkIHNlcnZlcnMgYXJl + IHJ1bm5pbmcsIHRoZXkgYXJlIGNvc3RpbmcgeW91IG1vbmV5LiBTdG9wIHBh + eWluZyBmb3IgaWRsZSBjbG91ZCBpbnN0YW5jZXMgYW5kIFZNcy4gQ29udHJv + bCB0aGUgY29zdCBvZiB5b3VyIGNsb3VkIHdpdGggUGFya015Q2xvdWQuIFBh + cmtNeUNsb3VkIGF1dG9tYXRpY2FsbHkgdHVybnMgb2ZmIGNsb3VkIHJlc291 + cmNlcyB3aGVuIHlvdSBkb27igJl0IG5lZWQgdGhlbS4gV2hldGhlciB5b3Ug + YXJlIG9uIEFXUywgQXp1cmUsIG9yIEdvb2dsZSBDbG91ZCwgaXTigJlzIGVh + c3kgdG8gc3RhcnQgc2F2aW5nIG1vbmV5IHdpdGggUGFya015Q2xvdWQuIFlv + dSBzaWduIHVwIGZvciBQYXJrTXlDbG91ZCwgeW91IGNvbm5lY3QgdG8geW91 + ciBjbG91ZCBwcm92aWRlciwgYW5kIFBhcmtNeUNsb3VkIGdpdmVzIHlvdSBh + IGRhc2hib2FyZCBvZiBhbGwgeW91ciByZXNvdXJjZXMmIzgyMTE7aW5jbHVk + aW5nIHRoZWlyIGNvc3RzLiBGcm9tIHRoZSBkYXNoYm9hcmQsIHlvdSBjYW4g + YXV0b21hdGljYWxseSBzY2hlZHVsZSB3aGVuIHlvdXIgZGlmZmVyZW50IGNs + b3VkIGluc3RhbmNlcyBnZXQgdHVybmVkIG9uIG9yIG9mZiDigJMgc2F2aW5n + IHlvdSA2NSUgb3IgbW9yZS4gQWRkaXRpb25hbGx5LCB5b3UgY2FuIG1hbmFn + ZSBkYXRhYmFzZXMsIGF1dG8gc2NhbGluZyBncm91cHMgYW5kIHNldCB1cCBs + b2dpY2FsIGdyb3VwcyBvZiBzZXJ2ZXJzIHRvIHR1cm4gb2ZmIGR1cmluZyBu + aWdodHMgYW5kIHdlZWtlbmRzIHdoZW4geW91IGRvbuKAmXQgbmVlZCB0aGVt + JiM4MjExO2FuZCB5b3UgY2FuIHNlZSBob3cgbXVjaCBtb25leSB5b3UgYXJl + IHNhdmluZy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3BhcmtteWNsb3VkLmNv + bS9zZWRhaWx5Ij5wYXJrbXljbG91ZC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0 + ICQxMDAgaW4gZnJlZSBjcmVkaXQgZm9yIFBhcmtNeUNsb3VkIGZvciBTRSBE + YWlseSBsaXN0ZW5lcnMuIFBhcmtNeUNsb3VkIGlzIHVzZWQgYnkgTWNEb25h + bGTigJlzLCBDYXBpdGFsT25lLCBhbmQgRm94LCBhbmQgc2F2ZXMgY3VzdG9t + ZXJzIHRlbnMgb2YgdGhvdXNhbmRzIG9mIGRvbGxhcnMgZXZlcnkgbW9udGgu + IEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9wYXJrbXljbG91ZC5jb20vc2VkYWls + eSI+cGFya215Y2xvdWQuY29tL3NlZGFpbHk8L2E+LCBhbmQgY3V0IHRoZSBj + b3N0IG9mIHlvdXIgY2xvdWQgdG9kYXkuPC9kaXY+PC9wPgo8cD48L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzkxOSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2Nh + bHlyL3NjYWx5cl9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5 + MCIgZGF0YS1vcmlnLXNpemU9IjIyMCw5MCIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJTY2FseXJfbG9nbyIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9 + MjIwJTJDOTAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM5MTkgc2l6ZS1mdWxsIiBzcmM9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP3Jl + c2l6ZT0yMjAlMkM5MCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2hvIGRv + IHlvdSB1c2UgZm9yIGxvZyBtYW5hZ2VtZW50PyBJIHdhbnQgdG8gdGVsbCB5 + b3UgYWJvdXQgU2NhbHlyLCB0aGUgZmlyc3QgcHVycG9zZSBidWlsdCBsb2cg + bWFuYWdlbWVudCB0b29sIG9uIHRoZSBtYXJrZXQuIE1vc3QgdG9vbHMgb24g + dGhlIG1hcmtldCB1dGlsaXplIHRleHQgaW5kZXhpbmcgc2VhcmNoLCB3aGlj + aCBpcyBncmVhdCYjODIzMDsgZm9yIGluZGV4aW5nIGEgYm9vay4gQnV0IGlm + IHlvdSB3YW50IHRvIHNlYXJjaCBsb2dzLCBhdCBzY2FsZSwgZmFzdCYjODIz + MDsgaXQgYnJlYWtzIGRvd24uIFNjYWx5ciBidWlsdCB0aGVpciBvd24gZGF0 + YWJhc2UgZnJvbSBzY3JhdGNoOiB0aGUgc3lzdGVtIGlzIGZhc3QuIE1vc3Qg + c2VhcmNoZXMgdGFrZSBsZXNzIHRoYW4gMSBzZWNvbmQuIEluIGZhY3QsIDk5 + JSBvZiB0aGVpciBxdWVyaWVzIGV4ZWN1dGUgaW4gJmx0OzEgc2Vjb25kLiDC + oENvbXBhbmllcyBsaWtlIE9LQ3VwaWQsIEdpcGh5IGFuZCBDYXJlZXJCdWls + ZGVyIHVzZSBTY2FseXIuIEl0IHdhcyBidWlsdCBieSBvbmUgb2YgdGhlIGZv + dW5kZXJzIG9mIFdyaXRlbHkgKGFrYSBHb29nbGUgRG9jcykuIFNjYWx5ciBo + YXMgY29uc3VtZXIgZ3JhZGUgVUksIHRoYXQgc2NhbGVzIGluZmluaXRlbHku + IFlvdSBjYW4gbW9uaXRvciBrZXkgbWV0cmljcywgdHJpZ2dlciBhbGVydHMs + IGFuZCBpbnRlZ3JhdGUgd2l0aCBQYWdlckR1dHkuIEl0JiM4MjE3O3MgZWFz + eSB0byB1c2UgYW5kIGRpZCB3ZSBtZW50aW9uOiBsaWdodG5pbmcgZmFzdC4g + R2l2ZSBpdCBhIHRyeSB0b2RheS4gSXTigJlzIGZyZWUgZm9yIDkwIGRheXMg + YXQgPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vc2NhbHlyIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5 + cjwvYT4uIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJy + b3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20v + c2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9rd2xvZ29zL3N5bXBob25vL3N5bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2Zp + dD0yNzIlMkM4NCIgZGF0YS1vcmlnLXNpemU9IjI3Miw4NCIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJzeW1waG9u + byIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9m + aXQ9MjcyJTJDODQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6 + ZT0yNzIlMkM4NCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhhbmtzIHRv + IFN5bXBob25vIGZvciBzcG9uc29yaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5LiBTeW1waG9ubyBpcyBhIGN1c3RvbSBlbmdpbmVlcmluZyBzaG9w + IHdoZXJlIHNlbmlvciBlbmdpbmVlcnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxs + ZW5nZXMgd2hpbGUgbGVhcm5pbmcgZnJvbSBlYWNoIG90aGVyLiBDaGVjayBp + dCBvdXQgYXQgPGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5 + Ij5zeW1waG9uby5jb20vc2VkYWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9u + byBmb3IgYmVpbmcgYSBzcG9uc29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGZvciBhbG1vc3QgYSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQg + c3VwcG9ydCBhbGxvd3MgdXMgdG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBs + aXN0ZW5lcnMgb24gYSByZWd1bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4K + PHA+Jm5ic3A7PC9wPgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3lu + LmNvbS9zZWRhaWx5L0V0aGVyZXVtQmFzaWNzLm1wMyIgbGVuZ3RoPSI1NTg0 + NTY4MSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxl + PkV0aGVyZXVtIGlzIGEgZGVjZW50cmFsaXplZCB0cmFuc2FjdGlvbi1iYXNl + ZCBzdGF0ZSBtYWNoaW5lLiBFdGhlcmV1bSB3YXMgZGVzaWduZWQgdG8gbWFr + ZSBzbWFydCBjb250cmFjdHMgbW9yZSB1c2FibGUgZm9yIGRldmVsb3BlcnMu + IFNtYXJ0IGNvbnRyYWN0cyBhcmUgZGVjZW50cmFsaXplZCBwcm9ncmFtcyB0 + aGF0IHVzdWFsbHkgYWxsb3cgZm9yIHNvbWUgYSB0cmFuc2FjdGlvbiBiZXR3 + ZWVuIHRoZSBvd25lciBvZiB0aGUgY29udHJhYy4uLjwvaXR1bmVzOnN1YnRp + dGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5FdGhlcmV1bSBpcyBhIGRlY2VudHJh + bGl6ZWQgdHJhbnNhY3Rpb24tYmFzZWQgc3RhdGUgbWFjaGluZS4gRXRoZXJl + dW0gd2FzIGRlc2lnbmVkIHRvIG1ha2Ugc21hcnQgY29udHJhY3RzIG1vcmUg + dXNhYmxlIGZvciBkZXZlbG9wZXJzLiBTbWFydCBjb250cmFjdHMgYXJlIGRl + Y2VudHJhbGl6ZWQgcHJvZ3JhbXMgdGhhdCB1c3VhbGx5IGFsbG93IGZvciBz + b21lIGEgdHJhbnNhY3Rpb24gYmV0d2VlbiB0aGUgb3duZXIgb2YgdGhlIGNv + bnRyYWN0IGFuZCBhbnlvbmUgd2hvIHdvdWxkIHdhbnQgdG8gcHVyY2hhc2Ug + c29tZXRoaW5nIGZyb20gdGhlIGNvbnRyYWN0IG93bmVyLiBGb3IgZXhhbXBs + ZSwgSSBjb3VsZCBzZXQgdXAgYSBzbWFydCBjb250cmFjdCB3aGVyZSBhIGxp + c3RlbmVyIHNlbmRzIG15IHNtYXJ0IGNvbnRyYWN0IHNvbWUgZXRoZXIgYW5k + IEkgc2VuZCB0aGVDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFy + eT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9p + dHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41Nzo1MzwvaXR1 + bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpm + ZWVkLWFkZGl0aW9uczoxIj40MDQ2PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxp + dGVtPg0KCQk8dGl0bGU+Qml0Y29pbiBTZWd3aXQgd2l0aCBKb3JkYW4gQ2xp + ZmZvcmQ8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzEwLzEwL2JpdGNvaW4tc2Vnd2l0LXdpdGgt + am9yZGFuLWNsaWZmb3JkLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAxMCBP + Y3QgMjAxNyAwOTowMDo0MCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8/cD00MDQyPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8xMC9iaXRjb2lu + LXNlZ3dpdC13aXRoLWpvcmRhbi1jbGlmZm9yZC8jY29tbWVudHM8L2NvbW1l + bnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8xMC8xMC9iaXRjb2luLXNlZ3dpdC13aXRo + LWpvcmRhbi1jbGlmZm9yZC9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxz + bGFzaDpjb21tZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0Jsb2NrY2hhaW5dXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbQml0Y29pbiBTZWdXaXRdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtjcnlwdG9jdXJyZW5jeV1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0ZpbnRlY2hdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtKb3JkYW4gQ2xpZmZvcmRdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVttaWNyb3Byb2Nlc3NpbmddXT48 + L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5WaXNhIHByb2Nlc3NlcyAxLDYw + MCB0cmFuc2FjdGlvbnMgcGVyIHNlY29uZC4gUGF5UGFsIHByb2Nlc3NlcyAx + OTMgdHJhbnNhY3Rpb25zIHBlciBzZWNvbmQuIEJpdGNvaW4gcHJvY2Vzc2Vz + IG9ubHkgMy00IHRyYW5zYWN0aW9ucyBwZXIgc2Vjb25kLiBJbiBvcmRlciB0 + byBmdWxmaWxsIHRoZSBkcmVhbXMgb2YgZmluYW5jaWFsIHByb2dyYW1taW5n + 4oCTaW4gb3JkZXIgdG8gZ2V0IGRlY2VudHJhbGl6ZWQsIHBlZXItdG8tcGVl + ciBtaWNyb3BheW1lbnRz4oCTQml0Y29pbiBuZWVkcyBhIG11Y2ggaGlnaGVy + IHRyYW5zYWN0aW9uIHRocm91Z2hwdXQuIEJpdGNvaW7igJlzIHNjYWxhYmls + aXR5IGlzc3VlcyBoYXZlIGxlZCB0byBkZWJhdGVzIHdpdGhpbiB0aGUgY29t + bXVuaXR5IGFuZCBjaGFuZ2VzIGluIHRoZSBzb2Z0d2FyZS4gSW4gdGhpcyBl + cGlzb2RlLCBKb3JkYW4gQ2xpZmZvcmQgZ2l2ZXMgYW4gb3ZlcnZpZXcgb2Yg + c29tZSBvZiB0aGUgc2NhbGluZyBsaW1pdGF0aW9ucyBvZiZsdDtwJmd0OyZs + dDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0m + cXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzEwLzEwL2JpdGNvaW4tc2Vnd2l0LXdpdGgtam9yZGFuLWNsaWZmb3JkLyZx + dW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZn + dDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRB + WzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ni8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4t + YnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4t + YnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWlt + YWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjog + MXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWln + aHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kwLndwLmNvbS9jZG4taW1hZ2Vz + LTEubWVkaXVtLmNvbS9maXQvYy8yMDAvMjAwLzEqX3I4bm9oQ1ZVdFpUODVs + eHU2SDUyUS5qcGVnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+VmlzYSBwcm9jZXNzZXMgMSw2MDAgdHJhbnNhY3Rp + b25zIHBlciBzZWNvbmQuIFBheVBhbCBwcm9jZXNzZXMgMTkzIHRyYW5zYWN0 + aW9ucyBwZXIgc2Vjb25kLiBCaXRjb2luIHByb2Nlc3NlcyBvbmx5IDMtNCB0 + cmFuc2FjdGlvbnMgcGVyIHNlY29uZC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0 + aGUgZHJlYW1zIG9mIGZpbmFuY2lhbCBwcm9ncmFtbWluZyYjODIxMTtpbiBv + cmRlciB0byBnZXQgZGVjZW50cmFsaXplZCwgcGVlci10by1wZWVyIG1pY3Jv + cGF5bWVudHMmIzgyMTE7Qml0Y29pbiBuZWVkcyBhIG11Y2ggaGlnaGVyIHRy + YW5zYWN0aW9uIHRocm91Z2hwdXQuIEJpdGNvaW7igJlzIHNjYWxhYmlsaXR5 + IGlzc3VlcyBoYXZlIGxlZCB0byBkZWJhdGVzIHdpdGhpbiB0aGUgY29tbXVu + aXR5IGFuZCBjaGFuZ2VzIGluIHRoZSBzb2Z0d2FyZS48L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkluIHRoaXMgZXBp + c29kZSwgSm9yZGFuIENsaWZmb3JkIGdpdmVzIGFuIG92ZXJ2aWV3IG9mIHNv + bWUgb2YgdGhlIHNjYWxpbmcgbGltaXRhdGlvbnMgb2YgQml0Y29pbiwgYW5k + IGRpc2N1c3NlcyBTZWdXaXQsIGEgY2hhbmdlIHRvIHRoZSBCaXRjb2luIHBy + b3RvY29sIHRoYXQgaW1wcm92ZXMgc2NhbGFiaWxpdHkuIEpvcmRhbiB3YXMg + cHJldmlvdXNseSBvbiB0aGUgc2hvdyB0byBkaXNjdXNzIHRoZSBiYXNpY3Mg + b2YgRXRoZXJldW0gYW5kIEJpdGNvaW4uIFRoaXMgZXBpc29kZSBjb3ZlcnMg + c29tZSBhZHZhbmNlZCB0b3BpY3Mgb2YgQml0Y29pbiwgYW5kIGlmIHlvdSBh + cmUgb3V0IG9mIHlvdXIgY29tZm9ydCB6b25lLCBkb27igJl0IHdvcnJ5JiM4 + MjExO3lvdSBhcmVu4oCZdCBhbG9uZS48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPjxlbT5TdGF5IHR1bmVkIGF0IHRo + ZSBlbmQgb2YgdGhlIGVwaXNvZGUgZm9yIEplZmYgTWV5ZXJzb27igJlzIHRp + cCBhYm91dCBhc3Nlc3NpbmcgY3VsdHVyYWwgZml0IGF0IGEgY29tcGFueTog + YnJvdWdodCB0byB5b3UgYnkgSW5kZWVkIFByaW1lLjwvZW0+PC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5XZSBoYXZl + IGNvdmVyZWQgdGhlIGJhc2ljcyBvZiBjcnlwdG9jdXJyZW5jaWVzIGluIGRl + dGFpbCwgYW5kIHdlIGhhdmUgYWxzbyB0YWNrbGVkIG1vcmUgY29tcGxleCBh + c3BlY3RzIG9mIHRoZW0gaW4gcGFzdCBlcGlzb2Rlcy4gRG93bmxvYWQgPC9z + cGFuPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAv + c29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHktcG9kY2FzdC1hcHAvaWQxMjUz + NzM0NDI2P210PTgiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGFwcCBmb3IgaU9TPC9z + cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBhbmQg + QW5kcm9pZCB0byBoZWFyIGFsbCBvZiBvdXIgb2xkIGVwaXNvZGVzLiBUaGV5 + IGFyZSBlYXNpbHkgb3JnYW5pemVkIGJ5IGNhdGVnb3J5LCBhbmQgYXMgeW91 + IGxpc3RlbiwgdGhlIFNFIERhaWx5IGFwcCBnZXRzIHNtYXJ0ZXIsIGFuZCBy + ZWNvbW1lbmRzIHlvdSBjb250ZW50IGJhc2VkIG9uIHRoZSBlcGlzb2RlcyB5 + b3UgYXJlIGhlYXJpbmcuIElmIHlvdSBkb27igJl0IGxpa2UgdGhpcyBlcGlz + b2RlLCB5b3UgY2FuIGVhc2lseSBmaW5kIHNvbWV0aGluZyBtb3JlIGludGVy + ZXN0aW5nIGJ5IHVzaW5nIHRoZSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0uPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5U + aGUgbW9iaWxlIGFwcHMgYXJlIG9wZW4gc291cmNlZCBhdCA8YSBocmVmPSJo + dHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkiPmdp + dGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5PC9hPi4gSWYgeW91 + IGFyZSBsb29raW5nIGZvciBhbiBvcGVuIHNvdXJjZSBwcm9qZWN0IHRvIGhh + Y2sgb24sIHdlIHdvdWxkIGxvdmUgdG8gZ2V0IHlvdXIgaGVscCEgV2UgYXJl + IGJ1aWxkaW5nIGEgbmV3IHdheSB0byBjb25zdW1lIHNvZnR3YXJlIGVuZ2lu + ZWVyaW5nIGNvbnRlbnQuIFdlIGhhdmUgdGhlIEFuZHJvaWQgYXBwLCB0aGUg + aU9TIGFwcCwgYSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0sIGFuZCBhIHdlYiBm + cm9udGVuZCYjODIxMTthbmQgbW9yZSBwcm9qZWN0cyBhcmUgY29taW5nIHNv + b24uIElmIHlvdSBoYXZlIGlkZWFzIGZvciBob3cgc29mdHdhcmUgZW5naW5l + ZXJpbmcgbWVkaWEgY29udGVudCBzaG91bGQgYmUgY29uc3VtZWQsIG9yIGlm + IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBjb250cmlidXRpbmcgY29kZSwgY2hl + Y2sgb3V0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHk8L2E+LCBvciBqb2luIG91ciBTbGFjayBjaGFubmVsICh0aGVyZeKA + mXMgYSBsaW5rIG9uIG91ciB3ZWJzaXRlKSYjODIxMTtvciBzZW5kIG1lIGFu + IGVtYWlsOiBqZWZmQHNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb208L3Nw + YW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJv + dmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6 + Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20v + c2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMg + b2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4g + VGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0 + aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvU0VENDM1LUJsb2Nrc2l6ZS1EZWJhdGUucGRmIj5jbGljayBoZXJlIHRv + IHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+ + U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2luZGVlZC5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI4OTgiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzEwLzE4L3NpbXBzb25zLWRhdGEtc2NpZW5jZS13aXRoLXRvZGQtc2NobmVp + ZGVyL2luZGVlZC1wcmltZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUy + Qzk2IiBkYXRhLW9yaWctc2l6ZT0iNDYzLDk2IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImluZGVlZC1wcmltZSIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/ + Zml0PTMwMCUyQzYyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYi + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjg5OCBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmlt + ZS5wbmc/cmVzaXplPTMwMCUyQzYyIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAwJTJD + NjIgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQt + cHJpbWUucG5nP3c9NDYzIDQ2M3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIGlkPSJt + Xzc5OTA1MjExNTAyMTMyNzMyNzZtXzkwNTExNDE2Mzc0MDY0OTQ3NzJtXy04 + Nzk0NzE2NzMwOTE3Nzg3NjIxZ21haWwtbV85Mzg1ODQ0NjgyNzQ1NTIxNDVn + bWFpbC1tXy04NTYxNzIzNjc1MTI3NjYwODIyZ21haWwtZG9jcy1pbnRlcm5h + bC1ndWlkLTk2YmYxNTA5LTE2NDQtZTQ3MS00YmE4LWFmNmZlNTg4YzczZSI+ + SW5kZWVkIFByaW1lIGZsaXBzIHRoZSB0eXBpY2FsIG1vZGVsIG9mIGpvYiBz + ZWFyY2ggYW5kIG1ha2VzIGl0IGVhc3kgdG8gYXBwbHkgdG8gbXVsdGlwbGUg + am9icyBhbmQgZ2V0IG11bHRpcGxlIG9mZmVycy4gSW5kZWVkIFByaW1lIHNp + bXBsaWZpZXMgeW91ciBqb2Igc2VhcmNoIGFuZCBoZWxwcyB5b3UgbGFuZCB0 + aGF0IGlkZWFsIDxzcGFuIGNsYXNzPSJtXzc5OTA1MjExNTAyMTMyNzMyNzZt + XzkwNTExNDE2Mzc0MDY0OTQ3NzJtXy04Nzk0NzE2NzMwOTE3Nzg3NjIxZ21h + aWwtbV85Mzg1ODQ0NjgyNzQ1NTIxNDVnbWFpbC1pbCI+c29mdHdhcmU8L3Nw + YW4+IDxzcGFuIGNsYXNzPSJtXzc5OTA1MjExNTAyMTMyNzMyNzZtXzkwNTEx + NDE2Mzc0MDY0OTQ3NzJtXy04Nzk0NzE2NzMwOTE3Nzg3NjIxZ21haWwtbV85 + Mzg1ODQ0NjgyNzQ1NTIxNDVnbWFpbC1pbCI+ZW5naW5lZXJpbmc8L3NwYW4+ + IHBvc2l0aW9uLiBDYW5kaWRhdGVzIGdldCBpbW1lZGlhdGUgZXhwb3N1cmUg + dG8gdG9wIGNvbXBhbmllcyB3aXRoIGp1c3Qgb25lIHNpbXBsZSBhcHBsaWNh + dGlvbiB0byBJbmRlZWQgUHJpbWUuIENvbXBhbmllcyBvbiBQcmltZeKAmXMg + ZXhjbHVzaXZlIHBsYXRmb3JtIG1lc3NhZ2UgY2FuZGlkYXRlcyB3aXRoIHNh + bGFyeSBhbmQgZXF1aXR5IHVwZnJvbnQuIEluZGVlZCBQcmltZSBpcyAxMDAl + IGZyZWUgZm9yIGNhbmRpZGF0ZXMg4oCTIG5vIHN0cmluZ3MgYXR0YWNoZWQu + IDwvc3Bhbj5TaWduIHVwIG5vdyBhdDxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQu + Y29tL3NlZGFpbHkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBk + YXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91 + cmw/aGw9ZW4mYW1wO3E9aHR0cDovL2luZGVlZC5jb20vc2VkYWlseSZhbXA7 + c291cmNlPWdtYWlsJmFtcDt1c3Q9MTUwNjQwOTcxNjgzMTAwMCZhbXA7dXNn + PUFGUWpDTkZvMFNud3BLdVg4bU1tcERjdEVMMFJQTHZOZWciPiBpbmRlZWQu + Y29tL3NlZGFpbHk8L2E+LsKgWW91IGNhbiBhbHNvIHB1dCBtb25leSBpbiB5 + b3VyIHBvY2tldCBieSByZWZlcnJpbmcgeW91ciBmcmllbmRzIGFuZCBjb2xs + ZWFndWVzLiBSZWZlciBhIHNvZnR3YXJlIGVuZ2luZWVyIHRvIHRoZSBwbGF0 + Zm9ybSBhbmQgZ2V0ICQyMDAgd2hlbiB0aGV5IGdldCBjb250YWN0ZWQgYnkg + YSBjb21wYW55JiM4MjMwOy4gYW5kICQyLDAwMCB3aGVuIHRoZXkgYWNjZXB0 + IGEgam9iIHRocm91Z2ggUHJpbWUhIExlYXJuIG1vcmUgYXTCoDxhIGhyZWY9 + Imh0dHA6Ly9pbmRlZWQuY29tL3ByaW1lL3JlZmVycmFsIiB0YXJnZXQ9Il9i + bGFuayIgcmVsPSJub29wZW5lciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0 + dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9p + bmRlZWQuY29tL3ByaW1lL3JlZmVycmFsJmFtcDtzb3VyY2U9Z21haWwmYW1w + O3VzdD0xNTA2NDA5NzE2ODMxMDAwJmFtcDt1c2c9QUZRakNORXdXQVNFUExR + aU1VWVNicjVuc2pDR1l0dHVTQSI+aW5kZWVkLmNvbS9wcmltZS9yZWZlcnJh + bDwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS8yeUJ1S0I5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iNDA5OCIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3MvcmF5Z3VuL3JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlLyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvUmF5 + Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP2ZpdD0xMTYxJTJDMzE4 + IiBkYXRhLW9yaWctc2l6ZT0iMTE2MSwzMTgiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iUmF5Z3VuX21hc3Rlci1s + b2dvLWNsZWFyc3BhY2UiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9S + YXlndW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/Zml0PTMwMCUyQzgy + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvUmF5Z3VuX21hc3Rlci1sb2dvLWNsZWFyc3BhY2UuanBnP2ZpdD0xMDI0 + JTJDMjgwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwOTggc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXln + dW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTMwMCUyQzgy + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L1JheWd1bl9tYXN0ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9MzAw + JTJDODIgMzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXln + dW5fbWFzdGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTc2OCUyQzIx + MCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9t + YXN0ZXItbG9nby1jbGVhcnNwYWNlLmpwZz9yZXNpemU9MTAyNCUyQzI4MCAx + MDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9SYXlndW5fbWFz + dGVyLWxvZ28tY2xlYXJzcGFjZS5qcGc/cmVzaXplPTcyMCUyQzE5NyA3MjB3 + LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1JheWd1bl9tYXN0ZXIt + bG9nby1jbGVhcnNwYWNlLmpwZz93PTExNjEgMTE2MXciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2hlbiB5b3VyIGFw + cGxpY2F0aW9uIGlzIGZhaWxpbmcgb24gYSB1c2Vy4oCZcyBkZXZpY2UsIGhv + dyBkbyB5b3UgZmluZCBvdXQgYWJvdXQgaXQ/IFJheWd1biBsZXRzIHlvdSBz + ZWUgZXZlcnkgcHJvYmxlbSBpbiB5b3VyIHNvZnR3YXJlIGFuZCBob3cgdG8g + Zml4IGl0LiBSYXlndW4gYnJpbmdzIHRvZ2V0aGVyIGNyYXNoIHJlcG9ydGlu + ZywgcmVhbCB1c2VyIG1vbml0b3JpbmcsIHVzZXIgdHJhY2tpbmcsIGFuZCBk + ZXBsb3ltZW50IHRyYWNraW5nLiBTZWUgZXZlcnkgZXJyb3IgYW5kIGNyYXNo + IGFmZmVjdGluZyB5b3VyIHVzZXJzIHJpZ2h0IG5vdy4gTW9uaXRvciB5b3Vy + IGRlcGxveW1lbnRzLCB0byBtYWtlIHN1cmUgdGhhdCBhIHJlbGVhc2UgaXMg + bm90IGltcGFjdGluZyB1c2VycyBpbiBuZXcgd2F5cy4gQW5kIHRyYWNrIHlv + dXIgdXNlcnMgdGhyb3VnaCB5b3VyIGFwcGxpY2F0aW9uIHRvIGlkZW50aWZ5 + IHRoZSBiYWQgZXhwZXJpZW5jZXMgdGhleSBhcmUgaGF2aW5nLiBHbyB0byA8 + L3NwYW4+PGEgaHJlZj0iaHR0cDovL2JpdC5seS8yeUJ1S0I5Ij48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vcmF5Z3VuPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPiwgYW5kIGdldCBhIGZyZWUgMTQgZGF5IHRyaWFsIHRv + IHRyeSBvdXQgUmF5Z3VuIGFuZCBmaW5kIHRoZSBlcnJvcnMgdGhhdCBhcmUg + b2NjdXJyaW5nIGluIHlvdXIgYXBwbGljYXRpb25zIHRvZGF5LiBSYXlndW4g + aXMgdXNlZCBieSBNaWNyb3NvZnQsIFNsYWNrLCBhbmQgVW5pdHkgdG8gbW9u + aXRvciB0aGVpciBjdXN0b21lciBmYWNpbmcgc29mdHdhcmUuIEdvIHRvIDwv + c3Bhbj48YSBocmVmPSJodHRwOi8vYml0Lmx5LzJ5QnVLQjkiPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+c29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9yYXlndW48L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+IGFuZCB0cnkgaXQgb3V0IGZvciB5b3Vyc2VsZi48L3Nw + YW4+PGJyIC8+CjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNz + PSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9wYXJrbXljbG91 + ZC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjQwMzAi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL3BhcmtteWNsb3VkL3ByaW50LTIvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlD + bG91ZGxvZ28uanBnP2ZpdD02MDAlMkMxMjMiIGRhdGEtb3JpZy1zaXplPSI2 + MDAsMTIzIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDtQcmludCZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsxJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iUHJpbnQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8xMC9QYXJrTXlDbG91ZGxvZ28uanBnP2ZpdD0zMDAlMkM2MiIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL1BhcmtN + eUNsb3VkbG9nby5qcGc/Zml0PTYwMCUyQzEyMyIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS00MDMwIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9 + MzAwJTJDNjIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9MzAwJTJDNjIg + MzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9QYXJrTXlDbG91 + ZGxvZ28uanBnP3c9NjAwIDYwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMTAvUGFya015Q2xvdWRsb2dvLmpwZz9yZXNpemU9NTk1JTJDMTIzIDU5 + NXciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+RXZlcnkgc2Vjb25kIHlvdXIgY2xvdWQgc2VydmVycyBhcmUgcnVubmlu + ZywgdGhleSBhcmUgY29zdGluZyB5b3UgbW9uZXkuIFN0b3AgcGF5aW5nIGZv + ciBpZGxlIGNsb3VkIGluc3RhbmNlcyBhbmQgVk1zLiBDb250cm9sIHRoZSBj + b3N0IG9mIHlvdXIgY2xvdWQgd2l0aCBQYXJrTXlDbG91ZC4gUGFya015Q2xv + dWQgYXV0b21hdGljYWxseSB0dXJucyBvZmYgY2xvdWQgcmVzb3VyY2VzIHdo + ZW4geW91IGRvbuKAmXQgbmVlZCB0aGVtLiBXaGV0aGVyIHlvdSBhcmUgb24g + QVdTLCBBenVyZSwgb3IgR29vZ2xlIENsb3VkLCBpdOKAmXMgZWFzeSB0byBz + dGFydCBzYXZpbmcgbW9uZXkgd2l0aCBQYXJrTXlDbG91ZC4gWW91IHNpZ24g + dXAgZm9yIFBhcmtNeUNsb3VkLCB5b3UgY29ubmVjdCB0byB5b3VyIGNsb3Vk + IHByb3ZpZGVyLCBhbmQgUGFya015Q2xvdWQgZ2l2ZXMgeW91IGEgZGFzaGJv + YXJkIG9mIGFsbCB5b3VyIHJlc291cmNlcyYjODIxMTtpbmNsdWRpbmcgdGhl + aXIgY29zdHMuIEZyb20gdGhlIGRhc2hib2FyZCwgeW91IGNhbiBhdXRvbWF0 + aWNhbGx5IHNjaGVkdWxlIHdoZW4geW91ciBkaWZmZXJlbnQgY2xvdWQgaW5z + dGFuY2VzIGdldCB0dXJuZWQgb24gb3Igb2ZmIOKAkyBzYXZpbmcgeW91IDY1 + JSBvciBtb3JlLiBBZGRpdGlvbmFsbHksIHlvdSBjYW4gbWFuYWdlIGRhdGFi + YXNlcywgYXV0byBzY2FsaW5nIGdyb3VwcyBhbmQgc2V0IHVwIGxvZ2ljYWwg + Z3JvdXBzIG9mIHNlcnZlcnMgdG8gdHVybiBvZmYgZHVyaW5nIG5pZ2h0cyBh + bmQgd2Vla2VuZHMgd2hlbiB5b3UgZG9u4oCZdCBuZWVkIHRoZW0mIzgyMTE7 + YW5kIHlvdSBjYW4gc2VlIGhvdyBtdWNoIG1vbmV5IHlvdSBhcmUgc2F2aW5n + LiBHbyB0byA8L3NwYW4+PGEgaHJlZj0iaHR0cDovL3BhcmtteWNsb3VkLmNv + bS9zZWRhaWx5Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnBh + cmtteWNsb3VkLmNvbS9zZWRhaWx5PC9zcGFuPjwvYT48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPiB0byBnZXQgJDEwMCBpbiBmcmVlIGNyZWRp + dCBmb3IgUGFya015Q2xvdWQgZm9yIFNFIERhaWx5IGxpc3RlbmVycy4gUGFy + a015Q2xvdWQgaXMgdXNlZCBieSBNY0RvbmFsZOKAmXMsIENhcGl0YWxPbmUs + IGFuZCBGb3gsIGFuZCBzYXZlcyBjdXN0b21lcnMgdGVucyBvZiB0aG91c2Fu + ZHMgb2YgZG9sbGFycyBldmVyeSBtb250aC4gR28gdG8gPC9zcGFuPjxhIGhy + ZWY9Imh0dHA6Ly9wYXJrbXljbG91ZC5jb20vc2VkYWlseSI+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5wYXJrbXljbG91ZC5jb20vc2VkYWls + eTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4s + IGFuZCBjdXQgdGhlIGNvc3Qgb2YgeW91ciBjbG91ZCB0b2RheS48L3NwYW4+ + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+CjxwPiZuYnNwOzwvcD4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6 + ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxp + YnN5bi5jb20vc2VkYWlseS9CbG9ja3NpemVEZWJhdGUubXAzIiBsZW5ndGg9 + IjU5Mzc1MDAzIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+VmlzYSBwcm9jZXNzZXMgMSw2MDAgdHJhbnNhY3Rpb25zIHBlciBz + ZWNvbmQuIFBheVBhbCBwcm9jZXNzZXMgMTkzIHRyYW5zYWN0aW9ucyBwZXIg + c2Vjb25kLiBCaXRjb2luIHByb2Nlc3NlcyBvbmx5IDMtNCB0cmFuc2FjdGlv + bnMgcGVyIHNlY29uZC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZHJlYW1z + IG9mIGZpbmFuY2lhbCBwcm9ncmFtbWluZ+KAk2luIG9yZGVyIHRvIGdldCBk + ZWNlbnRyYWxpemVkLDwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3Vt + bWFyeT5WaXNhIHByb2Nlc3NlcyAxLDYwMCB0cmFuc2FjdGlvbnMgcGVyIHNl + Y29uZC4gUGF5UGFsIHByb2Nlc3NlcyAxOTMgdHJhbnNhY3Rpb25zIHBlciBz + ZWNvbmQuIEJpdGNvaW4gcHJvY2Vzc2VzIG9ubHkgMy00IHRyYW5zYWN0aW9u + cyBwZXIgc2Vjb25kLiBJbiBvcmRlciB0byBmdWxmaWxsIHRoZSBkcmVhbXMg + b2YgZmluYW5jaWFsIHByb2dyYW1taW5n4oCTaW4gb3JkZXIgdG8gZ2V0IGRl + Y2VudHJhbGl6ZWQsIHBlZXItdG8tcGVlciBtaWNyb3BheW1lbnRz4oCTQml0 + Y29pbiBuZWVkcyBhIG11Y2ggaGlnaGVyIHRyYW5zYWN0aW9uIHRocm91Z2hw + dXQuIEJpdGNvaW7igJlzIHNjYWxhYmlsaXR5IGlzc3VlcyBoYXZlIGxlZCB0 + byBkZWJhdGVzIHdpdGhpbiB0aGUgY29tbXVuaXR5IGFuZCBjaGFuZ2VzIGlu + IHRoZSBzb2Z0d2FyZS4gSW4gdGhpcyBlcGlzb2RlLCBKb3JkYW4gQ2xpZmZv + cmQgZ2l2ZXMgYW4gb3ZlcnZpZXcgb2Ygc29tZSBvZiB0aGUgc2NhbGluZyBs + aW1pdGF0aW9ucyBvZkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1t + YXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERh + aWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48 + L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6MDE6MzQ8 + L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJl + c3M6ZmVlZC1hZGRpdGlvbnM6MSI+NDA0MjwvcG9zdC1pZD4JCTwvaXRlbT4N + Cgk8aXRlbT4NCgkJPHRpdGxlPlRpbmRlciBFbmdpbmVlcmluZyBNYW5hZ2Vt + ZW50IHdpdGggQnJ5YW4gTGk8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzA5L3RpbmRlci1l + bmdpbmVlcmluZy1tYW5hZ2VtZW50LXdpdGgtYnJ5YW4tbGkvPC9saW5rPg0K + CQk8cHViRGF0ZT5Nb24sIDA5IE9jdCAyMDE3IDA5OjAwOjAxICswMDAwPC9w + dWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTQwMTA8L2d1aWQ+DQoJ + CTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzEwLzA5L3RpbmRlci1lbmdpbmVlcmluZy1tYW5hZ2VtZW50LXdp + dGgtYnJ5YW4tbGkvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21t + ZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMTAvMDkvdGluZGVyLWVuZ2luZWVyaW5nLW1hbmFnZW1lbnQtd2l0aC1i + cnlhbi1saS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21t + ZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0JyeWFuIExpXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbQ2xvdWRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtNYWNoaW5lIExlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbb2ZmbGluZSBhbmFseXRpY3NdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtzb2NpYWwgbmV0d29ya11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1RpbmRlciBlbmdpbmVlcmluZ11d + PjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlRpbmRlciBpcyBhIHJhcGlk + bHkgZ3Jvd2luZyBzb2NpYWwgbmV0d29yayBmb3IgbWVldGluZyBwZW9wbGUg + YW5kIGRhdGluZy4gSW4gdGhlIHBhc3QgZmV3IHllYXJzLCBUaW5kZXLigJlz + IHVzZXJiYXNlIGhhcyBncm93biByYXBpZGx5LCBhbmQgdGhlIGVuZ2luZWVy + aW5nIHRlYW0gaGFzIHNjYWxlZCB0byBtZWV0IHRoZSBkZW1hbmRzIG9mIGlu + Y3JlYXNlZCBwb3B1bGFyaXR5LiBPbiBUaW5kZXIsIHlvdSBhcmUgcHJlc2Vu + dGVkIHdpdGggYSBxdWV1ZSBvZiBzdWdnZXN0ZWQgcGVvcGxlIHRoYXQgeW91 + IG1pZ2h0IG1hdGNoIHdpdGgsIGFuZCB5b3Ugc3dpcGUgbGVmdCBvciByaWdo + dCB0byBpbmRpY2F0ZSB0aGF0IHlvdSBsaWtlIG9yIGRpc2xpa2UgdGhlbS4g + Q3JlYXRpbmcgdGhhdCBxdWV1ZSBvZiBzdWdnZXN0aW9ucyZsdDtwJmd0OyZs + dDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0m + cXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzEwLzA5L3RpbmRlci1lbmdpbmVlcmluZy1tYW5hZ2VtZW50LXdpdGgtYnJ5 + YW4tbGkvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7 + Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+ + PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQt + YnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + YnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1 + bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsg + Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsg + bWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL21l + ZGlhLmxpY2RuLmNvbS9tcHIvbXByL3Nocmlua25wXzIwMF8yMDAvQUFFQUFR + QUFBQUFBQUFvOUFBQUFKREV5WldJME1UVTVMV1l3TURRdE5ESmxNUzFoWVRn + MExXVXpOak0xWTJWak5qSTFZZy5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4 + O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+VGluZGVy + IGlzIGEgcmFwaWRseSBncm93aW5nIHNvY2lhbCBuZXR3b3JrIGZvciBtZWV0 + aW5nIHBlb3BsZSBhbmQgZGF0aW5nLiBJbiB0aGUgcGFzdCBmZXcgeWVhcnMs + IFRpbmRlcuKAmXMgdXNlcmJhc2UgaGFzIGdyb3duIHJhcGlkbHksIGFuZCB0 + aGUgZW5naW5lZXJpbmcgdGVhbSBoYXMgc2NhbGVkIHRvIG1lZXQgdGhlIGRl + bWFuZHMgb2YgaW5jcmVhc2VkIHBvcHVsYXJpdHkuPC9wPgo8cD5PbiBUaW5k + ZXIsIHlvdSBhcmUgcHJlc2VudGVkIHdpdGggYSBxdWV1ZSBvZiBzdWdnZXN0 + ZWQgcGVvcGxlIHRoYXQgeW91IG1pZ2h0IG1hdGNoIHdpdGgsIGFuZCB5b3Ug + c3dpcGUgbGVmdCBvciByaWdodCB0byBpbmRpY2F0ZSB0aGF0IHlvdSBsaWtl + IG9yIGRpc2xpa2UgdGhlbS4gQ3JlYXRpbmcgdGhhdCBxdWV1ZSBvZiBzdWdn + ZXN0aW9ucyBpcyBhIGNvbXBsZXggZW5naW5lZXJpbmcgcHJvYmxlbS4gTWFu + eSBmYWN0b3JzIGdvIGludG8gdGhlIHN1Z2dlc3Rpb25zIHRoYXQgVGluZGVy + IGdpdmVzIHlvdTogZ2VvdGFyZ2V0aW5nLCBmb29kIHByZWZlcmVuY2VzLCB5 + b3VyIGZhdm9yaXRlIGJhbmQsIHlvdXIgcGhvdG9zLCBhbmQgdGhlIHBlb3Bs + ZSB5b3UgaGF2ZSBzd2lwZWQgb24gaW4gdGhlIHBhc3QuPC9wPgo8cD5Ccnlh + biBMaSBpcyBhbiBlbmdpbmVlcmluZyBtYW5hZ2VyIGF0IFRpbmRlciwgYW5k + IGhlIGpvaW5zIHRoZSBzaG93IHRvIGRlc2NyaWJlIHRoZSBpbnRlcmFjdGlv + biBiZXR3ZWVuIHRoZSBtb2JpbGUgY2xpZW50LCBiYWNrZW5kIHNlcnZlcnMs + IGFuZCB0aGUgb2ZmbGluZSBhbmFseXRpY3MgYW5kIG1hY2hpbmUgbGVhcm5p + bmcuIFdlIGFsc28gdGFsayBhYm91dCBtYW5hZ2luZyBkaWZmZXJlbnQgdGVh + bXMgYW5kIGhvdyB0byByZW9yZ2FuaXplIHNtb290aGx5IGFzIGEgY29tcGFu + eSBncm93cy48L3A+CjxwPklmIHlvdSBsaWtlIHRoaXMgZXBpc29kZSwgd2Ug + aGF2ZSBkb25lIG90aGVyIHNob3dzIGFib3V0IHNjYWxpbmcgY29tcGFuaWVz + IGxpa2UgVWJlciwgTmV3IFJlbGljLCBhbmQgR2lwaHkuIERvd25sb2FkIHRo + ZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBhcHAgZm9yIGlPUyBhbmQg + QW5kcm9pZCB0byBoZWFyIGFsbCBvZiBvdXIgb2xkIGVwaXNvZGVzLCBhbmQg + ZWFzaWx5IGRpc2NvdmVyIG5ldyB0b3BpY3MgdGhhdCBtaWdodCBpbnRlcmVz + dCB5b3UuIElmIHlvdSBkb27igJl0IGxpa2UgdGhpcyBlcGlzb2RlLCB5b3Ug + Y2FuIGVhc2lseSBmaW5kIHNvbWV0aGluZyBtb3JlIGludGVyZXN0aW5nIGJ5 + IGxvb2tpbmcgYXQgdGhlIHJlY29tbWVuZGF0aW9uIGVuZ2luZSBpbiB0aGUg + YXBwLjwvcD4KPHA+VGhlIG1vYmlsZSBhcHBzIGFyZSBvcGVuIHNvdXJjZWQg + YXQgPGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5Ij5naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eTwvYT4uIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gb3BlbiBzb3VyY2Ug + cHJvamVjdCB0byBoYWNrIG9uLCB3ZSB3b3VsZCBsb3ZlIHRvIGdldCB5b3Vy + IGhlbHAhIFRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBvcGVuIHNv + dXJjZSBjb21tdW5pdHkgaXMgYnVpbGRpbmcgYSBuZXcgd2F5IHRvIGNvbnN1 + bWUgc29mdHdhcmUgZW5naW5lZXJpbmcgY29udGVudC4gV2UgaGF2ZSB0aGUg + QW5kcm9pZCBhcHAsIHRoZSBpT1MgYXBwLCBhIHJlY29tbWVuZGF0aW9uIHN5 + c3RlbSwgYW5kIGEgd2ViIGZyb250ZW5kLiBJZiB5b3UgYXJlIGludGVyZXN0 + ZWQgaW4gY29udHJpYnV0aW5nLCBjaGVjayBvdXQgPGEgaHJlZj0iaHR0cDov + L2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5Ij5naXRodWIu + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseTwvYT4mIzgyMTE7b3Igc2Vu + ZCBtZSBhbiBlbWFpbDogamVmZkBzb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tPC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJv + dmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6 + Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20v + c2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMg + b2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4g + VGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0 + aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MTAvU0VENDM0LVRpbmRlci1NYW5hZ2VtZW50LnBkZiI+Y2xpY2sgaGVyZSB0 + byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgy + PlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFp + bHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzM5IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1uZWhhLW5hcmtoZWRl + L3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBkYXRhLW9y + aWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAlMkMxNjAiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwu + cG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCIgYWx0PSIiIHNy + Y3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5n + P3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03NjglMkM0MTAgNzY4dywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03 + MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90 + b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRvcHRhbCBpcyB0 + aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFibHkgcHJpY2VkLCBleHRy + ZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5lZXJzIHRvIGJ1aWxkIHlv + dXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNjYWxlIHlvdXIgd29ya2Zv + cmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNvbS9zZWRhaWx5Ij5HZXQg + YSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3aGVuIHlvdSB1c2UgVG9w + dGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdpdGggYW4gZW5naW5lZXIg + Zm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+ + CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+ + PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDov + L2RvLmNvL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDE3 + IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8xMC8wMi9yZWFjdHZyLXdpdGgtYW5kcmV3LWltbS9k + aWdpdGFsb2NlYW4vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5nP2ZpdD04MDAlMkM0MDAi + IGRhdGEtb3JpZy1zaXplPSI4MDAsNDAwIiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRpZ2l0YWxvY2VhbiIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0 + PTMwMCUyQzE1MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTgwMCUyQzQwMCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS00MDE3IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFu + LnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXpl + PTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVz + aXplPTcyMCUyQzM2MCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/dz04MDAgODAwdyIgc2l6ZXM9IihtYXgt + d2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9 + IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + RGlnaXRhbCBPY2VhbiBTcGFjZXMgZ2l2ZXMgeW91IHNpbXBsZSBvYmplY3Qg + c3RvcmFnZSB3aXRoIGEgYmVhdXRpZnVsIHVzZXIgaW50ZXJmYWNlLiBZb3Ug + bmVlZCBhbiBlYXN5IHdheSB0byBob3N0IG9iamVjdHMgbGlrZSBpbWFnZXMg + YW5kIHZpZGVvcy4gWW91ciB1c2VycyBuZWVkIHRvIHVwbG9hZCBvYmplY3Rz + IGxpa2UgcGRmcyBhbmQgbXVzaWMgZmlsZXMuIERpZ2l0YWwgT2NlYW4gU3Bh + Y2VzIGlzIG1vZGVybiBvYmplY3Qgc3RvcmFnZSB3aXRoIGEgbW9kZXJuIFVJ + IHRoYXQgeW91IHdpbGwgbG92ZSB0byB1c2UmIzgyMTE7aXTigJlzIGxpa2Ug + dGhlIFVJIGZvciBEcm9wYm94LCBidXQgd2l0aCB0aGUgcHJpY2luZyBvZiBh + IHJhdyBvYmplY3Qgc3RvcmFnZTsgSSBhbG1vc3Qgd2FudCB0byB1c2UgaXQg + bGlrZSBhIGNvbnN1bWVyIHByb2R1Y3QuIFRvIHRyeSBEaWdpdGFsIE9jZWFu + IFNwYWNlcywgZ28gdG88YSBocmVmPSJodHRwOi8vZG8uY28vc2VkYWlseSI+ + IDxiPmRvLmNvL3NlZGFpbHk8L2I+PC9hPiBhbmQgZ2V0IDIgbW9udGhzIG9m + IFNwYWNlcyBwbHVzIGEgJDEwIGNyZWRpdCB0byB1c2Ugb24gYW55IG90aGVy + IERpZ2l0YWwgT2NlYW4gcHJvZHVjdHMmIzgyMTE7YW5kIHlvdSBnZXQgdGhp + cyBjcmVkaXQgZXZlbiBpZiB5b3UgaGF2ZSBiZWVuIHdpdGggRGlnaXRhbCBP + Y2VhbiBmb3IgYXdoaWxlLiBJdCYjODIxNztzIGEgbmljZSBhZGRlZCBib251 + cyBqdXN0IGZvciB0cnlpbmcgb3V0IFNwYWNlcy4gSWYgeW91IGJlY29tZSBh + IGN1c3RvbWVyLCB0aGUgcHJpY2luZyBpcyA8aT5zaW1wbGU6IMKgPC9pPiQ1 + IHBlciBtb250aCBwcmljZSBhbmQgaW5jbHVkZXMgMjUwR0Igb2Ygc3RvcmFn + ZSBhbmQgMVRCIG9mIG91dGJvdW5kIGJhbmR3aWR0aC4gVGhlcmUgYXJlIG5v + IGNvc3RzIHBlciByZXF1ZXN0IGFuZCBhZGRpdGlvbmFsIHN0b3JhZ2UgaXMg + cHJpY2VkIGF0IHRoZSBsb3dlc3QgcmF0ZSBhdmFpbGFibGU6ICQwLjAxIHBl + ciBHQiB0cmFuc2ZlcnJlZCBhbmQgJDAuMDIgcGVyIEdCIHN0b3JlZC4gVGhl + cmUgd29uJiM4MjE3O3QgYmUgYW55IHN1cnByaXNlcyBvbiB5b3VyIGJpbGwu + IERpZ2l0YWwgT2NlYW4gc2ltcGxpZmllcyB0aGUgY2xvdWQmIzgyMTE7dGhl + eSBsb29rIGZvciBldmVyeSBvcHBvcnR1bml0eSB0byByZW1vdmUgZnJpY3Rp + b24gZnJvbSBhIGRldmVsb3BlciYjODIxNztzIGV4cGVyaWVuY2UuIEkgbG92 + ZSBpdCwgYW5kIEkgdGhpbmsgeW91IHdpbGwgdG9vJiM4MjExO2NoZWNrIGl0 + IG91dCBhdDxhIGhyZWY9Imh0dHA6Ly9kby5jby9zZWRhaWx5Ij4gPGI+ZG8u + Y28vc2VkYWlseTwvYj48L2E+PGI+LjwvYj48L2Rpdj48L3A+CjxwPjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwOi8vb2N0b3B1cy5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0 + MDIwIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8xMC8wMy80Mi1jb2Rpbmctc2Nob29sLXdpdGgt + YnJpdHRhbnktYmlyL29jdG9wdXNkZXBsb3lfbG9nby8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBs + b3lfbG9nby5wbmc/Zml0PTgwMCUyQzE1NSIgZGF0YS1vcmlnLXNpemU9Ijgw + MCwxNTUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0ib2N0b3B1c2RlcGxveV9sb2dvIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9maXQ9MzAwJTJD + NTgiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP2ZpdD04MDAlMkMxNTUiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtNDAyMCBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lf + bG9nby5wbmc/cmVzaXplPTMwMCUyQzU4IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5w + bmc/cmVzaXplPTMwMCUyQzU4IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9NzY4JTJD + MTQ5IDc2OHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1 + c2RlcGxveV9sb2dvLnBuZz9yZXNpemU9NzIwJTJDMTQwIDcyMHcsIGh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBu + Zz93PTgwMCA4MDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUgb2N0b3B1czogYSBzZWEg + Y3JlYXR1cmUga25vd24gZm9yIGl0cyBpbnRlbGxpZ2VuY2UgYW5kIGZsZXhp + YmlsaXR5LiBPY3RvcHVzIERlcGxveTogYSBmcmllbmRseSBkZXBsb3ltZW50 + IGF1dG9tYXRpb24gdG9vbCBmb3IgZGVwbG95aW5nIGFwcGxpY2F0aW9ucyBs + aWtlIC5ORVQgYXBwcywgSmF2YSBhcHBzIGFuZCBtb3JlLiBBc2sgYW55IGRl + dmVsb3BlciBhbmQgdGhleeKAmWxsIHRlbGwgeW91IGl04oCZcyBuZXZlciBm + dW4gcHVzaGluZyBjb2RlIGF0IDVwbSBvbiBhIEZyaWRheSB0aGVuIGNyb3Nz + aW5nIHlvdXIgZmluZ2VycyBob3BpbmcgZm9yIHRoZSBiZXN0LsKgVGhhdOKA + mXMgd2hlcmUgT2N0b3B1cyBEZXBsb3kgY29tZXMgaW50byB0aGUgcGljdHVy + ZS4gT2N0b3B1cyBEZXBsb3kgaXMgYSBmcmllbmRseSBkZXBsb3ltZW50IGF1 + dG9tYXRpb24gdG9vbCwgdGFraW5nIG92ZXIgd2hlcmUgeW91ciBidWlsZC9D + SSBzZXJ2ZXIgZW5kcy4gVXNlIE9jdG9wdXMgdG8gcHJvbW90ZSByZWxlYXNl + cyBvbi1wcmVtIG9yIHRvIHRoZSBjbG91ZC4gT2N0b3B1cyBpbnRlZ3JhdGVz + IHdpdGggeW91ciBleGlzdGluZyBidWlsZCBwaXBlbGluZSYjODIxMTtURlMg + YW5kIFZTVFMsIEJhbWJvbywgVGVhbUNpdHksIGFuZCBKZW5raW5zLiBJdCBp + bnRlZ3JhdGVzIHdpdGggQVdTLCBBenVyZSwgYW5kIG9uLXByZW0gZW52aXJv + bm1lbnRzLiBSZWxpYWJseSBhbmQgcmVwZWF0ZWRseSBkZXBsb3kgeW91ciAu + TkVUIGFuZCBKYXZhIGFwcHMgYW5kIG1vcmUuIElmIHlvdSBjYW4gcGFja2Fn + ZSBpdCwgT2N0b3B1cyBjYW4gZGVwbG95IGl0IcKgSXTigJlzIHF1aWNrIGFu + ZCBlYXN5IHRvIGluc3RhbGwuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9PY3Rv + cHVzLmNvbSI+T2N0b3B1cy5jb208L2E+IHRvIHRyaWFsIE9jdG9wdXMgZnJl + ZSBmb3IgNDUgZGF5cy4gVGhhdCYjODIxNztzIDxhIGhyZWY9Imh0dHA6Ly9P + Y3RvcHVzLmNvbSI+T2N0b3B1cy5jb208L2E+CjxwPjwvcD48L2Rpdj48L3A+ + CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5i + c3A7PC9wPgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0K + CQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9z + ZWRhaWx5L1RpbmRlck1hbmFnZW1lbnQubXAzIiBsZW5ndGg9IjU2NDg2MTk1 + IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+VGlu + ZGVyIGlzIGEgcmFwaWRseSBncm93aW5nIHNvY2lhbCBuZXR3b3JrIGZvciBt + ZWV0aW5nIHBlb3BsZSBhbmQgZGF0aW5nLiBJbiB0aGUgcGFzdCBmZXcgeWVh + cnMsIFRpbmRlcuKAmXMgdXNlcmJhc2UgaGFzIGdyb3duIHJhcGlkbHksIGFu + ZCB0aGUgZW5naW5lZXJpbmcgdGVhbSBoYXMgc2NhbGVkIHRvIG1lZXQgdGhl + IGRlbWFuZHMgb2YgaW5jcmVhc2VkIHBvcHVsYXJpdHkuIE9uIFRpbmRlciw8 + L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+VGluZGVyIGlz + IGEgcmFwaWRseSBncm93aW5nIHNvY2lhbCBuZXR3b3JrIGZvciBtZWV0aW5n + IHBlb3BsZSBhbmQgZGF0aW5nLiBJbiB0aGUgcGFzdCBmZXcgeWVhcnMsIFRp + bmRlcuKAmXMgdXNlcmJhc2UgaGFzIGdyb3duIHJhcGlkbHksIGFuZCB0aGUg + ZW5naW5lZXJpbmcgdGVhbSBoYXMgc2NhbGVkIHRvIG1lZXQgdGhlIGRlbWFu + ZHMgb2YgaW5jcmVhc2VkIHBvcHVsYXJpdHkuIE9uIFRpbmRlciwgeW91IGFy + ZSBwcmVzZW50ZWQgd2l0aCBhIHF1ZXVlIG9mIHN1Z2dlc3RlZCBwZW9wbGUg + dGhhdCB5b3UgbWlnaHQgbWF0Y2ggd2l0aCwgYW5kIHlvdSBzd2lwZSBsZWZ0 + IG9yIHJpZ2h0IHRvIGluZGljYXRlIHRoYXQgeW91IGxpa2Ugb3IgZGlzbGlr + ZSB0aGVtLiBDcmVhdGluZyB0aGF0IHF1ZXVlIG9mIHN1Z2dlc3Rpb25zQ29u + dGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczph + dXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRo + b3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0 + PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTg6MzM8L2l0dW5lczpkdXJhdGlvbj4K + PHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6 + MSI+NDAxMDwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxl + PkFkdmVydGlzZXIgVHJ1c3Qgd2l0aCBNYXJjIEdvbGRiZXJnPC90aXRsZT4N + CgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8xMC8wNi9hZHZlcnRpc2VyLXRydXN0LXdpdGgtbWFyYy1nb2xkYmVy + Zy88L2xpbms+DQoJCTxwdWJEYXRlPkZyaSwgMDYgT2N0IDIwMTcgMDk6MDA6 + NTggKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxz + ZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9NDAw + OTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMTAvMDYvYWR2ZXJ0aXNlci10cnVzdC13aXRo + LW1hcmMtZ29sZGJlcmcvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpj + b21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMTAvMDYvYWR2ZXJ0aXNlci10cnVzdC13aXRoLW1hcmMtZ29sZGJl + cmcvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + Mjwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQ + b2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2Vj + dXJpdHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVthZCBm + cmF1ZF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2FkIHRl + Y2hdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYXJjIEdv + bGRiZXJnXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbVHJ1 + c3QgTWV0cmljc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W3doaXRlbGlzdF1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkRlc3Bp + dGUgYWxsIHRoZSBwcm9ibGVtcyB3aXRoIG9ubGluZSBhZHZlcnRpc2luZywg + YWRzIGFyZSBub3QgZ29pbmcgYXdheS4gQWR2ZXJ0aXNpbmcgaXMgZnVuZGFt + ZW50YWwgdG8gdGhlIG1vZGVybiBJbnRlcm5ldCBlY29ub215LiBJbiBwcmV2 + aW91cyBlcGlzb2RlcyBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSwg + d2UgaGF2ZSBtb3N0bHkgZGlzc2VjdGVkIHRoZSBwcm9ibGVtcyBvZiBhZHRl + Y2jigJNib3RzLCB0cmFja2luZywgZnJhdWQsIGJyYW5kIHNhZmV0eS4gV2Ug + aGF2ZSB0YWxrZWQgYWJvdXQgc29tZSBzb2x1dGlvbnPigJNmb3IgZXhhbXBs + ZSwgSmF2YVNjcmlwdCB0YWdzIHRoYXQgeW91IGNhbiBwdXQgb24gYSBwYWdl + IHRvIGlkZW50aWZ5IGEgYm90IGJlZm9yZSB5b3Ugc2VydmUgaXQgYW4gYWQu + IEJ1dCB0aGVzZSBzb2x1dGlvbnMgZG9u4oCZdCBnZXQmbHQ7cCZndDsmbHQ7 + YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1 + b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8x + MC8wNi9hZHZlcnRpc2VyLXRydXN0LXdpdGgtbWFyYy1nb2xkYmVyZy8mcXVv + dDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7 + PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1 + cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1 + cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFn + ZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFw + eCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0 + OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vbWVkaWEubGljZG4u + Y29tL21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9wLzYvMDAwLzIzYS8wOWMv + MDE5YTZlNC5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+RGVzcGl0ZSBhbGwgdGhlIHBy + b2JsZW1zIHdpdGggb25saW5lIGFkdmVydGlzaW5nLCBhZHMgYXJlIG5vdCBn + b2luZyBhd2F5LiBBZHZlcnRpc2luZyBpcyBmdW5kYW1lbnRhbCB0byB0aGUg + bW9kZXJuIEludGVybmV0IGVjb25vbXkuPC9wPgo8cD5JbiBwcmV2aW91cyBl + cGlzb2RlcyBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSwgd2UgaGF2 + ZSBtb3N0bHkgZGlzc2VjdGVkIHRoZSBwcm9ibGVtcyBvZiBhZHRlY2gmIzgy + MTE7Ym90cywgdHJhY2tpbmcsIGZyYXVkLCBicmFuZCBzYWZldHkuIFdlIGhh + dmUgdGFsa2VkIGFib3V0IHNvbWUgc29sdXRpb25zJiM4MjExO2ZvciBleGFt + cGxlLCBKYXZhU2NyaXB0IHRhZ3MgdGhhdCB5b3UgY2FuIHB1dCBvbiBhIHBh + Z2UgdG8gaWRlbnRpZnkgYSBib3QgYmVmb3JlIHlvdSBzZXJ2ZSBpdCBhbiBh + ZC4gQnV0IHRoZXNlIHNvbHV0aW9ucyBkb27igJl0IGdldCB0aGUgam9iIGRv + bmUgY29tcGxldGVseSwgYmVjYXVzZSBpdCBpc27igJl0IHBvc3NpYmxlIHRv + IHJlbGlhYmx5IGlkZW50aWZ5IGJvdHMuIFRvZGF5IHdlIGV4cGxvcmUgYW5v + dGhlciBzb2x1dGlvbiBmb3IgYWR0ZWNoOiB0aGUgd2hpdGVsaXN0LjwvcD4K + PHA+TWFyYyBHb2xkYmVyZyBpcyB0aGUgQ0VPIG9mIFRydXN0IE1ldHJpY3Ms + IGEgY29tcGFueSB0aGF0IHByb3ZpZGVzIHdoaXRlbGlzdGluZyBmb3IgYWR2 + ZXJ0aXNlcnMuIEEgd2hpdGVsaXN0IGlzIGEgbGlzdCBvZiBkb21haW5zIHRo + YXQgYXJlIGFjY2VwdGFibGUgdG8gcnVuIHlvdXIgYWR2ZXJ0aXNlbWVudHMg + b24uIEluIG9yZGVyIHRvIGJ1aWxkIGEgd2hpdGVsaXN0LCB5b3UgbmVlZCB0 + byByZXZpZXcgdGhvdXNhbmRzIG9mIHNpdGVzIHRvIGp1ZGdlIHdoaWNoIG9u + ZXMgYXJlIHJlYXNvbmFibGUgcGxhY2VzIHRvIHB1Ymxpc2ggYW4gYWR2ZXJ0 + aXNlbWVudC4gTWFyYyBqb2lucyB0aGUgc2hvdyB0byBkZXNjcmliZSBob3cg + dG8gYnVpbGQgYW5kIHNjYWxlIGEgc3lzdGVtIGZvciByZXZpZXdpbmcgd2Vi + c2l0ZXMgYW5kIGp1ZGdpbmcgd2hldGhlciB0aGV5IGFyZSBzYWZlIHRvIHJ1 + biBhZHMgYWdhaW5zdC48L3A+CjxwPklmIHlvdSBsaWtlIHRoaXMgZXBpc29k + ZSwgd2UgaGF2ZSBkb25lIG90aGVyIHNob3dzIGFib3V0IGFkdmVydGlzaW5n + IGZyYXVkLiBEb3dubG9hZCB0aGUgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgYXBwIGZvciBpT1MgYW5kIEFuZHJvaWQgdG8gaGVhciBhbGwgb2Ygb3Vy + IG9sZCBlcGlzb2RlcywgYW5kIGVhc2lseSBkaXNjb3ZlciBuZXcgdG9waWNz + IHRoYXQgbWlnaHQgaW50ZXJlc3QgeW91LiBJZiB5b3UgZG9u4oCZdCBsaWtl + IHRoaXMgZXBpc29kZSwgeW91IGNhbiBlYXNpbHkgZmluZCBzb21ldGhpbmcg + bW9yZSBpbnRlcmVzdGluZyBieSBsb29raW5nIGF0IHRoZSByZWNvbW1lbmRh + dGlvbiBlbmdpbmUgaW4gdGhlIGFwcC48L3A+CjxwPlRoZSBtb2JpbGUgYXBw + cyBhcmUgb3BlbiBzb3VyY2VkIGF0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIu + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+LiBJZiB5b3UgYXJlIGxvb2tpbmcg + Zm9yIGFuIG9wZW4gc291cmNlIHByb2plY3QgdG8gaGFjayBvbiwgd2Ugd291 + bGQgbG92ZSB0byBnZXQgeW91ciBoZWxwISBUaGUgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGlzIGJ1aWxkaW5n + IGEgbmV3IHdheSB0byBjb25zdW1lIHNvZnR3YXJlIGVuZ2luZWVyaW5nIGNv + bnRlbnQuIFdlIGhhdmUgdGhlIEFuZHJvaWQgYXBwLCB0aGUgaU9TIGFwcCwg + YSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0sIGFuZCBhIHdlYiBmcm9udGVuZC4g + SWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGNvbnRyaWJ1dGluZywgY2hlY2sg + b3V0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHk8L2E+JiM4MjExO29yIHNlbmQgbWUgYW4gZW1haWw6IGplZmZAc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbTwvcD4KPGgyPlNwb25zb3JzPC9oMj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzgxNSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZ3Jh + bW1hdGVjaC9ncmFtbWF0ZWNoLWxvZ29sLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/Zml0PTgyNSUyQzMwMCIgZGF0YS1vcmlnLXNpemU9IjgyNSwzMDAiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + R3JhbW1hdGVjaC1Mb2dvTCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD0zMDAlMkMxMDkiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTM4MTUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9 + MzAwJTJDMTA5IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMx + MDkgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9yZXNpemU9NzY4JTJDMjc5IDc2OHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVz + aXplPTcyMCUyQzI2MiA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3c9ODI1IDgyNXciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPkdyYW1tYVRlY2ggQ29kZVNvbmFyIGhlbHBzIGRldmVsb3BtZW50IHRl + YW1zIGltcHJvdmUgY29kZSBxdWFsaXR5IHdpdGggc3RhdGljIGFuYWx5c2lz + LiBJdCBoZWxwcyBmbGFnIGlzc3VlcyBlYXJseSBpbiB0aGUgZGV2ZWxvcG1l + bnQgcHJvY2VzcywgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byByZWxlYXNlIGJl + dHRlciBjb2RlIGZhc3Rlci7CoENvZGVTb25hciBjYW4gZWFzaWx5IGJlIGlu + dGVncmF0ZWQgaW50byBhbnkgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4gQ29kZVNv + bmFyIHBlcmZvcm1zIGFkdmFuY2VkIHN0YXRpYyBhbmFseXNpcyBvZiBDLCBD + KyssIEphdmEsIGFuZCBldmVuIHJhdyBiaW5hcnkgY29kZS4gQ29kZVNvbmFy + IHBlcmZvcm1zIHVuaXF1ZSBkYXRhZmxvdyBhbmQgc3ltYm9saWMgZXhlY3V0 + aW9uIGFuYWx5c2lzIHRvIGFnZ3Jlc3NpdmVseSBzY2FuIGZvciBwcm9ibGVt + cyBpbiB5b3VyIGNvZGUuwqBKdXN0IGxpa2UgYmF0dGxlc2hpcHMgdXNlIHNv + bmFyIHRvIGRldGVjdCBvYmplY3RzIGRlZXAgdW5kZXJ3YXRlciwgZW5naW5l + ZXJzIHVzZSBDb2RlU29uYXIgdG8gZGV0ZWN0IHN1YnRsZSBwcm9ibGVtcyBk + ZWVwIHdpdGhpbiB0aGVpciBjb2RlLsKgR28gdG8gPGEgaHJlZj0iaHR0cDov + L2dvLmdyYW1tYXRlY2guY29tL3NlZGFpbHkiPmdvLmdyYW1tYXRlY2guY29t + L3NlZGFpbHk8L2E+IHRvIGdldCB5b3VyIGZyZWUgMzAtZGF5IHRyaWFsLCBl + eGNsdXNpdmVseSBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlz + dGVuZXJzwqBhbmQgdW5sZWFzaCB0aGUgcG93ZXIgb2YgYWR2YW5jZWQgc3Rh + dGljIGFuYWx5c2lzLjxiciAvPgo8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48 + L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXIiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzOTE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zY2FseXIv + c2NhbHlyX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBk + YXRhLW9yaWctc2l6ZT0iMjIwLDkwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlNjYWx5cl9sb2dvIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAl + MkM5MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzkxOSBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/cmVzaXpl + PTIyMCUyQzkwIiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5XaG8gZG8geW91 + IHVzZSBmb3IgbG9nIG1hbmFnZW1lbnQ/IEkgd2FudCB0byB0ZWxsIHlvdSBh + Ym91dCBTY2FseXIsIHRoZSBmaXJzdCBwdXJwb3NlIGJ1aWx0IGxvZyBtYW5h + Z2VtZW50IHRvb2wgb24gdGhlIG1hcmtldC4gTW9zdCB0b29scyBvbiB0aGUg + bWFya2V0IHV0aWxpemUgdGV4dCBpbmRleGluZyBzZWFyY2gsIHdoaWNoIGlz + IGdyZWF0JiM4MjMwOyBmb3IgaW5kZXhpbmcgYSBib29rLiBCdXQgaWYgeW91 + IHdhbnQgdG8gc2VhcmNoIGxvZ3MsIGF0IHNjYWxlLCBmYXN0JiM4MjMwOyBp + dCBicmVha3MgZG93bi4gU2NhbHlyIGJ1aWx0IHRoZWlyIG93biBkYXRhYmFz + ZSBmcm9tIHNjcmF0Y2g6IHRoZSBzeXN0ZW0gaXMgZmFzdC4gTW9zdCBzZWFy + Y2hlcyB0YWtlIGxlc3MgdGhhbiAxIHNlY29uZC4gSW4gZmFjdCwgOTklIG9m + IHRoZWlyIHF1ZXJpZXMgZXhlY3V0ZSBpbiAmbHQ7MSBzZWNvbmQuIMKgQ29t + cGFuaWVzIGxpa2UgT0tDdXBpZCwgR2lwaHkgYW5kIENhcmVlckJ1aWxkZXIg + dXNlIFNjYWx5ci4gSXQgd2FzIGJ1aWx0IGJ5IG9uZSBvZiB0aGUgZm91bmRl + cnMgb2YgV3JpdGVseSAoYWthIEdvb2dsZSBEb2NzKS4gU2NhbHlyIGhhcyBj + b25zdW1lciBncmFkZSBVSSwgdGhhdCBzY2FsZXMgaW5maW5pdGVseS4gWW91 + IGNhbiBtb25pdG9yIGtleSBtZXRyaWNzLCB0cmlnZ2VyIGFsZXJ0cywgYW5k + IGludGVncmF0ZSB3aXRoIFBhZ2VyRHV0eS4gSXQmIzgyMTc7cyBlYXN5IHRv + IHVzZSBhbmQgZGlkIHdlIG1lbnRpb246IGxpZ2h0bmluZyBmYXN0LiBHaXZl + IGl0IGEgdHJ5IHRvZGF5LiBJdOKAmXMgZnJlZSBmb3IgOTAgZGF5cyBhdCA8 + YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9z + Y2FseXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyPC9h + Pi4gPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+ + CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2luZGVlZC5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI4OTgiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzEwLzE4L3NpbXBzb25zLWRhdGEtc2NpZW5jZS13aXRoLXRvZGQtc2NobmVp + ZGVyL2luZGVlZC1wcmltZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUy + Qzk2IiBkYXRhLW9yaWctc2l6ZT0iNDYzLDk2IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImluZGVlZC1wcmltZSIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/ + Zml0PTMwMCUyQzYyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYi + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjg5OCBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmlt + ZS5wbmc/cmVzaXplPTMwMCUyQzYyIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAwJTJD + NjIgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQt + cHJpbWUucG5nP3c9NDYzIDQ2M3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIGlkPSJt + Xzc5OTA1MjExNTAyMTMyNzMyNzZtXzkwNTExNDE2Mzc0MDY0OTQ3NzJtXy04 + Nzk0NzE2NzMwOTE3Nzg3NjIxZ21haWwtbV85Mzg1ODQ0NjgyNzQ1NTIxNDVn + bWFpbC1tXy04NTYxNzIzNjc1MTI3NjYwODIyZ21haWwtZG9jcy1pbnRlcm5h + bC1ndWlkLTk2YmYxNTA5LTE2NDQtZTQ3MS00YmE4LWFmNmZlNTg4YzczZSI+ + SW5kZWVkIFByaW1lIGZsaXBzIHRoZSB0eXBpY2FsIG1vZGVsIG9mIGpvYiBz + ZWFyY2ggYW5kIG1ha2VzIGl0IGVhc3kgdG8gYXBwbHkgdG8gbXVsdGlwbGUg + am9icyBhbmQgZ2V0IG11bHRpcGxlIG9mZmVycy4gSW5kZWVkIFByaW1lIHNp + bXBsaWZpZXMgeW91ciBqb2Igc2VhcmNoIGFuZCBoZWxwcyB5b3UgbGFuZCB0 + aGF0IGlkZWFsIDxzcGFuIGNsYXNzPSJtXzc5OTA1MjExNTAyMTMyNzMyNzZt + XzkwNTExNDE2Mzc0MDY0OTQ3NzJtXy04Nzk0NzE2NzMwOTE3Nzg3NjIxZ21h + aWwtbV85Mzg1ODQ0NjgyNzQ1NTIxNDVnbWFpbC1pbCI+c29mdHdhcmU8L3Nw + YW4+IDxzcGFuIGNsYXNzPSJtXzc5OTA1MjExNTAyMTMyNzMyNzZtXzkwNTEx + NDE2Mzc0MDY0OTQ3NzJtXy04Nzk0NzE2NzMwOTE3Nzg3NjIxZ21haWwtbV85 + Mzg1ODQ0NjgyNzQ1NTIxNDVnbWFpbC1pbCI+ZW5naW5lZXJpbmc8L3NwYW4+ + IHBvc2l0aW9uLiBDYW5kaWRhdGVzIGdldCBpbW1lZGlhdGUgZXhwb3N1cmUg + dG8gdG9wIGNvbXBhbmllcyB3aXRoIGp1c3Qgb25lIHNpbXBsZSBhcHBsaWNh + dGlvbiB0byBJbmRlZWQgUHJpbWUuIENvbXBhbmllcyBvbiBQcmltZeKAmXMg + ZXhjbHVzaXZlIHBsYXRmb3JtIG1lc3NhZ2UgY2FuZGlkYXRlcyB3aXRoIHNh + bGFyeSBhbmQgZXF1aXR5IHVwZnJvbnQuIEluZGVlZCBQcmltZSBpcyAxMDAl + IGZyZWUgZm9yIGNhbmRpZGF0ZXMg4oCTIG5vIHN0cmluZ3MgYXR0YWNoZWQu + IDwvc3Bhbj5TaWduIHVwIG5vdyBhdDxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQu + Y29tL3NlZGFpbHkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBk + YXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91 + cmw/aGw9ZW4mYW1wO3E9aHR0cDovL2luZGVlZC5jb20vc2VkYWlseSZhbXA7 + c291cmNlPWdtYWlsJmFtcDt1c3Q9MTUwNjQwOTcxNjgzMTAwMCZhbXA7dXNn + PUFGUWpDTkZvMFNud3BLdVg4bU1tcERjdEVMMFJQTHZOZWciPiBpbmRlZWQu + Y29tL3NlZGFpbHk8L2E+LsKgWW91IGNhbiBhbHNvIHB1dCBtb25leSBpbiB5 + b3VyIHBvY2tldCBieSByZWZlcnJpbmcgeW91ciBmcmllbmRzIGFuZCBjb2xs + ZWFndWVzLiBSZWZlciBhIHNvZnR3YXJlIGVuZ2luZWVyIHRvIHRoZSBwbGF0 + Zm9ybSBhbmQgZ2V0ICQyMDAgd2hlbiB0aGV5IGdldCBjb250YWN0ZWQgYnkg + YSBjb21wYW55JiM4MjMwOy4gYW5kICQyLDAwMCB3aGVuIHRoZXkgYWNjZXB0 + IGEgam9iIHRocm91Z2ggUHJpbWUhIExlYXJuIG1vcmUgYXTCoDxhIGhyZWY9 + Imh0dHA6Ly9pbmRlZWQuY29tL3ByaW1lL3JlZmVycmFsIiB0YXJnZXQ9Il9i + bGFuayIgcmVsPSJub29wZW5lciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0 + dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9p + bmRlZWQuY29tL3ByaW1lL3JlZmVycmFsJmFtcDtzb3VyY2U9Z21haWwmYW1w + O3VzdD0xNTA2NDA5NzE2ODMxMDAwJmFtcDt1c2c9QUZRakNORXdXQVNFUExR + aU1VWVNicjVuc2pDR1l0dHVTQSI+aW5kZWVkLmNvbS9wcmltZS9yZWZlcnJh + bDwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9z + ZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0 + PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25v + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2Zp + dD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXpl + PTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8g + U3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Ag + d2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxl + bmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0 + IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHki + PnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25v + IGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBz + dXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxp + c3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpd + XT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6 + Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9UcnVzdE1ldHJpY3MubXAz + IiBsZW5ndGg9IjYyNjg5MzIxIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+RGVzcGl0ZSBhbGwgdGhlIHByb2JsZW1zIHdpdGgg + b25saW5lIGFkdmVydGlzaW5nLCBhZHMgYXJlIG5vdCBnb2luZyBhd2F5LiBB + ZHZlcnRpc2luZyBpcyBmdW5kYW1lbnRhbCB0byB0aGUgbW9kZXJuIEludGVy + bmV0IGVjb25vbXkuIEluIHByZXZpb3VzIGVwaXNvZGVzIG9mIFNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5LCB3ZSBoYXZlIG1vc3RseSBkaXNzZWN0ZWQg + dGhlIHByb2JsZW1zIG9mIGFkdGVjaOKAk2JvdHMsIHRyYWNraW5nLDwvaXR1 + bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5EZXNwaXRlIGFsbCB0 + aGUgcHJvYmxlbXMgd2l0aCBvbmxpbmUgYWR2ZXJ0aXNpbmcsIGFkcyBhcmUg + bm90IGdvaW5nIGF3YXkuIEFkdmVydGlzaW5nIGlzIGZ1bmRhbWVudGFsIHRv + IHRoZSBtb2Rlcm4gSW50ZXJuZXQgZWNvbm9teS4gSW4gcHJldmlvdXMgZXBp + c29kZXMgb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIHdlIGhhdmUg + bW9zdGx5IGRpc3NlY3RlZCB0aGUgcHJvYmxlbXMgb2YgYWR0ZWNo4oCTYm90 + cywgdHJhY2tpbmcsIGZyYXVkLCBicmFuZCBzYWZldHkuIFdlIGhhdmUgdGFs + a2VkIGFib3V0IHNvbWUgc29sdXRpb25z4oCTZm9yIGV4YW1wbGUsIEphdmFT + Y3JpcHQgdGFncyB0aGF0IHlvdSBjYW4gcHV0IG9uIGEgcGFnZSB0byBpZGVu + dGlmeSBhIGJvdCBiZWZvcmUgeW91IHNlcnZlIGl0IGFuIGFkLiBCdXQgdGhl + c2Ugc29sdXRpb25zIGRvbuKAmXQgZ2V0Q29udGludWUgcmVhZGluZy4uLjwv + aXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBs + aWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRp + b24+MTowNTowMTwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0i + Y29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj40MDA5PC9wb3N0LWlk + PgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+QWQgRnJhdWQgU2NpZW5j + ZSB3aXRoIEF1Z3VzdGluZSBGb3U8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzA1L2FkLWZy + YXVkLXNjaWVuY2Utd2l0aC1hdWd1c3RpbmUtZm91LzwvbGluaz4NCgkJPHB1 + YkRhdGU+VGh1LCAwNSBPY3QgMjAxNyAwOTowMDo0MCArMDAwMDwvcHViRGF0 + ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD00MDA4PC9ndWlkPg0KCQk8Y29t + bWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8xMC8wNS9hZC1mcmF1ZC1zY2llbmNlLXdpdGgtYXVndXN0aW5lLWZvdS8j + cmVzcG9uZDwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzA1L2FkLWZy + YXVkLXNjaWVuY2Utd2l0aC1hdWd1c3RpbmUtZm91L2ZlZWQvPC93Znc6Y29t + bWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRz + Pg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQnVzaW5lc3MgYW5kIFBoaWxv + c29waHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2Rj + YXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbYWQgZnJh + dWQgcmVzZWFyY2hdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVthZCBpbXByZXNzaW9uc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW2JvdHNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVtEci4gQXVndXN0aW5lIEZvdV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW21vYmlsZSBhZHNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtUd2l0dGVyXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRp + b24+QWR2ZXJ0aXNpbmcgZnJhdWQgY29udGludWVzIHRvIHBsYWd1ZSB0aGUg + SW50ZXJuZXQuIFdlIGRvIG5vdCBrbm93IHRoZSBzY29wZSBhbmQgc2NhbGUg + b2YgdGhhdCBmcmF1ZC4gSG93IG1hbnkgYWRzIG9uIHRoZSBJbnRlcm5ldCBh + cmUgdmlld2VkIGJ5IGJvdHM/IEVzdGltYXRpb25zIHJhbmdlIGZyb20gMiUg + dG8gOTklLiBBZHZlcnRpc2VycyBhcmUgc2xvd2x5IGJlY29taW5nIG1vcmUg + ZWR1Y2F0ZWQgYWJvdXQgZnJhdWQsIHRoYW5rcyBpbiBwYXJ0IHRvIERyLiBB + dWd1c3RpbmUgRm91LiBEci4gRm91IGlzIGEgZnVsbC10aW1lIGFkdmVydGlz + aW5nIGZyYXVkIHJlc2VhcmNoZXIuIEhlIGxvb2tzIGF0IGRhdGEgc2V0cyBv + ZiBiaWxsaW9ucyBvZiBhZCBpbXByZXNzaW9ucyB0byBmaWd1cmUgb3V0Jmx0 + O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90 + OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMTAvMDUvYWQtZnJhdWQtc2NpZW5jZS13aXRoLWF1Z3VzdGlu + ZS1mb3UvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7 + Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+ + PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQt + YnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + YnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1 + bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsg + Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsg + bWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL21l + ZGlhLmxpY2RuLmNvbS9tcHIvbXByL3Nocmlua25wXzIwMF8yMDAvcC80LzAw + NS8wNDIvMWJhLzFhMjk0NTMuanBnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtz + c2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPkFkdmVydGlz + aW5nIGZyYXVkIGNvbnRpbnVlcyB0byBwbGFndWUgdGhlIEludGVybmV0LiBX + ZSBkbyBub3Qga25vdyB0aGUgc2NvcGUgYW5kIHNjYWxlIG9mIHRoYXQgZnJh + dWQuIEhvdyBtYW55IGFkcyBvbiB0aGUgSW50ZXJuZXQgYXJlIHZpZXdlZCBi + eSBib3RzPyBFc3RpbWF0aW9ucyByYW5nZSBmcm9tIDIlIHRvIDk5JS48L3A+ + CjxwPkFkdmVydGlzZXJzIGFyZSBzbG93bHkgYmVjb21pbmcgbW9yZSBlZHVj + YXRlZCBhYm91dCBmcmF1ZCwgdGhhbmtzIGluIHBhcnQgdG8gRHIuIEF1Z3Vz + dGluZSBGb3UuIERyLiBGb3UgaXMgYSBmdWxsLXRpbWUgYWR2ZXJ0aXNpbmcg + ZnJhdWQgcmVzZWFyY2hlci4gSGUgbG9va3MgYXQgZGF0YSBzZXRzIG9mIGJp + bGxpb25zIG9mIGFkIGltcHJlc3Npb25zIHRvIGZpZ3VyZSBvdXQgaG93IGZy + YXVkIHdvcmtzIGFuZCBoZWxwIHZpY3RpbXMgb2YgYWQgZnJhdWQgbWFrZSB0 + aGVpciBjYXNlLjwvcD4KPHA+TGFzdCB5ZWFyLCBEci4gRm91IGNhbWUgb24g + dGhlIHNob3cgdG8gZ2l2ZSBhbiBvdmVydmlldyBvZiBoaXMgcGVyc3BlY3Rp + dmUgb24gdGhlIHdvcmxkIG9mIGFkIGZyYXVkLiBUb2RheSwgd2UgZGl2ZSBp + bnRvIHRoZSBpbXBvcnRhbmNlIG9mIFR3aXR0ZXIgaW4gYWQgZnJhdWQgc2No + ZW1lcy4gV2UgYWxzbyB0YWxrIGFib3V0IHRoZSBzZXZlcml0eSBvZiBmcmF1 + ZCBvbiBtb2JpbGUgYXBwcy4gSWYgeW91IGRvd25sb2FkZWQgYSBmbGFzaGxp + Z2h0IGFwcCwgb3IgYW4gYWxhcm0gY2xvY2sgYXBwLCBvciBhIGtleWJvYXJk + LCB0aGF0IGFwcCBjb3VsZCBiZSBkaXNwbGF5aW5nIGhpZGRlbiBhZHMgdGhh + dCBuZXZlciBhY3R1YWxseSBzaG93IHVwLjwvcD4KPHA+PGVtPlN0YXkgdHVu + ZWQgYXQgdGhlIGVuZCBvZiB0aGUgZXBpc29kZSBmb3IgSmVmZiBNZXllcnNv + buKAmXMgdGlwIGFib3V0IGdldHRpbmcgaW50byBhIG5ldyBqb2I6IGJyb3Vn + aHQgdG8geW91IGJ5IEluZGVlZCBQcmltZS48L2VtPjwvcD4KPHA+SWYgeW91 + IGxpa2UgdGhpcyBlcGlzb2RlLCB3ZSBoYXZlIGRvbmUgb3RoZXIgc2hvd3Mg + YWJvdXQgYWR2ZXJ0aXNpbmcgZnJhdWQuIERvd25sb2FkIHRoZSBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBhcHAgZm9yIGlPUyBhbmQgQW5kcm9pZCB0 + byBoZWFyIGFsbCBvZiBvdXIgb2xkIGVwaXNvZGVzLCBhbmQgZWFzaWx5IGRp + c2NvdmVyIG5ldyB0b3BpY3MgdGhhdCBtaWdodCBpbnRlcmVzdCB5b3UuIFlv + dSBjYW4gdXB2b3RlIHRoZSBlcGlzb2RlcyB5b3UgbGlrZSBhbmQgZ2V0IHJl + Y29tbWVuZGF0aW9ucyBiYXNlZCBvbiB5b3VyIGxpc3RlbmluZyBoaXN0b3J5 + LiBXaXRoIDYwMCBlcGlzb2RlcywgaXQgaXMgaGFyZCB0byBmaW5kIHRoZSBl + cGlzb2RlcyB0aGF0IGFwcGVhbCB0byB5b3UsIGFuZCB3ZSBob3BlIHRoZSBh + cHAgaGVscHMgd2l0aCB0aGF0LiBJZiB5b3UgZG9u4oCZdCBsaWtlIHRoaXMg + ZXBpc29kZSwgeW91IGNhbiBlYXNpbHkgZmluZCBzb21ldGhpbmcgbW9yZSBp + bnRlcmVzdGluZyBieSBsb29raW5nIGF0IHRoZSByZWNvbW1lbmRhdGlvbnMg + aW4gdGhlIGFwcC48L3A+CjxwPlRoZSBtb2JpbGUgYXBwcyBhcmUgb3BlbiBz + b3VyY2VkIGF0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHk8L2E+LiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGFuIG9wZW4g + c291cmNlIHByb2plY3QgdG8gaGFjayBvbiwgd2Ugd291bGQgbG92ZSB0byBn + ZXQgeW91ciBoZWxwISBUaGUgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkg + b3BlbiBzb3VyY2UgY29tbXVuaXR5IGlzIGJ1aWxkaW5nIGEgbmV3IHdheSB0 + byBjb25zdW1lIHNvZnR3YXJlIGVuZ2luZWVyaW5nIGNvbnRlbnQuIFdlIGhh + dmUgdGhlIEFuZHJvaWQgYXBwLCB0aGUgaU9TIGFwcCwgYSByZWNvbW1lbmRh + dGlvbiBzeXN0ZW0sIGFuZCBhIHdlYiBmcm9udGVuZC4gSWYgeW91IGFyZSBp + bnRlcmVzdGVkIGluIGNvbnRyaWJ1dGluZywgY2hlY2sgb3V0IDxhIGhyZWY9 + Imh0dHA6Ly9naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+ + Z2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+JiM4MjEx + O29yIHNlbmQgbWUgYW4gZW1haWw6IGplZmZAc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbTwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9vY3RvcHVzLmNvbSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjQwMjAi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzEwLzAzLzQyLWNvZGluZy1zY2hvb2wtd2l0aC1icml0 + dGFueS1iaXIvb2N0b3B1c2RlcGxveV9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9s + b2dvLnBuZz9maXQ9ODAwJTJDMTU1IiBkYXRhLW9yaWctc2l6ZT0iODAwLDE1 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJvY3RvcHVzZGVwbG95X2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP2ZpdD0zMDAlMkM1OCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L29jdG9wdXNkZXBsb3lfbG9nby5wbmc/Zml0PTgwMCUyQzE1NSIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS00MDIwIHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dv + LnBuZz9yZXNpemU9MzAwJTJDNTgiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9y + ZXNpemU9MzAwJTJDNTggMzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMxNDkg + NzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVw + bG95X2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMxNDAgNzIwdywgaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xvZ28ucG5nP3c9 + ODAwIDgwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPlRoZSBvY3RvcHVzOiBhIHNlYSBjcmVh + dHVyZSBrbm93biBmb3IgaXRzIGludGVsbGlnZW5jZSBhbmQgZmxleGliaWxp + dHkuIE9jdG9wdXMgRGVwbG95OiBhIGZyaWVuZGx5IGRlcGxveW1lbnQgYXV0 + b21hdGlvbiB0b29sIGZvciBkZXBsb3lpbmcgYXBwbGljYXRpb25zIGxpa2Ug + Lk5FVCBhcHBzLCBKYXZhIGFwcHMgYW5kIG1vcmUuIEFzayBhbnkgZGV2ZWxv + cGVyIGFuZCB0aGV54oCZbGwgdGVsbCB5b3UgaXTigJlzIG5ldmVyIGZ1biBw + dXNoaW5nIGNvZGUgYXQgNXBtIG9uIGEgRnJpZGF5IHRoZW4gY3Jvc3Npbmcg + eW91ciBmaW5nZXJzIGhvcGluZyBmb3IgdGhlIGJlc3QuwqBUaGF04oCZcyB3 + aGVyZSBPY3RvcHVzIERlcGxveSBjb21lcyBpbnRvIHRoZSBwaWN0dXJlLiBP + Y3RvcHVzIERlcGxveSBpcyBhIGZyaWVuZGx5IGRlcGxveW1lbnQgYXV0b21h + dGlvbiB0b29sLCB0YWtpbmcgb3ZlciB3aGVyZSB5b3VyIGJ1aWxkL0NJIHNl + cnZlciBlbmRzLiBVc2UgT2N0b3B1cyB0byBwcm9tb3RlIHJlbGVhc2VzIG9u + LXByZW0gb3IgdG8gdGhlIGNsb3VkLiBPY3RvcHVzIGludGVncmF0ZXMgd2l0 + aCB5b3VyIGV4aXN0aW5nIGJ1aWxkIHBpcGVsaW5lJiM4MjExO1RGUyBhbmQg + VlNUUywgQmFtYm9vLCBUZWFtQ2l0eSwgYW5kIEplbmtpbnMuIEl0IGludGVn + cmF0ZXMgd2l0aCBBV1MsIEF6dXJlLCBhbmQgb24tcHJlbSBlbnZpcm9ubWVu + dHMuIFJlbGlhYmx5IGFuZCByZXBlYXRlZGx5IGRlcGxveSB5b3VyIC5ORVQg + YW5kIEphdmEgYXBwcyBhbmQgbW9yZS4gSWYgeW91IGNhbiBwYWNrYWdlIGl0 + LCBPY3RvcHVzIGNhbiBkZXBsb3kgaXQhwqBJdOKAmXMgcXVpY2sgYW5kIGVh + c3kgdG8gaW5zdGFsbC4gR28gdG8gPGEgaHJlZj0iaHR0cDovL09jdG9wdXMu + Y29tIj5PY3RvcHVzLmNvbTwvYT4gdG8gdHJpYWwgT2N0b3B1cyBmcmVlIGZv + ciA0NS1kYXlzLiBUaGF0JiM4MjE3O3MgPGEgaHJlZj0iaHR0cDovL09jdG9w + dXMuY29tIj5PY3RvcHVzLmNvbTwvYT4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9waXZvdGFs + LWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9m + aXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1zaXplPSIyNjEwLDEwODAiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + UGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAwJTJDMTI0IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1P + bkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9MzAw + JTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCAz + MDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3Njh3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTEw + MjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzIwJTJDMjk4IDcyMHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNwcmluZyBGcmFtZXdvcmsg + Z2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9ubWVudCBmb3IgYnVpbGRpbmcg + Y2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBEZWNlbWJlciA0dGgtN3RoLCA8 + YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJp + bmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWluZyB0byBTYW4gRnJhbmNpc2Nv + LiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBjb25mZXJlbmNlIHdoZXJlIGRl + dmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBsb3JlIHRoZSBsYXRlc3QgdGVj + aG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNvc3lzdGVtIGFuZCBiZXlvbmQu + IFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0Zm9ybSBpbmNsdWRlIEVyaWMg + QnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQIHRoZW9yZW0pLCBWYXVnaG4g + VmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2ZWx5IGFib3V0IERvbWFpbiBE + cml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhvdWdodCBsZWFkZXJzIGluIHRo + ZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgdGhl + IHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhvc2Ugd2hvIGJ1aWxkLCBkZXBs + b3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNvZnR3YXJlLiBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIHNpZ24gdXAgd2l0aCB0 + aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGFuZCByZWNlaXZlICQxMDAg + b2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9ybSA8YSBocmVmPSJodHRwczov + LzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8vZWhvbWUvczFwL3JlZ2lzdHJh + dGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4gSSB3aWxsIGFsc28gYmUgYXQg + U3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZlbG9wbWVudHMgaW4gdGhlIGNs + b3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4gbWUgRGVjZW1iZXIgNHRoLTd0 + aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0 + Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBjb25mZXJlbmNlLCBhbmQg + dXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBmb3IgJDEwMCBvZmYgeW91 + ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9p + bmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + ODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Ut + d2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJp + bWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4 + OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48c3BhbiBpZD0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQx + NjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4 + NTg0NDY4Mjc0NTUyMTQ1Z21haWwtbV8tODU2MTcyMzY3NTEyNzY2MDgyMmdt + YWlsLWRvY3MtaW50ZXJuYWwtZ3VpZC05NmJmMTUwOS0xNjQ0LWU0NzEtNGJh + OC1hZjZmZTU4OGM3M2UiPkluZGVlZCBQcmltZSBmbGlwcyB0aGUgdHlwaWNh + bCBtb2RlbCBvZiBqb2Igc2VhcmNoIGFuZCBtYWtlcyBpdCBlYXN5IHRvIGFw + cGx5IHRvIG11bHRpcGxlIGpvYnMgYW5kIGdldCBtdWx0aXBsZSBvZmZlcnMu + IEluZGVlZCBQcmltZSBzaW1wbGlmaWVzIHlvdXIgam9iIHNlYXJjaCBhbmQg + aGVscHMgeW91IGxhbmQgdGhhdCBpZGVhbCA8c3BhbiBjbGFzcz0ibV83OTkw + NTIxMTUwMjEzMjczMjc2bV85MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcx + NjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwt + aWwiPnNvZnR3YXJlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibV83OTkwNTIxMTUw + MjEzMjczMjc2bV85MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkx + Nzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwtaWwiPmVu + Z2luZWVyaW5nPC9zcGFuPiBwb3NpdGlvbi4gQ2FuZGlkYXRlcyBnZXQgaW1t + ZWRpYXRlIGV4cG9zdXJlIHRvIHRvcCBjb21wYW5pZXMgd2l0aCBqdXN0IG9u + ZSBzaW1wbGUgYXBwbGljYXRpb24gdG8gSW5kZWVkIFByaW1lLiBDb21wYW5p + ZXMgb24gUHJpbWXigJlzIGV4Y2x1c2l2ZSBwbGF0Zm9ybSBtZXNzYWdlIGNh + bmRpZGF0ZXMgd2l0aCBzYWxhcnkgYW5kIGVxdWl0eSB1cGZyb250LiBJbmRl + ZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKAkyBubyBz + dHJpbmdzIGF0dGFjaGVkLiA8L3NwYW4+U2lnbiB1cCBub3cgYXQ8YSBocmVm + PSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5IiB0YXJnZXQ9Il9ibGFuayIg + cmVsPSJub29wZW5lciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8v + d3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9pbmRlZWQu + Y29tL3NlZGFpbHkmYW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE1MDY0MDk3 + MTY4MzEwMDAmYW1wO3VzZz1BRlFqQ05GbzBTbndwS3VYOG1NbXBEY3RFTDBS + UEx2TmVnIj4gaW5kZWVkLmNvbS9zZWRhaWx5PC9hPi7CoFlvdSBjYW4gYWxz + byBwdXQgbW9uZXkgaW4geW91ciBwb2NrZXQgYnkgcmVmZXJyaW5nIHlvdXIg + ZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy4gUmVmZXIgYSBzb2Z0d2FyZSBlbmdp + bmVlciB0byB0aGUgcGxhdGZvcm0gYW5kIGdldCAkMjAwIHdoZW4gdGhleSBn + ZXQgY29udGFjdGVkIGJ5IGEgY29tcGFueSYjODIzMDsuIGFuZCAkMiwwMDAg + d2hlbiB0aGV5IGFjY2VwdCBhIGpvYiB0aHJvdWdoIFByaW1lISBMZWFybiBt + b3JlIGF0wqA8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9wcmltZS9yZWZl + cnJhbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEtc2Fm + ZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1l + biZhbXA7cT1odHRwOi8vaW5kZWVkLmNvbS9wcmltZS9yZWZlcnJhbCZhbXA7 + c291cmNlPWdtYWlsJmFtcDt1c3Q9MTUwNjQwOTcxNjgzMTAwMCZhbXA7dXNn + PUFGUWpDTkV3V0FTRVBMUWlNVVlTYnI1bnNqQ0dZdHR1U0EiPmluZGVlZC5j + b20vcHJpbWUvcmVmZXJyYWw8L2E+LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRlbnQ6ZW5jb2Rl + ZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5j + b20vc2VkYWlseS9BdWd1c3RpbmVGb3UubXAzIiBsZW5ndGg9IjYzMDU3OTUx + IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+QWR2 + ZXJ0aXNpbmcgZnJhdWQgY29udGludWVzIHRvIHBsYWd1ZSB0aGUgSW50ZXJu + ZXQuIFdlIGRvIG5vdCBrbm93IHRoZSBzY29wZSBhbmQgc2NhbGUgb2YgdGhh + dCBmcmF1ZC4gSG93IG1hbnkgYWRzIG9uIHRoZSBJbnRlcm5ldCBhcmUgdmll + d2VkIGJ5IGJvdHM/IEVzdGltYXRpb25zIHJhbmdlIGZyb20gMiUgdG8gOTkl + LiBBZHZlcnRpc2VycyBhcmUgc2xvd2x5IGJlY29taW5nIG1vcmUgZWR1Y2F0 + ZWQgYWJvdXQgZnJhdWQsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpz + dW1tYXJ5PkFkdmVydGlzaW5nIGZyYXVkIGNvbnRpbnVlcyB0byBwbGFndWUg + dGhlIEludGVybmV0LiBXZSBkbyBub3Qga25vdyB0aGUgc2NvcGUgYW5kIHNj + YWxlIG9mIHRoYXQgZnJhdWQuIEhvdyBtYW55IGFkcyBvbiB0aGUgSW50ZXJu + ZXQgYXJlIHZpZXdlZCBieSBib3RzPyBFc3RpbWF0aW9ucyByYW5nZSBmcm9t + IDIlIHRvIDk5JS4gQWR2ZXJ0aXNlcnMgYXJlIHNsb3dseSBiZWNvbWluZyBt + b3JlIGVkdWNhdGVkIGFib3V0IGZyYXVkLCB0aGFua3MgaW4gcGFydCB0byBE + ci4gQXVndXN0aW5lIEZvdS4gRHIuIEZvdSBpcyBhIGZ1bGwtdGltZSBhZHZl + cnRpc2luZyBmcmF1ZCByZXNlYXJjaGVyLiBIZSBsb29rcyBhdCBkYXRhIHNl + dHMgb2YgYmlsbGlvbnMgb2YgYWQgaW1wcmVzc2lvbnMgdG8gZmlndXJlIG91 + dENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVu + ZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6 + YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBs + aWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6MDU6MjQ8L2l0dW5lczpkdXJh + dGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRp + dGlvbnM6MSI+NDAwODwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJ + PHRpdGxlPlVzZXIgTWFuYWdlbWVudCB3aXRoIE1pY2hlbCBGZWFzdGVyPC90 + aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8xMC8wNC91c2VyLW1hbmFnZW1lbnQtd2l0aC1taWNoZWwt + ZmVhc3Rlci88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMDQgT2N0IDIwMTcg + MDk6MDA6MDIgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + P3A9NDAwNzwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMDQvdXNlci1tYW5hZ2VtZW50 + LXdpdGgtbWljaGVsLWZlYXN0ZXIvI3Jlc3BvbmQ8L2NvbW1lbnRzPg0KCQk8 + d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8xMC8wNC91c2VyLW1hbmFnZW1lbnQtd2l0aC1taWNoZWwt + ZmVhc3Rlci9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21t + ZW50cz4wPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW2N1c3RvbWVyIGVuZ2FnZW1lbnRdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtkYXNoYm9hcmRdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtNaWNoZWwgRmVhc3Rlcl1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NhbGVzZm9yY2VdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVt1bmlmaWVkIGRhdGFdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtVc2VybWluZF1dPjwvY2F0 + ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkEgY3VzdG9tZXIgZW5nYWdlcyB3aXRo + IGEgY29tcGFueSBhY3Jvc3MgYSB2YXJpZXR5IG9mIGNoYW5uZWxz4oCTZW1h + aWwsIFplbmRlc2ssIFNhbGVzZm9yY2UsIG9ubGluZSBhZHZlcnRpc2luZy4g + VW5pZnlpbmcgdGhvc2UgZGF0YSBzb3VyY2VzIGFuZCBnZXR0aW5nIGEgZGFz + aGJvYXJkIGludG8gdGhlIGVudGlyZSBjdXN0b21lciBleHBlcmllbmNlIGlz + IHRoZSBnb2FsIG9mIFVzZXJtaW5kLCBhIGN1c3RvbWVyIGVuZ2FnZW1lbnQg + aHViLiBJZiB5b3UgY2FuIGdldCBhbGwgb2YgdGhhdCBkYXRhIHVuaWZpZWQg + aW4gb25lIHBsYWNlLCBpdCBjcmVhdGVzIGEgdG9vbCB0aGF0IHNhbGVzcGVv + cGxlLCBjdXN0b21lciBzZXJ2aWNlLCBhbmQgbWFya2V0aW5nIGNhbiBhbGwg + bG9vayBhdCB0byBzZWUgaG93IHVzZXJzIGFyZSBlbmdhZ2luZyB3aXRoJmx0 + O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90 + OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMTAvMDQvdXNlci1tYW5hZ2VtZW50LXdpdGgtbWljaGVsLWZl + YXN0ZXIvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7 + Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+ + PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQt + YnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + YnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1 + bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsg + Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsg + bWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL2Rp + Z2l0YWxzdW1taXQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L21p + Y2hlbC1mZWFzdGVyLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkEgY3VzdG9tZXIgZW5nYWdlcyB3aXRoIGEg + Y29tcGFueSBhY3Jvc3MgYSB2YXJpZXR5IG9mIGNoYW5uZWxzJiM4MjExO2Vt + YWlsLCBaZW5kZXNrLCBTYWxlc2ZvcmNlLCBvbmxpbmUgYWR2ZXJ0aXNpbmcu + IFVuaWZ5aW5nIHRob3NlIGRhdGEgc291cmNlcyBhbmQgZ2V0dGluZyBhIGRh + c2hib2FyZCBpbnRvIHRoZSBlbnRpcmUgY3VzdG9tZXIgZXhwZXJpZW5jZSBp + cyB0aGUgZ29hbCBvZiBVc2VybWluZCwgYSBjdXN0b21lciBlbmdhZ2VtZW50 + IGh1Yi4gSWYgeW91IGNhbiBnZXQgYWxsIG9mIHRoYXQgZGF0YSB1bmlmaWVk + IGluIG9uZSBwbGFjZSwgaXQgY3JlYXRlcyBhIHRvb2wgdGhhdCBzYWxlc3Bl + b3BsZSwgY3VzdG9tZXIgc2VydmljZSwgYW5kIG1hcmtldGluZyBjYW4gYWxs + IGxvb2sgYXQgdG8gc2VlIGhvdyB1c2VycyBhcmUgZW5nYWdpbmcgd2l0aCBh + IGNvbXBhbnkuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5NaWNoZWwgRmVhc3RlciBpcyB0aGUgQ0VPIG9mIFVzZXJt + aW5kLCBhbmQgc2hlIGpvaW5zIHRoZSBzaG93IHRvIGRlc2NyaWJlIGhvdyBV + c2VybWluZCB3b3JrcyBhbmQgdGhlIGVuZ2luZWVyaW5nIGJlaGluZCB0aGUg + cHJvZHVjdC4gVG8gY29ubmVjdCBhbGwgdGhlIGRpZmZlcmVudCBBUElzIGZy + b20gYWxsIHRob3NlIG90aGVyIGNvbXBhbmllcyBtYWtlcyB0aGlzIGEgY29t + cGxpY2F0ZWQgaW50ZWdyYXRpb24gcHJvYmxlbSwgYW5kIGhlYXJpbmcgdGhl + IFVzZXJtaW5kIHN0cmF0ZWd5IGZvciBtYW5hZ2luZyBpbnRlZ3JhdGlvbnMg + d2lsbCBiZSB1c2VmdWwgdG8gYW55b25lIGxpc3RlbmluZyB3aG8gaXMgYnVp + bGRpbmcgYSBwcm9kdWN0IHdpdGggbG90cyBvZiBleHRlcm5hbCBBUEkgaW50 + ZWdyYXRpb25zLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+PGVtPlN0YXkgdHVuZWQgYXQgdGhlIGVuZCBvZiB0aGUg + ZXBpc29kZSBmb3IgSmVmZiBNZXllcnNvbuKAmXMgdGlwIGFib3V0IGxhdW5j + aGluZyBhIHNpZGUgYnVzaW5lc3M6IGJyb3VnaHQgdG8geW91IGJ5IEluZGVl + ZCBQcmltZS48L2VtPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+SWYgeW91IGxpa2UgbGlzdGVuaW5nIHRvIHRoaXMg + cG9kY2FzdCwgZG93bmxvYWQgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vaXR1 + bmVzLmFwcGxlLmNvbS91cy9hcHAvc29mdHdhcmUtZW5naW5lZXJpbmctZGFp + bHktcG9kY2FzdC1hcHAvaWQxMjUzNzM0NDI2P210PTgiPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGFwcCBmb3IgaU9TPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPiBhbmQgQW5kcm9pZCB0byBoZWFyIGFsbCBvZiBv + dXIgb2xkIGVwaXNvZGVzLCBhbmQgZWFzaWx5IGRpc2NvdmVyIG5ldyB0b3Bp + Y3MgdGhhdCBtaWdodCBpbnRlcmVzdCB5b3UuIFlvdSBjYW4gdXB2b3RlIHRo + ZSBlcGlzb2RlcyB5b3UgbGlrZSBhbmQgZ2V0IHJlY29tbWVuZGF0aW9ucyBi + YXNlZCBvbiB5b3VyIGxpc3RlbmluZyBoaXN0b3J5LiBXaXRoIDYwMCBlcGlz + b2RlcywgaXQgaXMgaGFyZCB0byBmaW5kIHRoZSBlcGlzb2RlcyB0aGF0IGFw + cGVhbCB0byB5b3UsIGFuZCB3ZSBob3BlIHRoZSBhcHAgaGVscHMgd2l0aCB0 + aGF0LiBJZiB5b3UgZG9u4oCZdCBsaWtlIHRoaXMgZXBpc29kZSwgeW91IGNh + biBlYXNpbHkgZmluZCBzb21ldGhpbmcgbW9yZSBpbnRlcmVzdGluZyBieSBs + b29raW5nIGF0IHRoZSByZWNvbW1lbmRhdGlvbnMgaW4gdGhlIGFwcC48L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRo + ZSBtb2JpbGUgYXBwcyBhcmUgb3BlbiBzb3VyY2VkIGF0IDxhIGhyZWY9Imh0 + dHA6Ly9naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0 + aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+LiBJZiB5b3Ug + YXJlIGxvb2tpbmcgZm9yIGFuIG9wZW4gc291cmNlIHByb2plY3QgdG8gaGFj + ayBvbiwgd2Ugd291bGQgbG92ZSB0byBnZXQgeW91ciBoZWxwISBUaGUgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgb3BlbiBzb3VyY2UgY29tbXVuaXR5 + IGlzIGJ1aWxkaW5nIGEgbmV3IHdheSB0byBjb25zdW1lIHNvZnR3YXJlIGVu + Z2luZWVyaW5nIGNvbnRlbnQuIFdlIGhhdmUgdGhlIEFuZHJvaWQgYXBwLCB0 + aGUgaU9TIGFwcCwgYSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0sIGFuZCBhIHdl + YiBmcm9udGVuZC4gSWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGNvbnRyaWJ1 + dGluZywgY2hlY2sgb3V0IDxhIGhyZWY9Imh0dHA6Ly9naXRodWIuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHViLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHk8L2E+JiM4MjExO29yIHNlbmQgbWUgYW4gZW1haWw6 + IGplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbTwvc3Bhbj48L3A+ + CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nwcmlu + Z29uZXBsYXRmb3JtIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzc1MyIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvcGl2b3RhbC1sb2dvL3Bpdm90YWwtb25saWdodC8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTI2MTAlMkMxMDgwIiBkYXRhLW9y + aWctc2l6ZT0iMjYxMCwxMDgwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlBpdm90YWwtT25MaWdodCIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0 + PTMwMCUyQzEyNCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTEwMjQlMkM0 + MjQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzc1MyBzaXplLW1lZGl1 + bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQu + cG5nP3Jlc2l6ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03NjglMkMz + MTggNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP3Jlc2l6ZT0xMDI0JTJDNDI0IDEwMjR3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVz + aXplPTcyMCUyQzI5OCA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5TcHJpbmcgRnJhbWV3b3JrIGdpdmVzIGRldmVsb3BlcnMgYW4gZW52 + aXJvbm1lbnQgZm9yIGJ1aWxkaW5nIGNsb3VkIG5hdGl2ZSBwcm9qZWN0cy4g + T24gRGVjZW1iZXIgNHRoLTd0aCwgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9z + cHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBpcyBj + b21pbmcgdG8gU2FuIEZyYW5jaXNjby4gU3ByaW5nT25lIFBsYXRmb3JtIGlz + IGEgY29uZmVyZW5jZSB3aGVyZSBkZXZlbG9wZXJzIGNvbmdyZWdhdGUgdG8g + ZXhwbG9yZSB0aGUgbGF0ZXN0IHRlY2hub2xvZ2llcyBpbiB0aGUgU3ByaW5n + IGVjb3N5c3RlbSBhbmQgYmV5b25kLiBTcGVha2VycyBhdCBTcHJpbmdPbmUg + UGxhdGZvcm0gaW5jbHVkZSBFcmljIEJyZXdlciAod2hvIGNyZWF0ZWQgdGhl + IENBUCB0aGVvcmVtKSwgVmF1Z2huIFZlcm5vbiAod2hvIHdyaXRlcyBleHRl + bnNpdmVseSBhYm91dCBEb21haW4gRHJpdmVuIERlc2lnbiksIGFuZCBtYW55 + IHRob3VnaHQgbGVhZGVycyBpbiB0aGUgU3ByaW5nIEVjb3N5c3RlbS4gU3By + aW5nT25lIFBsYXRmb3JtIGlzIHRoZSBwcmVtaWVyIGNvbmZlcmVuY2UgZm9y + IHRob3NlIHdobyBidWlsZCwgZGVwbG95LCBhbmQgcnVuIGNsb3VkLW5hdGl2 + ZSBzb2Z0d2FyZS4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVu + ZXJzIGNhbiBzaWduIHVwIHdpdGggdGhlIGRpc2NvdW50IGNvZGUgU0VEYWls + eTEwMCBhbmQgcmVjZWl2ZSAkMTAwIG9mZiBvZiBhIFNwcmluZyBPbmUgUGxh + dGZvcm0gPGEgaHJlZj0iaHR0cHM6Ly8yMDE3LnNwcmluZ29uZXBsYXRmb3Jt + LmlvL2Vob21lL3MxcC9yZWdpc3RyYXRpb24iPmNvbmZlcmVuY2UgcGFzczwv + YT4uIEkgd2lsbCBhbHNvIGJlIGF0IFNwcmluZ09uZSByZXBvcnRpbmcgb24g + ZGV2ZWxvcG1lbnRzIGluIHRoZSBjbG91ZCBuYXRpdmUgZWNvc3lzdGVtLiBK + b2luIG1lIERlY2VtYmVyIDR0aC03dGggYXQgdGhlIDxhIGhyZWY9Imh0dHA6 + Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9y + bTwvYT4gY29uZmVyZW5jZSwgYW5kIHVzZSBkaXNjb3VudCBjb2RlIFNFRGFp + bHkxMDAgZm9yICQxMDAgb2ZmIHlvdXIgY29uZmVyZW5jZSBwYXNzLiA8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vZG8uY28vc2VkYWlseSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjQwMTciIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzAyL3JlYWN0 + dnItd2l0aC1hbmRyZXctaW1tL2RpZ2l0YWxvY2Vhbi8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vh + bi5wbmc/Zml0PTgwMCUyQzQwMCIgZGF0YS1vcmlnLXNpemU9IjgwMCw0MDAi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iZGlnaXRhbG9jZWFuIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + ZGlnaXRhbG9jZWFuLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFu + LnBuZz9maXQ9ODAwJTJDNDAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTQwMTcgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGln + aXRhbG9jZWFuLnBuZz9yZXNpemU9MzAwJTJDMTUwIDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9 + NzY4JTJDMzg0IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAv + ZGlnaXRhbG9jZWFuLnBuZz9yZXNpemU9NzIwJTJDMzYwIDcyMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBuZz93PTgw + MCA4MDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5EaWdpdGFsIE9jZWFuIFNwYWNlcyBnaXZl + cyB5b3Ugc2ltcGxlIG9iamVjdCBzdG9yYWdlIHdpdGggYSBiZWF1dGlmdWwg + dXNlciBpbnRlcmZhY2UuIFlvdSBuZWVkIGFuIGVhc3kgd2F5IHRvIGhvc3Qg + b2JqZWN0cyBsaWtlIGltYWdlcyBhbmQgdmlkZW9zLiBZb3VyIHVzZXJzIG5l + ZWQgdG8gdXBsb2FkIG9iamVjdHMgbGlrZSBwZGZzIGFuZCBtdXNpYyBmaWxl + cy4gRGlnaXRhbCBPY2VhbiBTcGFjZXMgaXMgbW9kZXJuIG9iamVjdCBzdG9y + YWdlIHdpdGggYSBtb2Rlcm4gVUkgdGhhdCB5b3Ugd2lsbCBsb3ZlIHRvIHVz + ZSYjODIxMTtpdOKAmXMgbGlrZSB0aGUgVUkgZm9yIERyb3Bib3gsIGJ1dCB3 + aXRoIHRoZSBwcmljaW5nIG9mIGEgcmF3IG9iamVjdCBzdG9yYWdlOyBJIGFs + bW9zdCB3YW50IHRvIHVzZSBpdCBsaWtlIGEgY29uc3VtZXIgcHJvZHVjdC4g + VG8gdHJ5IERpZ2l0YWwgT2NlYW4gU3BhY2VzLCBnbyB0bzxhIGhyZWY9Imh0 + dHA6Ly9kby5jby9zZWRhaWx5Ij4gPGI+ZG8uY28vc2VkYWlseTwvYj48L2E+ + IGFuZCBnZXQgMiBtb250aHMgb2YgU3BhY2VzIHBsdXMgYSAkMTAgY3JlZGl0 + IHRvIHVzZSBvbiBhbnkgb3RoZXIgRGlnaXRhbCBPY2VhbiBwcm9kdWN0cyYj + ODIxMTthbmQgeW91IGdldCB0aGlzIGNyZWRpdCBldmVuIGlmIHlvdSBoYXZl + IGJlZW4gd2l0aCBEaWdpdGFsIE9jZWFuIGZvciBhd2hpbGUuIEl0JiM4MjE3 + O3MgYSBuaWNlIGFkZGVkIGJvbnVzIGp1c3QgZm9yIHRyeWluZyBvdXQgU3Bh + Y2VzLiBJZiB5b3UgYmVjb21lIGEgY3VzdG9tZXIsIHRoZSBwcmljaW5nIGlz + IDxpPnNpbXBsZTogwqA8L2k+JDUgcGVyIG1vbnRoIHByaWNlIGFuZCBpbmNs + dWRlcyAyNTBHQiBvZiBzdG9yYWdlIGFuZCAxVEIgb2Ygb3V0Ym91bmQgYmFu + ZHdpZHRoLiBUaGVyZSBhcmUgbm8gY29zdHMgcGVyIHJlcXVlc3QgYW5kIGFk + ZGl0aW9uYWwgc3RvcmFnZSBpcyBwcmljZWQgYXQgdGhlIGxvd2VzdCByYXRl + IGF2YWlsYWJsZTogJDAuMDEgcGVyIEdCIHRyYW5zZmVycmVkIGFuZCAkMC4w + MiBwZXIgR0Igc3RvcmVkLiBUaGVyZSB3b24mIzgyMTc7dCBiZSBhbnkgc3Vy + cHJpc2VzIG9uIHlvdXIgYmlsbC4gRGlnaXRhbCBPY2VhbiBzaW1wbGlmaWVz + IHRoZSBjbG91ZCYjODIxMTt0aGV5IGxvb2sgZm9yIGV2ZXJ5IG9wcG9ydHVu + aXR5IHRvIHJlbW92ZSBmcmljdGlvbiBmcm9tIGEgZGV2ZWxvcGVyJiM4MjE3 + O3MgZXhwZXJpZW5jZS4gSSBsb3ZlIGl0LCBhbmQgSSB0aGluayB5b3Ugd2ls + bCB0b28mIzgyMTE7Y2hlY2sgaXQgb3V0IGF0PGEgaHJlZj0iaHR0cDovL2Rv + LmNvL3NlZGFpbHkiPiA8Yj5kby5jby9zZWRhaWx5PC9iPjwvYT48Yj4uPC9i + PjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyODk4IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8x + MC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Utd2l0aC10b2RkLXNjaG5laWRl + ci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5 + NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmRlZWQtcHJpbWUiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2Zp + dD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4OTggc2l6ZS1tZWRpdW0iIHNy + Yz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUu + cG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUyQzYy + IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXBy + aW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgp + IDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9k + aXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBpZD0ibV83 + OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5 + NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21h + aWwtbV8tODU2MTcyMzY3NTEyNzY2MDgyMmdtYWlsLWRvY3MtaW50ZXJuYWwt + Z3VpZC05NmJmMTUwOS0xNjQ0LWU0NzEtNGJhOC1hZjZmZTU4OGM3M2UiPklu + ZGVlZCBQcmltZSBmbGlwcyB0aGUgdHlwaWNhbCBtb2RlbCBvZiBqb2Igc2Vh + cmNoIGFuZCBtYWtlcyBpdCBlYXN5IHRvIGFwcGx5IHRvIG11bHRpcGxlIGpv + YnMgYW5kIGdldCBtdWx0aXBsZSBvZmZlcnMuIEluZGVlZCBQcmltZSBzaW1w + bGlmaWVzIHlvdXIgam9iIHNlYXJjaCBhbmQgaGVscHMgeW91IGxhbmQgdGhh + dCBpZGVhbCA8c3BhbiBjbGFzcz0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85 + MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWls + LW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwtaWwiPnNvZnR3YXJlPC9zcGFu + PiA8c3BhbiBjbGFzcz0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQx + NjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4 + NTg0NDY4Mjc0NTUyMTQ1Z21haWwtaWwiPmVuZ2luZWVyaW5nPC9zcGFuPiBw + b3NpdGlvbi4gQ2FuZGlkYXRlcyBnZXQgaW1tZWRpYXRlIGV4cG9zdXJlIHRv + IHRvcCBjb21wYW5pZXMgd2l0aCBqdXN0IG9uZSBzaW1wbGUgYXBwbGljYXRp + b24gdG8gSW5kZWVkIFByaW1lLiBDb21wYW5pZXMgb24gUHJpbWXigJlzIGV4 + Y2x1c2l2ZSBwbGF0Zm9ybSBtZXNzYWdlIGNhbmRpZGF0ZXMgd2l0aCBzYWxh + cnkgYW5kIGVxdWl0eSB1cGZyb250LiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBm + cmVlIGZvciBjYW5kaWRhdGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiA8 + L3NwYW4+U2lnbiB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNv + bS9zZWRhaWx5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0 + YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJs + P2hsPWVuJmFtcDtxPWh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkmYW1wO3Nv + dXJjZT1nbWFpbCZhbXA7dXN0PTE1MDY0MDk3MTY4MzEwMDAmYW1wO3VzZz1B + RlFqQ05GbzBTbndwS3VYOG1NbXBEY3RFTDBSUEx2TmVnIj4gaW5kZWVkLmNv + bS9zZWRhaWx5PC9hPi7CoFlvdSBjYW4gYWxzbyBwdXQgbW9uZXkgaW4geW91 + ciBwb2NrZXQgYnkgcmVmZXJyaW5nIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVh + Z3Vlcy4gUmVmZXIgYSBzb2Z0d2FyZSBlbmdpbmVlciB0byB0aGUgcGxhdGZv + cm0gYW5kIGdldCAkMjAwIHdoZW4gdGhleSBnZXQgY29udGFjdGVkIGJ5IGEg + Y29tcGFueSYjODIzMDsuIGFuZCAkMiwwMDAgd2hlbiB0aGV5IGFjY2VwdCBh + IGpvYiB0aHJvdWdoIFByaW1lISBMZWFybiBtb3JlIGF0wqA8YSBocmVmPSJo + dHRwOi8vaW5kZWVkLmNvbS9wcmltZS9yZWZlcnJhbCIgdGFyZ2V0PSJfYmxh + bmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJodHRw + czovL3d3dy5nb29nbGUuY29tL3VybD9obD1lbiZhbXA7cT1odHRwOi8vaW5k + ZWVkLmNvbS9wcmltZS9yZWZlcnJhbCZhbXA7c291cmNlPWdtYWlsJmFtcDt1 + c3Q9MTUwNjQwOTcxNjgzMTAwMCZhbXA7dXNnPUFGUWpDTkV3V0FTRVBMUWlN + VVlTYnI1bnNqQ0dZdHR1U0EiPmluZGVlZC5jb20vcHJpbWUvcmVmZXJyYWw8 + L2E+LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1 + cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9Vc2VybWlu + ZC5tcDMiIGxlbmd0aD0iNTc5MTkwOTQiIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5BIGN1c3RvbWVyIGVuZ2FnZXMgd2l0aCBh + IGNvbXBhbnkgYWNyb3NzIGEgdmFyaWV0eSBvZiBjaGFubmVsc+KAk2VtYWls + LCBaZW5kZXNrLCBTYWxlc2ZvcmNlLCBvbmxpbmUgYWR2ZXJ0aXNpbmcuIFVu + aWZ5aW5nIHRob3NlIGRhdGEgc291cmNlcyBhbmQgZ2V0dGluZyBhIGRhc2hi + b2FyZCBpbnRvIHRoZSBlbnRpcmUgY3VzdG9tZXIgZXhwZXJpZW5jZSBpcyB0 + aGUgZ29hbCBvZiBVc2VybWluZCwgYSBjdXN0b21lciBlbmdhZ2VtZW50IGh1 + Yi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+QSBjdXN0 + b21lciBlbmdhZ2VzIHdpdGggYSBjb21wYW55IGFjcm9zcyBhIHZhcmlldHkg + b2YgY2hhbm5lbHPigJNlbWFpbCwgWmVuZGVzaywgU2FsZXNmb3JjZSwgb25s + aW5lIGFkdmVydGlzaW5nLiBVbmlmeWluZyB0aG9zZSBkYXRhIHNvdXJjZXMg + YW5kIGdldHRpbmcgYSBkYXNoYm9hcmQgaW50byB0aGUgZW50aXJlIGN1c3Rv + bWVyIGV4cGVyaWVuY2UgaXMgdGhlIGdvYWwgb2YgVXNlcm1pbmQsIGEgY3Vz + dG9tZXIgZW5nYWdlbWVudCBodWIuIElmIHlvdSBjYW4gZ2V0IGFsbCBvZiB0 + aGF0IGRhdGEgdW5pZmllZCBpbiBvbmUgcGxhY2UsIGl0IGNyZWF0ZXMgYSB0 + b29sIHRoYXQgc2FsZXNwZW9wbGUsIGN1c3RvbWVyIHNlcnZpY2UsIGFuZCBt + YXJrZXRpbmcgY2FuIGFsbCBsb29rIGF0IHRvIHNlZSBob3cgdXNlcnMgYXJl + IGVuZ2FnaW5nIHdpdGhDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3Vt + bWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFu + PC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAwOjAz + PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHBy + ZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQwMDc8L3Bvc3QtaWQ+CQk8L2l0ZW0+ + DQoJPGl0ZW0+DQoJCTx0aXRsZT40MiBDb2RpbmcgU2Nob29sIHdpdGggQnJp + dHRhbnkgQmlyPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8wMy80Mi1jb2Rpbmctc2Nob29s + LXdpdGgtYnJpdHRhbnktYmlyLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAw + MyBPY3QgMjAxNyAwOTowMDo0MSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQg + aXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8/cD00MDA2PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8wMy80Mi1j + b2Rpbmctc2Nob29sLXdpdGgtYnJpdHRhbnktYmlyLyNjb21tZW50czwvY29t + bWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzAzLzQyLWNvZGluZy1zY2hvb2wt + d2l0aC1icml0dGFueS1iaXIvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8 + c2xhc2g6Y29tbWVudHM+Mjwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29y + eT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtCdXNpbmVzcyBhbmQgUGhpbG9zb3BoeV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVs0MiBDb2RpbmcgU2Nob29sXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQnJpdHRhbnkgQmly + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbZnJlZSBjb2Rp + bmcgdW5pdmVyc2l0eV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW3BlZXItdG8tcGVlciBsZWFybmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW3Byb2dyYW1taW5nIGVkdWNhdGlvbl1dPjwvY2F0 + ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPjQyIGlzIHR1aXRpb24tZnJlZSBkZXZl + bG9wZXIgc2Nob29sIGZvciBzdHVkZW50cyBmcm9tIDE4LTMwLiBJdCB3YXMg + c3RhcnRlZCBieSBYYXZpZXIgTmllbCwgYSBGcmVuY2ggYmlsbGlvbmFpcmUg + d2hvIHdhbnRlZCB0byBlbmNvdXJhZ2UgYSBuZXcgbW9kZWwgb2Ygc29mdHdh + cmUgZWR1Y2F0aW9uLiA0MiBoYXMgY2FtcHVzZXMgaW4gRnJhbmNlIGFuZCBT + aWxpY29uIFZhbGxleS4gNDIgaGFzIHZlcnkgaGlnaCBzdGFuZGFyZHMgZm9y + IHRoZSBzdHVkZW50cyBpdCBhZG1pdHMsIGJlY2F1c2UgdGhlIHN0dWRlbnRz + IHRoYXQgZ2V0IGluIGFyZSBub3QgcGF5aW5nIHR1aXRpb24sIGJ1dCB0aGV5 + IGhhdmUgMjQvNyBhY2Nlc3MgdG8gaGlnaCBxdWFsaXR5IGNvbXB1dGVycyBh + bmQgYSBiZWF1dGlmdWwgY2FtcHVzLiBVbmxpa2UmbHQ7cCZndDsmbHQ7YSBj + bGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7 + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8xMC8w + My80Mi1jb2Rpbmctc2Nob29sLXdpdGgtYnJpdHRhbnktYmlyLyZxdW90OyZn + dDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rl + c2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8x + OS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMv + YnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0 + NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNv + bGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3 + NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9yZXMuY2xvdWRpbmFyeS5j + b20vYml6emFib3Byb2QvaW1hZ2UvdXBsb2FkL3dfMjcwLGhfMjcwLGNfZmls + bCxnX2ZhY2UsZmxfYW55X2Zvcm1hdC92cnl5a3R4dmsza291azAzcWpqeS5w + bmc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij40MiBpcyB0dWl0aW9uLWZyZWUgZGV2ZWxvcGVyIHNjaG9vbCBmb3Ig + c3R1ZGVudHMgZnJvbSAxOC0zMC4gSXQgd2FzIHN0YXJ0ZWQgYnkgWGF2aWVy + IE5pZWwsIGEgRnJlbmNoIGJpbGxpb25haXJlIHdobyB3YW50ZWQgdG8gZW5j + b3VyYWdlIGEgbmV3IG1vZGVsIG9mIHNvZnR3YXJlIGVkdWNhdGlvbi4gNDIg + aGFzIGNhbXB1c2VzIGluIEZyYW5jZSBhbmQgU2lsaWNvbiBWYWxsZXkuPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij40 + MiBoYXMgdmVyeSBoaWdoIHN0YW5kYXJkcyBmb3IgdGhlIHN0dWRlbnRzIGl0 + IGFkbWl0cywgYmVjYXVzZSB0aGUgc3R1ZGVudHMgdGhhdCBnZXQgaW4gYXJl + IG5vdCBwYXlpbmcgdHVpdGlvbiwgYnV0IHRoZXkgaGF2ZSAyNC83IGFjY2Vz + cyB0byBoaWdoIHF1YWxpdHkgY29tcHV0ZXJzIGFuZCBhIGJlYXV0aWZ1bCBj + YW1wdXMuIFVubGlrZSBjb2RpbmcgYm9vdGNhbXBzLCA0MiBsYXN0cyAzLTUg + eWVhcnMuIFN0dWRlbnRzIHdobyBncmFkdWF0ZSBhcmUgZXF1aXBwZWQgd2l0 + aCBib3RoIGNvbXB1dGVyIHNjaWVuY2UgdGhlb3J5IGFuZCB0aGUgcHJhY3Rp + Y2FsIGFiaWxpdHkgdG8gc2VlIHByb2plY3RzIHRocm91Z2ggb24gdGhlaXIg + b3duLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+QnJpdHRhbnkgQmlyIGlzIHRoZSBjaGllZiBvcGVyYXRpbmcgb2Zm + aWNlciBvZiA0MiBDb2RpbmcgU2Nob29sIGluIFNpbGljb24gVmFsbGV5LiDC + oFNoZSBqb2lucyB0aGUgc2hvdyB0byB0YWxrIGFib3V0IGhvdyA0MiB3b3Jr + cyBhbmQgdGhlIGZ1dHVyZSBvZiBwcm9ncmFtbWluZyBlZHVjYXRpb24uIEF0 + IDQyLCB0aGUgZm9jdXMgaXMgb24gcGVlci10by1wZWVyIGxlYXJuaW5nLiBT + dHVkZW50cyBjb21wbGV0ZSBwcm9qZWN0cyBvZiB0aGVpciBvd24gY2hvb3Np + bmcsIGFuZCBhcmUgYWxzbyByZXF1aXJlZCB0byB0YWtlIG9uIGludGVybnNo + aXBzIGFuZCBnZXQgcmVhbCB3b3JsZCB3b3JrIGV4cGVyaWVuY2UuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij48ZW0+ + U3RheSB0dW5lZCBhdCB0aGUgZW5kIG9mIHRoZSBlcGlzb2RlIGZvciBKZWZm + IE1leWVyc29u4oCZcyB0aXAgYWJvdXQgYnVpbGRpbmcgeW91ciBicmFuZCBi + cm91Z2h0IHRvIHlvdSBieSBJbmRlZWQgUHJpbWUuPC9lbT48L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPklmIHlvdSBs + aWtlIGxpc3RlbmluZyB0byB0aGlzIHBvZGNhc3QsIGRvd25sb2FkIDwvc3Bh + bj48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL3Nv + ZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LXBvZGNhc3QtYXBwL2lkMTI1Mzcz + NDQyNj9tdD04Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnRo + ZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBhcHAgZm9yIGlPUzwvc3Bh + bj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4gYW5kIEFu + ZHJvaWQgdG8gaGVhciBhbGwgb2Ygb3VyIG9sZCBlcGlzb2RlcywgYW5kIGVh + c2lseSBkaXNjb3ZlciBuZXcgdG9waWNzIHRoYXQgbWlnaHQgaW50ZXJlc3Qg + eW91LiBZb3UgY2FuIHVwdm90ZSB0aGUgZXBpc29kZXMgeW91IGxpa2UgYW5k + IGdldCByZWNvbW1lbmRhdGlvbnMgYmFzZWQgb24geW91ciBsaXN0ZW5pbmcg + aGlzdG9yeS4gV2l0aCA2MDAgZXBpc29kZXMsIGl0IGlzIGhhcmQgdG8gZmlu + ZCB0aGUgZXBpc29kZXMgdGhhdCBhcHBlYWwgdG8geW91LCBhbmQgd2UgaG9w + ZSB0aGUgYXBwIGhlbHBzIHdpdGggdGhhdC4gSWYgeW91IGRvbuKAmXQgbGlr + ZSB0aGlzIGVwaXNvZGUsIHlvdSBjYW4gZWFzaWx5IGZpbmQgc29tZXRoaW5n + IG1vcmUgaW50ZXJlc3RpbmcgYnkgbG9va2luZyBhdCB0aGUgcmVjb21tZW5k + YXRpb25zIGluIHRoZSBhcHAuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgbW9iaWxlIGFwcHMgYXJlIG9wZW4g + c291cmNlZCBhdCA8YSBocmVmPSJodHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkiPmdpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5PC9hPi4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhbiBvcGVu + IHNvdXJjZSBwcm9qZWN0IHRvIGhhY2sgb24sIHdlIHdvdWxkIGxvdmUgdG8g + Z2V0IHlvdXIgaGVscCEgVGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + IG9wZW4gc291cmNlIGNvbW11bml0eSBpcyBidWlsZGluZyBhIG5ldyB3YXkg + dG8gY29uc3VtZSBzb2Z0d2FyZSBlbmdpbmVlcmluZyBjb250ZW50LiBXZSBo + YXZlIHRoZSBBbmRyb2lkIGFwcCwgdGhlIGlPUyBhcHAsIGEgcmVjb21tZW5k + YXRpb24gc3lzdGVtLCBhbmQgYSB3ZWIgZnJvbnRlbmQuIElmIHlvdSBhcmUg + aW50ZXJlc3RlZCBpbiBjb250cmlidXRpbmcsIGNoZWNrIG91dCA8YSBocmVm + PSJodHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHki + PmdpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5PC9hPiYjODIx + MTtvciBzZW5kIG1lIGFuIGVtYWlsOiBqZWZmQHNvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb208L3NwYW4+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2 + IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL29jdG9wdXMuY29tIj48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iNDAyMCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMDMvNDItY29kaW5nLXNjaG9vbC13 + aXRoLWJyaXR0YW55LWJpci9vY3RvcHVzZGVwbG95X2xvZ28vIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVz + ZGVwbG95X2xvZ28ucG5nP2ZpdD04MDAlMkMxNTUiIGRhdGEtb3JpZy1zaXpl + PSI4MDAsMTU1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9Im9jdG9wdXNkZXBsb3lfbG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/Zml0PTMw + MCUyQzU4IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMTAvb2N0b3B1c2RlcGxveV9sb2dvLnBuZz9maXQ9ODAwJTJDMTU1 + IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTQwMjAgc2l6ZS1tZWRpdW0i + IHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVw + bG95X2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM1OCIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMC9vY3RvcHVzZGVwbG95X2xv + Z28ucG5nP3Jlc2l6ZT0zMDAlMkM1OCAzMDB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTc2 + OCUyQzE0OSA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29j + dG9wdXNkZXBsb3lfbG9nby5wbmc/cmVzaXplPTcyMCUyQzE0MCA3MjB3LCBo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL29jdG9wdXNkZXBsb3lfbG9n + by5wbmc/dz04MDAgODAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5UaGUgb2N0b3B1czogYSBzZWEgY3JlYXR1cmUg + a25vd24gZm9yIGl0cyBpbnRlbGxpZ2VuY2UgYW5kIGZsZXhpYmlsaXR5LiBP + Y3RvcHVzIERlcGxveTogYSBmcmllbmRseSBkZXBsb3ltZW50IGF1dG9tYXRp + b24gdG9vbCBmb3IgZGVwbG95aW5nIGFwcGxpY2F0aW9ucyBsaWtlIC5ORVQg + YXBwcywgSmF2YSBhcHBzIGFuZCBtb3JlLiBBc2sgYW55IGRldmVsb3BlciBh + bmQgdGhleeKAmWxsIHRlbGwgeW91IGl04oCZcyBuZXZlciBmdW4gcHVzaGlu + ZyBjb2RlIGF0IDVwbSBvbiBhIEZyaWRheSB0aGVuIGNyb3NzaW5nIHlvdXIg + ZmluZ2VycyBob3BpbmcgZm9yIHRoZSBiZXN0LsKgPC9zcGFuPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+VGhhdOKAmXMgd2hlcmUgT2N0b3B1 + cyBEZXBsb3kgY29tZXMgaW50byB0aGUgcGljdHVyZS4gT2N0b3B1cyBEZXBs + b3kgaXMgYSBmcmllbmRseSBkZXBsb3ltZW50IGF1dG9tYXRpb24gdG9vbCwg + dGFraW5nIG92ZXIgd2hlcmUgeW91ciBidWlsZC9DSSBzZXJ2ZXIgZW5kcy4g + VXNlIE9jdG9wdXMgdG8gcHJvbW90ZSByZWxlYXNlcyBvbi1wcmVtIG9yIHRv + IHRoZSBjbG91ZC4gT2N0b3B1cyBpbnRlZ3JhdGVzIHdpdGggeW91ciBleGlz + dGluZyBidWlsZCBwaXBlbGluZSYjODIxMTtURlMgYW5kIFZTVFMsIEJhbWJv + bywgVGVhbUNpdHksIGFuZCBKZW5raW5zLiBJdCBpbnRlZ3JhdGVzIHdpdGgg + QVdTLCBBenVyZSwgYW5kIG9uLXByZW0gZW52aXJvbm1lbnRzLiBSZWxpYWJs + eSBhbmQgcmVwZWF0ZWRseSBkZXBsb3kgeW91ciAuTkVUIGFuZCBKYXZhIGFw + cHMgYW5kIG1vcmUuIElmIHlvdSBjYW4gcGFja2FnZSBpdCwgT2N0b3B1cyBj + YW4gZGVwbG95IGl0IcKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+SXTigJlzIHF1aWNrIGFuZCBlYXN5IHRvIGluc3RhbGwuIEdv + IHRvIDxhIGhyZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+T2N0b3B1cy5jb208 + L2E+IHRvIHRyaWFsIE9jdG9wdXMgZnJlZSBmb3IgNDUtZGF5cy4gVGhhdCYj + ODIxNztzIDxhIGhyZWY9Imh0dHA6Ly9PY3RvcHVzLmNvbSI+T2N0b3B1cy5j + b208L2E+PC9zcGFuPgo8cD48L3A+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+ + CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+ + PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDov + L2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjM3NTMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3Bpdm90YWwtbG9nby9waXZv + dGFsLW9ubGlnaHQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0yNjEwJTJD + MTA4MCIgZGF0YS1vcmlnLXNpemU9IjI2MTAsMTA4MCIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJQaXZvdGFsLU9u + TGlnaHQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9u + TGlnaHQucG5nP2ZpdD0zMDAlMkMxMjQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5n + P2ZpdD0xMDI0JTJDNDI0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3 + NTMgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9MzAwJTJDMTI0IDMwMHcsIGh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9y + ZXNpemU9NzY4JTJDMzE4IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9MTAyNCUyQzQyNCAx + MDI0dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9u + TGlnaHQucG5nP3Jlc2l6ZT03MjAlMkMyOTggNzIwdywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3c9MjEwMCAy + MTAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+U3ByaW5nIEZyYW1ld29yayBnaXZlcyBkZXZl + bG9wZXJzIGFuIGVudmlyb25tZW50IGZvciBidWlsZGluZyBjbG91ZCBuYXRp + dmUgcHJvamVjdHMuIE9uIERlY2VtYmVyIDR0aC03dGgsIDxhIGhyZWY9Imh0 + dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0 + Zm9ybTwvYT4gaXMgY29taW5nIHRvIFNhbiBGcmFuY2lzY28uIFNwcmluZ09u + ZSBQbGF0Zm9ybSBpcyBhIGNvbmZlcmVuY2Ugd2hlcmUgZGV2ZWxvcGVycyBj + b25ncmVnYXRlIHRvIGV4cGxvcmUgdGhlIGxhdGVzdCB0ZWNobm9sb2dpZXMg + aW4gdGhlIFNwcmluZyBlY29zeXN0ZW0gYW5kIGJleW9uZC4gU3BlYWtlcnMg + YXQgU3ByaW5nT25lIFBsYXRmb3JtIGluY2x1ZGUgRXJpYyBCcmV3ZXIgKHdo + byBjcmVhdGVkIHRoZSBDQVAgdGhlb3JlbSksIFZhdWdobiBWZXJub24gKHdo + byB3cml0ZXMgZXh0ZW5zaXZlbHkgYWJvdXQgRG9tYWluIERyaXZlbiBEZXNp + Z24pLCBhbmQgbWFueSB0aG91Z2h0IGxlYWRlcnMgaW4gdGhlIFNwcmluZyBF + Y29zeXN0ZW0uIFNwcmluZ09uZSBQbGF0Zm9ybSBpcyB0aGUgcHJlbWllciBj + b25mZXJlbmNlIGZvciB0aG9zZSB3aG8gYnVpbGQsIGRlcGxveSwgYW5kIHJ1 + biBjbG91ZC1uYXRpdmUgc29mdHdhcmUuIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGxpc3RlbmVycyBjYW4gc2lnbiB1cCB3aXRoIHRoZSBkaXNjb3Vu + dCBjb2RlIFNFRGFpbHkxMDAgYW5kIHJlY2VpdmUgJDEwMCBvZmYgb2YgYSBT + cHJpbmcgT25lIFBsYXRmb3JtIDxhIGhyZWY9Imh0dHBzOi8vMjAxNy5zcHJp + bmdvbmVwbGF0Zm9ybS5pby9laG9tZS9zMXAvcmVnaXN0cmF0aW9uIj5jb25m + ZXJlbmNlIHBhc3M8L2E+LiBJIHdpbGwgYWxzbyBiZSBhdCBTcHJpbmdPbmUg + cmVwb3J0aW5nIG9uIGRldmVsb3BtZW50cyBpbiB0aGUgY2xvdWQgbmF0aXZl + IGVjb3N5c3RlbS4gSm9pbiBtZSBEZWNlbWJlciA0dGgtN3RoIGF0IHRoZSA8 + YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJp + bmdPbmUgUGxhdGZvcm08L2E+IGNvbmZlcmVuY2UsIGFuZCB1c2UgZGlzY291 + bnQgY29kZSBTRURhaWx5MTAwIGZvciAkMTAwIG9mZiB5b3VyIGNvbmZlcmVu + Y2UgcGFzcy4gPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9z + dXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5LzQy + Q29kaW5nU2Nob29sLm1wMyIgbGVuZ3RoPSI0OTgxODg3MSIgdHlwZT0iYXVk + aW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPjQyIGlzIHR1aXRpb24t + ZnJlZSBkZXZlbG9wZXIgc2Nob29sIGZvciBzdHVkZW50cyBmcm9tIDE4LTMw + LiBJdCB3YXMgc3RhcnRlZCBieSBYYXZpZXIgTmllbCwgYSBGcmVuY2ggYmls + bGlvbmFpcmUgd2hvIHdhbnRlZCB0byBlbmNvdXJhZ2UgYSBuZXcgbW9kZWwg + b2Ygc29mdHdhcmUgZWR1Y2F0aW9uLiA0MiBoYXMgY2FtcHVzZXMgaW4gRnJh + bmNlIGFuZCBTaWxpY29uIFZhbGxleS48L2l0dW5lczpzdWJ0aXRsZT4KCQk8 + aXR1bmVzOnN1bW1hcnk+NDIgaXMgdHVpdGlvbi1mcmVlIGRldmVsb3BlciBz + Y2hvb2wgZm9yIHN0dWRlbnRzIGZyb20gMTgtMzAuIEl0IHdhcyBzdGFydGVk + IGJ5IFhhdmllciBOaWVsLCBhIEZyZW5jaCBiaWxsaW9uYWlyZSB3aG8gd2Fu + dGVkIHRvIGVuY291cmFnZSBhIG5ldyBtb2RlbCBvZiBzb2Z0d2FyZSBlZHVj + YXRpb24uIDQyIGhhcyBjYW1wdXNlcyBpbiBGcmFuY2UgYW5kIFNpbGljb24g + VmFsbGV5LiA0MiBoYXMgdmVyeSBoaWdoIHN0YW5kYXJkcyBmb3IgdGhlIHN0 + dWRlbnRzIGl0IGFkbWl0cywgYmVjYXVzZSB0aGUgc3R1ZGVudHMgdGhhdCBn + ZXQgaW4gYXJlIG5vdCBwYXlpbmcgdHVpdGlvbiwgYnV0IHRoZXkgaGF2ZSAy + NC83IGFjY2VzcyB0byBoaWdoIHF1YWxpdHkgY29tcHV0ZXJzIGFuZCBhIGJl + YXV0aWZ1bCBjYW1wdXMuIFVubGlrZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0 + dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGlj + aXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9u + PjUxOjM3PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20t + d29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjQwMDY8L3Bvc3QtaWQ+CQk8 + L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5SZWFjdFZSIHdpdGggQW5kcmV3 + IEltbTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMTAvMDIvcmVhY3R2ci13aXRoLWFuZHJldy1p + bW0vPC9saW5rPg0KCQk8cHViRGF0ZT5Nb24sIDAyIE9jdCAyMDE3IDA5OjAw + OjQ2ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFs + c2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTQw + MDU8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzEwLzAyL3JlYWN0dnItd2l0aC1hbmRyZXct + aW1tLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzEwLzAy + L3JlYWN0dnItd2l0aC1hbmRyZXctaW1tL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSmF2YVNjcmlwdF1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtBbmRyZXcgSW1tXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRmFjZWJvb2tdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtSZWFjdFZSXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbV2ViR0xdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtXZWJWUl1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0 + aW9uPlJlYWN0IGlzIGEgcHJvZ3JhbW1pbmcgbW9kZWwgZm9yIHVzZXIgaW50 + ZXJmYWNlcy4gUmVhY3RKUyBpcyBmb3IgYnVpbGRpbmcgdXNlciBpbnRlcmZh + Y2VzIGZvciB3ZWIgYXBwbGljYXRpb25zLiBSZWFjdCBOYXRpdmUgaXMgZm9y + IGJ1aWxkaW5nIFVJIG9uIEFuZHJvaWQgb3IgaU9TLiBSZWFjdFZSIGlzIGZv + ciBidWlsZGluZyB1c2VyIGludGVyZmFjZXMgaW4gdmlydHVhbCByZWFsaXR5 + LiBSZWFjdCBOYXRpdmUgd2FzIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIHRvIG1h + a2UgaXQgZWFzaWVyIHRvIG1haW50YWluIHBhcml0eSBiZXR3ZWVuIHRoZSB3 + ZWIsIGlPUywgYW5kIEFuZHJvaWQgdGVhbXMgYXQgRmFjZWJvb2suIElmIEkg + YnVpbGQgYW4gYXBwbGljYXRpb24gZm9yIHRoZSB3ZWIgd2l0aCBSZWFjdEpT + LCBJIGNhbiByZXdyaXRlJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29u + dGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMTAvMDIvcmVhY3R2ci13aXRo + LWFuZHJldy1pbW0vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7 + L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVu + Y29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0 + NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFn + ZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwx + NzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFu + LWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBz + aXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6 + IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAx + NzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3Au + Y29tL3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvNTYwNTE5MzcyNDEw + NjA5NjY1L0ZlYThJdGUzLmpwZWc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3Nz + bD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5SZWFjdCBpcyBhIHByb2dyYW1taW5n + IG1vZGVsIGZvciB1c2VyIGludGVyZmFjZXMuIFJlYWN0SlMgaXMgZm9yIGJ1 + aWxkaW5nIHVzZXIgaW50ZXJmYWNlcyBmb3Igd2ViIGFwcGxpY2F0aW9ucy4g + UmVhY3QgTmF0aXZlIGlzIGZvciBidWlsZGluZyBVSSBvbiBBbmRyb2lkIG9y + IGlPUy4gUmVhY3RWUiBpcyBmb3IgYnVpbGRpbmcgdXNlciBpbnRlcmZhY2Vz + IGluIHZpcnR1YWwgcmVhbGl0eS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlJlYWN0IE5hdGl2ZSB3YXMgb3JpZ2lu + YWxseSBkZXZlbG9wZWQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gbWFpbnRhaW4g + cGFyaXR5IGJldHdlZW4gdGhlIHdlYiwgaU9TLCBhbmQgQW5kcm9pZCB0ZWFt + cyBhdCBGYWNlYm9vay4gSWYgSSBidWlsZCBhbiBhcHBsaWNhdGlvbiBmb3Ig + dGhlIHdlYiB3aXRoIFJlYWN0SlMsIEkgY2FuIHJld3JpdGUgdGhhdCBhcHBs + aWNhdGlvbiBmb3IgUmVhY3QgTmF0aXZlIG9uIGlPUyBvciBBbmRyb2lkIGFu + ZCByZXVzZSBzb21lIG9mIG15IGNvZGUgZnJvbSB0aGUgd2ViIGFwcGxpY2F0 + aW9uLiBJdCBpcyBub3QgYSAxLWNsaWNrIGxldmVsIG9mIHBvcnRhYmlsaXR5 + IGJldHdlZW4gcGxhdGZvcm1zLCBidXQgaXQgaGVscHMgc2hhcmUgdXNlciBp + bnRlcmZhY2UgY29tcG9uZW50cyBiZXR3ZWVuIGRpZmZlcmVudCBwbGF0Zm9y + bXMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5SZWFjdFZSIGJyaW5ncyBSZWFjdCBkZXZlbG9wbWVudCB0byB2aXJ0 + dWFsIHJlYWxpdHkuIEFuZHJldyBJbW0gaXMgYSBSZWFjdFZSIGRldmVsb3Bl + ciBhdCBGYWNlYm9vaywgYW5kIGhlIGpvaW5zIHRoZSBzaG93IHRvIGRpc2N1 + c3MgaG93IFJlYWN0VlIgd29ya3MuIFdlIHRhbGsgYWJvdXQgdGhlIHN1cHBv + cnQgZm9yIFZSIGluIHRoZSBicm93c2VyOiBXZWJHTCwgV2ViVlIsIGFuZCBU + aHJlZUpTLiBXZSBhbHNvIGV4cGxvcmUgc29tZSBvZiB0aGUga2V5IFJlYWN0 + IGNvbXBvbmVudHMgdGhhdCB5b3UgbWlnaHQgdXNlIHRvIGJ1aWxkIGFuIGlu + dGVyZmFjZSBpbiBSZWFjdFZSLCBhbmQgd2Ugd3JhcCB1cCB0aGUgc2hvdyBi + eSBleHBsb3JpbmcgVlIgbW9yZSBicm9hZGx5JiM4MjExO2hvdyBjb25zdW1l + cnMgdXNlIFZSIHRvZGF5IGFuZCBob3cgdGhleSBtaWdodCB1c2UgaXQgaW4g + dGhlIG5lYXIgZnV0dXJlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+V2UgaGF2ZSBkb25lIG1hbnkgb3RoZXIgc2hv + d3MgYWJvdXQgUmVhY3QsIGluY2x1ZGluZyBtYW55IHNob3dzIGFib3V0IHRo + ZSBiYXNpY3Mgb2YgaG93IFJlYWN0IHdvcmtzLiBEb3dubG9hZCA8L3NwYW4+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0 + d2FyZS1lbmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0 + MjY/bXQ9OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+ + PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IHRvIGhlYXIg + YWxsIG9mIG91ciBvbGQgZXBpc29kZXMsIGFuZCBlYXNpbHkgZGlzY292ZXIg + bmV3IHRvcGljcyB0aGF0IG1pZ2h0IGludGVyZXN0IHlvdS4gWW91IGNhbiB1 + cHZvdGUgdGhlIGVwaXNvZGVzIHlvdSBsaWtlIGFuZCBnZXQgcmVjb21tZW5k + YXRpb25zIGJhc2VkIG9uIHlvdXIgbGlzdGVuaW5nIGhpc3RvcnkuIFdpdGgg + NjAwIGVwaXNvZGVzLCBpdCBpcyBoYXJkIHRvIGZpbmQgdGhlIGVwaXNvZGVz + IHRoYXQgYXBwZWFsIHRvIHlvdSwgYW5kIHdlIGhvcGUgdGhlIGFwcCBoZWxw + cyB3aXRoIHRoYXQuIElmIHlvdSBkb27igJl0IGxpa2UgdGhpcyBlcGlzb2Rl + LCB5b3UgY2FuIGVhc2lseSBmaW5kIHNvbWV0aGluZyBtb3JlIGludGVyZXN0 + aW5nIGJ5IGxvb2tpbmcgYXQgdGhlIHJlY29tbWVuZGF0aW9ucyBpbiB0aGUg + YXBwLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+VGhlIGlPUyBhcHAgaXMgdGhlIGZpcnN0IHByb2plY3QgdG8gY29t + ZSBvdXQgb2YgdGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IE9wZW4g + U291cmNlIFByb2plY3QuIFRoZXJlIGFyZSBtb3JlIHByb2plY3RzIG9uIHRo + ZSB3YXksIGFuZCB3ZSBhcmUgbG9va2luZyBmb3IgY29udHJpYnV0b3JzJiM4 + MjExO2lmIHlvdSB3YW50IHRvIGhlbHAgYnVpbGQgYSBiZXR0ZXIgU0UgRGFp + bHkgZXhwZXJpZW5jZSwgY2hlY2sgb3V0IGdpdGh1Yi5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LiBXZSBhcmUgd29ya2luZyBvbiBhbiBBbmRyb2lk + IGFwcCwgdGhlIGlPUyBhcHAsIGEgcmVjb21tZW5kYXRpb24gc3lzdGVtLCBh + bmQgYSB3ZWIgZnJvbnRlbmQuIEhlbHAgdXMgYnVpbGQgYSBuZXcgd2F5IHRv + IGNvbnN1bWUgc29mdHdhcmUgZW5naW5lZXJpbmcgY29udGVudCBhdCA8YSBo + cmVmPSJodHRwOi8vZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkiPmdpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5PC9hPi48 + L3NwYW4+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2Rv + LmNvL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSI0MDE3IiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8xMC8wMi9yZWFjdHZyLXdpdGgtYW5kcmV3LWltbS9kaWdp + dGFsb2NlYW4vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8xMC9kaWdpdGFsb2NlYW4ucG5nP2ZpdD04MDAlMkM0MDAiIGRh + dGEtb3JpZy1zaXplPSI4MDAsNDAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRpZ2l0YWxvY2VhbiIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTMw + MCUyQzE1MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/Zml0PTgwMCUyQzQwMCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS00MDE3IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMTAvZGlnaXRhbG9jZWFuLnBu + Zz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXplPTMw + MCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2Rp + Z2l0YWxvY2Vhbi5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzEwL2RpZ2l0YWxvY2Vhbi5wbmc/cmVzaXpl + PTcyMCUyQzM2MCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzEw + L2RpZ2l0YWxvY2Vhbi5wbmc/dz04MDAgODAwdyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5EaWdpdGFsIE9jZWFuIFNw + YWNlcyBnaXZlcyB5b3Ugc2ltcGxlIG9iamVjdCBzdG9yYWdlIHdpdGggYSBi + ZWF1dGlmdWwgdXNlciBpbnRlcmZhY2UuIFlvdSBuZWVkIGFuIGVhc3kgd2F5 + IHRvIGhvc3Qgb2JqZWN0cyBsaWtlIGltYWdlcyBhbmQgdmlkZW9zLiBZb3Vy + IHVzZXJzIG5lZWQgdG8gdXBsb2FkIG9iamVjdHMgbGlrZSBwZGZzIGFuZCBt + dXNpYyBmaWxlcy4gRGlnaXRhbCBPY2VhbiBTcGFjZXMgaXMgbW9kZXJuIG9i + amVjdCBzdG9yYWdlIHdpdGggYSBtb2Rlcm4gVUkgdGhhdCB5b3Ugd2lsbCBs + b3ZlIHRvIHVzZSYjODIxMTtpdOKAmXMgbGlrZSB0aGUgVUkgZm9yIERyb3Bi + b3gsIGJ1dCB3aXRoIHRoZSBwcmljaW5nIG9mIGEgcmF3IG9iamVjdCBzdG9y + YWdlOyBJIGFsbW9zdCB3YW50IHRvIHVzZSBpdCBsaWtlIGEgY29uc3VtZXIg + cHJvZHVjdC4gVG8gdHJ5IERpZ2l0YWwgT2NlYW4gU3BhY2VzLCBnbyB0bzwv + c3Bhbj48YSBocmVmPSJodHRwOi8vZG8uY28vc2VkYWlseSI+IDxiPmRvLmNv + L3NlZGFpbHk8L2I+PC9hPiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPmFuZCBnZXQgMiBtb250aHMgb2YgU3BhY2VzIHBsdXMgYSAkMTAgY3Jl + ZGl0IHRvIHVzZSBvbiBhbnkgb3RoZXIgRGlnaXRhbCBPY2VhbiBwcm9kdWN0 + cyYjODIxMTthbmQgeW91IGdldCB0aGlzIGNyZWRpdCBldmVuIGlmIHlvdSBo + YXZlIGJlZW4gd2l0aCBEaWdpdGFsIE9jZWFuIGZvciBhd2hpbGUuIEl0JiM4 + MjE3O3MgYSBuaWNlIGFkZGVkIGJvbnVzIGp1c3QgZm9yIHRyeWluZyBvdXQg + U3BhY2VzLiBJZiB5b3UgYmVjb21lIGEgY3VzdG9tZXIsIHRoZSBwcmljaW5n + IGlzIDwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PnNpbXBsZTogwqA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+JDUgcGVyIG1vbnRoIHByaWNlIGFuZCBpbmNsdWRlcyAyNTBH + QiBvZiBzdG9yYWdlIGFuZCAxVEIgb2Ygb3V0Ym91bmQgYmFuZHdpZHRoLiBU + aGVyZSBhcmUgbm8gY29zdHMgcGVyIHJlcXVlc3QgYW5kIGFkZGl0aW9uYWwg + c3RvcmFnZSBpcyBwcmljZWQgYXQgdGhlIGxvd2VzdCByYXRlIGF2YWlsYWJs + ZTogJDAuMDEgcGVyIEdCIHRyYW5zZmVycmVkIGFuZCAkMC4wMiBwZXIgR0Ig + c3RvcmVkLiBUaGVyZSB3b24mIzgyMTc7dCBiZSBhbnkgc3VycHJpc2VzIG9u + IHlvdXIgYmlsbC48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij4gRGlnaXRhbCBPY2VhbiBzaW1wbGlmaWVzIHRoZSBjbG91ZCYjODIx + MTt0aGV5IGxvb2sgZm9yIGV2ZXJ5IG9wcG9ydHVuaXR5IHRvIHJlbW92ZSBm + cmljdGlvbiBmcm9tIGEgZGV2ZWxvcGVyJiM4MjE3O3MgZXhwZXJpZW5jZS4g + SSBsb3ZlIGl0LCBhbmQgSSB0aGluayB5b3Ugd2lsbCB0b28mIzgyMTE7Y2hl + Y2sgaXQgb3V0IGF0PC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9kby5jby9zZWRh + aWx5Ij4gPGI+ZG8uY28vc2VkYWlseTwvYj48L2E+PGI+LjwvYj48L2Rpdj48 + L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij48YSBocmVmPSJodHRwOi8vdG9wdGFsLmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzczOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTAva2Fm + a2EtaW4tdGhlLWNsb3VkLXdpdGgtbmVoYS1uYXJraGVkZS90b3B0YWwtMi8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIgZGF0YS1vcmlnLXNpemU9Ijk3 + OCw1MjIiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0idG9wdGFsIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + dG9wdGFsLnBuZz9maXQ9MzAwJTJDMTYwIiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4 + JTJDNTIyIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3Mzkgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9MzAw + JTJDMTYwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9w + dGFsLnBuZz9yZXNpemU9NzY4JTJDNDEwIDc2OHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9NzIwJTJDMzg0IDcy + MHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz93 + PTk3OCA5Nzh3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Ub3B0YWwgaXMgdGhlIGJlc3QgcGxh + Y2UgdG8gZmluZCByZWFzb25hYmx5IHByaWNlZCwgZXh0cmVtZWx5IHRhbGVu + dGVkIHNvZnR3YXJlIGVuZ2luZWVycyB0byBidWlsZCB5b3VyIHByb2plY3Rz + IGZyb20gc2NyYXRjaCBvciBzY2FsZSB5b3VyIHdvcmtmb3JjZS4gPGEgaHJl + Zj0iaHR0cDovL3RvcHRhbC5jb20vc2VkYWlseSI+R2V0IGEgZnJlZSBwYWly + IG9mIEFwcGxlIEFpcnBvZHMgd2hlbiB5b3UgdXNlIFRvcHRhbC5jb20vc2Vk + YWlseTwvYT4gdG8gd29yayB3aXRoIGFuIGVuZ2luZWVyIGZvciBhdCBsZWFz + dCAyMCBob3Vycy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNz + PSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjM5MTkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NjYWx5ci9zY2FseXJfbG9n + by8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGRhdGEtb3JpZy1z + aXplPSIyMjAsOTAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iU2NhbHlyX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvU2Nh + bHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zOTE5IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9yZXNpemU9MjIwJTJDOTAi + IGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIg + Lz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPldobyBkbyB5b3UgdXNlIGZvciBs + b2cgbWFuYWdlbWVudD8gSSB3YW50IHRvIHRlbGwgeW91IGFib3V0IFNjYWx5 + ciwgdGhlIGZpcnN0IHB1cnBvc2UgYnVpbHQgbG9nIG1hbmFnZW1lbnQgdG9v + bCBvbiB0aGUgbWFya2V0LiBNb3N0IHRvb2xzIG9uIHRoZSBtYXJrZXQgdXRp + bGl6ZSB0ZXh0IGluZGV4aW5nIHNlYXJjaCwgd2hpY2ggaXMgZ3JlYXQmIzgy + MzA7IGZvciBpbmRleGluZyBhIGJvb2suIEJ1dCBpZiB5b3Ugd2FudCB0byBz + ZWFyY2ggbG9ncywgYXQgc2NhbGUsIGZhc3QmIzgyMzA7IGl0IGJyZWFrcyBk + b3duLiBTY2FseXIgYnVpbHQgdGhlaXIgb3duIGRhdGFiYXNlIGZyb20gc2Ny + YXRjaDogdGhlIHN5c3RlbSBpcyBmYXN0LiBNb3N0IHNlYXJjaGVzIHRha2Ug + bGVzcyB0aGFuIDEgc2Vjb25kLiBJbiBmYWN0LCA5OSUgb2YgdGhlaXIgcXVl + cmllcyBleGVjdXRlIGluICZsdDsxIHNlY29uZC4gwqBDb21wYW5pZXMgbGlr + ZSBPS0N1cGlkLCBHaXBoeSBhbmQgQ2FyZWVyQnVpbGRlciB1c2UgU2NhbHly + LiBJdCB3YXMgYnVpbHQgYnkgb25lIG9mIHRoZSBmb3VuZGVycyBvZiBXcml0 + ZWx5IChha2EgR29vZ2xlIERvY3MpLiBTY2FseXIgaGFzIGNvbnN1bWVyIGdy + YWRlIFVJLCB0aGF0IHNjYWxlcyBpbmZpbml0ZWx5LiBZb3UgY2FuIG1vbml0 + b3Iga2V5IG1ldHJpY3MsIHRyaWdnZXIgYWxlcnRzLCBhbmQgaW50ZWdyYXRl + IHdpdGggUGFnZXJEdXR5LiBJdCYjODIxNztzIGVhc3kgdG8gdXNlIGFuZCBk + aWQgd2UgbWVudGlvbjogbGlnaHRuaW5nIGZhc3QuIEdpdmUgaXQgYSB0cnkg + dG9kYXkuIEl04oCZcyBmcmVlIGZvciA5MCBkYXlzIGF0IDxhIGhyZWY9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+c29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXI8L2E+LiA8L2Rpdj48 + L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KXV0+ + PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8v + dHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvUmVhY3RWUi5tcDMiIGxlbmd0 + aD0iNjQxMjAxMzciIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpz + dWJ0aXRsZT5SZWFjdCBpcyBhIHByb2dyYW1taW5nIG1vZGVsIGZvciB1c2Vy + IGludGVyZmFjZXMuIFJlYWN0SlMgaXMgZm9yIGJ1aWxkaW5nIHVzZXIgaW50 + ZXJmYWNlcyBmb3Igd2ViIGFwcGxpY2F0aW9ucy4gUmVhY3QgTmF0aXZlIGlz + IGZvciBidWlsZGluZyBVSSBvbiBBbmRyb2lkIG9yIGlPUy4gUmVhY3RWUiBp + cyBmb3IgYnVpbGRpbmcgdXNlciBpbnRlcmZhY2VzIGluIHZpcnR1YWwgcmVh + bGl0eS48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+UmVh + Y3QgaXMgYSBwcm9ncmFtbWluZyBtb2RlbCBmb3IgdXNlciBpbnRlcmZhY2Vz + LiBSZWFjdEpTIGlzIGZvciBidWlsZGluZyB1c2VyIGludGVyZmFjZXMgZm9y + IHdlYiBhcHBsaWNhdGlvbnMuIFJlYWN0IE5hdGl2ZSBpcyBmb3IgYnVpbGRp + bmcgVUkgb24gQW5kcm9pZCBvciBpT1MuIFJlYWN0VlIgaXMgZm9yIGJ1aWxk + aW5nIHVzZXIgaW50ZXJmYWNlcyBpbiB2aXJ0dWFsIHJlYWxpdHkuIFJlYWN0 + IE5hdGl2ZSB3YXMgb3JpZ2luYWxseSBkZXZlbG9wZWQgdG8gbWFrZSBpdCBl + YXNpZXIgdG8gbWFpbnRhaW4gcGFyaXR5IGJldHdlZW4gdGhlIHdlYiwgaU9T + LCBhbmQgQW5kcm9pZCB0ZWFtcyBhdCBGYWNlYm9vay4gSWYgSSBidWlsZCBh + biBhcHBsaWNhdGlvbiBmb3IgdGhlIHdlYiB3aXRoIFJlYWN0SlMsIEkgY2Fu + IHJld3JpdGVDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4K + CQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwv + aXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVu + ZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjA2OjMxPC9pdHVu + ZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZl + ZWQtYWRkaXRpb25zOjEiPjQwMDU8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0 + ZW0+DQoJCTx0aXRsZT5TcG9ydHMgRGVlcCBMZWFybmluZyB3aXRoIFl1LUhh + biBDaGFuZyBhbmQgSmVmZiBTdTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMjkvc3BvcnRz + LWRlZXAtbGVhcm5pbmctd2l0aC15dS1oYW4tY2hhbmctYW5kLWplZmYtc3Uv + PC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDI5IFNlcCAyMDE3IDA5OjAwOjMw + ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM5ODg8 + L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA5LzI5L3Nwb3J0cy1kZWVwLWxlYXJuaW5nLXdp + dGgteXUtaGFuLWNoYW5nLWFuZC1qZWZmLXN1LyNyZXNwb25kPC9jb21tZW50 + cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDkvMjkvc3BvcnRzLWRlZXAtbGVhcm5pbmct + d2l0aC15dS1oYW4tY2hhbmctYW5kLWplZmYtc3UvZmVlZC88L3dmdzpjb21t + ZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+ + DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYWNoaW5lIExlYXJuaW5nXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0plZmYgU3VdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTZWNvbmQgU3BlY3RydW1d + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtzcG9ydHMgZGF0 + YSBhbmFseXNpc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W3Nwb3J0cyBkZWVwIGxlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbWXUtSGFuIENoYW5nXV0+PC9jYXRlZ29yeT4KCQk8ZGVz + Y3JpcHRpb24+QSBiYXNrZXRiYWxsIGdhbWUgZ2l2ZXMgb2ZmIGVuZGxlc3Mg + YW1vdW50cyBvZiBkYXRhLiBDYW1lcmFzIGZyb20gYWxsIGFuZ2xlcyBjYXB0 + dXJlIHRoZSBwbGF5ZXJzIG1ha2luZyB0aGVpciB3YXkgYXJvdW5kIHRoZSBj + b3VydCwgZHJpYmJsaW5nLCBwYXNzaW5nLCBhbmQgc2hvb3RpbmcuIFdpdGgg + Y29tcHV0ZXIgdmlzaW9uLCBhIGNvbXB1dGVyIGNhbiBidWlsZCBhIHdlbGwt + ZGVmaW5lZCB1bmRlcnN0YW5kaW5nIGZvciB3aGF0IGEgc3BvcnQgbG9va3Mg + bGlrZS4gV2l0aCBvdGhlciBtYWNoaW5lIGxlYXJuaW5nIHRlY2huaXF1ZXMs + IHRoZSBjb21wdXRlciBjYW4gbWFrZSBwcmVkaWN0aW9ucyBieSBjb21iaW5p + bmcgaGlzdG9yaWNhbCBkYXRhIHdpdGggYSBnYW1lIHRoYXQgaXMgZ29pbmcg + b24gcmlnaHQgbm93LiBTZWNvbmQgU3BlY3RydW0gaXMgYSBjb21wYW55Jmx0 + O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90 + OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDkvMjkvc3BvcnRzLWRlZXAtbGVhcm5pbmctd2l0aC15dS1o + YW4tY2hhbmctYW5kLWplZmYtc3UvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRp + bmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxj + b250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFp + bmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQv + YnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNp + emU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + NC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxp + Z25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRl + ci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4 + LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDkvU1Nsb2dvLmpwZz9yZXNpemU9MTc1 + JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9w + Pgo8cD5BIGJhc2tldGJhbGwgZ2FtZSBnaXZlcyBvZmYgZW5kbGVzcyBhbW91 + bnRzIG9mIGRhdGEuIENhbWVyYXMgZnJvbSBhbGwgYW5nbGVzIGNhcHR1cmUg + dGhlIHBsYXllcnMgbWFraW5nIHRoZWlyIHdheSBhcm91bmQgdGhlIGNvdXJ0 + LCBkcmliYmxpbmcsIHBhc3NpbmcsIGFuZCBzaG9vdGluZy4gV2l0aCBjb21w + dXRlciB2aXNpb24sIGEgY29tcHV0ZXIgY2FuIGJ1aWxkIGEgd2VsbC1kZWZp + bmVkIHVuZGVyc3RhbmRpbmcgZm9yIHdoYXQgYSBzcG9ydCBsb29rcyBsaWtl + LiBXaXRoIG90aGVyIG1hY2hpbmUgbGVhcm5pbmcgdGVjaG5pcXVlcywgdGhl + IGNvbXB1dGVyIGNhbiBtYWtlIHByZWRpY3Rpb25zIGJ5IGNvbWJpbmluZyBo + aXN0b3JpY2FsIGRhdGEgd2l0aCBhIGdhbWUgdGhhdCBpcyBnb2luZyBvbiBy + aWdodCBub3cuPC9wPgo8cD5TZWNvbmQgU3BlY3RydW0gaXMgYSBjb21wYW55 + IHRoYXQgYnVpbGRzIHByb2R1Y3RzIGZvciBhbmFseXppbmcgc3BvcnRzLiBB + dCBtYWpvciBiYXNrZXRiYWxsIGFyZW5hcywgU2Vjb25kIFNwZWN0cnVtIGNh + bWVyYXMgc2l0IGFib3ZlIHRoZSBjb3VydCwgcmVjb3JkaW5nIHRoZSBnYW1l + IGFuZCBmZWVkaW5nIHRoYXQgaW5mb3JtYXRpb24gdG8gdGhlIGNsb3VkLiBT + ZWNvbmQgU3BlY3RydW3igJlzIHNlcnZlcnMgY3J1bmNoIG9uIHRoZSByYXcg + ZGF0YSwgcHJvY2Vzc2luZyBpdCB0aHJvdWdoIGNvbXB1dGVyIHZpc2lvbiBh + bmQgcHV0dGluZyBpdCBpbnRvIGRlZXAgbGVhcm5pbmcgbW9kZWxzLiBUaGUg + b3V0cHV0IGNhbiBiZSB1dGlsaXplZCBieSB0ZWFtcywgY29hY2hlcywgYW5k + IGZhbnMuPC9wPgo8cD5ZdS1IYW4gQ2hhbmcgYW5kIEplZmYgU3UgYXJlIGNv + LWZvdW5kZXJzIG9mIFNlY29uZCBTcGVjdHJ1bS4gVGhleSBqb2luIHRoZSBz + aG93IHRvIGRlc2NyaWJlIHRoZSBkYXRhIHBpcGVsaW5lIG9mIFNlY29uZCBT + cGVjdHJ1bSBmcm9tIHRoZSBjYW1lcmFzIG9uIHRoZSBiYXNrZXRiYWxsIGNv + dXJ0IHRvIHRoZSBlbnRlcnRhaW5pbmcgdmlzdWFsaXphdGlvbnMuIEFmdGVy + IHRhbGtpbmcgdG8gdGhlbSwgSSBhbSBjb252aW5jZWQgdGhhdCBtYWNoaW5l + IGxlYXJuaW5nIHdpbGwgY29tcGxldGVseSBjaGFuZ2UgaG93IHNwb3J0cyBh + cmUgcGxheWVkJiM4MjExO2FuZCB3aWxsIHByb2JhYmx5IG9wZW4gdXAgYSBw + bGF0Zm9ybSBmb3IgbmV3IHNwb3J0cyB0byBiZSBpbnZlbnRlZC48L3A+Cjxw + PlRoZSBpT1MgYXBwIGlzIHRoZSBmaXJzdCBwcm9qZWN0IHRvIGNvbWUgb3V0 + IG9mIHRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBPcGVuIFNvdXJj + ZSBQcm9qZWN0LiBUaGVyZSBhcmUgbW9yZSBwcm9qZWN0cyBvbiB0aGUgd2F5 + LCBhbmQgd2UgYXJlIGxvb2tpbmcgZm9yIGNvbnRyaWJ1dG9ycyYjODIxMTtp + ZiB5b3Ugd2FudCB0byBoZWxwIGJ1aWxkIGEgYmV0dGVyIFNFIERhaWx5IGV4 + cGVyaWVuY2UsIGNoZWNrIG91dCA8YSBocmVmPSJodHRwOi8vZ2l0aHViLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkiPmdpdGh1Yi5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5PC9hPi4gV2UgYXJlIHdvcmtpbmcgb24gYW4g + QW5kcm9pZCBhcHAsIHRoZSBpT1MgYXBwLCBhIHJlY29tbWVuZGF0aW9uIHN5 + c3RlbSwgYW5kIGEgd2ViIGZyb250ZW5kLiBIZWxwIHVzIGJ1aWxkIGEgbmV3 + IHdheSB0byBjb25zdW1lIHNvZnR3YXJlIGVuZ2luZWVyaW5nIGNvbnRlbnQg + YXQgPGEgaHJlZj0iaHR0cDovL2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5Ij5naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eTwvYT4uPC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyIj48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMzkxOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2NhbHlyL3Nj + YWx5cl9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgZGF0 + YS1vcmlnLXNpemU9IjIyMCw5MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJTY2FseXJfbG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJD + OTAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM5MTkgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP3Jlc2l6ZT0y + MjAlMkM5MCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2hvIGRvIHlvdSB1 + c2UgZm9yIGxvZyBtYW5hZ2VtZW50PyBJIHdhbnQgdG8gdGVsbCB5b3UgYWJv + dXQgU2NhbHlyLCB0aGUgZmlyc3QgcHVycG9zZSBidWlsdCBsb2cgbWFuYWdl + bWVudCB0b29sIG9uIHRoZSBtYXJrZXQuIE1vc3QgdG9vbHMgb24gdGhlIG1h + cmtldCB1dGlsaXplIHRleHQgaW5kZXhpbmcgc2VhcmNoLCB3aGljaCBpcyBn + cmVhdCYjODIzMDsgZm9yIGluZGV4aW5nIGEgYm9vay4gQnV0IGlmIHlvdSB3 + YW50IHRvIHNlYXJjaCBsb2dzLCBhdCBzY2FsZSwgZmFzdCYjODIzMDsgaXQg + YnJlYWtzIGRvd24uIFNjYWx5ciBidWlsdCB0aGVpciBvd24gZGF0YWJhc2Ug + ZnJvbSBzY3JhdGNoOiB0aGUgc3lzdGVtIGlzIGZhc3QuIE1vc3Qgc2VhcmNo + ZXMgdGFrZSBsZXNzIHRoYW4gMSBzZWNvbmQuIEluIGZhY3QsIDk5JSBvZiB0 + aGVpciBxdWVyaWVzIGV4ZWN1dGUgaW4gJmx0OzEgc2Vjb25kLiDCoENvbXBh + bmllcyBsaWtlIE9LQ3VwaWQsIEdpcGh5IGFuZCBDYXJlZXJCdWlsZGVyIHVz + ZSBTY2FseXIuIEl0IHdhcyBidWlsdCBieSBvbmUgb2YgdGhlIGZvdW5kZXJz + IG9mIFdyaXRlbHkgKGFrYSBHb29nbGUgRG9jcykuIFNjYWx5ciBoYXMgY29u + c3VtZXIgZ3JhZGUgVUksIHRoYXQgc2NhbGVzIGluZmluaXRlbHkuIFlvdSBj + YW4gbW9uaXRvciBrZXkgbWV0cmljcywgdHJpZ2dlciBhbGVydHMsIGFuZCBp + bnRlZ3JhdGUgd2l0aCBQYWdlckR1dHkuIEl0JiM4MjE3O3MgZWFzeSB0byB1 + c2UgYW5kIGRpZCB3ZSBtZW50aW9uOiBsaWdodG5pbmcgZmFzdC4gR2l2ZSBp + dCBhIHRyeSB0b2RheS4gSXTigJlzIGZyZWUgZm9yIDkwIGRheXMgYXQgPGEg + aHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2Nh + bHlyIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5cjwvYT4u + IDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzM5IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + Ny8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1uZWhhLW5hcmtoZWRlL3Rv + cHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBkYXRhLW9yaWct + c2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAlMkMxNjAiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5n + P2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcz + OSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jl + c2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy90b3B0YWwucG5nP3Jlc2l6ZT03NjglMkM0MTAgNzY4dywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03MjAl + MkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRvcHRhbCBpcyB0aGUg + YmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFibHkgcHJpY2VkLCBleHRyZW1l + bHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5lZXJzIHRvIGJ1aWxkIHlvdXIg + cHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNjYWxlIHlvdXIgd29ya2ZvcmNl + LiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNvbS9zZWRhaWx5Ij5HZXQgYSBm + cmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3aGVuIHlvdSB1c2UgVG9wdGFs + LmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdpdGggYW4gZW5naW5lZXIgZm9y + IGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+Cjxk + aXYgY2xhc3M9InJvdyI+CjxwPiZuYnNwOzwvcD4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9w + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2Jp + dC5seS8yallIa25DIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzg4NyIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3Mvc3F1YXJlL3NxdWFyZS1wYXJ0bmVyLWxvZ28vIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9z + cXVhcmUtcGFydG5lci1sb2dvLmpwZz9maXQ9MTcwOSUyQzQzMCIgZGF0YS1v + cmlnLXNpemU9IjE3MDksNDMwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9InNxdWFyZS1wYXJ0bmVyLWxvZ28iIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dv + LmpwZz9maXQ9MzAwJTJDNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dvLmpwZz9m + aXQ9MTAyNCUyQzI1OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zODg3 + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDgvc3F1YXJlLXBhcnRuZXItbG9nby5qcGc/cmVzaXplPTMwMCUyQzc1IiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3Nx + dWFyZS1wYXJ0bmVyLWxvZ28uanBnP3Jlc2l6ZT0zMDAlMkM3NSAzMDB3LCBo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3NxdWFyZS1wYXJ0bmVyLWxv + Z28uanBnP3Jlc2l6ZT03NjglMkMxOTMgNzY4dywgaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dvLmpwZz9yZXNpemU9 + MTAyNCUyQzI1OCAxMDI0dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9zcXVhcmUtcGFydG5lci1sb2dvLmpwZz9yZXNpemU9NzIwJTJDMTgxIDcy + MHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPlNxdWFyZSBpcyBhIGNvbXBsZXRlIG9tbmljaGFu + bmVsIHBheW1lbnRzIGVjb3N5c3RlbSB3aGVyZSBkZXZlbG9wZXJzIGNhbiBj + cmVhdGUgYSBwb3dlcmZ1bCBjb21tZXJjZSBzb2x1dGlvbi4gWW914oCZdmUg + c2VlbiBTcXVhcmUgYXJvdW5kIGF0IHlvdXIgZmF2b3JpdGUgY29mZmVlIHNo + b3BzIGFuZCByZXRhaWxlcnMsIGFuZCBpdCBpcyB0cnVzdGVkIGJ5IG1pbGxp + b25zIG9mIGJ1c2luZXNzZXMgZm9yIGl0cyBzaW1wbGljaXR5IGFuZCByZWxp + YWJpbGl0eS4gQnV0IGFzIGEgZGV2ZWxvcGVyLCB5b3UgY2FuIHVubG9jayB0 + aGUgcG90ZW50aWFsIG9mIGEgZnVsbCBwYXltZW50cyBhbmQgYnVzaW5lc3Mg + bWFuYWdlbWVudCBwbGF0Zm9ybSB3aXRoIFNxdWFyZSYjODIxNztzIEFQSXMg + YXQ8YSBocmVmPSJodHRwOi8vYml0Lmx5LzJqWUhrbkMiPsKgc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9zcXVhcmU8L2E+LiBUaGVyZSBhcmUgQVBJ + cyBmb3Igb25saW5lIHBheW1lbnRzLCB0YWtpbmcgaW4tcGVyc29uIHBheW1l + bnRzIHdpdGggU3F1YXJlIGhhcmR3YXJlIHRocm91Z2ggYSBjdXN0b20gYXBw + IHlvdSBidWlsZCwgYW5kIGV2ZW4gaW52ZW50b3J5IGFuZCBlbXBsb3llZSBt + YW5hZ2VtZW50IGFuZCBzYWxlcyByZXBvcnRpbmcuIEJ1c2luZXNzZXMgb2Yg + YWxsIHNpemVzIHVzZSBTcXVhcmUmIzgyMTc7cyBBUElzIHRvIHRha2UgcGF5 + bWVudHMgc2VjdXJlbHkgb25saW5lLCBpbiBzdG9yZSwgYW5kIG9uIHRoZSBn + byB3aXRoIGEgc2luZ2xlIHNvbHV0aW9uLCBhbmQgaW50ZWdyYXRlIHdpdGgg + YmFjay1lbmQgc3lzdGVtcyB0aGV5IGFscmVhZHkgdXNlLiBDaGVjayBvdXQg + U3F1YXJl4oCZcyBkZXZlbG9wZXIgcG9ydGFsIGZvciBhbGwgdGhlIHRvb2xz + IHlvdSBuZWVkIHRvIGdldCBzdGFydGVkIHRvZGF5LiBUYWtlIFNxdWFyZeKA + mXMgY29tbWVyY2Ugc29sdXRpb25zIGJleW9uZCB0aGUgY29mZmVlIHNob3Ag + YW5kIHBvd2VyIHBheW1lbnRzIGZvciBhbnkgdHlwZSBvZiBidXNpbmVzcyBi + eSBnb2luZyB0bzxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMmpZSGtuQyI+wqBz + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NxdWFyZTwvYT4uPC9kaXY+ + PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3lt + cGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBk + YXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9y + IHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBo + b25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9y + IGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBs + ZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBo + cmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNv + bS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBh + IHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFs + bW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93 + cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBh + IHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgo8cD4mbmJzcDs8L3A+ + Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0 + cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L1Nwb3J0c0FuYWx5dGlj + cy5tcDMiIGxlbmd0aD0iNTYxODE5NTkiIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5BIGJhc2tldGJhbGwgZ2FtZSBnaXZlcyBv + ZmYgZW5kbGVzcyBhbW91bnRzIG9mIGRhdGEuIENhbWVyYXMgZnJvbSBhbGwg + YW5nbGVzIGNhcHR1cmUgdGhlIHBsYXllcnMgbWFraW5nIHRoZWlyIHdheSBh + cm91bmQgdGhlIGNvdXJ0LCBkcmliYmxpbmcsIHBhc3NpbmcsIGFuZCBzaG9v + dGluZy4gV2l0aCBjb21wdXRlciB2aXNpb24sIGEgY29tcHV0ZXIgY2FuIGJ1 + aWxkIGEgd2VsbC1kZWZpbmVkIHVuZGVyc3RhbmRpbmcgZm9yIHdoYXQgYSBz + cG8uLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+QSBi + YXNrZXRiYWxsIGdhbWUgZ2l2ZXMgb2ZmIGVuZGxlc3MgYW1vdW50cyBvZiBk + YXRhLiBDYW1lcmFzIGZyb20gYWxsIGFuZ2xlcyBjYXB0dXJlIHRoZSBwbGF5 + ZXJzIG1ha2luZyB0aGVpciB3YXkgYXJvdW5kIHRoZSBjb3VydCwgZHJpYmJs + aW5nLCBwYXNzaW5nLCBhbmQgc2hvb3RpbmcuIFdpdGggY29tcHV0ZXIgdmlz + aW9uLCBhIGNvbXB1dGVyIGNhbiBidWlsZCBhIHdlbGwtZGVmaW5lZCB1bmRl + cnN0YW5kaW5nIGZvciB3aGF0IGEgc3BvcnQgbG9va3MgbGlrZS4gV2l0aCBv + dGhlciBtYWNoaW5lIGxlYXJuaW5nIHRlY2huaXF1ZXMsIHRoZSBjb21wdXRl + ciBjYW4gbWFrZSBwcmVkaWN0aW9ucyBieSBjb21iaW5pbmcgaGlzdG9yaWNh + bCBkYXRhIHdpdGggYSBnYW1lIHRoYXQgaXMgZ29pbmcgb24gcmlnaHQgbm93 + LiBTZWNvbmQgU3BlY3RydW0gaXMgYSBjb21wYW55Q29udGludWUgcmVhZGlu + Zy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5l + czpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6 + ZHVyYXRpb24+NTg6MTU8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1s + bnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+Mzk4ODwvcG9z + dC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkFsZXJ0aW5nIGFu + ZCBNZXRyaWNzIHdpdGggQ2xlbWVudCBQYW5nPC90aXRsZT4NCgkJPGxpbms+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8y + OC9hbGVydGluZy1hbmQtbWV0cmljcy13aXRoLWNsZW1lbnQtcGFuZy88L2xp + bms+DQoJCTxwdWJEYXRlPlRodSwgMjggU2VwIDIwMTcgMDk6MDA6NDYgKzAw + MDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzk4NzwvZ3Vp + ZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTcvMDkvMjgvYWxlcnRpbmctYW5kLW1ldHJpY3Mtd2l0aC1j + bGVtZW50LXBhbmcvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21t + ZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDkvMjgvYWxlcnRpbmctYW5kLW1ldHJpY3Mtd2l0aC1jbGVtZW50LXBh + bmcvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + MTwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtE + YXRhXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2Fz + dF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2FsZXJ0aW5n + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xlbWVudCBQ + YW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRGF0YSBF + bmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W2VudGVycHJpc2UgYWxlcnQgc3lzdGVtc11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW21ldHJpY3NdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtXYXZlZnJvbnRdXT48L2NhdGVnb3J5PgoJCTxkZXNj + cmlwdGlvbj5BbiBhbGVydCBpcyBhIHNpZ25hbCBvZiBwcm9ibGVtYXRpYyBh + cHBsaWNhdGlvbiBiZWhhdmlvci4gV2hlbiBzb21ldGhpbmcgdW51c3VhbCBo + YXBwZW5zIHRvIHlvdXIgYXBwbGljYXRpb24sIGFuIGFsZXJ0IGNhbiBicmlu + ZyB0aGF0IGFub21hbHkgdG8geW91ciBhdHRlbnRpb24uIEluIG9yZGVyIHRv + IGRldGVjdCB1bnVzdWFsIGV2ZW50cywgeW91IG5lZWQgdG8gZGVmaW5lIHRo + ZSBub3JtLiBJbiBvcmRlciB0byBkZWZpbmUgYm90aCBub3JtYWwgYW5kIHBy + b2JsZW1hdGljIGJlaGF2aW9yLCB5b3UgbmVlZCBtZXRyaWNzLiBNZXRyaWNz + IGFyZSBtZWFzdXJlbWVudHMgb2YgdGhlIGJlaGF2aW9yIGluIHlvdXIgYXBw + bGljYXRpb24uIE1ldHJpY3MgZ2V0IGNyZWF0ZWQgZnJvbSBsb2dzIGFuZCBv + dGhlciBkYXRhLiBUaGVzZSBoaWdoIHZvbHVtZXMgb2YmbHQ7cCZndDsmbHQ7 + YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1 + b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OS8yOC9hbGVydGluZy1hbmQtbWV0cmljcy13aXRoLWNsZW1lbnQtcGFuZy8m + cXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3Am + Z3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFU + QVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFu + LWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFu + LWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1p + bWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6 + IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVp + Z2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vbWVkaWEubGlj + ZG4uY29tL21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9BQUVBQVFBQUFBQUFB + QWU4QUFBQUpHWmpOak0yT0RZM0xURmtNV1F0TkRJelpTMDRNelU0TFRGalpH + WmxZelV4T0RBMU5nLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkFuIGFsZXJ0IGlzIGEgc2lnbmFsIG9mIHBy + b2JsZW1hdGljIGFwcGxpY2F0aW9uIGJlaGF2aW9yLiBXaGVuIHNvbWV0aGlu + ZyB1bnVzdWFsIGhhcHBlbnMgdG8geW91ciBhcHBsaWNhdGlvbiwgYW4gYWxl + cnQgY2FuIGJyaW5nIHRoYXQgYW5vbWFseSB0byB5b3VyIGF0dGVudGlvbi4g + SW4gb3JkZXIgdG8gZGV0ZWN0IHVudXN1YWwgZXZlbnRzLCB5b3UgbmVlZCB0 + byBkZWZpbmUgdGhlIG5vcm0uIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+SW4gb3JkZXIgdG8gZGVmaW5lIGJvdGgg + bm9ybWFsIGFuZCBwcm9ibGVtYXRpYyBiZWhhdmlvciwgeW91IG5lZWQgbWV0 + cmljcy4gTWV0cmljcyBhcmUgbWVhc3VyZW1lbnRzIG9mIHRoZSBiZWhhdmlv + ciBpbiB5b3VyIGFwcGxpY2F0aW9uLiBNZXRyaWNzIGdldCBjcmVhdGVkIGZy + b20gbG9ncyBhbmQgb3RoZXIgZGF0YS4gVGhlc2UgaGlnaCB2b2x1bWVzIG9m + IGRhdGEgZ2V0IGFnZ3JlZ2F0ZWQgYW5kIGNvbGxlY3RlZCBpbnRvIGVhc2ls + eSBkaWdlc3RpYmxlIG1ldHJpY3MuIFRoaXMgYWdncmVnYXRpb24gcHJvY2Vz + cyB0aGF0IHJlZHVjZXMgZGF0YSB0byBtZXRyaWNzIGlzIG9mdGVuIGNhbGxl + ZCBhICYjODIyMDttZXRyaWNzIHBpcGVsaW5lLiYjODIyMTs8L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkNsZW1lbnQg + UGFuZyBpcyB0aGUgY2hpZWYgYXJjaGl0ZWN0IG9mIFdhdmVmcm9udCwgYSBj + b21wYW55IHRoYXQgYnVpbGRzIG1ldHJpY3MgYW5kIGFsZXJ0aW5nIHNvZnR3 + YXJlIGZvciBlbnRlcnByaXNlcyBzdWNoIGFzIEJveCBhbmQgTHlmdC4gQ2xl + bWVudCBqb2lucyB0aGUgc2hvdyB0byBkaXNjdXNzIGhvdyBlbnRlcnByaXNl + cyB1c2UgYWxlcnRpbmcgYW5kIG1ldHJpY3MgYW5kIGhvdyB0byBidWlsZCBh + IGNvbXBhbnkgYXJvdW5kIG1ldHJpY3MgYW5kIGFsZXJ0aW5nJiM4MjExO2lu + Y2x1ZGluZyB0aGUgZGF0YSBlbmdpbmVlcmluZyBpbnZvbHZlZCBpbiBjb25z + dHJ1Y3RpbmcgYSBtZXRyaWNzIHBpcGVsaW5lLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2UgaGF2ZSBkb25lIG1h + bnkgb3RoZXIgc2hvd3MgYWJvdXQgbW9uaXRvcmluZyBhbmQgRGV2T3BzLiBE + b3dubG9hZCA8YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMv + YXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LXBvZGNhc3QtYXBwL2lk + MTI1MzczNDQyNj9tdD04Ij50aGUgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgYXBwIGZvciBpT1M8L2E+IHRvIGhlYXIgYWxsIG9mIG91ciBvbGQgZXBp + c29kZXMsIGFuZCBlYXNpbHkgZGlzY292ZXIgbmV3IHRvcGljcyB0aGF0IG1p + Z2h0IGludGVyZXN0IHlvdS4gWW91IGNhbiB1cHZvdGUgdGhlIGVwaXNvZGVz + IHlvdSBsaWtlIGFuZCBnZXQgcmVjb21tZW5kYXRpb25zIGJhc2VkIG9uIHlv + dXIgbGlzdGVuaW5nIGhpc3RvcnkuIFdpdGggNjAwIGVwaXNvZGVzLCBpdCBp + cyBoYXJkIHRvIGZpbmQgdGhlIGVwaXNvZGVzIHRoYXQgYXBwZWFsIHRvIHlv + dSwgYW5kIHdlIGhvcGUgdGhlIGFwcCBoZWxwcyB3aXRoIHRoYXQuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUg + aU9TIGFwcCBpcyB0aGUgZmlyc3QgcHJvamVjdCB0byBjb21lIG91dCBvZiB0 + aGUgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgT3BlbiBTb3VyY2UgUHJv + amVjdC4gVGhlcmUgYXJlIG1vcmUgcHJvamVjdHMgb24gdGhlIHdheSwgYW5k + IHdlIGFyZSBsb29raW5nIGZvciBjb250cmlidXRvcnMmIzgyMTE7aWYgeW91 + IHdhbnQgdG8gaGVscCBidWlsZCBhIGJldHRlciBTRSBEYWlseSBleHBlcmll + bmNlLCBjaGVjayBvdXQgZ2l0aHViLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuIFdlIGFyZSB3b3JraW5nIG9uIGFuIEFuZHJvaWQgYXBwLCB0aGUg + aU9TIGFwcCwgYSByZWNvbW1lbmRhdGlvbiBzeXN0ZW0sIGFuZCBhIHdlYiBm + cm9udGVuZC4gSGVscCB1cyBidWlsZCBhIG5ldyB3YXkgdG8gY29uc3VtZSBz + b2Z0d2FyZSBlbmdpbmVlcmluZyBjb250ZW50IGF0IDxhIGhyZWY9Imh0dHA6 + Ly9naXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+Z2l0aHVi + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHk8L2E+Ljwvc3Bhbj48L3A+ + CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nwcmlu + Z29uZXBsYXRmb3JtIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzc1MyIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvcGl2b3RhbC1sb2dvL3Bpdm90YWwtb25saWdodC8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTI2MTAlMkMxMDgwIiBkYXRhLW9y + aWctc2l6ZT0iMjYxMCwxMDgwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlBpdm90YWwtT25MaWdodCIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0 + PTMwMCUyQzEyNCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTEwMjQlMkM0 + MjQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzc1MyBzaXplLW1lZGl1 + bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQu + cG5nP3Jlc2l6ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03NjglMkMz + MTggNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP3Jlc2l6ZT0xMDI0JTJDNDI0IDEwMjR3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVz + aXplPTcyMCUyQzI5OCA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5TcHJpbmcgRnJhbWV3b3JrIGdpdmVzIGRldmVsb3BlcnMgYW4gZW52 + aXJvbm1lbnQgZm9yIGJ1aWxkaW5nIGNsb3VkIG5hdGl2ZSBwcm9qZWN0cy4g + T24gRGVjZW1iZXIgNHRoLTd0aCwgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9z + cHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBpcyBj + b21pbmcgdG8gU2FuIEZyYW5jaXNjby4gU3ByaW5nT25lIFBsYXRmb3JtIGlz + IGEgY29uZmVyZW5jZSB3aGVyZSBkZXZlbG9wZXJzIGNvbmdyZWdhdGUgdG8g + ZXhwbG9yZSB0aGUgbGF0ZXN0IHRlY2hub2xvZ2llcyBpbiB0aGUgU3ByaW5n + IGVjb3N5c3RlbSBhbmQgYmV5b25kLiBTcGVha2VycyBhdCBTcHJpbmdPbmUg + UGxhdGZvcm0gaW5jbHVkZSBFcmljIEJyZXdlciAod2hvIGNyZWF0ZWQgdGhl + IENBUCB0aGVvcmVtKSwgVmF1Z2huIFZlcm5vbiAod2hvIHdyaXRlcyBleHRl + bnNpdmVseSBhYm91dCBEb21haW4gRHJpdmVuIERlc2lnbiksIGFuZCBtYW55 + IHRob3VnaHQgbGVhZGVycyBpbiB0aGUgU3ByaW5nIEVjb3N5c3RlbS4gU3By + aW5nT25lIFBsYXRmb3JtIGlzIHRoZSBwcmVtaWVyIGNvbmZlcmVuY2UgZm9y + IHRob3NlIHdobyBidWlsZCwgZGVwbG95LCBhbmQgcnVuIGNsb3VkLW5hdGl2 + ZSBzb2Z0d2FyZS4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVu + ZXJzIGNhbiBzaWduIHVwIHdpdGggdGhlIGRpc2NvdW50IGNvZGUgU0VEYWls + eTEwMCBhbmQgcmVjZWl2ZSAkMTAwIG9mZiBvZiBhIFNwcmluZyBPbmUgUGxh + dGZvcm0gPGEgaHJlZj0iaHR0cHM6Ly8yMDE3LnNwcmluZ29uZXBsYXRmb3Jt + LmlvL2Vob21lL3MxcC9yZWdpc3RyYXRpb24iPmNvbmZlcmVuY2UgcGFzczwv + YT4uIEkgd2lsbCBhbHNvIGJlIGF0IFNwcmluZ09uZSByZXBvcnRpbmcgb24g + ZGV2ZWxvcG1lbnRzIGluIHRoZSBjbG91ZCBuYXRpdmUgZWNvc3lzdGVtLiBK + b2luIG1lIERlY2VtYmVyIDR0aC03dGggYXQgdGhlIDxhIGhyZWY9Imh0dHA6 + Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9y + bTwvYT4gY29uZmVyZW5jZSwgYW5kIHVzZSBkaXNjb3VudCBjb2RlIFNFRGFp + bHkxMDAgZm9yICQxMDAgb2ZmIHlvdXIgY29uZmVyZW5jZSBwYXNzLiA8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMTAvMTgv + c2ltcHNvbnMtZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2huZWlkZXIvaW5k + ZWVkLXByaW1lLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGRh + dGEtb3JpZy1zaXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1lIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9MzAw + JTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9y + ZXNpemU9MzAwJTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiAzMDB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/dz00NjMgNDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNwYW4gaWQ9Im1fNzk5MDUy + MTE1MDIxMzI3MzI3Nm1fOTA1MTE0MTYzNzQwNjQ5NDc3Mm1fLTg3OTQ3MTY3 + MzA5MTc3ODc2MjFnbWFpbC1tXzkzODU4NDQ2ODI3NDU1MjE0NWdtYWlsLW1f + LTg1NjE3MjM2NzUxMjc2NjA4MjJnbWFpbC1kb2NzLWludGVybmFsLWd1aWQt + OTZiZjE1MDktMTY0NC1lNDcxLTRiYTgtYWY2ZmU1ODhjNzNlIj5JbmRlZWQg + UHJpbWUgZmxpcHMgdGhlIHR5cGljYWwgbW9kZWwgb2Ygam9iIHNlYXJjaCBh + bmQgbWFrZXMgaXQgZWFzeSB0byBhcHBseSB0byBtdWx0aXBsZSBqb2JzIGFu + ZCBnZXQgbXVsdGlwbGUgb2ZmZXJzLiBJbmRlZWQgUHJpbWUgc2ltcGxpZmll + cyB5b3VyIGpvYiBzZWFyY2ggYW5kIGhlbHBzIHlvdSBsYW5kIHRoYXQgaWRl + YWwgPHNwYW4gY2xhc3M9Im1fNzk5MDUyMTE1MDIxMzI3MzI3Nm1fOTA1MTE0 + MTYzNzQwNjQ5NDc3Mm1fLTg3OTQ3MTY3MzA5MTc3ODc2MjFnbWFpbC1tXzkz + ODU4NDQ2ODI3NDU1MjE0NWdtYWlsLWlsIj5zb2Z0d2FyZTwvc3Bhbj4gPHNw + YW4gY2xhc3M9Im1fNzk5MDUyMTE1MDIxMzI3MzI3Nm1fOTA1MTE0MTYzNzQw + NjQ5NDc3Mm1fLTg3OTQ3MTY3MzA5MTc3ODc2MjFnbWFpbC1tXzkzODU4NDQ2 + ODI3NDU1MjE0NWdtYWlsLWlsIj5lbmdpbmVlcmluZzwvc3Bhbj4gcG9zaXRp + b24uIENhbmRpZGF0ZXMgZ2V0IGltbWVkaWF0ZSBleHBvc3VyZSB0byB0b3Ag + Y29tcGFuaWVzIHdpdGgganVzdCBvbmUgc2ltcGxlIGFwcGxpY2F0aW9uIHRv + IEluZGVlZCBQcmltZS4gQ29tcGFuaWVzIG9uIFByaW1l4oCZcyBleGNsdXNp + dmUgcGxhdGZvcm0gbWVzc2FnZSBjYW5kaWRhdGVzIHdpdGggc2FsYXJ5IGFu + ZCBlcXVpdHkgdXBmcm9udC4gSW5kZWVkIFByaW1lIGlzIDEwMCUgZnJlZSBm + b3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5ncyBhdHRhY2hlZC4gPC9zcGFu + PlNpZ24gdXAgbm93IGF0PGEgaHJlZj0iaHR0cDovL2luZGVlZC5jb20vc2Vk + YWlseSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEtc2Fm + ZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1l + biZhbXA7cT1odHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5JmFtcDtzb3VyY2U9 + Z21haWwmYW1wO3VzdD0xNTA2NDA5NzE2ODMxMDAwJmFtcDt1c2c9QUZRakNO + Rm8wU253cEt1WDhtTW1wRGN0RUwwUlBMdk5lZyI+IGluZGVlZC5jb20vc2Vk + YWlseTwvYT4uwqBZb3UgY2FuIGFsc28gcHV0IG1vbmV5IGluIHlvdXIgcG9j + a2V0IGJ5IHJlZmVycmluZyB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMu + IFJlZmVyIGEgc29mdHdhcmUgZW5naW5lZXIgdG8gdGhlIHBsYXRmb3JtIGFu + ZCBnZXQgJDIwMCB3aGVuIHRoZXkgZ2V0IGNvbnRhY3RlZCBieSBhIGNvbXBh + bnkmIzgyMzA7LiBhbmQgJDIsMDAwIHdoZW4gdGhleSBhY2NlcHQgYSBqb2Ig + dGhyb3VnaCBQcmltZSEgTGVhcm4gbW9yZSBhdMKgPGEgaHJlZj0iaHR0cDov + L2luZGVlZC5jb20vcHJpbWUvcmVmZXJyYWwiIHRhcmdldD0iX2JsYW5rIiBy + ZWw9Im5vb3BlbmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93 + d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDovL2luZGVlZC5j + b20vcHJpbWUvcmVmZXJyYWwmYW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE1 + MDY0MDk3MTY4MzEwMDAmYW1wO3VzZz1BRlFqQ05Fd1dBU0VQTFFpTVVZU2Jy + NW5zakNHWXR0dVNBIj5pbmRlZWQuY29tL3ByaW1lL3JlZmVycmFsPC9hPi48 + L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNjY4IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9zeW1waG9uby9zeW1waG9uby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJD + ODQiIGRhdGEtb3JpZy1zaXplPSIyNzIsODQiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ic3ltcGhvbm8iIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUy + Qzg0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0yNjY4IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9yZXNpemU9MjcyJTJD + ODQiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRoYW5rcyB0byBTeW1waG9u + byBmb3Igc3BvbnNvcmluZyBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS4g + U3ltcGhvbm8gaXMgYSBjdXN0b20gZW5naW5lZXJpbmcgc2hvcCB3aGVyZSBz + ZW5pb3IgZW5naW5lZXJzIHRhY2tsZSBiaWcgdGVjaCBjaGFsbGVuZ2VzIHdo + aWxlIGxlYXJuaW5nIGZyb20gZWFjaCBvdGhlci4gQ2hlY2sgaXQgb3V0IGF0 + IDxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+c3ltcGhv + bm8uY29tL3NlZGFpbHk8L2E+LiBUaGFua3MgdG8gU3ltcGhvbm8gZm9yIGJl + aW5nIGEgc3BvbnNvciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBm + b3IgYWxtb3N0IGEgeWVhciBub3cuIFlvdXIgY29udGludWVkIHN1cHBvcnQg + YWxsb3dzIHVzIHRvIGRlbGl2ZXIgY29udGVudCB0byB0aGUgbGlzdGVuZXJz + IG9uIGEgcmVndWxhciBiYXNpcy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29u + dGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZm + aWMubGlic3luLmNvbS9zZWRhaWx5L0NsZW1lbnRQYW5nLm1wMyIgbGVuZ3Ro + PSI1NDk0NTM4OCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPkFuIGFsZXJ0IGlzIGEgc2lnbmFsIG9mIHByb2JsZW1hdGljIGFw + cGxpY2F0aW9uIGJlaGF2aW9yLiBXaGVuIHNvbWV0aGluZyB1bnVzdWFsIGhh + cHBlbnMgdG8geW91ciBhcHBsaWNhdGlvbiwgYW4gYWxlcnQgY2FuIGJyaW5n + IHRoYXQgYW5vbWFseSB0byB5b3VyIGF0dGVudGlvbi4gSW4gb3JkZXIgdG8g + ZGV0ZWN0IHVudXN1YWwgZXZlbnRzLCB5b3UgbmVlZCB0byBkZWZpbmUgdGhl + IG5vcm0uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkFu + IGFsZXJ0IGlzIGEgc2lnbmFsIG9mIHByb2JsZW1hdGljIGFwcGxpY2F0aW9u + IGJlaGF2aW9yLiBXaGVuIHNvbWV0aGluZyB1bnVzdWFsIGhhcHBlbnMgdG8g + eW91ciBhcHBsaWNhdGlvbiwgYW4gYWxlcnQgY2FuIGJyaW5nIHRoYXQgYW5v + bWFseSB0byB5b3VyIGF0dGVudGlvbi4gSW4gb3JkZXIgdG8gZGV0ZWN0IHVu + dXN1YWwgZXZlbnRzLCB5b3UgbmVlZCB0byBkZWZpbmUgdGhlIG5vcm0uIElu + IG9yZGVyIHRvIGRlZmluZSBib3RoIG5vcm1hbCBhbmQgcHJvYmxlbWF0aWMg + YmVoYXZpb3IsIHlvdSBuZWVkIG1ldHJpY3MuIE1ldHJpY3MgYXJlIG1lYXN1 + cmVtZW50cyBvZiB0aGUgYmVoYXZpb3IgaW4geW91ciBhcHBsaWNhdGlvbi4g + TWV0cmljcyBnZXQgY3JlYXRlZCBmcm9tIGxvZ3MgYW5kIG90aGVyIGRhdGEu + IFRoZXNlIGhpZ2ggdm9sdW1lcyBvZkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0 + dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGlj + aXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9u + PjU2OjU4PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20t + d29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5ODc8L3Bvc3QtaWQ+CQk8 + L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5WaWRlbyBJbmZyYXN0cnVjdHVy + ZSB3aXRoIE1hdHQgTWNDbHVyZSBhbmQgSm9uIERhaGw8L3RpdGxlPg0KCQk8 + bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA5LzI3L3ZpZGVvLWluZnJhc3RydWN0dXJlLXdpdGgtbWF0dC1tY2NsdXJl + LWFuZC1qb24tZGFobC88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMjcgU2Vw + IDIwMTcgMDk6MDA6MDggKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVy + bWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vP3A9Mzk4NjwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMjcvdmlkZW8taW5m + cmFzdHJ1Y3R1cmUtd2l0aC1tYXR0LW1jY2x1cmUtYW5kLWpvbi1kYWhsLyNy + ZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMjcvdmlkZW8t + aW5mcmFzdHJ1Y3R1cmUtd2l0aC1tYXR0LW1jY2x1cmUtYW5kLWpvbi1kYWhs + L2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjA8 + L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVw + aXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xv + dWQgRW5naW5lZXJpbmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbYml0cmF0ZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W2NvZGVjXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSm9u + IERhaGxdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYXR0 + IE1jQ2x1cmVdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtN + dXhdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtzdHJlYW1p + bmcgYXJjaGl0ZWN0dXJlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbdmlkZW8gaW5mcmFzdHJ1Y3R1cmVdXT48L2NhdGVnb3J5PgoJCTxk + ZXNjcmlwdGlvbj5QbGF5aW5nIGEgdmlkZW8gb24gdGhlIEludGVybmV0IHNl + ZW1zIHNpbXBsZS4gWW91IHByZXNzIHBsYXksIHRoZSB2aWRlbyBnZXRzIGRl + bGl2ZXJlZCwgYW5kIGJvb23igJN5b3UgYXJlIHdhdGNoaW5nIEdhbWUgb2Yg + VGhyb25lcywgcmlnaHQ/IEl04oCZcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVk + LiBVbmxlc3MgeW91IGhhdmUgYnVpbHQgYW4gYXBwbGljYXRpb24gdGhhdCBp + bnZvbHZlcyB2aWRlbywgeW91IHByb2JhYmx5IGhhdmUgbm90IGRlYWx0IHdp + dGggdGhlIHdvcmxkIG9mIGNvZGVjcywgYml0cmF0ZXMsIGFuZCBzdHJlYW1p + bmcuIERlcGVuZGluZyBvbiB0aGUgYmFuZHdpZHRoIGJldHdlZW4gdGhlIHVz + ZXIgYW5kIHRoZSBzZXJ2ZXIsIHlvdSBtaWdodCB3YW50IHRvIHVzZSBkaWZm + ZXJlbnQgY29tcHJlc3Npb24gcmF0ZXMuIFRoaW5rIGFib3V0Jmx0O3AmZ3Q7 + Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVm + PSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDkvMjcvdmlkZW8taW5mcmFzdHJ1Y3R1cmUtd2l0aC1tYXR0LW1jY2x1 + cmUtYW5kLWpvbi1kYWhsLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4u + Jmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1t + YW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIx + NzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmln + aHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFk + aXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0 + aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA5L211eGZvdW5kZXJzLnBuZz9yZXNpemU9MTc1 + JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlBsYXlpbmcg + YSB2aWRlbyBvbiB0aGUgSW50ZXJuZXQgc2VlbXMgc2ltcGxlLiBZb3UgcHJl + c3MgcGxheSwgdGhlIHZpZGVvIGdldHMgZGVsaXZlcmVkLCBhbmQgYm9vbSYj + ODIxMTt5b3UgYXJlIHdhdGNoaW5nIEdhbWUgb2YgVGhyb25lcywgcmlnaHQ/ + PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5JdOKAmXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZC4gVW5sZXNzIHlvdSBo + YXZlIGJ1aWx0IGFuIGFwcGxpY2F0aW9uIHRoYXQgaW52b2x2ZXMgdmlkZW8s + IHlvdSBwcm9iYWJseSBoYXZlIG5vdCBkZWFsdCB3aXRoIHRoZSB3b3JsZCBv + ZiBjb2RlY3MsIGJpdHJhdGVzLCBhbmQgc3RyZWFtaW5nLiBEZXBlbmRpbmcg + b24gdGhlIGJhbmR3aWR0aCBiZXR3ZWVuIHRoZSB1c2VyIGFuZCB0aGUgc2Vy + dmVyLCB5b3UgbWlnaHQgd2FudCB0byB1c2UgZGlmZmVyZW50IGNvbXByZXNz + aW9uIHJhdGVzLiBUaGluayBhYm91dCBhbGwgb2YgdGhlIGRpZmZlcmVudCB1 + c2UgY2FzZXMmIzgyMTE7ZGlmZmVyZW50IGNvbm5lY3Rpb24gc3BlZWRzLCBk + ZXZpY2UgdHlwZXMsIG9wZXJhdGluZyBzeXN0ZW1zLCB2aWRlbyBwbGF5ZXJz + LCBjbG91ZCBwcm92aWRlcnMuIEFzIGEgZGV2ZWxvcGVyLCB5b3UganVzdCB3 + YW50IHZpZGVvcyBpbiB5b3VyIGFwcGxpY2F0aW9uIHRvIHBsYXkgcXVpY2ts + eSBhbmQgcmVsaWFibHkuIEJ1dCBpdCB0YWtlcyBhIGxvdCBvZiBlbmdpbmVl + cmluZywgbW9uaXRvcmluZywgYW5kIHJlLWVuZ2luZWVyaW5nIHRvIGdldCBp + dCByaWdodC48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPk1hdHQgTWNDbHVyZSBhbmQgSm9uIERhaGwgYXJlIHRoZSBm + b3VuZGVycyBvZiBNdXgsIGEgY29tcGFueSB0aGF0IG1ha2VzIHZpZGVvIGlu + ZnJhc3RydWN0dXJlIHRlY2hub2xvZ2llcy4gUHJldmlvdXNseSB0aGV5IGJ1 + aWx0IFplbmNvZGVyLCBhIHByb2R1Y3QgZm9yIGVuY29kaW5nIGFuZCBkZWxp + dmVyaW5nIHZpZGVvLiBUaGlzIGVwaXNvZGUgd2FzIGEgZmFzY2luYXRpbmcg + ZGlzY3Vzc2lvbiBvZiB3aHkgYnVpbGRpbmcgdmlkZW8gcHJvZHVjdHMgZm9y + IHRoZSBtb2Rlcm4gSW50ZXJuZXQgaXMgc3RpbGwgc28gaGFyZC4gPC9zcGFu + PjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkRvd25sb2FkIDwvc3Bhbj48YSBocmVmPSJodHRwczovL2l0 + dW5lcy5hcHBsZS5jb20vdXMvYXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRh + aWx5LXBvZGNhc3QtYXBwL2lkMTI1MzczNDQyNj9tdD04Ij48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnRoZSBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBhcHAgZm9yIGlPUzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij4gdG8gaGVhciBhbGwgb2Ygb3VyIG9sZCBlcGlz + b2RlcywgYW5kIGVhc2lseSBkaXNjb3ZlciBuZXcgdG9waWNzIHRoYXQgbWln + aHQgaW50ZXJlc3QgeW91LiBZb3UgY2FuIHVwdm90ZSB0aGUgZXBpc29kZXMg + eW91IGxpa2UgYW5kIGdldCByZWNvbW1lbmRhdGlvbnMgYmFzZWQgb24geW91 + ciBsaXN0ZW5pbmcgaGlzdG9yeS4gV2l0aCA2MDAgZXBpc29kZXMsIGl0IGlz + IGhhcmQgdG8gZmluZCB0aGUgZXBpc29kZXMgdGhhdCBhcHBlYWwgdG8geW91 + LCBhbmQgd2UgaG9wZSB0aGUgYXBwIGhlbHBzIHdpdGggdGhhdC48L3NwYW4+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZSBp + T1MgYXBwIGlzIHRoZSBmaXJzdCBwcm9qZWN0IHRvIGNvbWUgb3V0IG9mIHRo + ZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBPcGVuIFNvdXJjZSBQcm9q + ZWN0LiBUaGVyZSBhcmUgbW9yZSBwcm9qZWN0cyBvbiB0aGUgd2F5LCBhbmQg + d2UgYXJlIGxvb2tpbmcgZm9yIGNvbnRyaWJ1dG9ycyYjODIxMTtpZiB5b3Ug + d2FudCB0byBoZWxwIGJ1aWxkIGEgYmV0dGVyIFNFIERhaWx5IGV4cGVyaWVu + Y2UsIGNoZWNrIG91dCBnaXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS4gV2UgYXJlIHdvcmtpbmcgb24gYW4gQW5kcm9pZCBhcHAsIHRoZSBp + T1MgYXBwLCBhIHJlY29tbWVuZGF0aW9uIHN5c3RlbSwgYW5kIGEgd2ViIGZy + b250ZW5kLiBIZWxwIHVzIGJ1aWxkIGEgbmV3IHdheSB0byBjb25zdW1lIHNv + ZnR3YXJlIGVuZ2luZWVyaW5nIGNvbnRlbnQgYXQgPGEgaHJlZj0iaHR0cDov + L2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5Ij5naXRodWIu + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseTwvYT4uPC9zcGFuPjwvcD4K + PGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMnh2ZlRh + dCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4ODQiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL2hlcHRpby9oZXB0aW8tbG9nby1kYXJrLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvaGVwdGlvLWxvZ28tZGFy + ay5wbmc/Zml0PTk2MCUyQzM5NiIgZGF0YS1vcmlnLXNpemU9Ijk2MCwzOTYi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iaGVwdGlvLWxvZ28tZGFyayIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP2ZpdD0zMDAlMkMxMjQiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0 + aW8tbG9nby1kYXJrLnBuZz9maXQ9OTYwJTJDMzk2IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTM4ODQgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0aW8tbG9nby1kYXJrLnBuZz9yZXNp + emU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP3Jlc2l6ZT0zMDAl + MkMxMjQgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9oZXB0 + aW8tbG9nby1kYXJrLnBuZz9yZXNpemU9NzY4JTJDMzE3IDc2OHcsIGh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDgvaGVwdGlvLWxvZ28tZGFyay5wbmc/ + cmVzaXplPTcyMCUyQzI5NyA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L2hlcHRpby1sb2dvLWRhcmsucG5nP3c9OTYwIDk2MHciIHNpemVz + PSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+WW91IHdh + bnQgdG8gd29yayB3aXRoIEt1YmVybmV0ZXMgYnV0IHdpc2ggdGhlIHByb2Nl + c3Mgd2FzIHNpbXBsZXIuIFRoZSBmb2xrcyB3aG8gYnJvdWdodCB5b3UgS3Vi + ZXJuZXRlcyBub3cgd2FudCB0byBtYWtlIGl0IGVhc2llciB0byB1c2UuIEhl + cHRpbyBpcyBhIGNvbXBhbnkgYnkgZm91bmRlcnMgb2YgdGhlIEt1YmVybmV0 + ZXMgcHJvamVjdCwgYnVpbHQgdG8gc3VwcG9ydCBhbmQgYWR2YW5jZSB0aGUg + b3BlbiBLdWJlcm5ldGVzIGVjb3N5c3RlbS4gVGhleSBidWlsZCBwcm9kdWN0 + cywgb3BlbiBzb3VyY2UgdG9vbHMsIGFuZCBzZXJ2aWNlcyB0aGF0IGJyaW5n + IHBlb3BsZSBjbG9zZXIgdG8g4oCYdXBzdHJlYW3igJkgS3ViZXJuZXRlcy4g + SGVwdGlvIG9mZmVycyBpbnN0cnVjdG9yLWxlZCBLdWJlcm5ldGVzIHRyYWlu + aW5nLCBwcm9mZXNzaW9uYWwgaGVscCBmcm9tIGV4cGVydCBLdWJlcm5ldGVz + IHNvbHV0aW9ucyBlbmdpbmVlcnMsIGFzIHdlbGwgYXMgZXhwZXJ0IHN1cHBv + cnQgb2YgdXBzdHJlYW0gS3ViZXJuZXRlcyBjb25maWd1cmF0aW9ucy4gRmlu + ZCBvdXQgbW9yZSBhdCA8YSBocmVmPSJodHRwOi8vYml0Lmx5LzJ4dmZUYXQi + PnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaGVwdGlvPC9hPi4gSGVw + dGlvIGlzIGNvbW1pdHRlZCB0byBtYWtpbmcgS3ViZXJuZXRlcyBlYXNpZXIg + Zm9yIGFsbCBkZXZlbG9wZXJzIHRvIHVzZSB0aHJvdWdoIHRoZWlyIGNvbnRy + aWJ1dGlvbnMgdG8gS3ViZXJuZXRlcywgSGVwdGlvIG9wZW4gc291cmNlIHBy + b2plY3RzLCBhbmQgb3RoZXIgY29tbXVuaXR5IGVmZm9ydHMuIENoZWNrIG91 + dCBIZXB0aW8gdG8gbWFrZSB5b3VyIGxpZmUgd2l0aCBLdWJlcm5ldGVzIGVh + c2llciBhdCA8YSBocmVmPSJodHRwOi8vYml0Lmx5LzJ4dmZUYXQiPnNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaGVwdGlvPC9hPi48L3NwYW4+PC9k + aXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPiZuYnNwOzwvcD4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0 + ZWNoLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzgx + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL2t3bG9nb3MvZ3JhbW1hdGVjaC9ncmFtbWF0ZWNoLWxvZ29s + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTgyNSUyQzMwMCIgZGF0YS1v + cmlnLXNpemU9IjgyNSwzMDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iR3JhbW1hdGVjaC1Mb2dvTCIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2Zp + dD0zMDAlMkMxMDkiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJD + MzAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4MTUgc2l6ZS1tZWRp + dW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9yZXNpemU9MzAwJTJDMTA5IiBhbHQ9IiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9n + b0wuanBnP3Jlc2l6ZT0zMDAlMkMxMDkgMzAwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9NzY4 + JTJDMjc5IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3Jh + bW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTcyMCUyQzI2MiA3MjB3LCBodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBn + P3c9ODI1IDgyNXciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncs + IDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIg + Lz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkdyYW1tYVRlY2ggQ29kZVNvbmFy + IGhlbHBzIGRldmVsb3BtZW50IHRlYW1zIGltcHJvdmUgY29kZSBxdWFsaXR5 + IHdpdGggc3RhdGljIGFuYWx5c2lzLiBJdCBoZWxwcyBmbGFnIGlzc3VlcyBl + YXJseSBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcywgYWxsb3dpbmcgZGV2 + ZWxvcGVycyB0byByZWxlYXNlIGJldHRlciBjb2RlIGZhc3Rlci7CoENvZGVT + b25hciBjYW4gZWFzaWx5IGJlIGludGVncmF0ZWQgaW50byBhbnkgZGV2ZWxv + cG1lbnQgcHJvY2Vzcy4gQ29kZVNvbmFyIHBlcmZvcm1zIGFkdmFuY2VkIHN0 + YXRpYyBhbmFseXNpcyBvZiBDLCBDKyssIEphdmEsIGFuZCBldmVuIHJhdyBi + aW5hcnkgY29kZS4gQ29kZVNvbmFyIHBlcmZvcm1zIHVuaXF1ZSBkYXRhZmxv + dyBhbmQgc3ltYm9saWMgZXhlY3V0aW9uIGFuYWx5c2lzIHRvIGFnZ3Jlc3Np + dmVseSBzY2FuIGZvciBwcm9ibGVtcyBpbiB5b3VyIGNvZGUuwqBKdXN0IGxp + a2UgYmF0dGxlc2hpcHMgdXNlIHNvbmFyIHRvIGRldGVjdCBvYmplY3RzIGRl + ZXAgdW5kZXJ3YXRlciwgZW5naW5lZXJzIHVzZSBDb2RlU29uYXIgdG8gZGV0 + ZWN0IHN1YnRsZSBwcm9ibGVtcyBkZWVwIHdpdGhpbiB0aGVpciBjb2RlLsKg + R28gdG8gPGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3NlZGFp + bHkiPmdvLmdyYW1tYXRlY2guY29tL3NlZGFpbHk8L2E+IHRvIGdldCB5b3Vy + IGZyZWUgMzAtZGF5IHRyaWFsLCBleGNsdXNpdmVseSBmb3IgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzwqBhbmQgdW5sZWFzaCB0aGUg + cG93ZXIgb2YgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lzLjxiciAvPgo8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vYml0Lmx5LzJqWUhrbkMiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzODg3IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zcXVhcmUv + c3F1YXJlLXBhcnRuZXItbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3NxdWFyZS1wYXJ0bmVyLWxvZ28uanBn + P2ZpdD0xNzA5JTJDNDMwIiBkYXRhLW9yaWctc2l6ZT0iMTcwOSw0MzAiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + c3F1YXJlLXBhcnRuZXItbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA4L3NxdWFyZS1wYXJ0bmVyLWxvZ28uanBnP2ZpdD0zMDAlMkM3NSIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3Nx + dWFyZS1wYXJ0bmVyLWxvZ28uanBnP2ZpdD0xMDI0JTJDMjU4IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTM4ODcgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dv + LmpwZz9yZXNpemU9MzAwJTJDNzUiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDgvc3F1YXJlLXBhcnRuZXItbG9nby5qcGc/ + cmVzaXplPTMwMCUyQzc1IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvc3F1YXJlLXBhcnRuZXItbG9nby5qcGc/cmVzaXplPTc2OCUyQzE5 + MyA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3NxdWFyZS1w + YXJ0bmVyLWxvZ28uanBnP3Jlc2l6ZT0xMDI0JTJDMjU4IDEwMjR3LCBodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3NxdWFyZS1wYXJ0bmVyLWxvZ28u + anBnP3Jlc2l6ZT03MjAlMkMxODEgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TcXVhcmUgaXMgYSBjb21wbGV0 + ZSBvbW5pY2hhbm5lbCBwYXltZW50cyBlY29zeXN0ZW0gd2hlcmUgZGV2ZWxv + cGVycyBjYW4gY3JlYXRlIGEgcG93ZXJmdWwgY29tbWVyY2Ugc29sdXRpb24u + IFlvdeKAmXZlIHNlZW4gU3F1YXJlIGFyb3VuZCBhdCB5b3VyIGZhdm9yaXRl + IGNvZmZlZSBzaG9wcyBhbmQgcmV0YWlsZXJzLCBhbmQgaXQgaXMgdHJ1c3Rl + ZCBieSBtaWxsaW9ucyBvZiBidXNpbmVzc2VzIGZvciBpdHMgc2ltcGxpY2l0 + eSBhbmQgcmVsaWFiaWxpdHkuIEJ1dCBhcyBhIGRldmVsb3BlciwgeW91IGNh + biB1bmxvY2sgdGhlIHBvdGVudGlhbCBvZiBhIGZ1bGwgcGF5bWVudHMgYW5k + IGJ1c2luZXNzIG1hbmFnZW1lbnQgcGxhdGZvcm0gd2l0aCBTcXVhcmUmIzgy + MTc7cyBBUElzIGF0PC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMmpZ + SGtuQyI+IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+c29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zcXVhcmU8L3NwYW4+PC9hPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBUaGVyZSBhcmUgQVBJcyBm + b3Igb25saW5lIHBheW1lbnRzLCB0YWtpbmcgaW4tcGVyc29uIHBheW1lbnRz + IHdpdGggU3F1YXJlIGhhcmR3YXJlIHRocm91Z2ggYSBjdXN0b20gYXBwIHlv + dSBidWlsZCwgYW5kIGV2ZW4gaW52ZW50b3J5IGFuZCBlbXBsb3llZSBtYW5h + Z2VtZW50IGFuZCBzYWxlcyByZXBvcnRpbmcuIEJ1c2luZXNzZXMgb2YgYWxs + IHNpemVzIHVzZSBTcXVhcmUmIzgyMTc7cyBBUElzIHRvIHRha2UgcGF5bWVu + dHMgc2VjdXJlbHkgb25saW5lLCBpbiBzdG9yZSwgYW5kIG9uIHRoZSBnbyB3 + aXRoIGEgc2luZ2xlIHNvbHV0aW9uLCBhbmQgaW50ZWdyYXRlIHdpdGggYmFj + ay1lbmQgc3lzdGVtcyB0aGV5IGFscmVhZHkgdXNlLiBDaGVjayBvdXQgU3F1 + YXJl4oCZcyBkZXZlbG9wZXIgcG9ydGFsIGZvciBhbGwgdGhlIHRvb2xzIHlv + dSBuZWVkIHRvIGdldCBzdGFydGVkIHRvZGF5LiBUYWtlIFNxdWFyZeKAmXMg + Y29tbWVyY2Ugc29sdXRpb25zIGJleW9uZCB0aGUgY29mZmVlIHNob3AgYW5k + IHBvd2VyIHBheW1lbnRzIGZvciBhbnkgdHlwZSBvZiBidXNpbmVzcyBieSBn + b2luZyB0bzwvc3Bhbj48YSBocmVmPSJodHRwOi8vYml0Lmx5LzJqWUhrbkMi + PiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnNvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vc3F1YXJlPC9zcGFuPjwvYT48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi48L3NwYW4+PC9kaXY+PC9wPgo8cD48 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3lt + cGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWct + c2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25v + LnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3Jp + bmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEg + Y3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVy + cyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBm + cm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRw + Oi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5 + PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Ig + b2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHll + YXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBk + ZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIg + YmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4N + CgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20v + c2VkYWlseS9WaWRlb0luZnJhc3RydWN0dXJlLm1wMyIgbGVuZ3RoPSI1Njc3 + MDQzMSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxl + PlBsYXlpbmcgYSB2aWRlbyBvbiB0aGUgSW50ZXJuZXQgc2VlbXMgc2ltcGxl + LiBZb3UgcHJlc3MgcGxheSwgdGhlIHZpZGVvIGdldHMgZGVsaXZlcmVkLCBh + bmQgYm9vbeKAk3lvdSBhcmUgd2F0Y2hpbmcgR2FtZSBvZiBUaHJvbmVzLCBy + aWdodD8gSXTigJlzIGEgYml0IG1vcmUgY29tcGxpY2F0ZWQuIFVubGVzcyB5 + b3UgaGF2ZSBidWlsdCBhbiBhcHBsaWNhdGlvbiB0aGF0IGludm9sdmVzIHZp + ZGVvLDwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5QbGF5 + aW5nIGEgdmlkZW8gb24gdGhlIEludGVybmV0IHNlZW1zIHNpbXBsZS4gWW91 + IHByZXNzIHBsYXksIHRoZSB2aWRlbyBnZXRzIGRlbGl2ZXJlZCwgYW5kIGJv + b23igJN5b3UgYXJlIHdhdGNoaW5nIEdhbWUgb2YgVGhyb25lcywgcmlnaHQ/ + IEl04oCZcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkLiBVbmxlc3MgeW91IGhh + dmUgYnVpbHQgYW4gYXBwbGljYXRpb24gdGhhdCBpbnZvbHZlcyB2aWRlbywg + eW91IHByb2JhYmx5IGhhdmUgbm90IGRlYWx0IHdpdGggdGhlIHdvcmxkIG9m + IGNvZGVjcywgYml0cmF0ZXMsIGFuZCBzdHJlYW1pbmcuIERlcGVuZGluZyBv + biB0aGUgYmFuZHdpZHRoIGJldHdlZW4gdGhlIHVzZXIgYW5kIHRoZSBzZXJ2 + ZXIsIHlvdSBtaWdodCB3YW50IHRvIHVzZSBkaWZmZXJlbnQgY29tcHJlc3Np + b24gcmF0ZXMuIFRoaW5rIGFib3V0Q29udGludWUgcmVhZGluZy4uLjwvaXR1 + bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNp + dD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+ + NTg6NTI8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13 + b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+Mzk4NjwvcG9zdC1pZD4JCTwv + aXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkRhc2hib2FyZGluZyBhbmQgUXVl + cnkgTGF0ZW5jeSB3aXRoIFRvbSBPJiM4MjE3O05laWxsPC90aXRsZT4NCgkJ + PGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wOS8yNi9kYXNoYm9hcmRpbmctYW5kLXF1ZXJ5LWxhdGVuY3ktd2l0aC10 + b20tb25laWxsLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAyNiBTZXAgMjAx + NyAwOTowMDozOCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxp + bms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8/cD0zOTg1PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yNi9kYXNoYm9hcmRpbmct + YW5kLXF1ZXJ5LWxhdGVuY3ktd2l0aC10b20tb25laWxsLyNjb21tZW50czwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzI2L2Rhc2hib2FyZGluZy1h + bmQtcXVlcnktbGF0ZW5jeS13aXRoLXRvbS1vbmVpbGwvZmVlZC88L3dmdzpj + b21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MTwvc2xhc2g6Y29tbWVu + dHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEYXRhXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2NhY2hpbmddXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtjb2x1bW5hciBkYXRhXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbZGFzaGJvYXJkaW5nXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUGVyaXNjb3BlIERhdGFdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtxdWVyeSBsYXRlbmN5 + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUmVkc2hpZnRd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtUb20gTydOZWls + bF1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkEgZGFzaGJvYXJkIGlz + IGEgZGF0YSB2aXN1YWxpemF0aW9uIHRoYXQgYWdncmVnYXRlcyBtZXRyaWNz + IGluIGEgd2F5IHRoYXQgd2UgY2FuIHF1aWNrbHkgdW5kZXJzdGFuZC4gSW4g + YSBtb2Rlcm4gc29mdHdhcmUgY29tcGFueSwgZXZlcnlvbmUgdXNlcyBkYXNo + Ym9hcmRz4oCTZnJvbSBzYWxlc3Blb3BsZSB0byBEZXZPcHMgdG8gSFIuIEVh + Y2ggZGFzaGJvYXJkIHJlcHJlc2VudHMgYSBxdWVyeSB0aGF0IG11c3QgYmUg + dXBkYXRlZCBmcmVxdWVudGx5LCBzbyB0aGF0IGFueW9uZSBsb29raW5nIGF0 + IGl0IGlzIGdldHRpbmcgdXAtdG8tZGF0ZSBpbmZvcm1hdGlvbi4gVGhlIGRh + dGEgc2V0IGJlaW5nIHF1ZXJpZWQgbWlnaHQgYmUgZ2V0dGluZyB1cGRhdGVk + IHF1aWNrbHkgaW4gdGhlIGNhc2Ugb2YgdGltZSBzZXJpZXMgb3IgbG9nIGRh + dGEuIFNvbWUmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1y + ZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yNi9kYXNoYm9hcmRpbmctYW5kLXF1 + ZXJ5LWxhdGVuY3ktd2l0aC10b20tb25laWxsLyZxdW90OyZndDtDb250aW51 + ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9u + Pg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVz + LWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1i + dXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + b3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xh + c3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxl + PSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAw + MDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9tZWRpYS5saWNkbi5jb20vbXByL21wci9z + aHJpbmtucF8yMDBfMjAwL0FBRUFBUUFBQUFBQUFBczVBQUFBSkdObU56WTRO + alExTFRVNE16RXRORE13TVMxaFlUYzJMVE5rT1RjMFlqQTFNekk0TWcuanBn + P3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+QSBkYXNoYm9hcmQgaXMgYSBkYXRhIHZpc3VhbGl6YXRpb24gdGhhdCBh + Z2dyZWdhdGVzIG1ldHJpY3MgaW4gYSB3YXkgdGhhdCB3ZSBjYW4gcXVpY2ts + eSB1bmRlcnN0YW5kLiBJbiBhIG1vZGVybiBzb2Z0d2FyZSBjb21wYW55LCBl + dmVyeW9uZSB1c2VzIGRhc2hib2FyZHMmIzgyMTE7ZnJvbSBzYWxlc3Blb3Bs + ZSB0byBEZXZPcHMgdG8gSFIuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+RWFjaCBkYXNoYm9hcmQgcmVwcmVzZW50 + cyBhIHF1ZXJ5IHRoYXQgbXVzdCBiZSB1cGRhdGVkIGZyZXF1ZW50bHksIHNv + IHRoYXQgYW55b25lIGxvb2tpbmcgYXQgaXQgaXMgZ2V0dGluZyB1cC10by1k + YXRlIGluZm9ybWF0aW9uLiBUaGUgZGF0YSBzZXQgYmVpbmcgcXVlcmllZCBt + aWdodCBiZSBnZXR0aW5nIHVwZGF0ZWQgcXVpY2tseSBpbiB0aGUgY2FzZSBv + ZiB0aW1lIHNlcmllcyBvciBsb2cgZGF0YS4gU29tZSBxdWVyaWVzIHJlcXVp + cmUgam9pbnMgYmV0d2VlbiBkaXNwYXJhdGUgZGF0YSBzb3VyY2VzLjwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SG93 + IGRvIHlvdSBrZWVwIGRhc2hib2FyZHMgYWNjdXJhdGU/IEhvdyBkbyB5b3Ug + a2VlcCBxdWVyeSBsYXRlbmN5IGRvd24/PC9zcGFuPjwvcD4KPHA+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Ub20gT+KAmU5laWxsIGlzIHRo + ZSBDVE8gb2YgUGVyaXNjb3BlIERhdGEsIGEgY29tcGFueSB0aGF0IG1ha2Vz + IHBvcHVsYXIgZGFzaGJvYXJkaW5nIHRvb2xzLiBJbiB0aGlzIGVwaXNvZGUs + IFRvbSBleHBsYWlucyB0aGUgZGF0YSBlbmdpbmVlcmluZyB0aGF0IHVuZGVy + bGllcyBQZXJpc2NvcGUgZGF0YS4gV2UgZXhwbG9yZSB0b3BpY3Mgc3VjaCBh + cyBjYWNoaW5nLCBjb2x1bW5hciBkYXRhLCBhbmQgUmVkc2hpZnQuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5XZSBo + YXZlIGRvbmUgbWFueSBvdGhlciBzaG93cyBhYm91dCBkYXRhIGVuZ2luZWVy + aW5nLCBpbmNsdWRpbmcgaW5jbHVkaW5nIHNob3dzIGFib3V0IGhvdyBkYXRh + IGVuZ2luZWVyaW5nIHdvcmtzIGF0IGNvbXBhbmllcyBsaWtlIEFpcmJuYiBh + bmQgR2lwaHkuIERvd25sb2FkIDwvc3Bhbj48YSBocmVmPSJodHRwczovL2l0 + dW5lcy5hcHBsZS5jb20vdXMvYXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRh + aWx5LXBvZGNhc3QtYXBwL2lkMTI1MzczNDQyNj9tdD04Ij48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnRoZSBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBhcHAgZm9yIGlPUzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij4gdG8gaGVhciBhbGwgb2Ygb3VyIG9sZCBlcGlz + b2RlcywgYW5kIGVhc2lseSBkaXNjb3ZlciBuZXcgdG9waWNzIHRoYXQgbWln + aHQgaW50ZXJlc3QgeW91LiBZb3UgY2FuIHVwdm90ZSB0aGUgZXBpc29kZXMg + eW91IGxpa2UgYW5kIGdldCByZWNvbW1lbmRhdGlvbnMgYmFzZWQgb24geW91 + ciBsaXN0ZW5pbmcgaGlzdG9yeS4gV2l0aCA2MDAgZXBpc29kZXMsIGl0IGlz + IGhhcmQgdG8gZmluZCB0aGUgZXBpc29kZXMgdGhhdCBhcHBlYWwgdG8geW91 + LCBhbmQgd2UgaG9wZSB0aGUgYXBwIGhlbHBzIHdpdGggdGhhdC48L3NwYW4+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZSBp + T1MgYXBwIGlzIHRoZSBmaXJzdCBwcm9qZWN0IHRvIGNvbWUgb3V0IG9mIHRo + ZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBPcGVuIFNvdXJjZSBQcm9q + ZWN0LiBUaGVyZSBhcmUgbW9yZSBwcm9qZWN0cyBvbiB0aGUgd2F5LCBhbmQg + d2UgYXJlIGxvb2tpbmcgZm9yIGNvbnRyaWJ1dG9ycyYjODIxMTtpZiB5b3Ug + d2FudCB0byBoZWxwIGJ1aWxkIGEgYmV0dGVyIFNFIERhaWx5IGV4cGVyaWVu + Y2UsIGNoZWNrIG91dCBnaXRodWIuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS4gV2UgYXJlIHdvcmtpbmcgb24gYW4gQW5kcm9pZCBhcHAsIHRoZSBp + T1MgYXBwLCBhIHJlY29tbWVuZGF0aW9uIHN5c3RlbSwgYW5kIGEgd2ViIGZy + b250ZW5kLiBIZWxwIHVzIGJ1aWxkIGEgbmV3IHdheSB0byBjb25zdW1lIHNv + ZnR3YXJlIGVuZ2luZWVyaW5nIGNvbnRlbnQgYXQgPGEgaHJlZj0iaHR0cDov + L2dpdGh1Yi5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5Ij5naXRodWIu + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseTwvYT4uPC9zcGFuPjwvcD4K + PGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9ImJpdC5seS8yallIa25DIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzg4NyIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3F1 + YXJlL3NxdWFyZS1wYXJ0bmVyLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dv + LmpwZz9maXQ9MTcwOSUyQzQzMCIgZGF0YS1vcmlnLXNpemU9IjE3MDksNDMw + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9InNxdWFyZS1wYXJ0bmVyLWxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9zcXVhcmUtcGFydG5lci1sb2dvLmpwZz9maXQ9MzAwJTJDNzUi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9zcXVhcmUtcGFydG5lci1sb2dvLmpwZz9maXQ9MTAyNCUyQzI1OCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zODg3IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvc3F1YXJlLXBhcnRuZXIt + bG9nby5qcGc/cmVzaXplPTMwMCUyQzc1IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L3NxdWFyZS1wYXJ0bmVyLWxvZ28u + anBnP3Jlc2l6ZT0zMDAlMkM3NSAzMDB3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA4L3NxdWFyZS1wYXJ0bmVyLWxvZ28uanBnP3Jlc2l6ZT03Njgl + MkMxOTMgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVh + cmUtcGFydG5lci1sb2dvLmpwZz9yZXNpemU9MTAyNCUyQzI1OCAxMDI0dywg + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9zcXVhcmUtcGFydG5lci1s + b2dvLmpwZz9yZXNpemU9NzIwJTJDMTgxIDcyMHciIHNpemVzPSIobWF4LXdp + ZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U3F1YXJlIGlzIGEgY29t + cGxldGUgb21uaWNoYW5uZWwgcGF5bWVudHMgZWNvc3lzdGVtIHdoZXJlIGRl + dmVsb3BlcnMgY2FuIGNyZWF0ZSBhIHBvd2VyZnVsIGNvbW1lcmNlIHNvbHV0 + aW9uLiBZb3XigJl2ZSBzZWVuIFNxdWFyZSBhcm91bmQgYXQgeW91ciBmYXZv + cml0ZSBjb2ZmZWUgc2hvcHMgYW5kIHJldGFpbGVycywgYW5kIGl0IGlzIHRy + dXN0ZWQgYnkgbWlsbGlvbnMgb2YgYnVzaW5lc3NlcyBmb3IgaXRzIHNpbXBs + aWNpdHkgYW5kIHJlbGlhYmlsaXR5LiBCdXQgYXMgYSBkZXZlbG9wZXIsIHlv + dSBjYW4gdW5sb2NrIHRoZSBwb3RlbnRpYWwgb2YgYSBmdWxsIHBheW1lbnRz + IGFuZCBidXNpbmVzcyBtYW5hZ2VtZW50IHBsYXRmb3JtIHdpdGggU3F1YXJl + JiM4MjE3O3MgQVBJcyBhdDwvc3Bhbj48YSBocmVmPSJodHRwOi8vYml0Lmx5 + LzJqWUhrbkMiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+wqBz + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NxdWFyZTwvc3Bhbj48L2E+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4uIFRoZXJlIGFyZSBB + UElzIGZvciBvbmxpbmUgcGF5bWVudHMsIHRha2luZyBpbi1wZXJzb24gcGF5 + bWVudHMgd2l0aCBTcXVhcmUgaGFyZHdhcmUgdGhyb3VnaCBhIGN1c3RvbSBh + cHAgeW91IGJ1aWxkLCBhbmQgZXZlbiBpbnZlbnRvcnkgYW5kIGVtcGxveWVl + IG1hbmFnZW1lbnQgYW5kIHNhbGVzIHJlcG9ydGluZy4gQnVzaW5lc3NlcyBv + ZiBhbGwgc2l6ZXMgdXNlIFNxdWFyZSYjODIxNztzIEFQSXMgdG8gdGFrZSBw + YXltZW50cyBzZWN1cmVseSBvbmxpbmUsIGluIHN0b3JlLCBhbmQgb24gdGhl + IGdvIHdpdGggYSBzaW5nbGUgc29sdXRpb24sIGFuZCBpbnRlZ3JhdGUgd2l0 + aCBiYWNrLWVuZCBzeXN0ZW1zIHRoZXkgYWxyZWFkeSB1c2UuIENoZWNrIG91 + dCBTcXVhcmXigJlzIGRldmVsb3BlciBwb3J0YWwgZm9yIGFsbCB0aGUgdG9v + bHMgeW91IG5lZWQgdG8gZ2V0IHN0YXJ0ZWQgdG9kYXkuIFRha2UgU3F1YXJl + 4oCZcyBjb21tZXJjZSBzb2x1dGlvbnMgYmV5b25kIHRoZSBjb2ZmZWUgc2hv + cCBhbmQgcG93ZXIgcGF5bWVudHMgZm9yIGFueSB0eXBlIG9mIGJ1c2luZXNz + IGJ5IGdvaW5nIHRvPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvMmpZ + SGtuQyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij7CoHNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc3F1YXJlPC9zcGFuPjwvYT48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi48L3NwYW4+PC9kaXY+PC9w + Pgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cHM6Ly9pbnRlcm1peC5pby9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzkyMSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvaW50ZXJt + aXgvaW50ZXJtaXgvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOC9pbnRlcm1peC5qcGc/Zml0PTUwMCUyQzIwMCIgZGF0 + YS1vcmlnLXNpemU9IjUwMCwyMDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW50ZXJtaXgiIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9pbnRlcm1peC5qcGc/Zml0PTMwMCUyQzEyMCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L2ludGVybWl4LmpwZz9maXQ9NTAwJTJDMjAwIiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTM5MjEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9pbnRlcm1peC5qcGc/cmVzaXplPTMwMCUyQzEy + MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9pbnRlcm1peC5qcGc/cmVzaXplPTMwMCUyQzEyMCAzMDB3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2ludGVybWl4LmpwZz93PTUwMCA1MDB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5BbWF6b24gUmVkc2hpZnQgcG93ZXJzIHRoZSBhbmFs + eXRpY3Mgb2YgeW91ciBidXNpbmVzcyYjODIxMTthbmQgSW50ZXJtaXguaW8g + cG93ZXJzIHRoZSBhbmFseXRpY3Mgb2YgeW91ciBSZWRzaGlmdC4gSW50ZXJt + aXguaW8gZ2l2ZXMgeW91IHRoZSB0b29scyB5b3UgbmVlZCB0byBhbmFseXpl + IHlvdXIgQW1hem9uIFJlZHNoaWZ0IHBlcmZvcm1hbmNlIGFuZCBpbXByb3Zl + IHRoZSB0b29sY2hhaW4gb2YgZXZlcnlvbmUgZG93bnN0cmVhbSBmcm9tIHlv + dXIgZGF0YSB3YXJlaG91c2UuIFRoZSB0ZWFtIGF0IEludGVybWl4IGhhcyBz + ZWVuIHNvIG1hbnkgUmVkc2hpZnQgY2x1c3RlcnMsIHRoZXkgYXJlIGNvbmZp + ZGVudCB0aGV5IGNhbiBzb2x2ZSB3aGF0ZXZlciBwZXJmb3JtYW5jZSBpc3N1 + ZXMgeW91IGFyZSBoYXZpbmcuIEdvIHRvIDxhIGhyZWY9Imh0dHBzOi8vaW50 + ZXJtaXguaW8vc2VkYWlseSI+aW50ZXJtaXguaW8vc2VkYWlseTwvYT4gdG8g + Z2V0IGEgZnJlZSAzMC1kYXkgdHJpYWwuIEludGVybWl4IGNvbGxlY3RzIGFs + bCB5b3VyIFJlZHNoaWZ0IGxvZ3MgYW5kIG1ha2VzIGl0IGVhc3kgdG8gZmln + dXJlIG91dCB3aGF0JiM4MjE3O3Mgd3Jvbmcgc28geW91IGNhbiB0YWtlIGFj + dGlvbi4gQWxsIGluIGEgbmljZSwgaW50dWl0aXZlIGRhc2hib2FyZC4gR28g + dG8gPGEgaHJlZj0iaHR0cHM6Ly9pbnRlcm1peC5pby9zZWRhaWx5Ij5pbnRl + cm1peC5pby9zZWRhaWx5PC9hPiB0byBzdGFydCB5b3VyIGZyZWUgMzAtZGF5 + IHRyaWFsLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vc2NhbHlyIj48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMzkxOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2NhbHlyL3NjYWx5cl9sb2dvLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + U2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgZGF0YS1vcmlnLXNpemU9 + IjIyMCw5MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJTY2FseXJfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJf + bG9nby5qcGc/Zml0PTIyMCUyQzkwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTM5MTkgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP3Jlc2l6ZT0yMjAlMkM5MCIgYWx0 + PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2hvIGRvIHlvdSB1c2UgZm9yIGxvZyBt + YW5hZ2VtZW50PyBJIHdhbnQgdG8gdGVsbCB5b3UgYWJvdXQgU2NhbHlyLCB0 + aGUgZmlyc3QgcHVycG9zZSBidWlsdCBsb2cgbWFuYWdlbWVudCB0b29sIG9u + IHRoZSBtYXJrZXQuIE1vc3QgdG9vbHMgb24gdGhlIG1hcmtldCB1dGlsaXpl + IHRleHQgaW5kZXhpbmcgc2VhcmNoLCB3aGljaCBpcyBncmVhdCYjODIzMDsg + Zm9yIGluZGV4aW5nIGEgYm9vay4gQnV0IGlmIHlvdSB3YW50IHRvIHNlYXJj + aCBsb2dzLCBhdCBzY2FsZSwgZmFzdCYjODIzMDsgaXQgYnJlYWtzIGRvd24u + IFNjYWx5ciBidWlsdCB0aGVpciBvd24gZGF0YWJhc2UgZnJvbSBzY3JhdGNo + OiB0aGUgc3lzdGVtIGlzIGZhc3QuIE1vc3Qgc2VhcmNoZXMgdGFrZSBsZXNz + IHRoYW4gMSBzZWNvbmQuIEluIGZhY3QsIDk5JSBvZiB0aGVpciBxdWVyaWVz + IGV4ZWN1dGUgaW4gJmx0OzEgc2Vjb25kLiDCoENvbXBhbmllcyBsaWtlIE9L + Q3VwaWQsIEdpcGh5IGFuZCBDYXJlZXJCdWlsZGVyIHVzZSBTY2FseXIuIEl0 + IHdhcyBidWlsdCBieSBvbmUgb2YgdGhlIGZvdW5kZXJzIG9mIFdyaXRlbHkg + KGFrYSBHb29nbGUgRG9jcykuIFNjYWx5ciBoYXMgY29uc3VtZXIgZ3JhZGUg + VUksIHRoYXQgc2NhbGVzIGluZmluaXRlbHkuIFlvdSBjYW4gbW9uaXRvciBr + ZXkgbWV0cmljcywgdHJpZ2dlciBhbGVydHMsIGFuZCBpbnRlZ3JhdGUgd2l0 + aCBQYWdlckR1dHkuIEl0JiM4MjE3O3MgZWFzeSB0byB1c2UgYW5kIGRpZCB3 + ZSBtZW50aW9uOiBsaWdodG5pbmcgZmFzdC4gR2l2ZSBpdCBhIHRyeSB0b2Rh + eS4gSXTigJlzIGZyZWUgZm9yIDkwIGRheXMgYXQgPGEgaHJlZj0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyIj5zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5cjwvYT4uIDwvZGl2PjwvcD4K + PHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBob25v + L3N5bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1v + cmlnLXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1w + aG9uby5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0PSIi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBzcG9u + c29yaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9ubyBp + cyBhIGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBlbmdp + bmVlcnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVhcm5p + bmcgZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJlZj0i + aHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20vc2Vk + YWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBzcG9u + c29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1vc3Qg + YSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3MgdXMg + dG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSByZWd1 + bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29k + ZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4u + Y29tL3NlZGFpbHkvUGVyaXNjb3BlRGF0YS5tcDMiIGxlbmd0aD0iNTk2NTQ5 + ODgiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5B + IGRhc2hib2FyZCBpcyBhIGRhdGEgdmlzdWFsaXphdGlvbiB0aGF0IGFnZ3Jl + Z2F0ZXMgbWV0cmljcyBpbiBhIHdheSB0aGF0IHdlIGNhbiBxdWlja2x5IHVu + ZGVyc3RhbmQuIEluIGEgbW9kZXJuIHNvZnR3YXJlIGNvbXBhbnksIGV2ZXJ5 + b25lIHVzZXMgZGFzaGJvYXJkc+KAk2Zyb20gc2FsZXNwZW9wbGUgdG8gRGV2 + T3BzIHRvIEhSLiBFYWNoIGRhc2hib2FyZCByZXByZXNlbnRzIGEgcXVlcnkg + dGhhdCBtdXN0IGJlIHVwZGF0ZWQgZnJlcXVlbi4uLjwvaXR1bmVzOnN1YnRp + dGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5BIGRhc2hib2FyZCBpcyBhIGRhdGEg + dmlzdWFsaXphdGlvbiB0aGF0IGFnZ3JlZ2F0ZXMgbWV0cmljcyBpbiBhIHdh + eSB0aGF0IHdlIGNhbiBxdWlja2x5IHVuZGVyc3RhbmQuIEluIGEgbW9kZXJu + IHNvZnR3YXJlIGNvbXBhbnksIGV2ZXJ5b25lIHVzZXMgZGFzaGJvYXJkc+KA + k2Zyb20gc2FsZXNwZW9wbGUgdG8gRGV2T3BzIHRvIEhSLiBFYWNoIGRhc2hi + b2FyZCByZXByZXNlbnRzIGEgcXVlcnkgdGhhdCBtdXN0IGJlIHVwZGF0ZWQg + ZnJlcXVlbnRseSwgc28gdGhhdCBhbnlvbmUgbG9va2luZyBhdCBpdCBpcyBn + ZXR0aW5nIHVwLXRvLWRhdGUgaW5mb3JtYXRpb24uIFRoZSBkYXRhIHNldCBi + ZWluZyBxdWVyaWVkIG1pZ2h0IGJlIGdldHRpbmcgdXBkYXRlZCBxdWlja2x5 + IGluIHRoZSBjYXNlIG9mIHRpbWUgc2VyaWVzIG9yIGxvZyBkYXRhLiBTb21l + Q29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5l + czphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczph + dXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxp + Y2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+MTowMTo1MjwvaXR1bmVzOmR1cmF0 + aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0 + aW9uczoxIj4zOTg1PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8 + dGl0bGU+U3RhdGljIEFuYWx5c2lzIHdpdGggUGF1bCBBbmRlcnNvbjwvdGl0 + bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDkvMjUvc3RhdGljLWFuYWx5c2lzLXdpdGgtcGF1bC1hbmRl + cnNvbi88L2xpbms+DQoJCTxwdWJEYXRlPk1vbiwgMjUgU2VwIDIwMTcgMDk6 + MDA6NTMgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9 + Mzk4MzwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMjUvc3RhdGljLWFuYWx5c2lzLXdp + dGgtcGF1bC1hbmRlcnNvbi8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3 + OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOS8yNS9zdGF0aWMtYW5hbHlzaXMtd2l0aC1wYXVsLWFuZGVy + c29uL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Nl + Y3VyaXR5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbY29k + ZSBldmFsdWF0aW9uXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbQ29kZVNvbmFyXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbR3JhbW1hVGVjaF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0lERV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2xp + bnRlcl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BhdWwg + QW5kZXJzb25dXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5TdGF0aWMg + YW5hbHlzaXMgaXMgdGhlIHByb2Nlc3Mgb2YgZXZhbHVhdGluZyBjb2RlIGZv + ciBlcnJvcnMsIG1lbW9yeSBsZWFrcywgYW5kIHNlY3VyaXR5IHZ1bG5lcmFi + aWxpdGllcy4gVGhlIOKAnHN0YXRpY+KAnSBwYXJ0IHJlZmVycyB0byB0aGUg + ZmFjdCB0aGF0IHRoZSBjb2RlIGlzIG5vdCBydW5uaW5nLiBUaGlzIGRpZmZl + cmVudGlhdGVzIGl0IGZyb20gdW5pdCB0ZXN0cyBhbmQgaW50ZWdyYXRpb24g + dGVzdHMsIHdoaWNoIGV2YWx1YXRlIHRoZSBydW50aW1lIGNoYXJhY3Rlcmlz + dGljcyBvZiBjb2RlLiBJZiB5b3UgdXNlIGFuIElERSBvciBhIGxpbnRlciwg + eW91IGFyZSB1c2luZyBhIGJhc2ljIGZvcm0gb2Ygc3RhdGljIGFuYWx5c2lz + IGFsbCB0aGUgdGltZS4gTW9yZSBzb3BoaXN0aWNhdGVkIHN0YXRpYyBhbmFs + eXNpcyB0b29scyBjYW4mbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250 + aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yNS9zdGF0aWMtYW5hbHlz + aXMtd2l0aC1wYXVsLWFuZGVyc29uLyZxdW90OyZndDtDb250aW51ZSByZWFk + aW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8 + Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRh + aW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0 + L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1z + aXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1 + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFs + aWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3Jk + ZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1h + eC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRw + czovL2kyLndwLmNvbS9tZWRpYS5saWNkbi5jb20vbXByL21wci9zaHJpbmtu + cF8yMDBfMjAwL3AvMS8wMDAvMDI4LzAyYi8zNTM3ZTRkLmpwZz9yZXNpemU9 + MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlN0YXRp + YyBhbmFseXNpcyBpcyB0aGUgcHJvY2VzcyBvZiBldmFsdWF0aW5nIGNvZGUg + Zm9yIGVycm9ycywgbWVtb3J5IGxlYWtzLCBhbmQgc2VjdXJpdHkgdnVsbmVy + YWJpbGl0aWVzLiBUaGUg4oCcc3RhdGlj4oCdIHBhcnQgcmVmZXJzIHRvIHRo + ZSBmYWN0IHRoYXQgdGhlIGNvZGUgaXMgbm90IHJ1bm5pbmcuIFRoaXMgZGlm + ZmVyZW50aWF0ZXMgaXQgZnJvbSB1bml0IHRlc3RzIGFuZCBpbnRlZ3JhdGlv + biB0ZXN0cywgd2hpY2ggZXZhbHVhdGUgdGhlIHJ1bnRpbWUgY2hhcmFjdGVy + aXN0aWNzIG9mIGNvZGUuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+SWYgeW91IHVzZSBhbiBJREUgb3IgYSBsaW50 + ZXIsIHlvdSBhcmUgdXNpbmcgYSBiYXNpYyBmb3JtIG9mIHN0YXRpYyBhbmFs + eXNpcyBhbGwgdGhlIHRpbWUuIE1vcmUgc29waGlzdGljYXRlZCBzdGF0aWMg + YW5hbHlzaXMgdG9vbHMgY2FuIGJlIHVzZWQgdG8gYW5hbHl6ZSBjb2RlIGlu + IHNlbnNpdGl2ZSBkb21haW5zIGxpa2UgaGVhbHRoY2FyZSBvciBhdXRvbW9i + aWxlcy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkR1cmluZyBzdGF0aWMgYW5hbHlzaXMsIHdlIGNhbiBkaXNjb3Zl + ciBwcm9ibGVtcyBpbiB0aGUgY29kZSBieSBldmFsdWF0aW5nIHRoZSBzdHJ1 + Y3R1cmUgb2YgYSBwcm9ncmFtLiBCdWZmZXIgb3ZlcnJ1bnMgY2FuIGJlIGlk + ZW50aWZpZWQgYmVmb3JlIHRoZXkgdHVybiBpbnRvIGEgdnVsbmVyYWJpbGl0 + eSBsaWtlIEhlYXJ0YmxlZWQuIE51bGwgcG9pbnRlciBleGNlcHRpb25zIGNh + biBiZSBmaXhlZCBiZWZvcmUgdGhleSBjYXVzZSBhIHNlZ21lbnRhdGlvbiBm + YXVsdC4gQ29uY3VycmVuY3kgaXNzdWVzIGNhbiBiZSBzZXJpYWxpemVkIGJl + Zm9yZSB0aGV5IHJlc3VsdCBpbiBhIHByb2JsZW1hdGljIHJhY2UgY29uZGl0 + aW9uLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPlRvZGF54oCZcyBndWVzdCBQYXVsIEFuZGVyc29uIGlzIHRoZSBW + UCBvZiBlbmdpbmVlcmluZyBhdCBHcmFtbWFUZWNoLCB3aGVyZSBoZSB3b3Jr + cyBvbiBDb2RlU29uYXIsIGEgc3RhdGljIGFuYWx5c2lzIHRvb2wuIFdlIGRp + c2N1c3NlZCBob3cgc3RhdGljIGFuYWx5c2lzIHdvcmtzLCB3aHkgaXQgaXMg + dXNlZnVsLCBhbmQgaG93IGl0IGZpdHMgaW50byBhIG1vZGVybiBzb2Z0d2Fy + ZSBkZWxpdmVyeSBwaXBlbGluZS4gRnVsbCBkaXNjbG9zdXJlOiBHcmFtbWFU + ZWNoIGlzIGEgc3BvbnNvciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eS48L3NwYW4+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJy + b3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDov + L2F1cm9yYS5hd3MiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIyIiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20va3dsb2dvcy9hd3MvYW1hem9ud2Vic2VydmljZXNfbG9nby1zdmdf + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MjAwMCUy + QzgwMCIgZGF0YS1vcmlnLXNpemU9IjIwMDAsODAwIiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkFtYXpvbldlYnNl + cnZpY2VzX0xvZ28uc3ZnXyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTMwMCUyQzEy + MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTEwMjQl + MkM0MTAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcyMiBzaXplLW1l + ZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEyMCIg + YWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9B + bWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMx + MjAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25X + ZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMzMDcgNzY4 + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0xMDI0JTJDNDEwIDEwMjR3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2Vz + X0xvZ28uc3ZnXy5wbmc/cmVzaXplPTcyMCUyQzI4OCA3MjB3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5UbyBidWlsZCB0aGUga2luZHMgb2YgdGhpbmdzIGRldmVsb3BlcnMg + d2FudCB0byBidWlsZCB0b2RheSwgdGhleSBuZWVkIGJldHRlciB0b29scy4g + wqBUaGF04oCZcyB3aHkgQW1hem9uIFdlYiBTZXJ2aWNlcyBidWlsdCBBbWF6 + b24gQXVyb3JhLiBBIHJlbGF0aW9uYWwgZGF0YWJhc2UgZW5naW5lIHRoYXTi + gJlzIGNvbXBhdGlibGUgd2l0aCBNeVNRTCBhbmQgUG9zdGdyZVNRTCwgYW5k + IHByb3ZpZGVzIHVwIHRvIGZpdmUgdGltZXMgdGhlIHBlcmZvcm1hbmNlIG9m + IHN0YW5kYXJkIE15U1FM4oCUb24gdGhlIHNhbWUgaGFyZHdhcmUsIGF0IGEg + dGVudGggb2YgdGhlIGNvc3QuIEFtYXpvbiBBdXJvcmEgZnJvbSBBV1MgY2Fu + IHNjYWxlIHVwIHRvIG1pbGxpb25zIG9mIHRyYW5zYWN0aW9ucyBwZXIgbWlu + dXRlLiBBdXRvbWF0aWNhbGx5IGdyb3cgeW91ciBzdG9yYWdlIHVwIHRvIDY0 + IHRlcmFieXRlcy4gQW5kIHJlcGxpY2F0ZXMgZGF0YSB0byB0aHJlZSBkaWZm + ZXJlbnQgQXZhaWxhYmlsaXR5IFpvbmVzLiBBbmQgeW91IGRvbuKAmXQgaGF2 + ZSB0byBtYW5hZ2UgYSB0aGluZy4gVGhlcmUgYXJlIG5vIHVwZnJvbnQgY2hh + cmdlcywgbm8gY29tbWl0bWVudHPigJR5b3Ugb25seSBwYXkgZm9yIHdoYXQg + eW91IHVzZS4gQ2hlY2sgaXQgb3V0LCBhdCA8YSBocmVmPSJodHRwOi8vYXVy + b3JhLmF3cyI+YXVyb3JhLmF3czwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL2luZGVlZC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjI4OTgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE2LzEwLzE4L3NpbXBzb25zLWRhdGEtc2Np + ZW5jZS13aXRoLXRvZGQtc2NobmVpZGVyL2luZGVlZC1wcmltZS8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVl + ZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBkYXRhLW9yaWctc2l6ZT0iNDYz + LDk2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9ImluZGVlZC1wcmltZSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTMwMCUyQzYyIiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXBy + aW1lLnBuZz9maXQ9NDYzJTJDOTYiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMjg5OCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUyQzYyIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXBy + aW1lLnBuZz9yZXNpemU9MzAwJTJDNjIgMzAwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3c9NDYzIDQ2M3ciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC1m + YW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ij48c3BhbiBp + ZD0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85MDUxMTQxNjM3NDA2NDk0Nzcy + bV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUy + MTQ1Z21haWwtbV8tODU2MTcyMzY3NTEyNzY2MDgyMmdtYWlsLWRvY3MtaW50 + ZXJuYWwtZ3VpZC05NmJmMTUwOS0xNjQ0LWU0NzEtNGJhOC1hZjZmZTU4OGM3 + M2UiPkluZGVlZCBQcmltZSBmbGlwcyB0aGUgdHlwaWNhbCBtb2RlbCBvZiBq + b2Igc2VhcmNoIGFuZCBtYWtlcyBpdCBlYXN5IHRvIGFwcGx5IHRvIG11bHRp + cGxlIGpvYnMgYW5kIGdldCBtdWx0aXBsZSBvZmZlcnMuIEluZGVlZCBQcmlt + ZSBzaW1wbGlmaWVzIHlvdXIgam9iIHNlYXJjaCBhbmQgaGVscHMgeW91IGxh + bmQgdGhhdCBpZGVhbCA8c3BhbiBjbGFzcz0ibV83OTkwNTIxMTUwMjEzMjcz + Mjc2bV85MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYy + MWdtYWlsLW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwtaWwiPnNvZnR3YXJl + PC9zcGFuPiA8c3BhbiBjbGFzcz0ibV83OTkwNTIxMTUwMjEzMjczMjc2bV85 + MDUxMTQxNjM3NDA2NDk0NzcybV8tODc5NDcxNjczMDkxNzc4NzYyMWdtYWls + LW1fOTM4NTg0NDY4Mjc0NTUyMTQ1Z21haWwtaWwiPmVuZ2luZWVyaW5nPC9z + cGFuPiBwb3NpdGlvbi4gQ2FuZGlkYXRlcyBnZXQgaW1tZWRpYXRlIGV4cG9z + dXJlIHRvIHRvcCBjb21wYW5pZXMgd2l0aCBqdXN0IG9uZSBzaW1wbGUgYXBw + bGljYXRpb24gdG8gSW5kZWVkIFByaW1lLiBDb21wYW5pZXMgb24gUHJpbWXi + gJlzIGV4Y2x1c2l2ZSBwbGF0Zm9ybSBtZXNzYWdlIGNhbmRpZGF0ZXMgd2l0 + aCBzYWxhcnkgYW5kIGVxdWl0eSB1cGZyb250LiBJbmRlZWQgUHJpbWUgaXMg + MTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKAkyBubyBzdHJpbmdzIGF0dGFj + aGVkLiA8L3NwYW4+U2lnbiB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5k + ZWVkLmNvbS9zZWRhaWx5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5l + ciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5j + b20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkm + YW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE1MDY0MDk3MTY4MzEwMDAmYW1w + O3VzZz1BRlFqQ05GbzBTbndwS3VYOG1NbXBEY3RFTDBSUEx2TmVnIj4gaW5k + ZWVkLmNvbS9zZWRhaWx5PC9hPjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6 + ICMwMDAwMDA7IGZvbnQtZmFtaWx5OiBhcmlhbCwgaGVsdmV0aWNhLCBzYW5z + LXNlcmlmOyI+LsKgPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAw + MDsgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWY7 + Ij5Zb3UgY2FuIGFsc28gcHV0IG1vbmV5IGluIHlvdXIgcG9ja2V0IGJ5IHJl + ZmVycmluZyB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMuIFJlZmVyIGEg + c29mdHdhcmUgZW5naW5lZXIgdG8gdGhlIHBsYXRmb3JtIGFuZCBnZXQgPC9z + cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwg + QmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdl + bi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgJ0hlbHZldGljYSBOZXVlJywg + c2Fucy1zZXJpZjsiPiQyMDAgd2hlbiB0aGV5IGdldCBjb250YWN0ZWQgYnkg + YSBjb21wYW55JiM4MjMwOy4gYW5kICQyLDAwMCB3aGVuIHRoZXkgYWNjZXB0 + IGEgam9iIHRocm91Z2ggUHJpbWUhIExlYXJuIG1vcmUgYXTCoDwvc3Bhbj48 + YSBzdHlsZT0iZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFj + U3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4tU2Fucywg + VWJ1bnR1LCBDYW50YXJlbGwsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2Vy + aWY7IiBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9wcmltZS9yZWZlcnJhbCIg + dGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEtc2FmZXJlZGly + ZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1lbiZhbXA7 + cT1odHRwOi8vaW5kZWVkLmNvbS9wcmltZS9yZWZlcnJhbCZhbXA7c291cmNl + PWdtYWlsJmFtcDt1c3Q9MTUwNjQwOTcxNjgzMTAwMCZhbXA7dXNnPUFGUWpD + TkV3V0FTRVBMUWlNVVlTYnI1bnNqQ0dZdHR1U0EiPmluZGVlZC5jb20vcHJp + bWUvcmVmZXJyYWw8L2E+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAtYXBw + bGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJv + Ym90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAnSGVsdmV0 + aWNhIE5ldWUnLCBzYW5zLXNlcmlmOyI+Ljwvc3Bhbj48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzc1MyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvcGl2b3Rh + bC1sb2dvL3Bpdm90YWwtb25saWdodC8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/ + Zml0PTI2MTAlMkMxMDgwIiBkYXRhLW9yaWctc2l6ZT0iMjYxMCwxMDgwIiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + IlBpdm90YWwtT25MaWdodCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTMwMCUyQzEyNCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/Zml0PTEwMjQlMkM0MjQiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMzc1MyBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMw + MCUyQzEyNCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQg + MzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9u + TGlnaHQucG5nP3Jlc2l6ZT03NjglMkMzMTggNzY4dywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0x + MDI0JTJDNDI0IDEwMjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTcyMCUyQzI5OCA3MjB3LCBo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5w + bmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEw + MHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5TcHJpbmcgRnJhbWV3b3Jr + IGdpdmVzIGRldmVsb3BlcnMgYW4gZW52aXJvbm1lbnQgZm9yIGJ1aWxkaW5n + IGNsb3VkIG5hdGl2ZSBwcm9qZWN0cy4gT24gRGVjZW1iZXIgNHRoLTd0aCwg + PGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3By + aW5nT25lIFBsYXRmb3JtPC9hPiBpcyBjb21pbmcgdG8gU2FuIEZyYW5jaXNj + by4gU3ByaW5nT25lIFBsYXRmb3JtIGlzIGEgY29uZmVyZW5jZSB3aGVyZSBk + ZXZlbG9wZXJzIGNvbmdyZWdhdGUgdG8gZXhwbG9yZSB0aGUgbGF0ZXN0IHRl + Y2hub2xvZ2llcyBpbiB0aGUgU3ByaW5nIGVjb3N5c3RlbSBhbmQgYmV5b25k + LiBTcGVha2VycyBhdCBTcHJpbmdPbmUgUGxhdGZvcm0gaW5jbHVkZSBFcmlj + IEJyZXdlciAod2hvIGNyZWF0ZWQgdGhlIENBUCB0aGVvcmVtKSwgVmF1Z2hu + IFZlcm5vbiAod2hvIHdyaXRlcyBleHRlbnNpdmVseSBhYm91dCBEb21haW4g + RHJpdmVuIERlc2lnbiksIGFuZCBtYW55IHRob3VnaHQgbGVhZGVycyBpbiB0 + aGUgU3ByaW5nIEVjb3N5c3RlbS4gU3ByaW5nT25lIFBsYXRmb3JtIGlzIHRo + ZSBwcmVtaWVyIGNvbmZlcmVuY2UgZm9yIHRob3NlIHdobyBidWlsZCwgZGVw + bG95LCBhbmQgcnVuIGNsb3VkLW5hdGl2ZSBzb2Z0d2FyZS4gU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBzaWduIHVwIHdpdGgg + dGhlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBhbmQgcmVjZWl2ZSAkMTAw + IG9mZiBvZiBhIFNwcmluZyBPbmUgUGxhdGZvcm0gPGEgaHJlZj0iaHR0cHM6 + Ly8yMDE3LnNwcmluZ29uZXBsYXRmb3JtLmlvL2Vob21lL3MxcC9yZWdpc3Ry + YXRpb24iPmNvbmZlcmVuY2UgcGFzczwvYT4uIEkgd2lsbCBhbHNvIGJlIGF0 + IFNwcmluZ09uZSByZXBvcnRpbmcgb24gZGV2ZWxvcG1lbnRzIGluIHRoZSBj + bG91ZCBuYXRpdmUgZWNvc3lzdGVtLiBKb2luIG1lIERlY2VtYmVyIDR0aC03 + dGggYXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxh + dGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gY29uZmVyZW5jZSwgYW5k + IHVzZSBkaXNjb3VudCBjb2RlIFNFRGFpbHkxMDAgZm9yICQxMDAgb2ZmIHlv + dXIgY29uZmVyZW5jZSBwYXNzLiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 + OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBV + SScsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAn + SGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmOyI+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3NwYW4+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhv + bm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRh + LW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5 + bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9 + IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNw + b25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25v + IGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVu + Z2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFy + bmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVm + PSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9z + ZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNw + b25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9z + dCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1 + cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJl + Z3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5j + b2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5 + bi5jb20vc2VkYWlseS9TdGF0aWNBbmFseXNpcy5tcDMiIGxlbmd0aD0iNTU1 + OTQ3NDQiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRs + ZT5TdGF0aWMgYW5hbHlzaXMgaXMgdGhlIHByb2Nlc3Mgb2YgZXZhbHVhdGlu + ZyBjb2RlIGZvciBlcnJvcnMsIG1lbW9yeSBsZWFrcywgYW5kIHNlY3VyaXR5 + IHZ1bG5lcmFiaWxpdGllcy4gVGhlIOKAnHN0YXRpY+KAnSBwYXJ0IHJlZmVy + cyB0byB0aGUgZmFjdCB0aGF0IHRoZSBjb2RlIGlzIG5vdCBydW5uaW5nLiBU + aGlzIGRpZmZlcmVudGlhdGVzIGl0IGZyb20gdW5pdCB0ZXN0cyBhbmQgaW50 + ZWdyYXRpb24gdGVzdHMsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpz + dW1tYXJ5PlN0YXRpYyBhbmFseXNpcyBpcyB0aGUgcHJvY2VzcyBvZiBldmFs + dWF0aW5nIGNvZGUgZm9yIGVycm9ycywgbWVtb3J5IGxlYWtzLCBhbmQgc2Vj + dXJpdHkgdnVsbmVyYWJpbGl0aWVzLiBUaGUg4oCcc3RhdGlj4oCdIHBhcnQg + cmVmZXJzIHRvIHRoZSBmYWN0IHRoYXQgdGhlIGNvZGUgaXMgbm90IHJ1bm5p + bmcuIFRoaXMgZGlmZmVyZW50aWF0ZXMgaXQgZnJvbSB1bml0IHRlc3RzIGFu + ZCBpbnRlZ3JhdGlvbiB0ZXN0cywgd2hpY2ggZXZhbHVhdGUgdGhlIHJ1bnRp + bWUgY2hhcmFjdGVyaXN0aWNzIG9mIGNvZGUuIElmIHlvdSB1c2UgYW4gSURF + IG9yIGEgbGludGVyLCB5b3UgYXJlIHVzaW5nIGEgYmFzaWMgZm9ybSBvZiBz + dGF0aWMgYW5hbHlzaXMgYWxsIHRoZSB0aW1lLiBNb3JlIHNvcGhpc3RpY2F0 + ZWQgc3RhdGljIGFuYWx5c2lzIHRvb2xzIGNhbkNvbnRpbnVlIHJlYWRpbmcu + Li48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6 + ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1 + cmF0aW9uPjU3OjM5PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5z + PSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5ODM8L3Bvc3Qt + aWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5UaGUgQ29kaW5nIFZD + IHdpdGggTGVvIFBvbG92ZXRzPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yMi90aGUtY29k + aW5nLXZjLXdpdGgtbGVvLXBvbG92ZXRzLzwvbGluaz4NCgkJPHB1YkRhdGU+ + RnJpLCAyMiBTZXAgMjAxNyAwOTowMDowOSArMDAwMDwvcHViRGF0ZT4NCgkJ + PGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8/cD0zOTgyPC9ndWlkPg0KCQk8Y29tbWVudHM+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8y + Mi90aGUtY29kaW5nLXZjLXdpdGgtbGVvLXBvbG92ZXRzLyNjb21tZW50czwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzIyL3RoZS1jb2RpbmctdmMt + d2l0aC1sZW8tcG9sb3ZldHMvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8 + c2xhc2g6Y29tbWVudHM+MTwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29y + eT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtCdXNpbmVzcyBhbmQgUGhpbG9zb3BoeV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjYWxpYnJhdGluZyByaXNrXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTGVvIFBvbG92ZXRz + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU3VzYSBWZW50 + dXJlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1RoZSBD + b2RpbmcgVkNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtW + ZW50dXJlIENhcGl0YWxdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5U + aGUgdW5kZXJseWluZyBjYXVzZSBvZiBmYWlsdXJlIGZvciBtYW55IHN0YXJ0 + dXBzIGlzIHRoYXQgdGhlIGZvdW5kZXJzIGFyZSBhZnJhaWQgb2YgZGlzY29t + Zm9ydC4gQW4gZW52aXJvbm1lbnQgd2hlcmUgZXZlcnlvbmUgaXMgY29tZm9y + dGFibGUgaXMgdW5saWtlbHkgdG8gYmUgYW4gZW52aXJvbm1lbnQgd2hlcmUg + cGVyc29uYWwgZ3Jvd3RoIGFuZCB2YWx1ZSBjcmVhdGlvbiBpcyBvY2N1cnJp + bmcuIFdoZW4geW91IGFyZSBpbiBhIHN0YXJ0dXAsIGNhbGlicmF0aW5nIHRo + ZSByaWdodCBhbW91bnQgb2YgZGlzY29tZm9ydCBpcyBvZnRlbiBhYm91dCBj + YWxpYnJhdGluZyByaXNrLiBXaGF0IGFyZSB5b3VyIHJpc2tzPyBDYW4geW91 + IHF1YW50aWZ5IHRoZW0/IENhbiB5b3UgZW51bWVyYXRlIHRoZW0/IE11bHRp + cGx5aW5nIG91dCB0aGUgcHJvYmFiaWxpdHkgb2YmbHQ7cCZndDsmbHQ7YSBj + bGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7 + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8y + Mi90aGUtY29kaW5nLXZjLXdpdGgtbGVvLXBvbG92ZXRzLyZxdW90OyZndDtD + b250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2Ny + aXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9n + b29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJl + bmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUi + IHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlk + ICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4 + OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9tZWRpYS5saWNkbi5jb20vbXBy + L21wci9zaHJpbmtucF8yMDBfMjAwL3AvNy8wMDUvMDcxLzFlNC8xYjdjYzk3 + LmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPlRoZSB1bmRlcmx5aW5nIGNhdXNlIG9mIGZhaWx1cmUgZm9yIG1h + bnkgc3RhcnR1cHMgaXMgdGhhdCB0aGUgZm91bmRlcnMgYXJlIGFmcmFpZCBv + ZiBkaXNjb21mb3J0LiBBbiBlbnZpcm9ubWVudCB3aGVyZSBldmVyeW9uZSBp + cyBjb21mb3J0YWJsZSBpcyB1bmxpa2VseSB0byBiZSBhbiBlbnZpcm9ubWVu + dCB3aGVyZSBwZXJzb25hbCBncm93dGggYW5kIHZhbHVlIGNyZWF0aW9uIGlz + IG9jY3VycmluZy4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5XaGVuIHlvdSBhcmUgaW4gYSBzdGFydHVwLCBjYWxp + YnJhdGluZyB0aGUgcmlnaHQgYW1vdW50IG9mIGRpc2NvbWZvcnQgaXMgb2Z0 + ZW4gYWJvdXQgY2FsaWJyYXRpbmcgcmlzay48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldoYXQgYXJlIHlvdXIgcmlz + a3M/IENhbiB5b3UgcXVhbnRpZnkgdGhlbT8gQ2FuIHlvdSBlbnVtZXJhdGUg + dGhlbT8gTXVsdGlwbHlpbmcgb3V0IHRoZSBwcm9iYWJpbGl0eSBvZiBzdXJ2 + aXZpbmcgZWFjaCBvZiB0aG9zZSByaXNrcywgdGhlbiBtdWx0aXBseWluZyB0 + aGF0IG51bWJlciB0aW1lcyB0aGUgc3VtIG9mIHRoZSBkaXNjb3VudGVkIGZ1 + dHVyZSBjYXNoIGZsb3dzIG9mIHlvdXIgYnVzaW5lc3Mgd2lsbCBnaXZlIHlv + dSB0aGUgZXhwZWN0ZWQgdmFsdWUgb2YgeW91ciBidXNpbmVzcy4gPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5VbmRl + ciB0aGUgcmlnaHQgY2lyY3Vtc3RhbmNlcywgZW50cmVwcmVuZXVyc2hpcCBo + YXMgbXVjaCBoaWdoZXIgZXhwZWN0ZWQgdmFsdWUgdGhhbiBhIHN0YWJsZSBl + bmdpbmVlcmluZyBqb2IuIFRoZSBpbXBvcnRhbnQgZGlmZmVyZW5jZSBpcyB2 + YXJpYW5jZS4gWW91ciBidXNpbmVzcyBuZWVkcyB0byBiZSBhYmxlIHRvIHdp + dGhzdGFuZCB0aGUgdmFyaWFuY2UgdGhhdCBiYWQgbHVjayBjYW4gcHJvdmlk + ZS4gQW5kIGVudHJlcHJlbmV1cnMgdGhlbXNlbHZlcyBuZWVkIHRvIGJlIGFi + bGUgdG8gd2l0aHN0YW5kIHRoZSB2YXJpYW5jZSBpbXBsaWVkIGJ5IHRoZSBm + YWN0IHRoYXQgdGhlaXIgYnVzaW5lc3MgY2FuIGNvbXBsZXRlbHkgZmFpbCBh + bmQgZ28gdG8gemVyby48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkxlbyBQb2xvdmV0cyBpcyBhIHBhcnRuZXIgd2l0 + aCBTdXNhIFZlbnR1cmVzLiBIZSB3b3JrZWQgYXMgYW4gZWFybHkgZW5naW5l + ZXIgYXQgTGlua2VkaW4sIEdvb2dsZSwgYW5kIEZhY3R1YWwsIGFuZCBoZSBi + bG9ncyBhdMKgPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9jb2Rpbmd2Yy5jb20i + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Q29kaW5nIFZDPC9z + cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi4gSW4g + dGhpcyBlcGlzb2RlIHdlIHRhbGtlZCBhYm91dCB0aGUgcHJvcGVyIG1pbmRz + ZXQgZm9yIGZvdW5kaW5nIGEgY29tcGFueSYjODIxMTtob3cgdG8gdGhpbmsg + YWJvdXQgcmlzaywgbWlzdGFrZXMsIGRpc2NvbWZvcnQsIGFuZCBmaW5hbmNl + Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+SWYgeW91IGxpa2UgdGhpcyBlcGlzb2RlLCB3ZSBoYXZlIGRvbmUgbWFu + eSBvdGhlciBzaG93cyBhYm91dCB2ZW50dXJlIGNhcGl0YWwsIGluY2x1ZGlu + ZyBpbnRlcnZpZXdzIHdpdGggQ2hyaXMgRGl4b24gYW5kIFRvbWFzeiBUdW5n + dXouIERvd25sb2FkIDwvc3Bhbj48YSBocmVmPSJodHRwczovL2l0dW5lcy5h + cHBsZS5jb20vdXMvYXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LXBv + ZGNhc3QtYXBwL2lkMTI1MzczNDQyNj9tdD04Ij48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPnRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBhcHAgZm9yIGlPUzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij4gdG8gaGVhciBhbGwgb2Ygb3VyIG9sZCBlcGlzb2Rlcywg + YW5kIGVhc2lseSBkaXNjb3ZlciBuZXcgdG9waWNzIHRoYXQgbWlnaHQgaW50 + ZXJlc3QgeW91LiBZb3UgY2FuIHVwdm90ZSB0aGUgZXBpc29kZXMgeW91IGxp + a2UgYW5kIGdldCByZWNvbW1lbmRhdGlvbnMgYmFzZWQgb24geW91ciBsaXN0 + ZW5pbmcgaGlzdG9yeS4gV2l0aCA2MDAgZXBpc29kZXMsIGl0IGlzIGhhcmQg + dG8gZmluZCB0aGUgZXBpc29kZXMgdGhhdCBhcHBlYWwgdG8geW91LCBhbmQg + d2UgaG9wZSB0aGUgYXBwIGhlbHBzIHdpdGggdGhhdC48L3NwYW4+PC9wPgo8 + aDI+U2hvdyBOb3RlczwvaDI+CjxwPjxhIGhyZWY9Imh0dHBzOi8vY29kaW5n + dmMuY29tL3NhYXN0ci0yMDE3Ij5Db2RpbmcgVkMgYmxvZzwvYT48L3A+Cjxo + Mj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9zY2FseXIiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIzOTE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20va3dsb2dvcy9zY2FseXIvc2NhbHlyX2xvZ28vIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9T + Y2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBkYXRhLW9yaWctc2l6ZT0i + MjIwLDkwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9IlNjYWx5cl9sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9s + b2dvLmpwZz9maXQ9MjIwJTJDOTAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMzkxOSBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9TY2FseXJfbG9nby5qcGc/cmVzaXplPTIyMCUyQzkwIiBhbHQ9 + IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5XaG8gZG8geW91IHVzZSBmb3IgbG9nIG1h + bmFnZW1lbnQ/IEkgd2FudCB0byB0ZWxsIHlvdSBhYm91dCBTY2FseXIsIHRo + ZSBmaXJzdCBwdXJwb3NlIGJ1aWx0IGxvZyBtYW5hZ2VtZW50IHRvb2wgb24g + dGhlIG1hcmtldC4gTW9zdCB0b29scyBvbiB0aGUgbWFya2V0IHV0aWxpemUg + dGV4dCBpbmRleGluZyBzZWFyY2gsIHdoaWNoIGlzIGdyZWF0JiM4MjMwOyBm + b3IgaW5kZXhpbmcgYSBib29rLiBCdXQgaWYgeW91IHdhbnQgdG8gc2VhcmNo + IGxvZ3MsIGF0IHNjYWxlLCBmYXN0JiM4MjMwOyBpdCBicmVha3MgZG93bi4g + U2NhbHlyIGJ1aWx0IHRoZWlyIG93biBkYXRhYmFzZSBmcm9tIHNjcmF0Y2g6 + IHRoZSBzeXN0ZW0gaXMgZmFzdC4gTW9zdCBzZWFyY2hlcyB0YWtlIGxlc3Mg + dGhhbiAxIHNlY29uZC4gSW4gZmFjdCwgOTklIG9mIHRoZWlyIHF1ZXJpZXMg + ZXhlY3V0ZSBpbiAmbHQ7MSBzZWNvbmQuIMKgQ29tcGFuaWVzIGxpa2UgT0tD + dXBpZCwgR2lwaHkgYW5kIENhcmVlckJ1aWxkZXIgdXNlIFNjYWx5ci4gSXQg + d2FzIGJ1aWx0IGJ5IG9uZSBvZiB0aGUgZm91bmRlcnMgb2YgV3JpdGVseSAo + YWthIEdvb2dsZSBEb2NzKS4gU2NhbHlyIGhhcyBjb25zdW1lciBncmFkZSBV + SSwgdGhhdCBzY2FsZXMgaW5maW5pdGVseS4gWW91IGNhbiBtb25pdG9yIGtl + eSBtZXRyaWNzLCB0cmlnZ2VyIGFsZXJ0cywgYW5kIGludGVncmF0ZSB3aXRo + IFBhZ2VyRHV0eS4gSXQmIzgyMTc7cyBlYXN5IHRvIHVzZSBhbmQgZGlkIHdl + IG1lbnRpb246IGxpZ2h0bmluZyBmYXN0LiBHaXZlIGl0IGEgdHJ5IHRvZGF5 + LiBJdOKAmXMgZnJlZSBmb3IgOTAgZGF5cyBhdCA8YSBocmVmPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXIiPnNvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyPC9hPi4gPC9kaXY+PC9wPgo8 + cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNvbSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM5MzYiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA1 + L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFwaXMtd2l0aC1zaW1vbi1jaGFu + L2JsYWNrLXBvZHNoZWV0cy10ZXh0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRleHQu + cG5nP2ZpdD0xNDQwJTJDODUxIiBkYXRhLW9yaWctc2l6ZT0iMTQ0MCw4NTEi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iYmxhY2stcG9kc2hlZXRzLXRleHQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTMwMCUyQzE3 + NyIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9maXQ9MTAyNCUyQzYwNSIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zOTM2IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hl + ZXRzLXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMxNzciIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRz + LXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMxNzcgMzAwdywgaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVz + aXplPTc2OCUyQzQ1NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9MTAyNCUyQzYw + NSAxMDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1w + b2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTcyMCUyQzQyNiA3MjB3LCBodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0 + LnBuZz93PTE0NDAgMTQ0MHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPklmIHlvdSB3YW50IHRv + IHN0YXJ0IGEgcG9kY2FzdCwgY2hlY2sgb3V0IFBvZHNoZWV0cy7CoDxhIGhy + ZWY9Imh0dHA6Ly9wb2RzaGVldHMuY29tIj5Qb2RzaGVldHM8L2E+IGlzIGEg + cHJvZHVjdCB3ZSBidWlsdCB0byBjcmVhdGUgYW5kIG1hbmFnZSBwb2RjYXN0 + cy4gV2UgYXJlIHBvZGNhc3RlcnMgb3Vyc2VsdmVzJiM4MjExO2FuZCB3ZSB1 + bmRlcnN0YW5kIHRoZSBkaWZmaWN1bHRpZXMgb2YgZ2V0dGluZyBzdGFydGVk + LsKgUG9kc2hlZXRzIG1ha2VzIGl0IGVhc3kgdG8gcG9zdCB5b3VyIGVwaXNv + ZGVzIGFuZCBkaXN0cmlidXRlIHRoZW0gdG8gaVR1bmVzIGFuZCBHb29nbGUg + UGxheSB3aXRoIGEgc2luZ2xlIGNsaWNrLsKgSWYgeW91IGFyZSBjdXJpb3Vz + IGFib3V0IHBvZGNhc3RpbmcsIGJ1dCBoYXZlIG5vIGlkZWEgd2hlcmUgdG8g + c3RhcnQsIFBvZHNoZWV0cyB3aWxsIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBw + cm9jZXNzLsKgV2l0aCBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSwgd2Ug + aGF2ZSBiZWVuIHByb2R1Y2luZyA1IHNob3dzIGEgd2VlayBmb3IgMiB5ZWFy + cy4gV2UgdW5kZXJzdGFuZCByZWNvcmRpbmcsIHdlIHVuZGVyc3RhbmQgaG93 + IHRvIHByb2R1Y2UgeW91ciBzaG93IGFuZCB3ZSB1bmRlcnN0YW5kIGhvdyB0 + byBnZXQgYWR2ZXJ0aXNlcnMuIFdlIHdhbnQgdG8gaGVscCB5b3Ugd2l0aCB0 + aGlzIHByb2Nlc3MuwqBDaGVjayBvdXQgPGEgaHJlZj0iaHR0cDovL3BvZHNo + ZWV0cy5jb20iPlBvZHNoZWV0czwvYT4gdG9kYXkuIFdlIHdpbGwgZ2l2ZSB5 + b3UgZXZlcnl0aGluZyB5b3UgbmVlZCB0byBjcmVhdGUgYW5kIG1hbmFnZSB5 + b3VyIHBvZGNhc3QmIzgyMTE7YW5kIGlmIHlvdSBoYXZlIGFueSBxdWVzdGlv + bnMgb3IgeW91IGdldCBjb25mdXNlZCwgeW91IGNhbiBhbHdheXMgY29udGFj + dCB1cyBkaXJlY3RseSBmb3IgaGVscC4gUG9kY2FzdGluZyBpcyBhcyBlYXN5 + IGFzIGJsb2dnaW5nJiM4MjExO2xldCB1cyBzaG93IHlvdSBob3cgdG8gcG9k + Y2FzdCwgd2l0aCA8YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNvbSI+UG9k + c2hlZXRzPC9hPi4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90 + b3B0YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NzM5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0 + aC1uZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4 + JTJDNTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAl + MkMxNjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUy + QzE2MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03Njgl + MkM0MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFi + bHkgcHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5l + ZXJzIHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNj + YWxlIHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNv + bS9zZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3 + aGVuIHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdp + dGggYW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2Pjxi + ciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPiZuYnNwOzwv + cD4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhv + bm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRh + LW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5 + bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9 + IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNw + b25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25v + IGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVu + Z2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFy + bmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVm + PSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9z + ZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNw + b25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9z + dCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1 + cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJl + Z3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNs + b3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkv + Q29kaW5nVkMubXAzIiBsZW5ndGg9IjE3ODIxODU1NSIgdHlwZT0iYXVkaW8v + bXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPlRoZSB1bmRlcmx5aW5nIGNh + dXNlIG9mIGZhaWx1cmUgZm9yIG1hbnkgc3RhcnR1cHMgaXMgdGhhdCB0aGUg + Zm91bmRlcnMgYXJlIGFmcmFpZCBvZiBkaXNjb21mb3J0LiBBbiBlbnZpcm9u + bWVudCB3aGVyZSBldmVyeW9uZSBpcyBjb21mb3J0YWJsZSBpcyB1bmxpa2Vs + eSB0byBiZSBhbiBlbnZpcm9ubWVudCB3aGVyZSBwZXJzb25hbCBncm93dGgg + YW5kIHZhbHVlIGNyZWF0aW9uIGlzIG9jY3VycmluZy48L2l0dW5lczpzdWJ0 + aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+VGhlIHVuZGVybHlpbmcgY2F1c2Ug + b2YgZmFpbHVyZSBmb3IgbWFueSBzdGFydHVwcyBpcyB0aGF0IHRoZSBmb3Vu + ZGVycyBhcmUgYWZyYWlkIG9mIGRpc2NvbWZvcnQuIEFuIGVudmlyb25tZW50 + IHdoZXJlIGV2ZXJ5b25lIGlzIGNvbWZvcnRhYmxlIGlzIHVubGlrZWx5IHRv + IGJlIGFuIGVudmlyb25tZW50IHdoZXJlIHBlcnNvbmFsIGdyb3d0aCBhbmQg + dmFsdWUgY3JlYXRpb24gaXMgb2NjdXJyaW5nLiBXaGVuIHlvdSBhcmUgaW4g + YSBzdGFydHVwLCBjYWxpYnJhdGluZyB0aGUgcmlnaHQgYW1vdW50IG9mIGRp + c2NvbWZvcnQgaXMgb2Z0ZW4gYWJvdXQgY2FsaWJyYXRpbmcgcmlzay4gV2hh + dCBhcmUgeW91ciByaXNrcz8gQ2FuIHlvdSBxdWFudGlmeSB0aGVtPyBDYW4g + eW91IGVudW1lcmF0ZSB0aGVtPyBNdWx0aXBseWluZyBvdXQgdGhlIHByb2Jh + YmlsaXR5IG9mQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+ + CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8 + L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1 + bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+MTozMjo0OTwvaXR1 + bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpm + ZWVkLWFkZGl0aW9uczoxIj4zOTgyPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxp + dGVtPg0KCQk8dGl0bGU+VGluZGVyIEdyb3d0aCBFbmdpbmVlcmluZyB3aXRo + IEFsZXggUm9zczwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMjEvdGluZGVyLWdyb3d0aC1l + bmdpbmVlcmluZy13aXRoLWFsZXgtcm9zcy88L2xpbms+DQoJCTxwdWJEYXRl + PlRodSwgMjEgU2VwIDIwMTcgMDk6MDA6MzggKzAwMDA8L3B1YkRhdGU+DQoJ + CTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vP3A9Mzk4NDwvZ3VpZD4NCgkJPGNvbW1lbnRz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkv + MjEvdGluZGVyLWdyb3d0aC1lbmdpbmVlcmluZy13aXRoLWFsZXgtcm9zcy8j + Y29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yMS90aW5k + ZXItZ3Jvd3RoLWVuZ2luZWVyaW5nLXdpdGgtYWxleC1yb3NzL2ZlZWQvPC93 + Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNv + bW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWQgRW5naW5l + ZXJpbmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2Rj + YXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxleCBS + b3NzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbZGFyayBw + YXR0ZXJuc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0tQ + SXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtzb2NpYWwg + bmV0d29ya11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Rp + bmRlcl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3VzZXIg + Z3Jvd3RoXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+VGluZGVyIGlz + IGEgcG9wdWxhciBkYXRpbmcgYXBwIHdoZXJlIGVhY2ggdXNlciBzd2lwZXMg + dGhyb3VnaCBhIHNlcXVlbmNlIG9mIG90aGVyIHVzZXJzIGluIG9yZGVyIHRv + IGZpbmQgYSBtYXRjaC4gU3dpcGluZyBsZWZ0IG1lYW5zIHlvdSBhcmUgbm90 + IGludGVyZXN0ZWQuIFN3aXBpbmcgcmlnaHQgbWVhbnMgeW91IHdvdWxkIGxp + a2UgdG8gY29ubmVjdCB3aXRoIHRoZSBwZXJzb24uIFRoZSBzaW1wbGUgcHJl + bWlzZSBvZiBUaW5kZXIgaGFzIGxlZCB0byBtYXNzaXZlIGdyb3d0aCwgYW5k + IHRoZSBhcHAgaXMgbm93IGFsc28gdXNlZCB0byBkaXNjb3ZlciBuZXcgZnJp + ZW5kcyBhbmQgY3JlYXRlIGNhc3VhbCBtZWV0aW5ncy4gRXZlcnkgc29jaWFs + IG5ldHdvcmsga25vd3PigJNpZiB5b3UmbHQ7cCZndDsmbHQ7YSBjbGFzcz0m + cXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8yMS90aW5k + ZXItZ3Jvd3RoLWVuZ2luZWVyaW5nLXdpdGgtYWxleC1yb3NzLyZxdW90OyZn + dDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rl + c2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8x + OS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMv + YnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0 + NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNv + bGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3 + NXB4OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS9wYnMudHdpbWcuY29tL3By + b2ZpbGVfaW1hZ2VzLzcwMTU1ODc5NDgyNDcyNDQ4MC9TV1BISHlCdi5qcGc/ + cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5UaW5kZXIgaXMgYSBwb3B1bGFyIGRhdGluZyBhcHAgd2hlcmUgZWFjaCB1 + c2VyIHN3aXBlcyB0aHJvdWdoIGEgc2VxdWVuY2Ugb2Ygb3RoZXIgdXNlcnMg + aW4gb3JkZXIgdG8gZmluZCBhIG1hdGNoLiBTd2lwaW5nIGxlZnQgbWVhbnMg + eW91IGFyZSBub3QgaW50ZXJlc3RlZC4gU3dpcGluZyByaWdodCBtZWFucyB5 + b3Ugd291bGQgbGlrZSB0byBjb25uZWN0IHdpdGggdGhlIHBlcnNvbi4gVGhl + IHNpbXBsZSBwcmVtaXNlIG9mIFRpbmRlciBoYXMgbGVkIHRvIG1hc3NpdmUg + Z3Jvd3RoLCBhbmQgdGhlIGFwcCBpcyBub3cgYWxzbyB1c2VkIHRvIGRpc2Nv + dmVyIG5ldyBmcmllbmRzIGFuZCBjcmVhdGUgY2FzdWFsIG1lZXRpbmdzLjwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + RXZlcnkgc29jaWFsIG5ldHdvcmsga25vd3MmIzgyMTE7aWYgeW91IGFyZSBu + b3QgZ3Jvd2luZywgdGhlbiB5b3UgYXJlIGR5aW5nLiBHcm93dGggaXMgc28g + aW1wb3J0YW50IHRvIFRpbmRlciwgdGhleSBoYXZlIGEgbGFyZ2UgZW5naW5l + ZXJpbmcgb3JnYW5pemF0aW9uIGRldm90ZWQgdG8gZml2ZSBmYWNldHMgb2Yg + Z3Jvd3RoOiBuZXcgdXNlcnMsIGFjdGl2YXRpb24sIHJldGVudGlvbiwgZHJv + cG9mZiwgYW5kIGFudGktc3BhbS4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGVzZSBmaXZlIHNlZ21lbnRzIGNv + dmVyIHRoZSBlbnRpcmUgVGluZGVyIHVzZXIgbGlmZWN5Y2xlLCBhbmQgdGhl + cmUgaXMgYSBzdWItdGVhbSBpbiBjaGFyZ2Ugb2YgZWFjaCBvZiB0aGUgZml2 + ZSBhcmVhcy4gTm8gbWF0dGVyIHdoYXQga2luZCBvZiBUaW5kZXIgdXNlciB5 + b3UgYXJlLCB0aGVyZSBhcmUgZ3Jvd3RoIGVuZ2luZWVycyBmb2N1c2VkIG9u + IHlvdXIgZXhwZXJpZW5jZS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkFsZXggUm9zcyBpcyB0aGUgZGlyZWN0b3Ig + b2YgZW5naW5lZXJpbmcgZm9yIHRoZSBncm93dGggdGVhbSBhdCBUaW5kZXIu + IEhpcyBqb2IgcmVxdWlyZXMgYSBtaXggb2YgZGF0YSBzY2llbmNlLCBkYXRh + IGVuZ2luZWVyaW5nLCBwc3ljaG9sb2d5LCBhbmQgc2V0dGluZyBwcm9wZXIg + S1BJcyAoa2V5IHBlcmZvcm1hbmNlIGluZGljYXRvcnMpLiBFYWNoIHN1YnRl + YW0gaGFzIEtQSXMgdGhhdCBkZXRlcm1pbmUgaG93IHdlbGwgdGhleSBhcmUg + ZG9pbmcgd2l0aCBncm93dGgmIzgyMTE7YW5kIGlmIHRoZSB3cm9uZyBLUEkg + aXMgc2V0LCBpdCBjYW4gY3JlYXRlIGJhZCBpbmNlbnRpdmVzLiBGb3IgZXhh + bXBsZSwgYSBncm93dGggdGVhbSB0aGF0IGlzIGZvY3VzZWQgb25seSBvbiBn + ZXR0aW5nIHVzZXJzIHRvIHNwZW5kIG1vcmUgdGltZSBlbmdhZ2luZyB3aXRo + IFRpbmRlciB3b3VsZCBoYXZlIGFuIGluY2VudGl2ZSB0byBjcmVhdGUgc28t + Y2FsbGVkIOKAnGRhcmsgcGF0dGVybnPigJ0gdGhhdCB0cmlnZ2VyIGFkZGlj + dGlvbi48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPklmIHlvdSBsaWtlIHRoaXMgZXBpc29kZSwgd2UgaGF2ZSBkb25l + IG1hbnkgb3RoZXIgc2hvd3MgYWJvdXQgZGF0YSBzY2llbmNlIGFuZCBkYXRh + IGVuZ2luZWVyaW5nLiBEb3dubG9hZCA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6 + Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0d2FyZS1lbmdpbmVlcmlu + Zy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0MjY/bXQ9OCI+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+PC9hPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+IHRvIGhlYXIgYWxsIG9mIG91ciBvbGQg + ZXBpc29kZXMsIGFuZCBlYXNpbHkgZGlzY292ZXIgbmV3IHRvcGljcyB0aGF0 + IG1pZ2h0IGludGVyZXN0IHlvdS4gWW91IGNhbiB1cHZvdGUgdGhlIGVwaXNv + ZGVzIHlvdSBsaWtlIGFuZCBnZXQgcmVjb21tZW5kYXRpb25zIGJhc2VkIG9u + IHlvdXIgbGlzdGVuaW5nIGhpc3RvcnkuIFdpdGggNjAwIGVwaXNvZGVzLCBp + dCBpcyBoYXJkIHRvIGZpbmQgdGhlIGVwaXNvZGVzIHRoYXQgYXBwZWFsIHRv + IHlvdSwgYW5kIHdlIGhvcGUgdGhlIGFwcCBoZWxwcyB3aXRoIHRoYXQuPC9z + cGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90b3B0 + YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzM5 + IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1u + ZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJD + NTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAlMkMx + NjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2 + MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03NjglMkM0 + MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwu + cG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFibHkg + cHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5lZXJz + IHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNjYWxl + IHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNvbS9z + ZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3aGVu + IHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdpdGgg + YW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2PjxiciAv + Pgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9p + bmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + ODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Ut + d2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJp + bWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4 + OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5GbGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQg + SW5kZWVkIFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5 + IHdpdGggb3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIg + c2lkZSBwcm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBj + bGljaywgZ2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxp + a2UgRmFjZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVt + cGxveWVycyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVr + IHdpdGggc2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4g + RG9u4oCZdCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10 + aW1lIGpvYi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3Uu + IFRoZSBhdmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95 + ZXIgY29udGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQx + MjUsMDAwLiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRh + dGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdDxh + IGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPiBpbmRlZWQuY29t + L3NlZGFpbHk8L2E+LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+Cjxw + PjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL2ludGVy + bWl4LmlvL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzOTIx + IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20va3dsb2dvcy9pbnRlcm1peC9pbnRlcm1peC8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2ludGVybWl4 + LmpwZz9maXQ9NTAwJTJDMjAwIiBkYXRhLW9yaWctc2l6ZT0iNTAwLDIwMCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJpbnRlcm1peCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2ludGVy + bWl4LmpwZz9maXQ9MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDgvaW50ZXJtaXguanBnP2ZpdD01MDAl + MkMyMDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzkyMSBzaXplLW1l + ZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2ludGVy + bWl4LmpwZz9yZXNpemU9MzAwJTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2ludGVybWl4LmpwZz9yZXNpemU9 + MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + aW50ZXJtaXguanBnP3c9NTAwIDUwMHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkFtYXpvbiBS + ZWRzaGlmdCBwb3dlcnMgdGhlIGFuYWx5dGljcyBvZiB5b3VyIGJ1c2luZXNz + JiM4MjExO2FuZCBJbnRlcm1peC5pbyBwb3dlcnMgdGhlIGFuYWx5dGljcyBv + ZiB5b3VyIFJlZHNoaWZ0LiBJbnRlcm1peC5pbyBnaXZlcyB5b3UgdGhlIHRv + b2xzIHlvdSBuZWVkIHRvIGFuYWx5emUgeW91ciBBbWF6b24gUmVkc2hpZnQg + cGVyZm9ybWFuY2UgYW5kIGltcHJvdmUgdGhlIHRvb2xjaGFpbiBvZiBldmVy + eW9uZSBkb3duc3RyZWFtIGZyb20geW91ciBkYXRhIHdhcmVob3VzZS4gVGhl + IHRlYW0gYXQgSW50ZXJtaXggaGFzIHNlZW4gc28gbWFueSBSZWRzaGlmdCBj + bHVzdGVycywgdGhleSBhcmUgY29uZmlkZW50IHRoZXkgY2FuIHNvbHZlIHdo + YXRldmVyIHBlcmZvcm1hbmNlIGlzc3VlcyB5b3UgYXJlIGhhdmluZy4gR28g + dG8gPGEgaHJlZj0iaHR0cHM6Ly9pbnRlcm1peC5pby9zZWRhaWx5Ij5pbnRl + cm1peC5pby9zZWRhaWx5PC9hPiB0byBnZXQgYSBmcmVlIDMwLWRheSB0cmlh + bC4gSW50ZXJtaXggY29sbGVjdHMgYWxsIHlvdXIgUmVkc2hpZnQgbG9ncyBh + bmQgbWFrZXMgaXQgZWFzeSB0byBmaWd1cmUgb3V0IHdoYXQmIzgyMTc7cyB3 + cm9uZyBzbyB5b3UgY2FuIHRha2UgYWN0aW9uLiBBbGwgaW4gYSBuaWNlLCBp + bnR1aXRpdmUgZGFzaGJvYXJkLiBHbyB0byA8YSBocmVmPSJodHRwczovL2lu + dGVybWl4LmlvL3NlZGFpbHkiPmludGVybWl4LmlvL3NlZGFpbHk8L2E+IHRv + IHN0YXJ0IHlvdXIgZnJlZSAzMC1kYXkgdHJpYWwuPC9kaXY+PGJyIC8+Cjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM4MTUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2dyYW1tYXRl + Y2gvZ3JhbW1hdGVjaC1sb2dvbC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2Zp + dD04MjUlMkMzMDAiIGRhdGEtb3JpZy1zaXplPSI4MjUsMzAwIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkdyYW1t + YXRlY2gtTG9nb0wiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFt + bWF0ZWNoLUxvZ29MLmpwZz9maXQ9MzAwJTJDMTA5IiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1M + b2dvTC5qcGc/Zml0PTgyNSUyQzMwMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS0zODE1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUy + QzEwOSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9MzAwJTJDMTA5IDMw + MHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1M + b2dvTC5qcGc/cmVzaXplPTc2OCUyQzI3OSA3Njh3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03 + MjAlMkMyNjIgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9H + cmFtbWF0ZWNoLUxvZ29MLmpwZz93PTgyNSA4MjV3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5H + cmFtbWFUZWNoIENvZGVTb25hciBoZWxwcyBkZXZlbG9wbWVudCB0ZWFtcyBp + bXByb3ZlIGNvZGUgcXVhbGl0eSB3aXRoIHN0YXRpYyBhbmFseXNpcy4gSXQg + aGVscHMgZmxhZyBpc3N1ZXMgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHBy + b2Nlc3MsIGFsbG93aW5nIGRldmVsb3BlcnMgdG8gcmVsZWFzZSBiZXR0ZXIg + Y29kZSBmYXN0ZXIuwqBDb2RlU29uYXIgY2FuIGVhc2lseSBiZSBpbnRlZ3Jh + dGVkIGludG8gYW55IGRldmVsb3BtZW50IHByb2Nlc3MuIENvZGVTb25hciBw + ZXJmb3JtcyBhZHZhbmNlZCBzdGF0aWMgYW5hbHlzaXMgb2YgQywgQysrLCBK + YXZhLCBhbmQgZXZlbiByYXcgYmluYXJ5IGNvZGUuIENvZGVTb25hciBwZXJm + b3JtcyB1bmlxdWUgZGF0YWZsb3cgYW5kIHN5bWJvbGljIGV4ZWN1dGlvbiBh + bmFseXNpcyB0byBhZ2dyZXNzaXZlbHkgc2NhbiBmb3IgcHJvYmxlbXMgaW4g + eW91ciBjb2RlLsKgSnVzdCBsaWtlIGJhdHRsZXNoaXBzIHVzZSBzb25hciB0 + byBkZXRlY3Qgb2JqZWN0cyBkZWVwIHVuZGVyd2F0ZXIsIGVuZ2luZWVycyB1 + c2UgQ29kZVNvbmFyIHRvIGRldGVjdCBzdWJ0bGUgcHJvYmxlbXMgZGVlcCB3 + aXRoaW4gdGhlaXIgY29kZS7CoEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9nby5n + cmFtbWF0ZWNoLmNvbS9zZWRhaWx5Ij5nby5ncmFtbWF0ZWNoLmNvbS9zZWRh + aWx5PC9hPiB0byBnZXQgeW91ciBmcmVlIDMwLWRheSB0cmlhbCwgZXhjbHVz + aXZlbHkgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVy + c8KgYW5kIHVubGVhc2ggdGhlIHBvd2VyIG9mIGFkdmFuY2VkIHN0YXRpYyBh + bmFseXNpcy48YnIgLz4KPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50 + OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5s + aWJzeW4uY29tL3NlZGFpbHkvVGluZGVyR3Jvd3RoRW5naW5lZXJpbmcubXAz + IiBsZW5ndGg9IjU5MTM2NzY0IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+VGluZGVyIGlzIGEgcG9wdWxhciBkYXRpbmcgYXBw + IHdoZXJlIGVhY2ggdXNlciBzd2lwZXMgdGhyb3VnaCBhIHNlcXVlbmNlIG9m + IG90aGVyIHVzZXJzIGluIG9yZGVyIHRvIGZpbmQgYSBtYXRjaC4gU3dpcGlu + ZyBsZWZ0IG1lYW5zIHlvdSBhcmUgbm90IGludGVyZXN0ZWQuIFN3aXBpbmcg + cmlnaHQgbWVhbnMgeW91IHdvdWxkIGxpa2UgdG8gY29ubmVjdCB3aXRoIHRo + ZSBwZXJzb24uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5 + PlRpbmRlciBpcyBhIHBvcHVsYXIgZGF0aW5nIGFwcCB3aGVyZSBlYWNoIHVz + ZXIgc3dpcGVzIHRocm91Z2ggYSBzZXF1ZW5jZSBvZiBvdGhlciB1c2VycyBp + biBvcmRlciB0byBmaW5kIGEgbWF0Y2guIFN3aXBpbmcgbGVmdCBtZWFucyB5 + b3UgYXJlIG5vdCBpbnRlcmVzdGVkLiBTd2lwaW5nIHJpZ2h0IG1lYW5zIHlv + dSB3b3VsZCBsaWtlIHRvIGNvbm5lY3Qgd2l0aCB0aGUgcGVyc29uLiBUaGUg + c2ltcGxlIHByZW1pc2Ugb2YgVGluZGVyIGhhcyBsZWQgdG8gbWFzc2l2ZSBn + cm93dGgsIGFuZCB0aGUgYXBwIGlzIG5vdyBhbHNvIHVzZWQgdG8gZGlzY292 + ZXIgbmV3IGZyaWVuZHMgYW5kIGNyZWF0ZSBjYXN1YWwgbWVldGluZ3MuIEV2 + ZXJ5IHNvY2lhbCBuZXR3b3JrIGtub3dz4oCTaWYgeW91Q29udGludWUgcmVh + ZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0 + dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVu + ZXM6ZHVyYXRpb24+MTowMToyMDwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1p + ZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zOTg0 + PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+QnJhdmUg + QnJvd3NlciB3aXRoIEpvbmF0aGFuIFNhbXBzb248L3RpdGxlPg0KCQk8bGlu + az5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5 + LzIwL2JyYXZlLWJyb3dzZXItd2l0aC1qb25hdGhhbi1zYW1wc29uLzwvbGlu + az4NCgkJPHB1YkRhdGU+V2VkLCAyMCBTZXAgMjAxNyAwOTowMDoyNiArMDAw + MDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zOTc4PC9ndWlk + Pg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8wOS8yMC9icmF2ZS1icm93c2VyLXdpdGgtam9uYXRoYW4t + c2FtcHNvbi8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRS + c3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OS8yMC9icmF2ZS1icm93c2VyLXdpdGgtam9uYXRoYW4tc2FtcHNvbi9mZWVk + Lzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz42PC9zbGFz + aDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rl + c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3Rd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTZWN1cml0eV1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2FkIHRlY2hdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtiYXNpYyBhdHRlbnRp + b24gdG9rZW5dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtC + cmF2ZSBicm93c2VyXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbY3J5cHRvY3VycmVuY3ldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtKb25hdGhhbiBTYW1wc29uXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbd2ViIHRyYWNraW5nXV0+PC9jYXRlZ29yeT4KCQk8 + ZGVzY3JpcHRpb24+T25saW5lIGFkdmVydGlzaW5nIGVuYWJsZXMgZnJlZSBj + b250ZW50IGFuZCBzZXJ2aWNlcyBvZiB0aGUgSW50ZXJuZXQuIE9uZSBvZiB0 + aGUgZnJlZSBzZXJ2aWNlcyB0aGF0IGlzIHBvd2VyZWQgYnkgYWR2ZXJ0aXNp + bmcgaXMgdGhlIGJyb3dzZXIuIDYwJSBvZiB3ZWIgYnJvd3NpbmcgaXMgZG9u + ZSB0aHJvdWdoIENocm9tZSwgd2hpY2ggaXMgb3duZWQgYnkgR29vZ2xlLCB3 + aGljaCBpcyBwb3dlcmVkIGJ5IGFkdmVydGlzaW5nLiBUaGUgYXBwbGljYXRp + b24gdGhhdCBtb3N0IG9mIHVzIHVzZSB0byBleHBsb3JlIHRoZSB3ZWIgaXMg + bWFkZSBieSBhIGNvbXBhbnkgdGhhdCByZWxpZXMgb24gYWRzLCBzbyBpdCBp + cyB1bnN1cnByaXNpbmcgdGhhdCB0aGUgZGVmYXVsdCBvZiB0aGF0Jmx0O3Am + Z3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBo + cmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDkvMjAvYnJhdmUtYnJvd3Nlci13aXRoLWpvbmF0aGFuLXNhbXBz + b24vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0 + Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFb + Q0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJl + bmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJl + bmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwg + d3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9y + ZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4 + LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Bicy50 + d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvNzc3OTc5MTkyMTU1NTc4MzY4L1BY + WkZRNXVKLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPk9ubGluZSBhZHZlcnRpc2luZyBlbmFibGVzIGZyZWUg + Y29udGVudCBhbmQgc2VydmljZXMgb2YgdGhlIEludGVybmV0LiBPbmUgb2Yg + dGhlIGZyZWUgc2VydmljZXMgdGhhdCBpcyBwb3dlcmVkIGJ5IGFkdmVydGlz + aW5nIGlzIHRoZSBicm93c2VyLiA2MCUgb2Ygd2ViIGJyb3dzaW5nIGlzIGRv + bmUgdGhyb3VnaCBDaHJvbWUsIHdoaWNoIGlzIG93bmVkIGJ5IEdvb2dsZSwg + d2hpY2ggaXMgcG93ZXJlZCBieSBhZHZlcnRpc2luZy48L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZSBhcHBsaWNh + dGlvbiB0aGF0IG1vc3Qgb2YgdXMgdXNlIHRvIGV4cGxvcmUgdGhlIHdlYiBp + cyBtYWRlIGJ5IGEgY29tcGFueSB0aGF0IHJlbGllcyBvbiBhZHMsIHNvIGl0 + IGlzIHVuc3VycHJpc2luZyB0aGF0IHRoZSBkZWZhdWx0IG9mIHRoYXQgYnJv + d3NlciBpcyB0byBhbGxvdyBjbG9zZSB0cmFja2luZyBvZiB1c2VyIGJlaGF2 + aW9yLiBXaGVuIHlvdSBoaXQgYSB3ZWJzaXRlLCBhIHZhcmlldHkgb2YgdHJh + Y2tlcnMgYXJlIGxvZ2dpbmcgeW91ciBkYXRhIGZvciB0aGUgcHVycG9zZSBv + ZiBzZXJ2aW5nIHlvdSBiZXR0ZXIgYWRzLjwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U29tZSBwZW9wbGUgZG9u4oCZ + dCBsaWtlIGFkcywgYW5kIHRoZXkgZG9u4oCZdCBsaWtlIGJlaW5nIHRyYWNr + ZWQmIzgyMTE7YnV0IHdoYXQgaXMgdGhlIGFsdGVybmF0aXZlPyBIb3cgZWxz + ZSBjYW4gd2UgZ2V0IGFsbCB0aGUgY29udGVudCB3ZSB3YW50PyBTaW5jZSB0 + aGUgOTDigJlzLCBlbmdpbmVlcnMgaGF2ZSBlbnZpc2lvbmVkIGFuIEludGVy + bmV0IHBvd2VyZWQgYnkgbWljcm9wYXltZW50cy4gQSBtaWNyb3BheW1lbnRz + IHN5c3RlbSBpbiB5b3VyIGJyb3dzZXIgd291bGQgYWxsb3cgdXNlcnMgdG8g + cGF5IGZvciBjb250ZW50IHdpdGggbW9uZXkgaW5zdGVhZCBvZiBhZHRlY2gu + PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5CcmF2ZSBpcyBhIHdlYiBicm93c2VyIGJ1aWx0IHdpdGggYSBtb2Rlcm4g + dmlldyBvZiBhZHZlcnRpc2luZywgcHJpdmFjeSwgYW5kIGVjb25vbWljcy4g + QnJhdmUgdXNlcnMgY2FuIHBheSBmb3IgY29udGVudCB3aXRoIHRoZWlyIG1v + bmV5IE9SIGJ5IHBheWluZyBhdHRlbnRpb24gdG8gYWRzLiBUaGlzIHN5c3Rl + bSBpcyBmb3JtYWxpemVkIHRocm91Z2ggdGhlIEJhc2ljIEF0dGVudGlvbiBU + b2tlbiAoQkFUKSwgYSBjcnlwdG9jdXJyZW5jeSB0aGF0IGNhbiBiZSB1c2Vk + IHRvIHB1cmNoYXNlIHVzZXIgYXR0ZW50aW9uLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Sm9uYXRoYW4gU2FtcHNv + biBpcyBhIHNlbmlvciBkZXZlbG9wZXIgcmVsYXRpb25zIHNwZWNpYWxpc3Qg + d2l0aCBCcmF2ZSBTb2Z0d2FyZS4gSGUgam9pbnMgdGhlIHNob3cgdG8gdGFs + ayBhYm91dCB0aGUgcHJvYmxlbXMgd2l0aCB0aGUgYnJvd3NpbmcgZXhwZXJp + ZW5jZSBhbmQgd2hhdCBCcmF2ZSBpcyBkb2luZyB0byBzdG9wIGl0Ljwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SWYg + eW91IGxpa2UgdGhpcyBlcGlzb2RlLCB3ZSBoYXZlIGRvbmUgbWFueSBvdGhl + ciBzaG93cyBhYm91dCBwcml2YWN5LCB3aXRoIGd1ZXN0cyBsaWtlIEJydWNl + IFNjaG5laWVyIGFuZCBTYW15IEthbWthci4gRG93bmxvYWQgPC9zcGFuPjxh + IGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvc29mdHdh + cmUtZW5naW5lZXJpbmctZGFpbHktcG9kY2FzdC1hcHAvaWQxMjUzNzM0NDI2 + P210PTgiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dGhlIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGFwcCBmb3IgaU9TPC9zcGFuPjwv + YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiB0byBoZWFyIGFs + bCBvZiBvdXIgb2xkIGVwaXNvZGVzLCBhbmQgZWFzaWx5IGRpc2NvdmVyIG5l + dyB0b3BpY3MgdGhhdCBtaWdodCBpbnRlcmVzdCB5b3UuIFlvdSBjYW4gdXB2 + b3RlIHRoZSBlcGlzb2RlcyB5b3UgbGlrZSBhbmQgZ2V0IHJlY29tbWVuZGF0 + aW9ucyBiYXNlZCBvbiB5b3VyIGxpc3RlbmluZyBoaXN0b3J5LiBXaXRoIDYw + MCBlcGlzb2RlcywgaXQgaXMgaGFyZCB0byBmaW5kIHRoZSBlcGlzb2RlcyB0 + aGF0IGFwcGVhbCB0byB5b3UsIGFuZCB3ZSBob3BlIHRoZSBhcHAgaGVscHMg + d2l0aCB0aGF0Ljwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vYXVyb3JhLmF3cyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjM3MjIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253ZWJzZXJ2aWNlc19s + b2dvLXN2Z18vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2Zp + dD0yMDAwJTJDODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAwMCw4MDAiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQW1h + em9uV2Vic2VydmljZXNfTG9nby5zdmdfIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9 + MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9m + aXQ9MTAyNCUyQzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIy + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXpl + PTMwMCUyQzEyMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTc2OCUy + QzMwNyA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTEwMjQlMkM0MTAg + MTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjg4IDcyMHci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPlRvIGJ1aWxkIHRoZSBraW5kcyBvZiB0aGluZ3MgZGV2 + ZWxvcGVycyB3YW50IHRvIGJ1aWxkIHRvZGF5LCB0aGV5IG5lZWQgYmV0dGVy + IHRvb2xzLiDCoFRoYXTigJlzIHdoeSBBbWF6b24gV2ViIFNlcnZpY2VzIGJ1 + aWx0IEFtYXpvbiBBdXJvcmEuIEEgcmVsYXRpb25hbCBkYXRhYmFzZSBlbmdp + bmUgdGhhdOKAmXMgY29tcGF0aWJsZSB3aXRoIE15U1FMIGFuZCBQb3N0Z3Jl + U1FMLCBhbmQgcHJvdmlkZXMgdXAgdG8gZml2ZSB0aW1lcyB0aGUgcGVyZm9y + bWFuY2Ugb2Ygc3RhbmRhcmQgTXlTUUzigJRvbiB0aGUgc2FtZSBoYXJkd2Fy + ZSwgYXQgYSB0ZW50aCBvZiB0aGUgY29zdC4gQW1hem9uIEF1cm9yYSBmcm9t + IEFXUyBjYW4gc2NhbGUgdXAgdG8gbWlsbGlvbnMgb2YgdHJhbnNhY3Rpb25z + IHBlciBtaW51dGUuIEF1dG9tYXRpY2FsbHkgZ3JvdyB5b3VyIHN0b3JhZ2Ug + dXAgdG8gNjQgdGVyYWJ5dGVzLiBBbmQgcmVwbGljYXRlcyBkYXRhIHRvIHRo + cmVlIGRpZmZlcmVudCBBdmFpbGFiaWxpdHkgWm9uZXMuIEFuZCB5b3UgZG9u + 4oCZdCBoYXZlIHRvIG1hbmFnZSBhIHRoaW5nLiBUaGVyZSBhcmUgbm8gdXBm + cm9udCBjaGFyZ2VzLCBubyBjb21taXRtZW50c+KAlHlvdSBvbmx5IHBheSBm + b3Igd2hhdCB5b3UgdXNlLiBDaGVjayBpdCBvdXQsIGF0IDxhIGhyZWY9Imh0 + dHA6Ly9hdXJvcmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPHA+Jm5ic3A7PC9wPgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyIj48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMzkxOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc2NhbHlyL3NjYWx5 + cl9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgZGF0YS1v + cmlnLXNpemU9IjIyMCw5MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJTY2FseXJfbG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTM5MTkgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP3Jlc2l6ZT0yMjAl + MkM5MCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2hvIGRvIHlvdSB1c2Ug + Zm9yIGxvZyBtYW5hZ2VtZW50PyBJIHdhbnQgdG8gdGVsbCB5b3UgYWJvdXQg + U2NhbHlyLCB0aGUgZmlyc3QgcHVycG9zZSBidWlsdCBsb2cgbWFuYWdlbWVu + dCB0b29sIG9uIHRoZSBtYXJrZXQuIE1vc3QgdG9vbHMgb24gdGhlIG1hcmtl + dCB1dGlsaXplIHRleHQgaW5kZXhpbmcgc2VhcmNoLCB3aGljaCBpcyBncmVh + dCYjODIzMDsgZm9yIGluZGV4aW5nIGEgYm9vay4gQnV0IGlmIHlvdSB3YW50 + IHRvIHNlYXJjaCBsb2dzLCBhdCBzY2FsZSwgZmFzdCYjODIzMDsgaXQgYnJl + YWtzIGRvd24uIFNjYWx5ciBidWlsdCB0aGVpciBvd24gZGF0YWJhc2UgZnJv + bSBzY3JhdGNoOiB0aGUgc3lzdGVtIGlzIGZhc3QuIE1vc3Qgc2VhcmNoZXMg + dGFrZSBsZXNzIHRoYW4gMSBzZWNvbmQuIEluIGZhY3QsIDk5JSBvZiB0aGVp + ciBxdWVyaWVzIGV4ZWN1dGUgaW4gJmx0OzEgc2Vjb25kLiDCoENvbXBhbmll + cyBsaWtlIE9LQ3VwaWQsIEdpcGh5IGFuZCBDYXJlZXJCdWlsZGVyIHVzZSBT + Y2FseXIuIEl0IHdhcyBidWlsdCBieSBvbmUgb2YgdGhlIGZvdW5kZXJzIG9m + IFdyaXRlbHkgKGFrYSBHb29nbGUgRG9jcykuIFNjYWx5ciBoYXMgY29uc3Vt + ZXIgZ3JhZGUgVUksIHRoYXQgc2NhbGVzIGluZmluaXRlbHkuIFlvdSBjYW4g + bW9uaXRvciBrZXkgbWV0cmljcywgdHJpZ2dlciBhbGVydHMsIGFuZCBpbnRl + Z3JhdGUgd2l0aCBQYWdlckR1dHkuIEl0JiM4MjE3O3MgZWFzeSB0byB1c2Ug + YW5kIGRpZCB3ZSBtZW50aW9uOiBsaWdodG5pbmcgZmFzdC4gR2l2ZSBpdCBh + IHRyeSB0b2RheS4gSXTigJlzIGZyZWUgZm9yIDkwIGRheXMgYXQgPGEgaHJl + Zj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHly + Ij5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5cjwvYT4uIDwv + ZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48 + ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9wcm9zcGVjdC5pbyI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM5MjMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3Byb3NwZWN0 + LWlvL2xvZ28tcHJvc3BlY3Rpby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xvZ28tcHJvc3BlY3Rpby5wbmc/Zml0 + PTk2NCUyQzQyMCIgZGF0YS1vcmlnLXNpemU9Ijk2NCw0MjAiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ibG9nby1w + cm9zcGVjdGlvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1w + cm9zcGVjdGlvLnBuZz9maXQ9MzAwJTJDMTMxIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlv + LnBuZz9maXQ9OTY0JTJDNDIwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTM5MjMgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9sb2dvLXByb3NwZWN0aW8ucG5nP3Jlc2l6ZT0zMDAlMkMxMzEi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + bG9nby1wcm9zcGVjdGlvLnBuZz9yZXNpemU9MzAwJTJDMTMxIDMwMHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBu + Zz9yZXNpemU9NzY4JTJDMzM1IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBuZz9yZXNpemU9NzIwJTJDMzE0 + IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9z + cGVjdGlvLnBuZz93PTk2NCA5NjR3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUgY29sZCBl + bWFpbCBwcm9jZXNzIGlzIHdoYXQgbG90cyBvZiBwZW9wbGUgZ28gdGhyb3Vn + aCB0byBtYXJrZXQgYSBzb2Z0d2FyZSBwcm9kdWN0LCBhIG5ld3NsZXR0ZXIs + IG9yIGFuIG9ubGluZSBjb3Vyc2UuwqA8YSBocmVmPSJodHRwOi8vUHJvc3Bl + Y3QuaW8iPlByb3NwZWN0LmlvPC9hPiBpcyBteSBmYXZvcml0ZSB0b29sIGZv + ciBwcm9zcGVjdGluZy4gWW91IGNhbiBmaW5kIGVtYWlsIGFkZHJlc3NlcyBv + ZiBwZW9wbGUgYXQgYW55IGNvbXBhbnkuIFlvdSBjYW4gZmluZCBlbWFpbCBh + ZGRyZXNzZXMgb2YgdXNlcnMgb24gTGlua2VkSW4uwqBBZnRlciB5b3UgZmlu + ZCB0aG9zZSBlbWFpbHMsIHlvdSBjYW4gdXNlIFByb3NwZWN0LmlvIHRvIG1h + bmFnZSB5b3VyIHByb3NwZWN0cywgYW5kIHNlbmQgZW1haWxzOyBzZWUgd2hl + biBzb21lb25lIG9wZW5zIHlvdXIgcHJvc3BlY3RpbmcgZW1haWw7IGFuZCBz + dG9wIHNlbmRpbmcgdGhlbSBlbWFpbHMgd2hlbiB0aGV5IGhhdmUgc2lnbmFs + ZWQgdGhhdCB0aGV5IGFyZSBub3QgaW50ZXJlc3RlZC7CoElmIHlvdSBhcmUg + YnVpbGRpbmcgYSBwcm9kdWN0LCB5b3UgaGF2ZSB0byBmaW5kIGN1c3RvbWVy + cyB0byBzZWxsIHRvLiBIb3cgZG8geW91IGZpbmQgY3VzdG9tZXJzPyBCeSBw + cm9zcGVjdGluZy7CoEnigJl2ZSB0cmllZCBhIHRvbiBvZiBwcm9zcGVjdGlu + ZyB0b29scyYjODIxMTs8YSBocmVmPSJodHRwOi8vUHJvc3BlY3QuaW8iPlBy + b3NwZWN0LmlvPC9hPiBpcyBteSBmYXZvcml0ZS7CoFByb3NwZWN0LmlvIGlz + IG9mZmVyaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVy + cyAyMCUgb2ZmIGZvciB5b3VyIGZpcnN0IDIgbW9udGhzLiBKdXN0IG1lbnRp + b24gU0VEYWlseSB0byA8YSBocmVmPSJodHRwOi8vUHJvc3BlY3QuaW8iPlBy + b3NwZWN0LmlvPC9hPiBzdXBwb3J0IGFmdGVyIHlvdSBzaWduIHVwLjwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3lt + cGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBk + YXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9y + IHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBo + b25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9y + IGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBs + ZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBo + cmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNv + bS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBh + IHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFs + bW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93 + cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBh + IHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6 + ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxp + YnN5bi5jb20vc2VkYWlseS9CcmF2ZS5tcDMiIGxlbmd0aD0iNTcxNDM2NzIi + IHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5Pbmxp + bmUgYWR2ZXJ0aXNpbmcgZW5hYmxlcyBmcmVlIGNvbnRlbnQgYW5kIHNlcnZp + Y2VzIG9mIHRoZSBJbnRlcm5ldC4gT25lIG9mIHRoZSBmcmVlIHNlcnZpY2Vz + IHRoYXQgaXMgcG93ZXJlZCBieSBhZHZlcnRpc2luZyBpcyB0aGUgYnJvd3Nl + ci4gNjAlIG9mIHdlYiBicm93c2luZyBpcyBkb25lIHRocm91Z2ggQ2hyb21l + LCB3aGljaCBpcyBvd25lZCBieSBHb29nbGUsIHdoaWNoIGlzIHBvd2VyZWQg + YnkgYWR2ZXJ0aXNpbmcuPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpz + dW1tYXJ5Pk9ubGluZSBhZHZlcnRpc2luZyBlbmFibGVzIGZyZWUgY29udGVu + dCBhbmQgc2VydmljZXMgb2YgdGhlIEludGVybmV0LiBPbmUgb2YgdGhlIGZy + ZWUgc2VydmljZXMgdGhhdCBpcyBwb3dlcmVkIGJ5IGFkdmVydGlzaW5nIGlz + IHRoZSBicm93c2VyLiA2MCUgb2Ygd2ViIGJyb3dzaW5nIGlzIGRvbmUgdGhy + b3VnaCBDaHJvbWUsIHdoaWNoIGlzIG93bmVkIGJ5IEdvb2dsZSwgd2hpY2gg + aXMgcG93ZXJlZCBieSBhZHZlcnRpc2luZy4gVGhlIGFwcGxpY2F0aW9uIHRo + YXQgbW9zdCBvZiB1cyB1c2UgdG8gZXhwbG9yZSB0aGUgd2ViIGlzIG1hZGUg + YnkgYSBjb21wYW55IHRoYXQgcmVsaWVzIG9uIGFkcywgc28gaXQgaXMgdW5z + dXJwcmlzaW5nIHRoYXQgdGhlIGRlZmF1bHQgb2YgdGhhdENvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjU5OjE2PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlk + IHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5Nzg8 + L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5EZWVwIExl + YXJuaW5nIFN5c3RlbXMgd2l0aCBNaWxlbmEgTWFyaW5vdmE8L3RpdGxlPg0K + CQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA5LzE5L2RlZXAtbGVhcm5pbmctc3lzdGVtcy13aXRoLW1pbGVuYS1t + YXJpbm92YS88L2xpbms+DQoJCTxwdWJEYXRlPlR1ZSwgMTkgU2VwIDIwMTcg + MDk6MDA6NTkgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + P3A9Mzk3NTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMTkvZGVlcC1sZWFybmluZy1z + eXN0ZW1zLXdpdGgtbWlsZW5hLW1hcmlub3ZhLyNjb21tZW50czwvY29tbWVu + dHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE5L2RlZXAtbGVhcm5pbmctc3lzdGVt + cy13aXRoLW1pbGVuYS1tYXJpbm92YS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+ + DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW01hY2hpbmUgTGVhcm5pbmddXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQUldXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtJbnRlbF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW21hY2hpbmUgbGVhcm5pbmcgbW9kZWxzXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWlsZW5hIE1hcmlub3ZhXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbVGVuc29yRmxvd11d + PjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlRoZSBhcHBsaWNhdGlvbnMg + dGhhdCBkZW1hbmQgZGVlcCBsZWFybmluZyByYW5nZSBmcm9tIHNlbGYtZHJp + dmluZyBjYXJzIHRvIGhlYWx0aGNhcmUsIGJ1dCB0aGUgd2F5IHRoYXQgbW9k + ZWxzIGFyZSBkZXZlbG9wZWQgYW5kIHRyYWluZWQgaXMgc2ltaWxhci4gQSBt + b2RlbCBpcyB0cmFpbmVkIGluIHRoZSBjbG91ZCBhbmQgZGVwbG95ZWQgdG8g + YSBkZXZpY2UuIFRoZSBkZXZpY2UgZW5nYWdlcyB3aXRoIHRoZSByZWFsIHdv + cmxkLCBnYXRoZXJpbmcgbW9yZSBkYXRhLiBUaGF0IGRhdGEgaXMgc2VudCBi + YWNrIHRvIHRoZSBjbG91ZCwgd2hlcmUgaXQgY2FuIGltcHJvdmUgdGhlIG1v + ZGVsLiBGcm9tIHRoZSBwcm9jZXNzb3IgbGV2ZWwgdG8gdGhlIHNvZnR3YXJl + IGZyYW1ld29ya3MgYXQgdGhlIHRvcCZsdDtwJmd0OyZsdDthIGNsYXNzPSZx + dW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE5L2RlZXAt + bGVhcm5pbmctc3lzdGVtcy13aXRoLW1pbGVuYS1tYXJpbm92YS8mcXVvdDsm + Z3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9k + ZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQv + MTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5z + L2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5z + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0y + NDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBz + b2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAx + NzVweDsiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vbWVkaWEubGljZG4uY29t + L21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9BQUVBQVFBQUFBQUFBQXVOQUFB + QUpEUTFNVGhqWlRFNUxURTNOVE10TkdZNE1pMDVNR1kwTFRZMU5UTTFZbVUz + WW1GaU1BLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPlRoZSBhcHBsaWNhdGlvbnMgdGhhdCBkZW1hbmQgZGVl + cCBsZWFybmluZyByYW5nZSBmcm9tIHNlbGYtZHJpdmluZyBjYXJzIHRvIGhl + YWx0aGNhcmUsIGJ1dCB0aGUgd2F5IHRoYXQgbW9kZWxzIGFyZSBkZXZlbG9w + ZWQgYW5kIHRyYWluZWQgaXMgc2ltaWxhci4gQSBtb2RlbCBpcyB0cmFpbmVk + IGluIHRoZSBjbG91ZCBhbmQgZGVwbG95ZWQgdG8gYSBkZXZpY2UuIFRoZSBk + ZXZpY2UgZW5nYWdlcyB3aXRoIHRoZSByZWFsIHdvcmxkLCBnYXRoZXJpbmcg + bW9yZSBkYXRhLiBUaGF0IGRhdGEgaXMgc2VudCBiYWNrIHRvIHRoZSBjbG91 + ZCwgd2hlcmUgaXQgY2FuIGltcHJvdmUgdGhlIG1vZGVsLjwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+RnJvbSB0aGUg + cHJvY2Vzc29yIGxldmVsIHRvIHRoZSBzb2Z0d2FyZSBmcmFtZXdvcmtzIGF0 + IHRoZSB0b3Agb2YgdGhlIHN0YWNrLCB0aGUgaW1wYWN0IG9mIGRlZXAgbGVh + cm5pbmcgaXMgc28gc2lnbmlmaWNhbnQgdGhhdCBpdCBpcyBkcml2aW5nIGNo + YW5nZXMgZXZlcnl3aGVyZS4gQXQgdGhlIGhhcmR3YXJlIGxldmVsLCBuZXcg + Y2hpcHMgYXJlIGJlaW5nIGRlc2lnbmVkIHRvIHBlcmZvcm0gdGhlIG1hdHJp + eCBjYWxjdWxhdGlvbnMgYXQgdGhlIGhlYXJ0IG9mIGEgbmV1cmFsIG5ldC4g + QXQgdGhlIHNvZnR3YXJlIGxldmVsLCBwcm9ncmFtbWVycyBhcmUgZW1wb3dl + cmVkIGJ5IG5ldyBmcmFtZXdvcmtzIGxpa2UgTmVvbiBhbmQgVGVuc29yRmxv + dy4gSW4gYmV0d2VlbiB0aGUgcHJvZ3JhbW1lciBhbmQgdGhlIGhhcmR3YXJl + LCBtaWRkbGV3YXJlIGNhbiB0cmFuc2Zvcm0gc29mdHdhcmUgbW9kZWxzIGlu + dG8gcmVwcmVzZW50YXRpb25zIHRoYXQgY2FuIGV4ZWN1dGUgd2l0aCBiZXR0 + ZXIgcGVyZm9ybWFuY2UuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5NaWxlbmEgTWFyaW5vdmEgaXMgdGhlIHNlbmlv + ciBkaXJlY3RvciBvZiBBSSBzb2x1dGlvbnMgYXQgdGhlIEludGVsIEFJIHBy + b2R1Y3RzIGdyb3VwLCBhbmQgam9pbnMgdGhlIHNob3cgdG9kYXkgdG8gdGFs + ayBhYm91dCBtb2Rlcm4gYXBwbGljYXRpb25zIG9mIG1hY2hpbmUgbGVhcm5p + bmcgYW5kIGhvdyB0aG9zZSB0cmFuc2xhdGUgaW50byBJbnRlbOKAmXMgYnVz + aW5lc3Mgc3RyYXRlZ3kgYXJvdW5kIGhhcmR3YXJlLCBzb2Z0d2FyZSwgYW5k + IGNsb3VkLiA8L3NwYW4+PC9wPgo8cD48YSBocmVmPSJodHRwczovL2NvbmZl + cmVuY2VzLm9yZWlsbHkuY29tL2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlL2Fp + LWNhIj5Gcm9tIFNlcHRlbWJlciAxOC0yMCwgTWlsZW5hIGlzIGF0dGVuZGlu + ZyB0aGUgTyYjODIxNztSZWlsbHkgQUkgQ29uZmVyZW5jZSwgaG9zdGVkIGJ5 + IEludGVsIE5lcnZhbmEgYW5kIE8mIzgyMTc7UmVpbGx5LjwvYT48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+RnVsbCBkaXNjbG9z + dXJlOiBJbnRlbCBpcyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkuPC9zcGFuPjwvcD4KPHA+PGVtPlF1ZXN0aW9uIG9mIHRoZSBX + ZWVrOiBXaGF0IGlzIHlvdXIgZmF2b3JpdGUgY29udGludW91cyBkZWxpdmVy + eSBvciBjb250aW51b3VzIGludGVncmF0aW9uIHRvb2w/IEVtYWlsIGplZmZA + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbSBhbmQgYSB3aW5uZXIgd2ls + bCBiZSBjaG9zZW4gYXQgcmFuZG9tIHRvIHJlY2VpdmUgYSBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBob29kaWUuwqA8L2VtPjwvcD4KPGgyPlNob3cg + Tm90ZXM8L2gyPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PkRhdGEgU2tlcHRpYyBwb2RjYXN0OiA8YSBocmVmPSJodHRwczovL2RhdGFz + a2VwdGljLmNvbS9ibG9nL2VwaXNvZGVzLzIwMTcvZ2VuZXJhdGl2ZS1hZHZl + cnNhcmlhbC1uZXR3b3JrcyI+PHN0cm9uZz5HZW5lcmF0aXZlIEFkdmVyc2Fy + aWFsIE5ldHdvcmtzPC9zdHJvbmc+PC9hPjwvc3Bhbj48L3A+CjxoMj5TcG9u + c29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIxNTgzIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wMS8w + NC9kaXN0cmlidXRlZC1zeXN0ZW1zLXdpdGgtYWx2YXJvLXZpZGVsYS9oaXJl + ZC1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1v + cmlnLXNpemU9IjI2MCwxMzAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iaGlyZWQtbG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + MS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTE1ODMgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/cmVzaXplPTI2MCUy + QzEzMCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVlbiB0 + aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJZiB5 + b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUgYmVl + biB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92ZSwg + Z28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGly + ZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdvcmsg + ZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1tYXRj + aGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2b2Nh + dGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBm + aW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJodHRw + Oi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPsKg + dG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJvbnVz + IGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0aGF0 + IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91IGRl + c2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cHM6Ly9jbG91ZGZsYXJlLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMzg4MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTgvZXJyb3It + ZGlhZ25vc2lzLXdpdGgtamFtZXMtc21pdGgvY2xvdWRmbGFyZV9sb2dvLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + Q2xvdWRmbGFyZV9sb2dvLnBuZz9maXQ9MTIwMCUyQzQwOSIgZGF0YS1vcmln + LXNpemU9IjEyMDAsNDA5IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IkNsb3VkZmxhcmVfbG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTMw + MCUyQzEwMiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTEwMjQlMkMzNDki + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzg4MSBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVf + bG9nby5wbmc/cmVzaXplPTMwMCUyQzEwMiIgYWx0PSIiIHNyY3NldD0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5n + P3Jlc2l6ZT0zMDAlMkMxMDIgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyNjIg + NzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJl + X2xvZ28ucG5nP3Jlc2l6ZT0xMDI0JTJDMzQ5IDEwMjR3LCBodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXpl + PTcyMCUyQzI0NSA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L0Nsb3VkZmxhcmVfbG9nby5wbmc/dz0xMjAwIDEyMDB3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5DbG91ZGZsYXJlIHJ1bnMgMTAlIG9mIHRoZSBJbnRlcm5ldCwgcHJvdmlk + aW5nIHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eSB0byBtaWxsaW9ucyBvZiB3 + ZWJzaXRlcy4gTWFueSBvZiB5b3UgcHJvYmFibHkgYWxyZWFkeSB1c2UgQ2xv + dWRmbGFyZSBvbiB5b3VyIHNpdGVzLiBXZeKAmXJlIG5vdCB0YWxraW5nIGFi + b3V0IHVzaW5nIENsb3VkZmxhcmUgdG9kYXkgdGhvdWdoLCB3ZeKAmXJlIGhl + cmUgdG8gdGFsayBhYm91dCBidWlsZGluZyBvbiB0b3Agb2YgaXQuIElmIHlv + deKAmXJlIGEgZGV2ZWxvcGVyIHlvdSBjYW4gYnVpbGQgYXBwcyB3aGljaCBj + YW4gYmUgaW5zdGFsbGVkIGJ5IHRoZSB0aGUgbWlsbGlvbnMgb2Ygc2l0ZXMg + d2hpY2ggcmVseSBvbiBDbG91ZGZsYXJlLiBZb3UgY2FuIGV2ZW4gc2VsbCB5 + b3VyIGFwcHM7IHRoZXkgY2FuIG1ha2UgeW91IG1vbmV5IDxlbT5ldmVyeSBt + b250aDwvZW0+LiBWaXNpdCA8YSBocmVmPSJodHRwczovL2Nsb3VkZmxhcmUu + Y29tL3NlZGFpbHkiPmNsb3VkZmxhcmUuY29tL3NlZGFpbHk8L2E+wqB0byB3 + YXRjaCBob3cgeW91IGNhbiBidWlsZCBhbmQgZGVwbG95IGFuIGFwcCBpbiBs + ZXNzIHRoYW4gMyBtaW51dGVzLjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM5MTkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NjYWx5ci9z + Y2FseXJfbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGRh + dGEtb3JpZy1zaXplPSIyMjAsOTAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iU2NhbHlyX2xvZ28iIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUy + QzkwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgY2xhc3M9ImFs + aWdubGVmdCB3cC1pbWFnZS0zOTE5IHNpemUtZnVsbCIgc3JjPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9yZXNpemU9 + MjIwJTJDOTAiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPldobyBkbyB5b3Ug + dXNlIGZvciBsb2cgbWFuYWdlbWVudD8gSSB3YW50IHRvIHRlbGwgeW91IGFi + b3V0IFNjYWx5ciwgdGhlIGZpcnN0IHB1cnBvc2UgYnVpbHQgbG9nIG1hbmFn + ZW1lbnQgdG9vbCBvbiB0aGUgbWFya2V0LiBNb3N0IHRvb2xzIG9uIHRoZSBt + YXJrZXQgdXRpbGl6ZSB0ZXh0IGluZGV4aW5nIHNlYXJjaCwgd2hpY2ggaXMg + Z3JlYXQmIzgyMzA7IGZvciBpbmRleGluZyBhIGJvb2suIEJ1dCBpZiB5b3Ug + d2FudCB0byBzZWFyY2ggbG9ncywgYXQgc2NhbGUsIGZhc3QmIzgyMzA7IGl0 + IGJyZWFrcyBkb3duLiBTY2FseXIgYnVpbHQgdGhlaXIgb3duIGRhdGFiYXNl + IGZyb20gc2NyYXRjaDogdGhlIHN5c3RlbSBpcyBmYXN0LiBNb3N0IHNlYXJj + aGVzIHRha2UgbGVzcyB0aGFuIDEgc2Vjb25kLiBJbiBmYWN0LCA5OSUgb2Yg + dGhlaXIgcXVlcmllcyBleGVjdXRlIGluICZsdDsxIHNlY29uZC4gwqBDb21w + YW5pZXMgbGlrZSBPS0N1cGlkLCBHaXBoeSBhbmQgQ2FyZWVyQnVpbGRlciB1 + c2UgU2NhbHlyLiBJdCB3YXMgYnVpbHQgYnkgb25lIG9mIHRoZSBmb3VuZGVy + cyBvZiBXcml0ZWx5IChha2EgR29vZ2xlIERvY3MpLiBTY2FseXIgaGFzIGNv + bnN1bWVyIGdyYWRlIFVJLCB0aGF0IHNjYWxlcyBpbmZpbml0ZWx5LiBZb3Ug + Y2FuIG1vbml0b3Iga2V5IG1ldHJpY3MsIHRyaWdnZXIgYWxlcnRzLCBhbmQg + aW50ZWdyYXRlIHdpdGggUGFnZXJEdXR5LiBJdCYjODIxNztzIGVhc3kgdG8g + dXNlIGFuZCBkaWQgd2UgbWVudGlvbjogbGlnaHRuaW5nIGZhc3QuIEdpdmUg + aXQgYSB0cnkgdG9kYXkuIEl04oCZcyBmcmVlIGZvciA5MCBkYXlzIGF0IDxh + IGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3Nj + YWx5ciI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXI8L2E+ + LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJs + PSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvRGVlcExlYXJu + aW5nU3lzdGVtcy5tcDMiIGxlbmd0aD0iMTA1MjE2MTI5IiB0eXBlPSJhdWRp + by9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+VGhlIGFwcGxpY2F0aW9u + cyB0aGF0IGRlbWFuZCBkZWVwIGxlYXJuaW5nIHJhbmdlIGZyb20gc2VsZi1k + cml2aW5nIGNhcnMgdG8gaGVhbHRoY2FyZSwgYnV0IHRoZSB3YXkgdGhhdCBt + b2RlbHMgYXJlIGRldmVsb3BlZCBhbmQgdHJhaW5lZCBpcyBzaW1pbGFyLiBB + IG1vZGVsIGlzIHRyYWluZWQgaW4gdGhlIGNsb3VkIGFuZCBkZXBsb3llZCB0 + byBhIGRldmljZS4gVGhlIGRldmljZSBlbmdhZ2VzIHdpdGggdGhlIHJlYWwg + d29ybGQsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlRo + ZSBhcHBsaWNhdGlvbnMgdGhhdCBkZW1hbmQgZGVlcCBsZWFybmluZyByYW5n + ZSBmcm9tIHNlbGYtZHJpdmluZyBjYXJzIHRvIGhlYWx0aGNhcmUsIGJ1dCB0 + aGUgd2F5IHRoYXQgbW9kZWxzIGFyZSBkZXZlbG9wZWQgYW5kIHRyYWluZWQg + aXMgc2ltaWxhci4gQSBtb2RlbCBpcyB0cmFpbmVkIGluIHRoZSBjbG91ZCBh + bmQgZGVwbG95ZWQgdG8gYSBkZXZpY2UuIFRoZSBkZXZpY2UgZW5nYWdlcyB3 + aXRoIHRoZSByZWFsIHdvcmxkLCBnYXRoZXJpbmcgbW9yZSBkYXRhLiBUaGF0 + IGRhdGEgaXMgc2VudCBiYWNrIHRvIHRoZSBjbG91ZCwgd2hlcmUgaXQgY2Fu + IGltcHJvdmUgdGhlIG1vZGVsLiBGcm9tIHRoZSBwcm9jZXNzb3IgbGV2ZWwg + dG8gdGhlIHNvZnR3YXJlIGZyYW1ld29ya3MgYXQgdGhlIHRvcENvbnRpbnVl + IHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9y + PlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJ + CTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8 + aXR1bmVzOmR1cmF0aW9uPjU0OjQ4PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0 + LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5 + NzU8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5TcG90 + aWZ5IEV2ZW50IERlbGl2ZXJ5IHdpdGggSWdvciBNYXJhdmljPC90aXRsZT4N + CgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOS8xOC9zcG90aWZ5LWV2ZW50LWRlbGl2ZXJ5LXdpdGgtaWdvci1t + YXJhdmljLzwvbGluaz4NCgkJPHB1YkRhdGU+TW9uLCAxOCBTZXAgMjAxNyAw + OTowMDowOCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/ + cD0zOTcxPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8xOC9zcG90aWZ5LWV2ZW50LWRl + bGl2ZXJ5LXdpdGgtaWdvci1tYXJhdmljLyNjb21tZW50czwvY29tbWVudHM+ + DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA5LzE4L3Nwb3RpZnktZXZlbnQtZGVsaXZlcnkt + d2l0aC1pZ29yLW1hcmF2aWMvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8 + c2xhc2g6Y29tbWVudHM+MTwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29y + eT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtDbG91ZCBFbmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtldmVudCBkZWxpdmVyeV1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0lnb3IgTWFyYXZpY11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0luZnJhc3RydWN0dXJlXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU3BvdGlmeV1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3N0cmVhbWluZyBtdXNp + Y11dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlNwb3RpZnkgaXMgYSBz + dHJlYW1pbmcgbXVzaWMgY29tcGFueSB3aXRoIG1vcmUgdGhhbiA1MCBtaWxs + aW9uIHVzZXJzLiBXaGVuZXZlciBhIHVzZXIgbGlzdGVucyB0byBhIHNvbmcs + IFNwb3RpZnkgcmVjb3JkcyB0aGF0IGV2ZW50IGFuZCB1c2VzIGl0IGFzIGlu + cHV0IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhlIHVzZXLigJlzIHByZWZlcmVu + Y2VzLiBMaXN0ZW5pbmcgdG8gYSBzb25nIGlzIG9uZSB0eXBlIG9mIGV2ZW50 + 4oCTdGhlcmUgYXJlIGh1bmRyZWRzIG9mIG90aGVycy4gT3BlbmluZyB0aGUg + U3BvdGlmeSBhcHAsIHNraXBwaW5nIGEgc29uZywgc2hhcmluZyBhIHBsYXls + aXN0IHdpdGggYSBmcmllbmTigJNhbGwgb2YgdGhlc2UgYXJlIGV2ZW50cyB0 + aGF0IHByb3ZpZGUgdmFsdWFibGUgaW5zaWdodHMgdG8mbHQ7cCZndDsmbHQ7 + YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1 + b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OS8xOC9zcG90aWZ5LWV2ZW50LWRlbGl2ZXJ5LXdpdGgtaWdvci1tYXJhdmlj + LyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsv + cCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NE + QVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5k + YW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5k + YW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFu + LWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdw + LWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRl + cjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1o + ZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS9tZWRpYS5s + aWNkbi5jb20vbXByL21wci9zaHJpbmtucF8yMDBfMjAwL0FBRUFBUUFBQUFB + QUFBWnBBQUFBSkRReU9EZzBZV1l6TFdNME9URXROREV3TWkxaE9EUXpMVEZo + WmpnNU5XTTRaakE0WVEuanBnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9 + MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+U3BvdGlmeSBpcyBhIHN0cmVhbWluZyBt + dXNpYyBjb21wYW55IHdpdGggbW9yZSB0aGFuIDUwIG1pbGxpb24gdXNlcnMu + IFdoZW5ldmVyIGEgdXNlciBsaXN0ZW5zIHRvIGEgc29uZywgU3BvdGlmeSBy + ZWNvcmRzIHRoYXQgZXZlbnQgYW5kIHVzZXMgaXQgYXMgaW5wdXQgdG8gbGVh + cm4gbW9yZSBhYm91dCB0aGUgdXNlcuKAmXMgcHJlZmVyZW5jZXMuIExpc3Rl + bmluZyB0byBhIHNvbmcgaXMgb25lIHR5cGUgb2YgZXZlbnQmIzgyMTE7dGhl + cmUgYXJlIGh1bmRyZWRzIG9mIG90aGVycy4gT3BlbmluZyB0aGUgU3BvdGlm + eSBhcHAsIHNraXBwaW5nIGEgc29uZywgc2hhcmluZyBhIHBsYXlsaXN0IHdp + dGggYSBmcmllbmQmIzgyMTE7YWxsIG9mIHRoZXNlIGFyZSBldmVudHMgdGhh + dCBwcm92aWRlIHZhbHVhYmxlIGluc2lnaHRzIHRvIFNwb3RpZnkuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGVz + ZSBhcmUgbm90IHRoZSBvbmx5IHR5cGVzIG9mIGV2ZW50cyB0aGF0IFNwb3Rp + ZnkgY2FyZXMgYWJvdXQuIFRoZXJlIGFyZSBhbHNvIGV2ZW50cyB0aGF0IG9j + Y3VyIGF0IHRoZSBpbmZyYXN0cnVjdHVyZSBsZXZlbCYjODIxMTtmb3IgZXhh + bXBsZSBhIGxvZ2dpbmcgc2VydmVyIHRoYXQgcnVucyBvdXQgb2YgZGlzayBz + cGFjZS4gVGhlcmUgYXJlIGV2ZW50cyB0aGF0IGFyZSByZWxldmFudCB0byBh + bGwgdGhlIHVzZXJzIG9uIFNwb3RpZnkmIzgyMTE7Zm9yIGV4YW1wbGUgYSBu + ZXcgYWxidW0gcmVsZWFzZSBmcm9tIFRheWxvciBTd2lmdC48L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFuIOKAnGV2 + ZW504oCdIGlzIGFuIG9iamVjdCB0aGF0IG5lZWRzIHRvIGJlIHJlZ2lzdGVy + ZWQgd2l0aGluIGEgc3lzdGVtLiBTaW5jZSB0aGVyZSBhcmUgc28gbWFueSBl + dmVudHMgb24gYSBwbGF0Zm9ybSBsaWtlIFNwb3RpZnksIGRlbGl2ZXJpbmcg + YW5kIHByb2Nlc3NpbmcgdGhlbSByZWxpYWJseSByZXF1aXJlcyBzaWduaWZp + Y2FudCBpbnZlc3RtZW50Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+TW9kZXJuIEludGVybmV0IGNvbXBhbmllcyBh + cmUgYnVpbHQgYnkgY29ubmVjdGluZyBjbG91ZCBzZXJ2aWNlcywgZGF0YWJh + c2VzLCBhbmQgaW50ZXJuYWwgdG9vbHMgdG9nZXRoZXIuIFRoZXNlIGRpZmZl + cmVudCBzeXN0ZW1zIG1pZ2h0IHJlc3BvbmQgdG8gZGlmZmVyZW50IGV2ZW50 + cyBpbiBkaWZmZXJlbnQgd2F5cy4gRWFjaCBzeXN0ZW0gc3Vic2NyaWJlcyB0 + byB0aGUgdHlwZXMgb2YgZXZlbnRzIHRoYXQgaXQgd2FudHMgdG8gaGVhci4g + U2luY2UgdGhlcmUgYXJlIHNvIG1hbnkgZXZlbnRzLCBhbmQgdGhleSBtaWdo + dCBiZSByZWNlaXZlZCBhdCB1bmV2ZW4gYnVyc3RzLCBhIG1vZGVybiBhcmNo + aXRlY3R1cmUgaGFzIGEgc2NhbGFibGUgcXVldWVpbmcgc3lzdGVtIHRvIGJ1 + ZmZlciBldmVudHMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5UbyBwdXQgYW4gZXZlbnQgb24gdGhlIHF1ZXVlLCB0 + aGUgZXZlbnQgcHJvZHVjZXIg4oCccHVibGlzaGVz4oCdIHRoYXQgZXZlbnQg + dG8gdGhlIHF1ZXVlLiBUaGUgZXZlbnQgaXMgdGhlbiByZWNlaXZlZCBieSBl + YWNoIOKAnHN1YnNjcmliZXIu4oCdIFRoYXTigJlzIHdoeSBxdWV1ZWluZyBp + cyBvZnRlbiBrbm93biBhcyBwdWIvc3ViJiM4MjExO3B1Ymxpc2gvc3Vic2Ny + aWJlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+SWdvciBNYXJhdmljIGlzIGFuIGVuZ2luZWVyIHdpdGggU3BvdGlm + eS4gSW4gdGhpcyBlcGlzb2RlLCBoZSBleHBsYWlucyB3aHkgcHViL3N1YiBp + cyBhIGtleSBlbGVtZW50IG9mIFNwb3RpZnnigJlzIGluZnJhc3RydWN0dXJl + JiM4MjExO2FuZCBoZSBkZXNjcmliZXMgdGhlIG1pZ3JhdGlvbiB0aGF0IFNw + b3RpZnkgaGFzIG1hZGUgZnJvbSBBcGFjaGUgS2Fma2EgdG8gR29vZ2xlIENs + b3VkIFB1YnN1Yi48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPklmIHlvdSBsaWtlIHRoaXMgZXBpc29kZSwgd2UgaGF2 + ZSBkb25lIG1hbnkgb3RoZXIgc2hvd3MgYWJvdXQgY2xvdWQgaW5mcmFzdHJ1 + Y3R1cmUuIFlvdSBjYW4gY2hlY2sgb3V0IG91ciBiYWNrIGNhdGFsb2cgYnkg + ZG93bmxvYWRpbmcgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFw + cGxlLmNvbS91cy9hcHAvc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHktcG9k + Y2FzdC1hcHAvaWQxMjUzNzM0NDI2P210PTgiPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + IGFwcCBmb3IgaU9TPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPiwgd2hlcmUgeW91IGNhbiBsaXN0ZW4gdG8gYWxsIG9mIG91 + ciBvbGQgZXBpc29kZXMsIGFuZCBlYXNpbHkgZGlzY292ZXIgbmV3IHRvcGlj + cyB0aGF0IG1pZ2h0IGludGVyZXN0IHlvdS4gWW91IGNhbiB1cHZvdGUgdGhl + IGVwaXNvZGVzIHlvdSBsaWtlIGFuZCBnZXQgcmVjb21tZW5kYXRpb25zIGJh + c2VkIG9uIHlvdXIgbGlzdGVuaW5nIGhpc3RvcnkuIFdpdGggNjAwIGVwaXNv + ZGVzLCBpdCBpcyBoYXJkIHRvIGZpbmQgdGhlIGVwaXNvZGVzIHRoYXQgYXBw + ZWFsIHRvIHlvdSwgYW5kIHdlIGhvcGUgdGhlIGFwcCBoZWxwcyB3aXRoIHRo + YXQuPC9zcGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9hdXJvcmEuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3Zn + Xy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAl + MkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJz + ZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMx + MjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0 + JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJD + MTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2 + OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vy + dmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+VG8gYnVpbGQgdGhlIGtpbmRzIG9mIHRoaW5ncyBkZXZlbG9wZXJz + IHdhbnQgdG8gYnVpbGQgdG9kYXksIHRoZXkgbmVlZCBiZXR0ZXIgdG9vbHMu + IMKgVGhhdOKAmXMgd2h5IEFtYXpvbiBXZWIgU2VydmljZXMgYnVpbHQgQW1h + em9uIEF1cm9yYS4gQSByZWxhdGlvbmFsIGRhdGFiYXNlIGVuZ2luZSB0aGF0 + 4oCZcyBjb21wYXRpYmxlIHdpdGggTXlTUUwgYW5kIFBvc3RncmVTUUwsIGFu + ZCBwcm92aWRlcyB1cCB0byBmaXZlIHRpbWVzIHRoZSBwZXJmb3JtYW5jZSBv + ZiBzdGFuZGFyZCBNeVNRTOKAlG9uIHRoZSBzYW1lIGhhcmR3YXJlLCBhdCBh + IHRlbnRoIG9mIHRoZSBjb3N0LiBBbWF6b24gQXVyb3JhIGZyb20gQVdTIGNh + biBzY2FsZSB1cCB0byBtaWxsaW9ucyBvZiB0cmFuc2FjdGlvbnMgcGVyIG1p + bnV0ZS4gQXV0b21hdGljYWxseSBncm93IHlvdXIgc3RvcmFnZSB1cCB0byA2 + NCB0ZXJhYnl0ZXMuIEFuZCByZXBsaWNhdGVzIGRhdGEgdG8gdGhyZWUgZGlm + ZmVyZW50IEF2YWlsYWJpbGl0eSBab25lcy4gQW5kIHlvdSBkb27igJl0IGhh + dmUgdG8gbWFuYWdlIGEgdGhpbmcuIFRoZXJlIGFyZSBubyB1cGZyb250IGNo + YXJnZXMsIG5vIGNvbW1pdG1lbnRz4oCUeW91IG9ubHkgcGF5IGZvciB3aGF0 + IHlvdSB1c2UuIENoZWNrIGl0IG91dCwgYXQgPGEgaHJlZj0iaHR0cDovL2F1 + cm9yYS5hd3MiPmF1cm9yYS5hd3M8L2E+LjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vaW50ZXJtaXguaW8vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjM5MjEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2ludGVybWl4L2ludGVybWl4 + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDgvaW50ZXJtaXguanBnP2ZpdD01MDAlMkMyMDAiIGRhdGEtb3JpZy1zaXpl + PSI1MDAsMjAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImludGVybWl4IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvaW50ZXJtaXguanBnP2ZpdD0zMDAlMkMxMjAiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9pbnRlcm1peC5q + cGc/Zml0PTUwMCUyQzIwMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + OTIxIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvaW50ZXJtaXguanBnP3Jlc2l6ZT0zMDAlMkMxMjAiIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvaW50ZXJtaXgu + anBnP3Jlc2l6ZT0zMDAlMkMxMjAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9pbnRlcm1peC5qcGc/dz01MDAgNTAwdyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BbWF6b24gUmVk + c2hpZnQgcG93ZXJzIHRoZSBhbmFseXRpY3Mgb2YgeW91ciBidXNpbmVzcyYj + ODIxMTthbmQgSW50ZXJtaXguaW8gcG93ZXJzIHRoZSBhbmFseXRpY3Mgb2Yg + eW91ciBSZWRzaGlmdC4gSW50ZXJtaXguaW8gZ2l2ZXMgeW91IHRoZSB0b29s + cyB5b3UgbmVlZCB0byBhbmFseXplIHlvdXIgQW1hem9uIFJlZHNoaWZ0IHBl + cmZvcm1hbmNlIGFuZCBpbXByb3ZlIHRoZSB0b29sY2hhaW4gb2YgZXZlcnlv + bmUgZG93bnN0cmVhbSBmcm9tIHlvdXIgZGF0YSB3YXJlaG91c2UuIFRoZSB0 + ZWFtIGF0IEludGVybWl4IGhhcyBzZWVuIHNvIG1hbnkgUmVkc2hpZnQgY2x1 + c3RlcnMsIHRoZXkgYXJlIGNvbmZpZGVudCB0aGV5IGNhbiBzb2x2ZSB3aGF0 + ZXZlciBwZXJmb3JtYW5jZSBpc3N1ZXMgeW91IGFyZSBoYXZpbmcuIEdvIHRv + IDxhIGhyZWY9Imh0dHBzOi8vaW50ZXJtaXguaW8vc2VkYWlseSI+aW50ZXJt + aXguaW8vc2VkYWlseTwvYT4gdG8gZ2V0IGEgZnJlZSAzMC1kYXkgdHJpYWwu + IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkludGVy + bWl4IGNvbGxlY3RzIGFsbCB5b3VyIFJlZHNoaWZ0IGxvZ3MgYW5kIG1ha2Vz + IGl0IGVhc3kgdG8gZmlndXJlIG91dCB3aGF0JiM4MjE3O3Mgd3Jvbmcgc28g + eW91IGNhbiB0YWtlIGFjdGlvbi4gQWxsIGluIGEgbmljZSwgaW50dWl0aXZl + IGRhc2hib2FyZC4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+R28gdG8gPGEgaHJlZj0iaHR0cHM6Ly9pbnRlcm1peC5pby9zZWRh + aWx5Ij5pbnRlcm1peC5pby9zZWRhaWx5PC9hPiB0byBzdGFydCB5b3VyIGZy + ZWUgMzAtZGF5IHRyaWFsLjwvc3Bhbj48L2Rpdj48YnIgLz4KPC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly90b3B0YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIzNzM5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQt + d2l0aC1uZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9 + OTc4JTJDNTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0z + MDAlMkMxNjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMw + MCUyQzE2MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03 + NjglMkM0MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90 + b3B0YWwucG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVz + PSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29s + LXNtLTYiPlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNv + bmFibHkgcHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5n + aW5lZXJzIHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9y + IHNjYWxlIHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFs + LmNvbS9zZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9k + cyB3aGVuIHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3Jr + IHdpdGggYW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL3BvZHNoZWV0cy5jb20iPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzOTM2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8wNS9hcnRpZmlj + aWFsLWludGVsbGlnZW5jZS1hcGlzLXdpdGgtc2ltb24tY2hhbi9ibGFjay1w + b2RzaGVldHMtdGV4dC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9maXQ9 + MTQ0MCUyQzg1MSIgZGF0YS1vcmlnLXNpemU9IjE0NDAsODUxIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJsYWNr + LXBvZHNoZWV0cy10ZXh0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkv + YmxhY2stcG9kc2hlZXRzLXRleHQucG5nP2ZpdD0zMDAlMkMxNzciIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFj + ay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTEwMjQlMkM2MDUiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzkzNiBzaXplLW1lZGl1bSIgc3JjPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0 + LnBuZz9yZXNpemU9MzAwJTJDMTc3IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBu + Zz9yZXNpemU9MzAwJTJDMTc3IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3Jlc2l6ZT03Njgl + MkM0NTQgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFj + ay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTEwMjQlMkM2MDUgMTAyNHcs + IGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRz + LXRleHQucG5nP3Jlc2l6ZT03MjAlMkM0MjYgNzIwdywgaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/dz0x + NDQwIDE0NDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JZiB5b3Ugd2FudCB0byBzdGFydCBh + IHBvZGNhc3QsIGNoZWNrIG91dCBQb2RzaGVldHMuwqA8YSBocmVmPSJodHRw + Oi8vcG9kc2hlZXRzLmNvbSI+UG9kc2hlZXRzPC9hPiBpcyBhIHByb2R1Y3Qg + d2UgYnVpbHQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgcG9kY2FzdHMuIFdlIGFy + ZSBwb2RjYXN0ZXJzIG91cnNlbHZlcyYjODIxMTthbmQgd2UgdW5kZXJzdGFu + ZCB0aGUgZGlmZmljdWx0aWVzIG9mIGdldHRpbmcgc3RhcnRlZC7CoFBvZHNo + ZWV0cyBtYWtlcyBpdCBlYXN5IHRvIHBvc3QgeW91ciBlcGlzb2RlcyBhbmQg + ZGlzdHJpYnV0ZSB0aGVtIHRvIGlUdW5lcyBhbmQgR29vZ2xlIFBsYXkgd2l0 + aCBhIHNpbmdsZSBjbGljay7CoElmIHlvdSBhcmUgY3VyaW91cyBhYm91dCBw + b2RjYXN0aW5nLCBidXQgaGF2ZSBubyBpZGVhIHdoZXJlIHRvIHN0YXJ0LCBQ + b2RzaGVldHMgd2lsbCBndWlkZSB5b3UgdGhyb3VnaCB0aGUgcHJvY2Vzcy7C + oFdpdGggU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIHdlIGhhdmUgYmVl + biBwcm9kdWNpbmcgNSBzaG93cyBhIHdlZWsgZm9yIDIgeWVhcnMuIFdlIHVu + ZGVyc3RhbmQgcmVjb3JkaW5nLCB3ZSB1bmRlcnN0YW5kIGhvdyB0byBwcm9k + dWNlIHlvdXIgc2hvdyBhbmQgd2UgdW5kZXJzdGFuZCBob3cgdG8gZ2V0IGFk + dmVydGlzZXJzLiBXZSB3YW50IHRvIGhlbHAgeW91IHdpdGggdGhpcyBwcm9j + ZXNzLsKgQ2hlY2sgb3V0IDxhIGhyZWY9Imh0dHA6Ly9wb2RzaGVldHMuY29t + Ij5Qb2RzaGVldHM8L2E+IHRvZGF5LiBXZSB3aWxsIGdpdmUgeW91IGV2ZXJ5 + dGhpbmcgeW91IG5lZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgeW91ciBwb2Rj + YXN0JiM4MjExO2FuZCBpZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIG9yIHlv + dSBnZXQgY29uZnVzZWQsIHlvdSBjYW4gYWx3YXlzIGNvbnRhY3QgdXMgZGly + ZWN0bHkgZm9yIGhlbHAuIFBvZGNhc3RpbmcgaXMgYXMgZWFzeSBhcyBibG9n + Z2luZyYjODIxMTtsZXQgdXMgc2hvdyB5b3UgaG93IHRvIHBvZGNhc3QsIHdp + dGggPGEgaHJlZj0iaHR0cDovL3BvZHNoZWV0cy5jb20iPlBvZHNoZWV0czwv + YT4uCjxwPjwvcD48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNs + b3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkv + U3BvdGlmeUV2ZW50RGVsaXZlcnkubXAzIiBsZW5ndGg9IjU4ODA2ODM2IiB0 + eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+U3BvdGlm + eSBpcyBhIHN0cmVhbWluZyBtdXNpYyBjb21wYW55IHdpdGggbW9yZSB0aGFu + IDUwIG1pbGxpb24gdXNlcnMuIFdoZW5ldmVyIGEgdXNlciBsaXN0ZW5zIHRv + IGEgc29uZywgU3BvdGlmeSByZWNvcmRzIHRoYXQgZXZlbnQgYW5kIHVzZXMg + aXQgYXMgaW5wdXQgdG8gbGVhcm4gbW9yZSBhYm91dCB0aGUgdXNlcuKAmXMg + cHJlZmVyZW5jZXMuIExpc3RlbmluZyB0byBhIHNvbmcgaXMgb25lIHR5cGUg + b2YgZXZlbnTigJN0aGVyZSBhcmUgaHVuZC4uLjwvaXR1bmVzOnN1YnRpdGxl + PgoJCTxpdHVuZXM6c3VtbWFyeT5TcG90aWZ5IGlzIGEgc3RyZWFtaW5nIG11 + c2ljIGNvbXBhbnkgd2l0aCBtb3JlIHRoYW4gNTAgbWlsbGlvbiB1c2Vycy4g + V2hlbmV2ZXIgYSB1c2VyIGxpc3RlbnMgdG8gYSBzb25nLCBTcG90aWZ5IHJl + Y29yZHMgdGhhdCBldmVudCBhbmQgdXNlcyBpdCBhcyBpbnB1dCB0byBsZWFy + biBtb3JlIGFib3V0IHRoZSB1c2Vy4oCZcyBwcmVmZXJlbmNlcy4gTGlzdGVu + aW5nIHRvIGEgc29uZyBpcyBvbmUgdHlwZSBvZiBldmVudOKAk3RoZXJlIGFy + ZSBodW5kcmVkcyBvZiBvdGhlcnMuIE9wZW5pbmcgdGhlIFNwb3RpZnkgYXBw + LCBza2lwcGluZyBhIHNvbmcsIHNoYXJpbmcgYSBwbGF5bGlzdCB3aXRoIGEg + ZnJpZW5k4oCTYWxsIG9mIHRoZXNlIGFyZSBldmVudHMgdGhhdCBwcm92aWRl + IHZhbHVhYmxlIGluc2lnaHRzIHRvQ29udGludWUgcmVhZGluZy4uLjwvaXR1 + bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNp + dD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+ + MTowMTowMDwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29t + LXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zOTcxPC9wb3N0LWlkPgkJ + PC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+QWR2ZXJ0aXNpbmcgQW5hbHl0 + aWNzIHdpdGggSm9uYWggR29vZGhhcnQ8L3RpdGxlPg0KCQk8bGluaz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE2L2Fk + dmVydGlzaW5nLWFuYWx5dGljcy13aXRoLWpvbmFoLWdvb2RoYXJ0LzwvbGlu + az4NCgkJPHB1YkRhdGU+U2F0LCAxNiBTZXAgMjAxNyAwOTowMDowNiArMDAw + MDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zOTY1PC9ndWlk + Pg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8wOS8xNi9hZHZlcnRpc2luZy1hbmFseXRpY3Mtd2l0aC1q + b25haC1nb29kaGFydC8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNv + bW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOS8xNi9hZHZlcnRpc2luZy1hbmFseXRpY3Mtd2l0aC1qb25haC1n + b29kaGFydC9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21t + ZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0RhdGFdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQ + b2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbYWQg + ZnJhdWRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVthZHZl + cnRpc2luZyBhbmFseXRpY3NdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtKb25haCBHb29kaGFydF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW01vYXRdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlv + bj5Nb2F0IGlzIG9uZSBvZiB0aGUgbW9zdCBzdWNjZXNzZnVsIGFkdmVydGlz + aW5nIHRlY2hub2xvZ3kgY29tcGFuaWVzIGluIGhpc3RvcnkuIEFmdGVyIGJ1 + aWxkaW5nIGEgYnVzaW5lc3MgZnJvbSBtZWFzdXJlbWVudCBvZiBhZCBpbXBy + ZXNzaW9ucywgTW9hdCB3YXMgc29sZCB0byBPcmFjbGUgZm9yICQ4NTAgbWls + bGlvbi4gQWR2ZXJ0aXNpbmcgcG93ZXJzIHRoZSBmcmVlIGNvbnRlbnQgb24g + dGhlIEludGVybmV0LiBNZWFzdXJlbWVudCBtYWtlcyBpdCBlYXNpZXIgZm9y + IHB1Ymxpc2hlcnMgdG8gbW9uZXRpemUgdGhlaXIgY29udGVudC4gQXQgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIHdlIGtub3cgdGhpcyBmcm9tIGZp + cnN0aGFuZCBleHBlcmllbmNlLiBUaGUgcG9kY2FzdCBlY29zeXN0ZW0gaGFz + IGJhcmVseSBhbnkgYWJpbGl0eSB0byBtZWFzdXJlIHN1Y2Nlc3PigJNhbmQg + dGhhdCBjYW4gbWFrZSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRp + bnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE2L2FkdmVydGlzaW5nLWFu + YWx5dGljcy13aXRoLWpvbmFoLWdvb2RoYXJ0LyZxdW90OyZndDtDb250aW51 + ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9u + Pg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVz + LWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1i + dXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + b3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xh + c3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxl + PSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAw + MDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1h + Z2VzLzg5NzY5OTM0MDQyNDI3MzkyMi9sR0Q4SjItXy5qcGc/cmVzaXplPTE3 + NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Nb2F0IGlz + IG9uZSBvZiB0aGUgbW9zdCBzdWNjZXNzZnVsIGFkdmVydGlzaW5nIHRlY2hu + b2xvZ3kgY29tcGFuaWVzIGluIGhpc3RvcnkuIEFmdGVyIGJ1aWxkaW5nIGEg + YnVzaW5lc3MgZnJvbSBtZWFzdXJlbWVudCBvZiBhZCBpbXByZXNzaW9ucywg + TW9hdCB3YXMgc29sZCB0byBPcmFjbGUgZm9yICQ4NTAgbWlsbGlvbi48L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFk + dmVydGlzaW5nIHBvd2VycyB0aGUgZnJlZSBjb250ZW50IG9uIHRoZSBJbnRl + cm5ldC4gTWVhc3VyZW1lbnQgbWFrZXMgaXQgZWFzaWVyIGZvciBwdWJsaXNo + ZXJzIHRvIG1vbmV0aXplIHRoZWlyIGNvbnRlbnQuIEF0IFNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5LCB3ZSBrbm93IHRoaXMgZnJvbSBmaXJzdGhhbmQg + ZXhwZXJpZW5jZS4gVGhlIHBvZGNhc3QgZWNvc3lzdGVtIGhhcyBiYXJlbHkg + YW55IGFiaWxpdHkgdG8gbWVhc3VyZSBzdWNjZXNzJiM4MjExO2FuZCB0aGF0 + IGNhbiBtYWtlIGl0IGhhcmQgdG8gZW50aWNlIGFkdmVydGlzZXJzLiBJbiBw + b2RjYXN0aW5nLCBpdCBpcyB2ZXJ5IGRpZmZpY3VsdCB0byB1bmRlcnN0YW5k + IGlmIGFuIGFkdmVydGlzaW5nIGNhbXBhaWduIGlzIGEgc3VjY2Vzcy48L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRo + aXMgaWxsdXN0cmF0ZXMgd2h5IE1vYXQgaXMgaW1wb3J0YW50LiBJbXByb3Zp + bmcgdGhlIGFuYWx5dGljcyBvbiBhZHZlcnRpc2luZyBoZWxwcyBwdWJsaXNo + ZXJzLCBicmFuZHMsIGFkIGFnZW5jaWVzLCBhbmQgYWR0ZWNoIGNvbXBhbmll + cyBkZWNpZGUgaG93IHRvIGFsbG9jYXRlIHRoZWlyIGNhcGl0YWwuIDwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2h5 + IGlzIGl0IGhhcmQgdG8gbWVhc3VyZSBhZHZlcnRpc2luZyBzdWNjZXNzPyBX + aHkgaXMgdGhpcyBhIGRpZmZpY3VsdCBlbmdpbmVlcmluZyBwcm9ibGVtPyBC + ZWNhdXNlIHRoZXJlIGFyZSBzbyBtYW55IHBsYXllcnMgaW4gdGhlIHNwYWNl + IHdpdGggY29uZmxpY3RpbmcgaW5jZW50aXZlcy4gPC9zcGFuPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BIGJyYW5kIHdhbnRz + IHRvIHNob3cgYWRzIHRvIHBlb3BsZSB3aG8gd2lsbCBidXkgYSBwcm9kdWN0 + LiBBIHB1Ymxpc2hlciB3YW50cyB0byBkaXNwbGF5IGFuIGFkIHRoYXQgd2ls + bCBtYXhpbWl6ZSByZXZlbnVlLiBBZHRlY2ggY29tcGFuaWVzIGFuZCBhZCBh + Z2VuY2llcyB3YW50IHRvIHRha2UgdGhlIGJpZ2dlc3QgY3V0IHBvc3NpYmxl + IGZyb20gdGhlIHRyYW5zYWN0aW9ucyBiZXR3ZWVuIGJyYW5kcyBhbmQgcHVi + bGlzaGVycy4gSW4gdGhlIG1pZHN0IG9mIGFsbCBvZiB0aGlzLCBmcmF1ZHVs + ZW50IHRyYWZmaWMgcHJvdmlkZXJzIG9mZmVyIGNoZWFwIHNlcnZpY2VzIHRo + YXQgZHJhaW4gbW9uZXkgZnJvbSBhbnlvbmUgd2hvIGlzIG5vdCBrZWVwaW5n + IGEgY2xvc2UgZXllIG9uIHRoZWlyIGRlYWwgZmxvdy48L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkluIHRoaXMgZm9n + IG9mIHdhciwgTW9hdOKAmXMgZ29hbCBpcyB0byBwcm92aWRlIHRyYW5zcGFy + ZW5jeSB3aGVyZSBwb3NzaWJsZS4gTW9hdCBDRU8gSm9uYWggR29vZGhhcnQg + am9pbnMgdGhpcyBlcGlzb2RlIHRvIHRhbGsgYWJvdXQgYWR2ZXJ0aXNpbmcg + YW5hbHl0aWNzLCB2aWV3YWJpbGl0eSwgYW5kIGZyYXVkLiA8L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPklmIHlvdSBs + aWtlIHRoaXMgZXBpc29kZSwgd2UgaGF2ZSBkb25lIG1hbnkgb3RoZXIgc2hv + d3MgYWJvdXQgYWR0ZWNoIGFuZCBhZHZlcnRpc2luZyBmcmF1ZC4gWW91IGNh + biBjaGVjayBvdXQgb3VyIGJhY2sgY2F0YWxvZyBieSBnb2luZyB0byBzb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tIG9yIGJ5IGRvd25sb2FkaW5nIHRo + ZSA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3Vz + L2FwcC9zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9p + ZDEyNTM3MzQ0MjY/bXQ9OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBhcHAgZm9yIGlPUzwv + c3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIHdo + ZXJlIHlvdSBjYW4gbGlzdGVuIHRvIGFsbCBvZiBvdXIgb2xkIGVwaXNvZGVz + LCBhbmQgZWFzaWx5IGRpc2NvdmVyIG5ldyB0b3BpY3MgdGhhdCBtaWdodCBp + bnRlcmVzdCB5b3UuIFlvdSBjYW4gdXB2b3RlIHRoZSBlcGlzb2RlcyB5b3Ug + bGlrZSBhbmQgZ2V0IHJlY29tbWVuZGF0aW9ucyBiYXNlZCBvbiB5b3VyIGxp + c3RlbmluZyBoaXN0b3J5LiBXaXRoIDYwMCBlcGlzb2RlcywgaXQgaXMgaGFy + ZCB0byBmaW5kIHRoZSBlcGlzb2RlcyB0aGF0IGFwcGVhbCB0byB5b3UsIGFu + ZCB3ZSBob3BlIHRoZSBhcHAgaGVscHMgd2l0aCB0aGF0Ljwvc3Bhbj48L3A+ + CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9zY2FseXIiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzOTE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zY2FseXIvc2NhbHlyX2xvZ28v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBkYXRhLW9yaWctc2l6 + ZT0iMjIwLDkwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9IlNjYWx5cl9sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5 + cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzkxOSBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/cmVzaXplPTIyMCUyQzkwIiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5XaG8gZG8geW91IHVzZSBmb3IgbG9n + IG1hbmFnZW1lbnQ/IEkgd2FudCB0byB0ZWxsIHlvdSBhYm91dCBTY2FseXIs + IHRoZSBmaXJzdCBwdXJwb3NlIGJ1aWx0IGxvZyBtYW5hZ2VtZW50IHRvb2wg + b24gdGhlIG1hcmtldC4gTW9zdCB0b29scyBvbiB0aGUgbWFya2V0IHV0aWxp + emUgdGV4dCBpbmRleGluZyBzZWFyY2gsIHdoaWNoIGlzIGdyZWF0JiM4MjMw + OyBmb3IgaW5kZXhpbmcgYSBib29rLiBCdXQgaWYgeW91IHdhbnQgdG8gc2Vh + cmNoIGxvZ3MsIGF0IHNjYWxlLCBmYXN0JiM4MjMwOyBpdCBicmVha3MgZG93 + bi4gU2NhbHlyIGJ1aWx0IHRoZWlyIG93biBkYXRhYmFzZSBmcm9tIHNjcmF0 + Y2g6IHRoZSBzeXN0ZW0gaXMgZmFzdC4gTW9zdCBzZWFyY2hlcyB0YWtlIGxl + c3MgdGhhbiAxIHNlY29uZC4gSW4gZmFjdCwgOTklIG9mIHRoZWlyIHF1ZXJp + ZXMgZXhlY3V0ZSBpbiAmbHQ7MSBzZWNvbmQuIMKgQ29tcGFuaWVzIGxpa2Ug + T0tDdXBpZCwgR2lwaHkgYW5kIENhcmVlckJ1aWxkZXIgdXNlIFNjYWx5ci4g + SXQgd2FzIGJ1aWx0IGJ5IG9uZSBvZiB0aGUgZm91bmRlcnMgb2YgV3JpdGVs + eSAoYWthIEdvb2dsZSBEb2NzKS4gU2NhbHlyIGhhcyBjb25zdW1lciBncmFk + ZSBVSSwgdGhhdCBzY2FsZXMgaW5maW5pdGVseS4gWW91IGNhbiBtb25pdG9y + IGtleSBtZXRyaWNzLCB0cmlnZ2VyIGFsZXJ0cywgYW5kIGludGVncmF0ZSB3 + aXRoIFBhZ2VyRHV0eS4gSXQmIzgyMTc7cyBlYXN5IHRvIHVzZSBhbmQgZGlk + IHdlIG1lbnRpb246IGxpZ2h0bmluZyBmYXN0LiBHaXZlIGl0IGEgdHJ5IHRv + ZGF5LiBJdOKAmXMgZnJlZSBmb3IgOTAgZGF5cyBhdCA8YSBocmVmPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9zY2FseXIiPnNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vc2NhbHlyPC9hPi4gPC9kaXY+PC9w + Pgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmth + LWluLXRoZS1jbG91ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90 + b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5Nzgs + NTIyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9InRvcHRhbCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3Rv + cHRhbC5wbmc/Zml0PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUy + QzUyMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFs + LnBuZz9yZXNpemU9MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUy + QzE2MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRh + bC5wbmc/cmVzaXplPTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05 + NzggOTc4dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAw + cHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+VG9wdGFsIGlzIHRoZSBiZXN0IHBsYWNl + IHRvIGZpbmQgcmVhc29uYWJseSBwcmljZWQsIGV4dHJlbWVseSB0YWxlbnRl + ZCBzb2Z0d2FyZSBlbmdpbmVlcnMgdG8gYnVpbGQgeW91ciBwcm9qZWN0cyBm + cm9tIHNjcmF0Y2ggb3Igc2NhbGUgeW91ciB3b3JrZm9yY2UuIDxhIGhyZWY9 + Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFpbHkiPkdldCBhIGZyZWUgcGFpciBv + ZiBBcHBsZSBBaXJwb2RzIHdoZW4geW91IHVzZSBUb3B0YWwuY29tL3NlZGFp + bHk8L2E+IHRvIHdvcmsgd2l0aCBhbiBlbmdpbmVlciBmb3IgYXQgbGVhc3Qg + MjAgaG91cnMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZyI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjMyMzYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2RhdGFkb2cvZGF0YWRvZ19s + b2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgZGF0YS1v + cmlnLXNpemU9IjEwMjQsNTEyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRhdGFkb2dfbG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTMwMCUy + QzE1MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTEwMjQlMkM1MTIiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzIzNiBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + cmVzaXplPTMwMCUyQzE1MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAl + MkMxNTAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRh + ZG9nX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMzODQgNzY4dywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3c9MTAyNCAx + MDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xv + Z28ucG5nP3Jlc2l6ZT03MjAlMkMzNjAgNzIwdyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+V2Ug + a25vdyB0aGF0IG1vbml0b3JpbmcgY2FuIGJlIGEgY2hhbGxlbmdlJiM4MjMw + O3dpdGggc28gbWFueSBzZXJ2aWNlcywgYXBwcywgYW5kIGNvbnRhaW5lcnMg + dG8gdHJhY2ssIGl04oCZcyBoYXJkZXIgdGhhbiBldmVyIHRvIHVuZGVyc3Rh + bmQgYXBwbGljYXRpb24gcGVyZm9ybWFuY2UsIGFuZCB0cm91Ymxlc2hvb3Qg + aXNzdWVzLiBCdWlsdCBieSBlbmdpbmVlcnMsIGZvciBlbmdpbmVlcnMsIERh + dGFkb2cgaXMgYSBwbGF0Zm9ybSB0aGF04oCZcyBzcGVjaWZpY2FsbHkgZGVz + aWduZWQgdG8gcHJvdmlkZSBmdWxsLXN0YWNrIG9ic2VydmFiaWxpdHkgZm9y + IG1vZGVybiBhcHBsaWNhdGlvbnMuIERhdGFkb2cgaGVscHMgZGV2IGFuZCBv + cHMgdGVhbXMgZWFzaWx5IHNlZSBhY3Jvc3MgYWxsIHRoZWlyIHNlcnZlcnMs + IGNvbnRhaW5lcnMsIGFwcHMsIGFuZCBzZXJ2aWNlcyB0byBtb25pdG9yIHBl + cmZvcm1hbmNlIGFuZCBtYWtlIGRhdGEtZHJpdmVuIGRlY2lzaW9ucy7CoERh + dGFkb2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5IHRvIGdhdGhlciBtZXRyaWNz + IGFuZCBldmVudHMgZnJvbSBtb3JlIHRoYW4gMjAwIHRlY2hub2xvZ2llcywg + aW5jbHVkaW5nIEFXUywgQ2hlZiwgRG9ja2VyLCBhbmQgUmVkaXMuIFdpdGgg + YnVpbHQtaW4gZGFzaGJvYXJkcywgYWxnb3JpdGhtaWMgYWxlcnRzLCBhbmQg + ZW5kLXRvLWVuZCByZXF1ZXN0IHRyYWNpbmcsIERhdGFkb2cgaGVscHMgdGVh + bXMgbW9uaXRvciBldmVyeSBsYXllciBvZiB0aGVpciBzdGFjayBpbiBvbmUg + cGxhY2UuIEJ1dCBkb24mIzgyMTc7dCB0YWtlIG91ciB3b3JkIGZvciBpdOKA + lHN0YXJ0IGEgZnJlZSB0cmlhbCB0b2RheSAmYW1wOyBEYXRhZG9nIHdpbGwg + c2VuZCB5b3UgYSBmcmVlIFQtc2hpcnQhIFZpc2l0IDxhIGhyZWY9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2RhdGFkb2ciPnNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZzwvYT4gdG8gZ2V0IHN0 + YXJ0ZWQuwqA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNv + bSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM5MzYiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA5LzA1L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFwaXMtd2l0aC1zaW1v + bi1jaGFuL2JsYWNrLXBvZHNoZWV0cy10ZXh0LyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRz + LXRleHQucG5nP2ZpdD0xNDQwJTJDODUxIiBkYXRhLW9yaWctc2l6ZT0iMTQ0 + MCw4NTEiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYmxhY2stcG9kc2hlZXRzLXRleHQiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTMw + MCUyQzE3NyIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9maXQ9MTAyNCUy + QzYwNSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zOTM2IHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2st + cG9kc2hlZXRzLXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMxNzciIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9k + c2hlZXRzLXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMxNzcgMzAwdywgaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5w + bmc/cmVzaXplPTc2OCUyQzQ1NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9MTAy + NCUyQzYwNSAxMDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9i + bGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTcyMCUyQzQyNiA3MjB3 + LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0 + cy10ZXh0LnBuZz93PTE0NDAgMTQ0MHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPklmIHlvdSB3 + YW50IHRvIHN0YXJ0IGEgcG9kY2FzdCwgY2hlY2sgb3V0IFBvZHNoZWV0cy7C + oDxhIGhyZWY9Imh0dHA6Ly9wb2RzaGVldHMuY29tIj5Qb2RzaGVldHM8L2E+ + IGlzIGEgcHJvZHVjdCB3ZSBidWlsdCB0byBjcmVhdGUgYW5kIG1hbmFnZSBw + b2RjYXN0cy4gV2UgYXJlIHBvZGNhc3RlcnMgb3Vyc2VsdmVzJiM4MjExO2Fu + ZCB3ZSB1bmRlcnN0YW5kIHRoZSBkaWZmaWN1bHRpZXMgb2YgZ2V0dGluZyBz + dGFydGVkLsKgUG9kc2hlZXRzIG1ha2VzIGl0IGVhc3kgdG8gcG9zdCB5b3Vy + IGVwaXNvZGVzIGFuZCBkaXN0cmlidXRlIHRoZW0gdG8gaVR1bmVzIGFuZCBH + b29nbGUgUGxheSB3aXRoIGEgc2luZ2xlIGNsaWNrLsKgSWYgeW91IGFyZSBj + dXJpb3VzIGFib3V0IHBvZGNhc3RpbmcsIGJ1dCBoYXZlIG5vIGlkZWEgd2hl + cmUgdG8gc3RhcnQsIFBvZHNoZWV0cyB3aWxsIGd1aWRlIHlvdSB0aHJvdWdo + IHRoZSBwcm9jZXNzLsKgV2l0aCBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSwgd2UgaGF2ZSBiZWVuIHByb2R1Y2luZyA1IHNob3dzIGEgd2VlayBmb3Ig + MiB5ZWFycy4gV2UgdW5kZXJzdGFuZCByZWNvcmRpbmcsIHdlIHVuZGVyc3Rh + bmQgaG93IHRvIHByb2R1Y2UgeW91ciBzaG93IGFuZCB3ZSB1bmRlcnN0YW5k + IGhvdyB0byBnZXQgYWR2ZXJ0aXNlcnMuIFdlIHdhbnQgdG8gaGVscCB5b3Ug + d2l0aCB0aGlzIHByb2Nlc3MuwqBDaGVjayBvdXQgPGEgaHJlZj0iaHR0cDov + L3BvZHNoZWV0cy5jb20iPlBvZHNoZWV0czwvYT4gdG9kYXkuIFdlIHdpbGwg + Z2l2ZSB5b3UgZXZlcnl0aGluZyB5b3UgbmVlZCB0byBjcmVhdGUgYW5kIG1h + bmFnZSB5b3VyIHBvZGNhc3QmIzgyMTE7YW5kIGlmIHlvdSBoYXZlIGFueSBx + dWVzdGlvbnMgb3IgeW91IGdldCBjb25mdXNlZCwgeW91IGNhbiBhbHdheXMg + Y29udGFjdCB1cyBkaXJlY3RseSBmb3IgaGVscC4gUG9kY2FzdGluZyBpcyBh + cyBlYXN5IGFzIGJsb2dnaW5nJiM4MjExO2xldCB1cyBzaG93IHlvdSBob3cg + dG8gcG9kY2FzdCwgd2l0aCA8YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNv + bSI+UG9kc2hlZXRzPC9hPi4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRlbnQ6ZW5j + b2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5 + bi5jb20vc2VkYWlseS9Nb2F0QW5hbHl0aWNzLm1wMyIgbGVuZ3RoPSI1MjY5 + MTYxNiIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxl + Pk1vYXQgaXMgb25lIG9mIHRoZSBtb3N0IHN1Y2Nlc3NmdWwgYWR2ZXJ0aXNp + bmcgdGVjaG5vbG9neSBjb21wYW5pZXMgaW4gaGlzdG9yeS4gQWZ0ZXIgYnVp + bGRpbmcgYSBidXNpbmVzcyBmcm9tIG1lYXN1cmVtZW50IG9mIGFkIGltcHJl + c3Npb25zLCBNb2F0IHdhcyBzb2xkIHRvIE9yYWNsZSBmb3IgJDg1MCBtaWxs + aW9uLiBBZHZlcnRpc2luZyBwb3dlcnMgdGhlIGZyZWUgY29udGVudCBvbiB0 + aGUgSW50ZXJuZXQuPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1t + YXJ5Pk1vYXQgaXMgb25lIG9mIHRoZSBtb3N0IHN1Y2Nlc3NmdWwgYWR2ZXJ0 + aXNpbmcgdGVjaG5vbG9neSBjb21wYW5pZXMgaW4gaGlzdG9yeS4gQWZ0ZXIg + YnVpbGRpbmcgYSBidXNpbmVzcyBmcm9tIG1lYXN1cmVtZW50IG9mIGFkIGlt + cHJlc3Npb25zLCBNb2F0IHdhcyBzb2xkIHRvIE9yYWNsZSBmb3IgJDg1MCBt + aWxsaW9uLiBBZHZlcnRpc2luZyBwb3dlcnMgdGhlIGZyZWUgY29udGVudCBv + biB0aGUgSW50ZXJuZXQuIE1lYXN1cmVtZW50IG1ha2VzIGl0IGVhc2llciBm + b3IgcHVibGlzaGVycyB0byBtb25ldGl6ZSB0aGVpciBjb250ZW50LiBBdCBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSwgd2Uga25vdyB0aGlzIGZyb20g + Zmlyc3RoYW5kIGV4cGVyaWVuY2UuIFRoZSBwb2RjYXN0IGVjb3N5c3RlbSBo + YXMgYmFyZWx5IGFueSBhYmlsaXR5IHRvIG1lYXN1cmUgc3VjY2Vzc+KAk2Fu + ZCB0aGF0IGNhbiBtYWtlQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1 + bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVh + bjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTQ6Mzg8 + L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJl + c3M6ZmVlZC1hZGRpdGlvbnM6MSI+Mzk2NTwvcG9zdC1pZD4JCTwvaXRlbT4N + Cgk8aXRlbT4NCgkJPHRpdGxlPlZpc3VhbCBTZWFyY2ggd2l0aCBOZWVsIFZh + ZG9vdGhrZXI8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE1L3Zpc3VhbC1zZWFyY2gtd2l0 + aC1uZWVsLXZhZG9vdGhrZXIvPC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDE1 + IFNlcCAyMDE3IDA5OjAwOjAxICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBp + c1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLz9wPTM5NjQ8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE1L3Zpc3Vh + bC1zZWFyY2gtd2l0aC1uZWVsLXZhZG9vdGhrZXIvI2NvbW1lbnRzPC9jb21t + ZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMTUvdmlzdWFsLXNlYXJjaC13aXRo + LW5lZWwtdmFkb290aGtlci9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxz + bGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW01hY2hpbmUgTGVhcm5pbmddXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxnb3JpdGhtc11dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW05lZWwgVmFkb290aGtlcl1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NxdWFyZXNwYWNlXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbdmlzdWFsIHNpbWlsYXJpdHkg + c2VhcmNoIGVuZ2luZV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPklm + IEkgaGF2ZSBhIHBpY3R1cmUgb2YgYSBkb2csIGFuZCBJIHdhbnQgdG8gc2Vh + cmNoIHRoZSBJbnRlcm5ldCBmb3IgcGljdHVyZXMgdGhhdCBsb29rIGxpa2Ug + dGhhdCBkb2csIGhvdyBjYW4gSSBkbyB0aGF0PyBJIG5lZWQgdG8gbWFrZSBh + biBhbGdvcml0aG0gdG8gYnVpbGQgYW4gaW5kZXggb2YgYWxsIHRoZSBwaWN0 + dXJlcyBvbiB0aGUgSW50ZXJuZXQuIFRoYXQgaW5kZXggY2FuIGRlZmluZSB0 + aGUgZGlmZmVyZW50IGZlYXR1cmVzIG9mIG15IGltYWdlcy4gSSBjYW4gZmlu + ZCBtYXRoZW1hdGljYWwgZmVhdHVyZXMgaW4gZWFjaCBpbWFnZSB0aGF0IGRl + c2NyaWJlIHRoYXQgaW1hZ2UuIFRoZSBtYXRoZW1hdGljYWwgZmVhdHVyZXMg + Y2FuJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGlu + ZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDkvMTUvdmlzdWFsLXNlYXJjaC13aXRoLW5lZWwt + dmFkb290aGtlci8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsv + YSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3 + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdl + bWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNp + emUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czog + NTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3 + NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vbWVkaWEubGljZG4uY29tL21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9B + QUVBQVFBQUFBQUFBQTNVQUFBQUpERXpNRGN6TVdJeExXVTVaall0TkRNMU5T + MDRPRFUzTFdKaVltUmlZMlprTXpReVl3LmpwZz9yZXNpemU9MTc1JTJDMTc1 + JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPklmIEkgaGF2ZSBhIHBp + Y3R1cmUgb2YgYSBkb2csIGFuZCBJIHdhbnQgdG8gc2VhcmNoIHRoZSBJbnRl + cm5ldCBmb3IgcGljdHVyZXMgdGhhdCBsb29rIGxpa2UgdGhhdCBkb2csIGhv + dyBjYW4gSSBkbyB0aGF0PyA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkkgbmVlZCB0byBtYWtlIGFuIGFsZ29yaXRo + bSB0byBidWlsZCBhbiBpbmRleCBvZiBhbGwgdGhlIHBpY3R1cmVzIG9uIHRo + ZSBJbnRlcm5ldC4gVGhhdCBpbmRleCBjYW4gZGVmaW5lIHRoZSBkaWZmZXJl + bnQgZmVhdHVyZXMgb2YgbXkgaW1hZ2VzLiBJIGNhbiBmaW5kIG1hdGhlbWF0 + aWNhbCBmZWF0dXJlcyBpbiBlYWNoIGltYWdlIHRoYXQgZGVzY3JpYmUgdGhh + dCBpbWFnZS4gVGhlIG1hdGhlbWF0aWNhbCBmZWF0dXJlcyBjYW4gYmUgcmVw + cmVzZW50ZWQgYnkgYSBtYXRyaXggb2YgbnVtYmVycy4gVGhlbiBJIGNhbiBy + dW4gdGhlIHNhbWUgYWxnb3JpdGhtIG9uIHRoZSBwaWN0dXJlIG9mIG15IGRv + Zywgd2hpY2ggd2lsbCBtYWtlIGFub3RoZXIgbWF0cml4IG9mIG51bWJlcnMu + IEkgY2FuIGNvbXBhcmUgdGhlIG1hdHJpeCByZXByZXNlbnRpbmcgbXkgZG9n + IHBpY3R1cmUgdG8gdGhlIG1hdHJpY2VzIG9mIGFsbCB0aGUgcGljdHVyZXMg + b24gdGhlIGludGVybmV0Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+VGhpcyBpcyB3aGF0IEdvb2dsZSBhbmQgRmFj + ZWJvb2sgZG8mIzgyMTE7YW5kIHdlIGNvdmVyZWQgdGhpcyB0b3BpYzwvc3Bh + bj48YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOC8yMi9zaW1pbGFyaXR5LXNlYXJjaC13aXRoLWplZmYtam9o + bnNvbi8iPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IGluIG91 + ciBlcGlzb2RlIGFib3V0IHNpbWlsYXJpdHkgc2VhcmNoPC9zcGFuPjwvYT48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBhIGZldyB3ZWVrcyBh + Z28uIFRvZGF5LCB3ZSBldmFsdWF0ZSBhIHNpbWlsYXIgcHJvYmxlbTogc2Vh + cmNoaW5nIGltYWdlcyB3aXRoaW4gU3F1YXJlc3BhY2UuIFNxdWFyZXNwYWNl + IGlzIGEgcGxhdGZvcm0gd2hlcmUgdXNlcnMgY2FuIGVhc2lseSBidWlsZCB0 + aGVpciBvd24gd2Vic2l0ZSBmb3IgYmxvZ2dpbmcsIGUtY29tbWVyY2UsIG9y + IGFueXRoaW5nIGVsc2UuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5OZWVsIFZhZG9vdGhrZXIgaXMgYSBtYWNoaW5l + IGxlYXJuaW5nIGVuZ2luZWVyIGF0IFNxdWFyZXNwYWNlLCBhbmQgaGUgam9p + bnMgdGhlIHNob3cgdG8gdGFsayBhYm91dCBob3cgYW5kIHdoeSBoZSBidWls + dCBhIHZpc3VhbCBzaW1pbGFyaXR5IHNlYXJjaCBlbmdpbmUuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JZiB5b3Ug + bGlrZSB0aGlzIGVwaXNvZGUsIHdlIGhhdmUgZG9uZSBtYW55IG90aGVyIHNo + b3dzIGFib3V0IG1hY2hpbmUgbGVhcm5pbmcuIFlvdSBjYW4gY2hlY2sgb3V0 + IG91ciBiYWNrIGNhdGFsb2cgYnkgZ29pbmcgdG8gc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbSBvciBieSBkb3dubG9hZGluZyA8L3NwYW4+PGEgaHJl + Zj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0d2FyZS1l + bmdpbmVlcmluZy1kYWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0MjY/bXQ9 + OCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUgU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+PC9hPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCB3aGVyZSB5b3UgY2Fu + IGxpc3RlbiB0byBhbGwgb2Ygb3VyIG9sZCBlcGlzb2RlcywgYW5kIGVhc2ls + eSBkaXNjb3ZlciBuZXcgdG9waWNzIHRoYXQgbWlnaHQgaW50ZXJlc3QgeW91 + LiBZb3UgY2FuIHVwdm90ZSB0aGUgZXBpc29kZXMgeW91IGxpa2UgYW5kIGdl + dCByZWNvbW1lbmRhdGlvbnMgYmFzZWQgb24geW91ciBsaXN0ZW5pbmcgaGlz + dG9yeS4gV2l0aCA2MDAgZXBpc29kZXMsIGl0IGlzIGhhcmQgdG8gZmluZCB0 + aGUgZXBpc29kZXMgdGhhdCBhcHBlYWwgdG8geW91LCBhbmQgd2UgaG9wZSB0 + aGUgYXBwIGhlbHBzIHdpdGggdGhhdC48L3NwYW4+PC9wPgo8aDI+U3BvbnNv + cnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDEvMDQv + ZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12aWRlbGEvaGlyZWQt + bG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGRhdGEtb3Jp + Zy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDEv + aGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jlc2l6ZT0yNjAlMkMx + MzAiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkhhdmUgeW91IGJlZW4gdGhp + bmtpbmcgeW914oCZZCBiZSBoYXBwaWVyIGF0IGEgbmV3IGpvYj8gSWYgeW91 + 4oCZcmUgZHJlYW1pbmcgYWJvdXQgYSBuZXcgam9iIGFuZCBoYXZlIGJlZW4g + d2FpdGluZyBmb3IgdGhlIHJpZ2h0IHRpbWUgdG8gbWFrZSBhIG1vdmUsIGdv + IHRvwqA8YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVk + LmNvbS9zZWRhaWx5PC9hPi4gSGlyZWQgbWFrZXMgZmluZGluZyB3b3JrIGVu + am95YWJsZS4gSGlyZWQgdXNlcyBhbiBhbGdvcml0aG1pYyBqb2ItbWF0Y2hp + bmcgdG9vbCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgdGFsZW50IGFkdm9jYXRl + IHdobyB3aWxsIHdhbGsgeW91IHRocm91Z2ggdGhlIHByb2Nlc3Mgb2YgZmlu + ZGluZyBhIGJldHRlciBqb2IuIENoZWNrIG91dMKgPGEgaHJlZj0iaHR0cDov + L2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT7CoHRv + IGdldCBhIHNwZWNpYWwgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGxpc3RlbmVycyYjODIxMTthICQ2MDAgc2lnbmluZyBib251cyBm + cm9tIEhpcmVkIHdoZW4geW91IGZpbmQgdGhhdCBncmVhdCBqb2IgdGhhdCBn + aXZlcyB5b3UgdGhlIHJlc3BlY3QgYW5kIHNhbGFyeSB0aGF0IHlvdSBkZXNl + cnZlIGFzIGEgdGFsZW50ZWQgZW5naW5lZXIuwqA8L2Rpdj48YnIgLz4KPC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3NlZGFp + bHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzODE1IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3ds + b2dvcy9ncmFtbWF0ZWNoL2dyYW1tYXRlY2gtbG9nb2wvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNo + LUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBkYXRhLW9yaWctc2l6ZT0iODI1 + LDMwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJHcmFtbWF0ZWNoLUxvZ29MIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTMwMCUyQzEwOSIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzgxNSBzaXplLW1lZGl1bSIgc3JjPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBn + P3Jlc2l6ZT0zMDAlMkMxMDkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXpl + PTMwMCUyQzEwOSAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03NjglMkMyNzkgNzY4dywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29M + LmpwZz9yZXNpemU9NzIwJTJDMjYyIDcyMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/dz04MjUgODI1dyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+R3JhbW1hVGVjaCBDb2RlU29uYXIgaGVscHMgZGV2ZWxv + cG1lbnQgdGVhbXMgaW1wcm92ZSBjb2RlIHF1YWxpdHkgd2l0aCBzdGF0aWMg + YW5hbHlzaXMuIEl0IGhlbHBzIGZsYWcgaXNzdWVzIGVhcmx5IGluIHRoZSBk + ZXZlbG9wbWVudCBwcm9jZXNzLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIHJl + bGVhc2UgYmV0dGVyIGNvZGUgZmFzdGVyLsKgQ29kZVNvbmFyIGNhbiBlYXNp + bHkgYmUgaW50ZWdyYXRlZCBpbnRvIGFueSBkZXZlbG9wbWVudCBwcm9jZXNz + LiBDb2RlU29uYXIgcGVyZm9ybXMgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lz + IG9mIEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4gcmF3IGJpbmFyeSBjb2RlLiBD + b2RlU29uYXIgcGVyZm9ybXMgdW5pcXVlIGRhdGFmbG93IGFuZCBzeW1ib2xp + YyBleGVjdXRpb24gYW5hbHlzaXMgdG8gYWdncmVzc2l2ZWx5IHNjYW4gZm9y + IHByb2JsZW1zIGluIHlvdXIgY29kZS7CoEp1c3QgbGlrZSBiYXR0bGVzaGlw + cyB1c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVjdHMgZGVlcCB1bmRlcndhdGVy + LCBlbmdpbmVlcnMgdXNlIENvZGVTb25hciB0byBkZXRlY3Qgc3VidGxlIHBy + b2JsZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNvZGUuwqBHbyB0byA8YSBocmVm + PSJodHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+Z28uZ3JhbW1h + dGVjaC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0IHlvdXIgZnJlZSAzMC1kYXkg + dHJpYWwsIGV4Y2x1c2l2ZWx5IGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseSBsaXN0ZW5lcnPCoGFuZCB1bmxlYXNoIHRoZSBwb3dlciBvZiBhZHZh + bmNlZCBzdGF0aWMgYW5hbHlzaXMuPGJyIC8+CjwvZGl2PjwvcD4KPHA+PC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3NjYWx5ciI+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM5MTkiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29z + L3NjYWx5ci9zY2FseXJfbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpwZz9maXQ9MjIw + JTJDOTAiIGRhdGEtb3JpZy1zaXplPSIyMjAsOTAiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iU2NhbHlyX2xvZ28i + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9TY2FseXJfbG9nby5qcGc/ + Zml0PTIyMCUyQzkwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28uanBnP2ZpdD0yMjAlMkM5MCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zOTE5IHNpemUtZnVsbCIgc3Jj + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5cl9sb2dvLmpw + Zz9yZXNpemU9MjIwJTJDOTAiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPldo + byBkbyB5b3UgdXNlIGZvciBsb2cgbWFuYWdlbWVudD8gSSB3YW50IHRvIHRl + bGwgeW91IGFib3V0IFNjYWx5ciwgdGhlIGZpcnN0IHB1cnBvc2UgYnVpbHQg + bG9nIG1hbmFnZW1lbnQgdG9vbCBvbiB0aGUgbWFya2V0LiBNb3N0IHRvb2xz + IG9uIHRoZSBtYXJrZXQgdXRpbGl6ZSB0ZXh0IGluZGV4aW5nIHNlYXJjaCwg + d2hpY2ggaXMgZ3JlYXQmIzgyMzA7IGZvciBpbmRleGluZyBhIGJvb2suIEJ1 + dCBpZiB5b3Ugd2FudCB0byBzZWFyY2ggbG9ncywgYXQgc2NhbGUsIGZhc3Qm + IzgyMzA7IGl0IGJyZWFrcyBkb3duLiBTY2FseXIgYnVpbHQgdGhlaXIgb3du + IGRhdGFiYXNlIGZyb20gc2NyYXRjaDogdGhlIHN5c3RlbSBpcyBmYXN0LiBN + b3N0IHNlYXJjaGVzIHRha2UgbGVzcyB0aGFuIDEgc2Vjb25kLiBJbiBmYWN0 + LCA5OSUgb2YgdGhlaXIgcXVlcmllcyBleGVjdXRlIGluICZsdDsxIHNlY29u + ZC4gwqBDb21wYW5pZXMgbGlrZSBPS0N1cGlkLCBHaXBoeSBhbmQgQ2FyZWVy + QnVpbGRlciB1c2UgU2NhbHlyLiBJdCB3YXMgYnVpbHQgYnkgb25lIG9mIHRo + ZSBmb3VuZGVycyBvZiBXcml0ZWx5IChha2EgR29vZ2xlIERvY3MpLiBTY2Fs + eXIgaGFzIGNvbnN1bWVyIGdyYWRlIFVJLCB0aGF0IHNjYWxlcyBpbmZpbml0 + ZWx5LiBZb3UgY2FuIG1vbml0b3Iga2V5IG1ldHJpY3MsIHRyaWdnZXIgYWxl + cnRzLCBhbmQgaW50ZWdyYXRlIHdpdGggUGFnZXJEdXR5LiBJdCYjODIxNztz + IGVhc3kgdG8gdXNlIGFuZCBkaWQgd2UgbWVudGlvbjogbGlnaHRuaW5nIGZh + c3QuIEdpdmUgaXQgYSB0cnkgdG9kYXkuIEl04oCZcyBmcmVlIGZvciA5MCBk + YXlzIGF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3NjYWx5ciI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9z + Y2FseXI8L2E+LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mv + c3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0 + IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4 + NCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0 + IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8g + Zm9yIHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5 + bXBob25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2Vu + aW9yIGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGls + ZSBsZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8 + YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25v + LmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWlu + ZyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9y + IGFsbW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFs + bG93cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBv + biBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRl + bnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmlj + LmxpYnN5bi5jb20vc2VkYWlseS9WaXN1YWxfU2VhcmNoLm1wMyIgbGVuZ3Ro + PSI1MjM4Mjc4NSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPklmIEkgaGF2ZSBhIHBpY3R1cmUgb2YgYSBkb2csIGFuZCBJIHdh + bnQgdG8gc2VhcmNoIHRoZSBJbnRlcm5ldCBmb3IgcGljdHVyZXMgdGhhdCBs + b29rIGxpa2UgdGhhdCBkb2csIGhvdyBjYW4gSSBkbyB0aGF0PyBJIG5lZWQg + dG8gbWFrZSBhbiBhbGdvcml0aG0gdG8gYnVpbGQgYW4gaW5kZXggb2YgYWxs + IHRoZSBwaWN0dXJlcyBvbiB0aGUgSW50ZXJuZXQuIFRoYXQgaW5kZXggY2Fu + IGRlZmluZSB0aGUgZGlmZmVyZW50IGZlYXR1cmVzIG9mIC4uLjwvaXR1bmVz + OnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5JZiBJIGhhdmUgYSBwaWN0 + dXJlIG9mIGEgZG9nLCBhbmQgSSB3YW50IHRvIHNlYXJjaCB0aGUgSW50ZXJu + ZXQgZm9yIHBpY3R1cmVzIHRoYXQgbG9vayBsaWtlIHRoYXQgZG9nLCBob3cg + Y2FuIEkgZG8gdGhhdD8gSSBuZWVkIHRvIG1ha2UgYW4gYWxnb3JpdGhtIHRv + IGJ1aWxkIGFuIGluZGV4IG9mIGFsbCB0aGUgcGljdHVyZXMgb24gdGhlIElu + dGVybmV0LiBUaGF0IGluZGV4IGNhbiBkZWZpbmUgdGhlIGRpZmZlcmVudCBm + ZWF0dXJlcyBvZiBteSBpbWFnZXMuIEkgY2FuIGZpbmQgbWF0aGVtYXRpY2Fs + IGZlYXR1cmVzIGluIGVhY2ggaW1hZ2UgdGhhdCBkZXNjcmliZSB0aGF0IGlt + YWdlLiBUaGUgbWF0aGVtYXRpY2FsIGZlYXR1cmVzIGNhbkNvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjU0OjE4PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlk + IHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5NjQ8 + L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5Eb2luZyBB + bnl0aGluZyB3aXRoIEdlb3JnZSBBbmRlcnM8L3RpdGxlPg0KCQk8bGluaz5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE0 + L2RvaW5nLWFueXRoaW5nLXdpdGgtZ2VvcmdlLWFuZGVycy88L2xpbms+DQoJ + CTxwdWJEYXRlPlRodSwgMTQgU2VwIDIwMTcgMDk6MDA6MDEgKzAwMDA8L3B1 + YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzk2MTwvZ3VpZD4NCgkJ + PGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDkvMTQvZG9pbmctYW55dGhpbmctd2l0aC1nZW9yZ2UtYW5kZXJz + LyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzE0L2Rv + aW5nLWFueXRoaW5nLXdpdGgtZ2VvcmdlLWFuZGVycy9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50 + cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1c2luZXNzIGFuZCBQaGls + b3NvcGh5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9k + Y2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2VkdWNh + dGlvbmFsIHRoZW9yeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0dlb3JnZSBBbmRlcnNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtZb3UgQ2FuIERvIEFueXRoaW5nOiBUaGUgU3VycHJpc2luZyBQ + b3dlciBvZiBhIFVzZWxlc3MgTGliZXJhbCBBcnRzIEVkdWNhdGlvbl1dPjwv + Y2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlNvZnR3YXJlIGdpdmVzIHVzIG5l + dyB3YXlzIG9mIGNvbW11bmljYXRpbmcgd2l0aCBlYWNoIG90aGVyLiBFbmdp + bmVlcnMgYnVpbGQgc2NhbGFibGUgc3lzdGVtcyBmb3IgZS1jb21tZXJjZSwg + aGVscGRlc2ssIGFuZCB2aWRlbyBzaGFyaW5n4oCTYW5kIHRoZXNlIHN5c3Rl + bXMgZG8gc2NhbGUsIHRvIG1pbGxpb25zIG9mIHBlb3BsZS4gQnV0IHNvZnR3 + YXJlIGFsb25lIGNhbm5vdCBzZXJ2ZSBhbGwgb2YgdGhlIGRlbWFuZHMgb2Yg + YWxsIHRoZSB1c2VycyBhbmQgY3VzdG9tZXJzIG9uIHRoZXNlIHBsYXRmb3Jt + cy4gV2UgbmVlZCBjdXN0b21lciBzZXJ2aWNlIHJlcHJlc2VudGF0aXZlcyB0 + byBhZGRyZXNzIHVuZXhwZWN0ZWQgZGVtYW5kcy4gV2UgbmVlZCBkZXNpZ24g + c3BlY2lhbGlzdHMgdG8gZXZhbHVhdGUgdGhlIGludGVyZmFjZSB0aGF0IG1h + ZGUgc2Vuc2UgdG8gdGhlIGVuZ2luZWVycyBidXQmbHQ7cCZndDsmbHQ7YSBj + bGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7 + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8x + NC9kb2luZy1hbnl0aGluZy13aXRoLWdlb3JnZS1hbmRlcnMvJnF1b3Q7Jmd0 + O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVz + Y3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5 + L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9i + cmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBn + P2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3 + NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29s + aWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1 + cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Bicy50d2ltZy5jb20vcHJv + ZmlsZV9pbWFnZXMvODQ0MzE2OTIyOTcxODA3NzQ0L1F1ZEk5Vm9rLmpwZz9y + ZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9 + IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PlNvZnR3YXJlIGdpdmVzIHVzIG5ldyB3YXlzIG9mIGNvbW11bmljYXRpbmcg + d2l0aCBlYWNoIG90aGVyLiBFbmdpbmVlcnMgYnVpbGQgc2NhbGFibGUgc3lz + dGVtcyBmb3IgZS1jb21tZXJjZSwgaGVscGRlc2ssIGFuZCB2aWRlbyBzaGFy + aW5nJiM4MjExO2FuZCB0aGVzZSBzeXN0ZW1zIGRvIHNjYWxlLCB0byBtaWxs + aW9ucyBvZiBwZW9wbGUuIEJ1dCBzb2Z0d2FyZSBhbG9uZSBjYW5ub3Qgc2Vy + dmUgYWxsIG9mIHRoZSBkZW1hbmRzIG9mIGFsbCB0aGUgdXNlcnMgYW5kIGN1 + c3RvbWVycyBvbiB0aGVzZSBwbGF0Zm9ybXMuIDwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2UgbmVlZCBjdXN0b21l + ciBzZXJ2aWNlIHJlcHJlc2VudGF0aXZlcyB0byBhZGRyZXNzIHVuZXhwZWN0 + ZWQgZGVtYW5kcy4gV2UgbmVlZCBkZXNpZ24gc3BlY2lhbGlzdHMgdG8gZXZh + bHVhdGUgdGhlIGludGVyZmFjZSB0aGF0IG1hZGUgc2Vuc2UgdG8gdGhlIGVu + Z2luZWVycyBidXQgbm90IHRoZSB1c2Vycy4gV2UgbmVlZCBzYWxlcyBwZW9w + bGUgdG8gY29ubmVjdCBvdXIgc3RyYW5nZSBzb2Z0d2FyZSB0byBhbiBpbXBh + dGllbnQgcHJvc3BlY3RpdmUgY3VzdG9tZXIuPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5FbmdpbmVlcnMgc29tZXRp + bWVzIGpva2UgYWJvdXQgZmlyaW5nIGFsbCB0aGUgbm9uLWVuZ2luZWVycyBp + biB0aGUgY29tcGFueS4gQXMgZW5naW5lZXJzLCBpdCBpcyBlYXN5IHRvIGRp + c2NvdW50IGFsbCBvZiB0aGUgd29yayB0aGF0IG5vbi1lbmdpbmVlcnMgZG8m + IzgyMTE7aXQgY2FuIHNlZW0gdW5zY2FsYWJsZSwgb3Igbm9uLXF1YW50aWZp + YWJsZSwgb3IgbWVjaGFuaWNhbC4gQnV0IG1vc3QgY29tcGFuaWVzIHdvdWxk + IGZhbGwgb3ZlciBpbW1lZGlhdGVseSB3aXRob3V0IHN1cHBvcnQsIHNhbGVz + LCBkZXNpZ24sIG9wZXJhdGlvbnMsIGFuZCB0aGUgbXVsdGl0dWRlIG9mIG90 + aGVyIG5vbi1lbmdpbmVlcmluZyByb2xlcy4gPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Nb3JlIHRvIHRoZSBwb2lu + dCYjODIxMTtwZW9wbGUgaW4gbm9uLXRlY2huaWNhbCByb2xlcyBjYW4gZHJp + dmUgdGhlIHN1Y2Nlc3Mgb2YgYW4gZW4gb3JnYW5pemF0aW9uLiBTb21lIG9m + IHRoZSBtb3N0IGluZmx1ZW50aWFsIGxlYWRlcnMgaW4gdGVjaCBjYW1lIGZy + b20gYSBub24tdGVjaG5pY2FsIGJhY2tncm91bmQ6IFN0dWFydCBCdXR0ZXJm + aWVsZCBvZiBTbGFjazsgQnJpYW4gQ2hlc2t5IG9mIEFpcmJuYjsgU2hlcnls + IFNhbmRiZXJnIG9mIEdvb2dsZSBhbmQgRmFjZWJvb2suIEEgbGliZXJhbCBh + cnRzIGVkdWNhdGlvbiBjYW4gZm9zdGVyIHRoZSBwZXJmZWN0IHNldCBvZiBz + a2lsbHMgdG8gdGhyaXZlIGluIGEgdGVjaG5vbG9neSBjb21wYW55Ljwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+R2Vv + cmdlIEFuZGVycyBpcyBhbiBhdXRob3Igd2hvc2UgbW9zdCByZWNlbnQgYm9v + ayBpcyBjYWxsZWQgPC9zcGFuPjxlbT48YSBocmVmPSJodHRwczovL3d3dy5h + bWF6b24uY29tL1lvdS1DYW4tQW55dGhpbmctU3VycHJpc2luZy1FZHVjYXRp + b24vZHAvMDMxNjU0ODgwNCI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5Zb3UgQ2FuIERvIEFueXRoaW5nOiBUaGUgU3VycHJpc2luZyBQb3dl + ciBvZiBhIOKAnFVzZWxlc3PigJ0gTGliZXJhbCBBcnRzIEVkdWNhdGlvbjwv + c3Bhbj48L2E+PC9lbT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + Pi4gR2VvcmdlIGlzIG9uZSBvZiBteSBmYXZvcml0ZSBidXNpbmVzcyB3cml0 + ZXJzLCBhbmQgc29tZSBvZiBoaXMgcGFzdCB3cml0aW5nIGluY2x1ZGVzIHBp + ZWNlcyBhYm91dCBTZXF1b2lhIENhcGl0YWwsIEFtYXpvbiwgTGlua2VkaW4s + IGFuZCBhIHRvbiBvZiBvdGhlciB0b3BpY3Mgb24gUXVvcmEuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JZiB5b3Ug + bGlrZSB0aGlzIGVwaXNvZGUsIHdlIGhhdmUgZG9uZSBtYW55IG90aGVyIHNo + b3dzIGFib3V0IGJ1c2luZXNzIHdpdGggZ3Vlc3RzIGxpa2UgU2V0aCBHb2Rp + biBhbmQgVHlsZXIgQ293ZW4mIzgyMTE7aW5kZWVkIG1hbnkgb2YgdGhlIHNo + b3dzIG9uIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGFyZSBub3QgZGVl + cGx5IHRlY2huaWNhbC4gWW91IGNhbiBjaGVjayBvdXQgb3VyIGJhY2sgY2F0 + YWxvZyBieSBkb3dubG9hZGluZyA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9p + dHVuZXMuYXBwbGUuY29tL3VzL2FwcC9zb2Z0d2FyZS1lbmdpbmVlcmluZy1k + YWlseS1wb2RjYXN0LWFwcC9pZDEyNTM3MzQ0MjY/bXQ9OCI+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50aGUgU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgYXBwIGZvciBpT1M8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+LCB3aGVyZSB5b3UgY2FuIGxpc3RlbiB0byBh + bGwgb2Ygb3VyIG9sZCBlcGlzb2RlcywgYW5kIGVhc2lseSBkaXNjb3ZlciBu + ZXcgdG9waWNzIHRoYXQgbWlnaHQgaW50ZXJlc3QgeW91LiBZb3UgY2FuIHVw + dm90ZSB0aGUgZXBpc29kZXMgeW91IGxpa2UgYW5kIGdldCByZWNvbW1lbmRh + dGlvbnMgYmFzZWQgb24geW91ciBsaXN0ZW5pbmcgaGlzdG9yeS4gV2l0aCA2 + MDAgZXBpc29kZXMsIGl0IGlzIGhhcmQgdG8gZmluZCB0aGUgZXBpc29kZXMg + dGhhdCBhcHBlYWwgdG8geW91LCBhbmQgd2UgaG9wZSB0aGUgYXBwIGhlbHBz + IHdpdGggdGhhdC48L3NwYW4+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2 + IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRo + ZS1jbG91ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwu + cG5nP2ZpdD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5NzgsNTIyIiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + InRvcHRhbCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5w + bmc/Zml0PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9y + ZXNpemU9MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCAz + MDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/ + cmVzaXplPTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05NzggOTc4 + dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+VG9wdGFsIGlzIHRoZSBiZXN0IHBsYWNlIHRvIGZp + bmQgcmVhc29uYWJseSBwcmljZWQsIGV4dHJlbWVseSB0YWxlbnRlZCBzb2Z0 + d2FyZSBlbmdpbmVlcnMgdG8gYnVpbGQgeW91ciBwcm9qZWN0cyBmcm9tIHNj + cmF0Y2ggb3Igc2NhbGUgeW91ciB3b3JrZm9yY2UuIDxhIGhyZWY9Imh0dHA6 + Ly90b3B0YWwuY29tL3NlZGFpbHkiPkdldCBhIGZyZWUgcGFpciBvZiBBcHBs + ZSBBaXJwb2RzIHdoZW4geW91IHVzZSBUb3B0YWwuY29tL3NlZGFpbHk8L2E+ + IHRvIHdvcmsgd2l0aCBhbiBlbmdpbmVlciBmb3IgYXQgbGVhc3QgMjAgaG91 + cnMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vcHJvc3BlY3QuaW8iPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzOTIzIiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9wcm9z + cGVjdC1pby9sb2dvLXByb3NwZWN0aW8vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXByb3NwZWN0aW8ucG5n + P2ZpdD05NjQlMkM0MjAiIGRhdGEtb3JpZy1zaXplPSI5NjQsNDIwIiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9Imxv + Z28tcHJvc3BlY3RpbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xv + Z28tcHJvc3BlY3Rpby5wbmc/Zml0PTMwMCUyQzEzMSIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xvZ28tcHJvc3Bl + Y3Rpby5wbmc/Zml0PTk2NCUyQzQyMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS0zOTIzIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBuZz9yZXNpemU9MzAwJTJD + MTMxIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA4L2xvZ28tcHJvc3BlY3Rpby5wbmc/cmVzaXplPTMwMCUyQzEzMSAzMDB3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xvZ28tcHJvc3BlY3Rp + by5wbmc/cmVzaXplPTc2OCUyQzMzNSA3Njh3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L2xvZ28tcHJvc3BlY3Rpby5wbmc/cmVzaXplPTcyMCUy + QzMxNCA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xvZ28t + cHJvc3BlY3Rpby5wbmc/dz05NjQgOTY0dyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhlIGNv + bGQgZW1haWwgcHJvY2VzcyBpcyB3aGF0IGxvdHMgb2YgcGVvcGxlIGdvIHRo + cm91Z2ggdG8gbWFya2V0IGEgc29mdHdhcmUgcHJvZHVjdCwgYSBuZXdzbGV0 + dGVyLCBvciBhbiBvbmxpbmUgY291cnNlLsKgPGEgaHJlZj0iaHR0cDovL1By + b3NwZWN0LmlvIj5Qcm9zcGVjdC5pbzwvYT4gaXMgbXkgZmF2b3JpdGUgdG9v + bCBmb3IgcHJvc3BlY3RpbmcuIFlvdSBjYW4gZmluZCBlbWFpbCBhZGRyZXNz + ZXMgb2YgcGVvcGxlIGF0IGFueSBjb21wYW55LiBZb3UgY2FuIGZpbmQgZW1h + aWwgYWRkcmVzc2VzIG9mIHVzZXJzIG9uIExpbmtlZEluLsKgQWZ0ZXIgeW91 + IGZpbmQgdGhvc2UgZW1haWxzLCB5b3UgY2FuIHVzZSBQcm9zcGVjdC5pbyB0 + byBtYW5hZ2UgeW91ciBwcm9zcGVjdHMsIGFuZCBzZW5kIGVtYWlsczsgc2Vl + IHdoZW4gc29tZW9uZSBvcGVucyB5b3VyIHByb3NwZWN0aW5nIGVtYWlsOyBh + bmQgc3RvcCBzZW5kaW5nIHRoZW0gZW1haWxzIHdoZW4gdGhleSBoYXZlIHNp + Z25hbGVkIHRoYXQgdGhleSBhcmUgbm90IGludGVyZXN0ZWQuwqBJZiB5b3Ug + YXJlIGJ1aWxkaW5nIGEgcHJvZHVjdCwgeW91IGhhdmUgdG8gZmluZCBjdXN0 + b21lcnMgdG8gc2VsbCB0by4gSG93IGRvIHlvdSBmaW5kIGN1c3RvbWVycz8g + QnkgcHJvc3BlY3RpbmcuwqBJ4oCZdmUgdHJpZWQgYSB0b24gb2YgcHJvc3Bl + Y3RpbmcgdG9vbHMmIzgyMTE7PGEgaHJlZj0iaHR0cDovL1Byb3NwZWN0Lmlv + Ij5Qcm9zcGVjdC5pbzwvYT4gaXMgbXkgZmF2b3JpdGUuwqBQcm9zcGVjdC5p + byBpcyBvZmZlcmluZyBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0 + ZW5lcnMgMjAlIG9mZiBmb3IgeW91ciBmaXJzdCAyIG1vbnRocy4gSnVzdCBt + ZW50aW9uIFNFRGFpbHkgdG8gPGEgaHJlZj0iaHR0cDovL1Byb3NwZWN0Lmlv + Ij5Qcm9zcGVjdC5pbzwvYT4gc3VwcG9ydCBhZnRlciB5b3Ugc2lnbiB1cC48 + L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD4m + bmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3BvZHNoZWV0 + cy5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzOTM2IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOS8wNS9hcnRpZmljaWFsLWludGVsbGlnZW5jZS1hcGlzLXdpdGgt + c2ltb24tY2hhbi9ibGFjay1wb2RzaGVldHMtdGV4dC8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNo + ZWV0cy10ZXh0LnBuZz9maXQ9MTQ0MCUyQzg1MSIgZGF0YS1vcmlnLXNpemU9 + IjE0NDAsODUxIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImJsYWNrLXBvZHNoZWV0cy10ZXh0IiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP2Zp + dD0zMDAlMkMxNzciIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTEw + MjQlMkM2MDUiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzkzNiBzaXpl + LW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2Js + YWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9MzAwJTJDMTc3IiBhbHQ9 + IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNr + LXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9MzAwJTJDMTc3IDMwMHcsIGh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRl + eHQucG5nP3Jlc2l6ZT03NjglMkM0NTQgNzY4dywgaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXpl + PTEwMjQlMkM2MDUgMTAyNHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3Jlc2l6ZT03MjAlMkM0MjYg + NzIwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2Rz + aGVldHMtdGV4dC5wbmc/dz0xNDQwIDE0NDB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JZiB5 + b3Ugd2FudCB0byBzdGFydCBhIHBvZGNhc3QsIGNoZWNrIG91dCBQb2RzaGVl + dHMuwqA8YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNvbSI+UG9kc2hlZXRz + PC9hPiBpcyBhIHByb2R1Y3Qgd2UgYnVpbHQgdG8gY3JlYXRlIGFuZCBtYW5h + Z2UgcG9kY2FzdHMuIFdlIGFyZSBwb2RjYXN0ZXJzIG91cnNlbHZlcyYjODIx + MTthbmQgd2UgdW5kZXJzdGFuZCB0aGUgZGlmZmljdWx0aWVzIG9mIGdldHRp + bmcgc3RhcnRlZC7CoFBvZHNoZWV0cyBtYWtlcyBpdCBlYXN5IHRvIHBvc3Qg + eW91ciBlcGlzb2RlcyBhbmQgZGlzdHJpYnV0ZSB0aGVtIHRvIGlUdW5lcyBh + bmQgR29vZ2xlIFBsYXkgd2l0aCBhIHNpbmdsZSBjbGljay7CoElmIHlvdSBh + cmUgY3VyaW91cyBhYm91dCBwb2RjYXN0aW5nLCBidXQgaGF2ZSBubyBpZGVh + IHdoZXJlIHRvIHN0YXJ0LCBQb2RzaGVldHMgd2lsbCBndWlkZSB5b3UgdGhy + b3VnaCB0aGUgcHJvY2Vzcy7CoFdpdGggU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHksIHdlIGhhdmUgYmVlbiBwcm9kdWNpbmcgNSBzaG93cyBhIHdlZWsg + Zm9yIDIgeWVhcnMuIFdlIHVuZGVyc3RhbmQgcmVjb3JkaW5nLCB3ZSB1bmRl + cnN0YW5kIGhvdyB0byBwcm9kdWNlIHlvdXIgc2hvdyBhbmQgd2UgdW5kZXJz + dGFuZCBob3cgdG8gZ2V0IGFkdmVydGlzZXJzLiBXZSB3YW50IHRvIGhlbHAg + eW91IHdpdGggdGhpcyBwcm9jZXNzLsKgQ2hlY2sgb3V0IDxhIGhyZWY9Imh0 + dHA6Ly9wb2RzaGVldHMuY29tIj5Qb2RzaGVldHM8L2E+IHRvZGF5LiBXZSB3 + aWxsIGdpdmUgeW91IGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8gY3JlYXRlIGFu + ZCBtYW5hZ2UgeW91ciBwb2RjYXN0JiM4MjExO2FuZCBpZiB5b3UgaGF2ZSBh + bnkgcXVlc3Rpb25zIG9yIHlvdSBnZXQgY29uZnVzZWQsIHlvdSBjYW4gYWx3 + YXlzIGNvbnRhY3QgdXMgZGlyZWN0bHkgZm9yIGhlbHAuIFBvZGNhc3Rpbmcg + aXMgYXMgZWFzeSBhcyBibG9nZ2luZyYjODIxMTtsZXQgdXMgc2hvdyB5b3Ug + aG93IHRvIHBvZGNhc3QsIHdpdGggPGEgaHJlZj0iaHR0cDovL3BvZHNoZWV0 + cy5jb20iPlBvZHNoZWV0czwvYT4uCjxwPjwvcD48L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRh + Y2htZW50LWlkPSIyNjY4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zeW1waG9uby9zeW1w + aG9uby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtb3JpZy1z + aXplPSIyNzIsODQiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0ic3ltcGhvbm8iIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8u + cG5nP2ZpdD0yNzIlMkM4NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0y + NjY4IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA2L3N5bXBob25vLnBuZz9yZXNpemU9MjcyJTJDODQiIGFsdD0iIiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPlRoYW5rcyB0byBTeW1waG9ubyBmb3Igc3BvbnNvcmlu + ZyBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS4gU3ltcGhvbm8gaXMgYSBj + dXN0b20gZW5naW5lZXJpbmcgc2hvcCB3aGVyZSBzZW5pb3IgZW5naW5lZXJz + IHRhY2tsZSBiaWcgdGVjaCBjaGFsbGVuZ2VzIHdoaWxlIGxlYXJuaW5nIGZy + b20gZWFjaCBvdGhlci4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9Imh0dHA6 + Ly9zeW1waG9uby5jb20vc2VkYWlseSI+c3ltcGhvbm8uY29tL3NlZGFpbHk8 + L2E+LiBUaGFua3MgdG8gU3ltcGhvbm8gZm9yIGJlaW5nIGEgc3BvbnNvciBv + ZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBmb3IgYWxtb3N0IGEgeWVh + ciBub3cuIFlvdXIgY29udGludWVkIHN1cHBvcnQgYWxsb3dzIHVzIHRvIGRl + bGl2ZXIgY29udGVudCB0byB0aGUgbGlzdGVuZXJzIG9uIGEgcmVndWxhciBi + YXNpcy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1 + cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9HZW9yZ2VB + bmRlcnMubXAzIiBsZW5ndGg9IjY1MTI3NjQxIiB0eXBlPSJhdWRpby9tcGVn + IiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+U29mdHdhcmUgZ2l2ZXMgdXMgbmV3 + IHdheXMgb2YgY29tbXVuaWNhdGluZyB3aXRoIGVhY2ggb3RoZXIuIEVuZ2lu + ZWVycyBidWlsZCBzY2FsYWJsZSBzeXN0ZW1zIGZvciBlLWNvbW1lcmNlLCBo + ZWxwZGVzaywgYW5kIHZpZGVvIHNoYXJpbmfigJNhbmQgdGhlc2Ugc3lzdGVt + cyBkbyBzY2FsZSwgdG8gbWlsbGlvbnMgb2YgcGVvcGxlLiBCdXQgc29mdHdh + cmUgYWxvbmUgY2Fubm90IHNlcnZlIGFsbCBvZiB0aGUgZGVtYW5kcyBvZiBh + bGwgdGhlIHUuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1h + cnk+U29mdHdhcmUgZ2l2ZXMgdXMgbmV3IHdheXMgb2YgY29tbXVuaWNhdGlu + ZyB3aXRoIGVhY2ggb3RoZXIuIEVuZ2luZWVycyBidWlsZCBzY2FsYWJsZSBz + eXN0ZW1zIGZvciBlLWNvbW1lcmNlLCBoZWxwZGVzaywgYW5kIHZpZGVvIHNo + YXJpbmfigJNhbmQgdGhlc2Ugc3lzdGVtcyBkbyBzY2FsZSwgdG8gbWlsbGlv + bnMgb2YgcGVvcGxlLiBCdXQgc29mdHdhcmUgYWxvbmUgY2Fubm90IHNlcnZl + IGFsbCBvZiB0aGUgZGVtYW5kcyBvZiBhbGwgdGhlIHVzZXJzIGFuZCBjdXN0 + b21lcnMgb24gdGhlc2UgcGxhdGZvcm1zLiBXZSBuZWVkIGN1c3RvbWVyIHNl + cnZpY2UgcmVwcmVzZW50YXRpdmVzIHRvIGFkZHJlc3MgdW5leHBlY3RlZCBk + ZW1hbmRzLiBXZSBuZWVkIGRlc2lnbiBzcGVjaWFsaXN0cyB0byBldmFsdWF0 + ZSB0aGUgaW50ZXJmYWNlIHRoYXQgbWFkZSBzZW5zZSB0byB0aGUgZW5naW5l + ZXJzIGJ1dENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6MDc6MzU8L2l0dW5l + czpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVl + ZC1hZGRpdGlvbnM6MSI+Mzk2MTwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRl + bT4NCgkJPHRpdGxlPldvcmQyVmVjIHdpdGggQWRyaWFuIENvbHllcjwvdGl0 + bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDkvMTMvd29yZDJ2ZWMtd2l0aC1hZHJpYW4tY29seWVyLzwv + bGluaz4NCgkJPHB1YkRhdGU+V2VkLCAxMyBTZXAgMjAxNyAwOTowMDowMSAr + MDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zOTU3PC9n + dWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wOS8xMy93b3JkMnZlYy13aXRoLWFkcmlhbi1jb2x5 + ZXIvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMTMv + d29yZDJ2ZWMtd2l0aC1hZHJpYW4tY29seWVyL2ZlZWQvPC93Znc6Y29tbWVu + dFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRzPg0K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWFjaGluZSBMZWFybmluZ11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtBY2NlbF1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FkcmlhbiBDb2x5ZXJdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVt0aGVtb3JuaW5ncGFwZXJd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtXb3JkMlZlY11d + PjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPk1hY2hpbmVzIHVuZGVyc3Rh + bmQgdGhlIHdvcmxkIHRocm91Z2ggbWF0aGVtYXRpY2FsIHJlcHJlc2VudGF0 + aW9ucy4gSW4gb3JkZXIgdG8gdHJhaW4gYSBtYWNoaW5lIGxlYXJuaW5nIG1v + ZGVsLCB3ZSBuZWVkIHRvIGRlc2NyaWJlIGV2ZXJ5dGhpbmcgaW4gdGVybXMg + b2YgbnVtYmVycy4gwqBJbWFnZXMsIHdvcmRzLCBhbmQgc291bmRzIGFyZSB0 + b28gYWJzdHJhY3QgZm9yIGEgY29tcHV0ZXIuIEJ1dCBhIHNlcmllcyBvZiBu + dW1iZXJzIGlzIGEgcmVwcmVzZW50YXRpb24gdGhhdCB3ZSBjYW4gYWxsIGFn + cmVlIG9uLCB3aGV0aGVyIHdlIGFyZSBhIGNvbXB1dGVyIG9yIGEgaHVtYW4u + IEluIHJlY2VudCBzaG93cywgd2UgaGF2ZSBleHBsb3JlZCBob3cgdG8gdHJh + aW4gbWFjaGluZSBsZWFybmluZyBtb2RlbHMgdG8gdW5kZXJzdGFuZCZsdDtw + Jmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsg + aHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA5LzEzL3dvcmQydmVjLXdpdGgtYWRyaWFuLWNvbHllci8mcXVv + dDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7 + PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1 + cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1 + cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFn + ZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFw + eCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0 + OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vMjAxNS5ub3NxbC1t + YXR0ZXJzLm9yZy9kdWIvd3AtY29udGVudC91cGxvYWRzLzIwMTUvMDQvQWRy + aWFuLUNvbHllci5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5NYWNoaW5lcyB1bmRlcnN0YW5kIHRoZSB3b3Js + ZCB0aHJvdWdoIG1hdGhlbWF0aWNhbCByZXByZXNlbnRhdGlvbnMuIEluIG9y + ZGVyIHRvIHRyYWluIGEgbWFjaGluZSBsZWFybmluZyBtb2RlbCwgd2UgbmVl + ZCB0byBkZXNjcmliZSBldmVyeXRoaW5nIGluIHRlcm1zIG9mIG51bWJlcnMu + IMKgSW1hZ2VzLCB3b3JkcywgYW5kIHNvdW5kcyBhcmUgdG9vIGFic3RyYWN0 + IGZvciBhIGNvbXB1dGVyLiBCdXQgYSBzZXJpZXMgb2YgbnVtYmVycyBpcyBh + IHJlcHJlc2VudGF0aW9uIHRoYXQgd2UgY2FuIGFsbCBhZ3JlZSBvbiwgd2hl + dGhlciB3ZSBhcmUgYSBjb21wdXRlciBvciBhIGh1bWFuLjwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gcmVjZW50 + IHNob3dzLCB3ZSBoYXZlIGV4cGxvcmVkIGhvdyB0byB0cmFpbiBtYWNoaW5l + IGxlYXJuaW5nIG1vZGVscyB0byB1bmRlcnN0YW5kIGltYWdlcyBhbmQgdmlk + ZW8uIFRvZGF5LCB3ZSBleHBsb3JlIHdvcmRzLiBZb3UgbWlnaHQgYmUgdGhp + bmtpbmcmIzgyMTE74oCdaXNu4oCZdCBhIHdvcmQgZWFzeSB0byB1bmRlcnN0 + YW5kPyBDYW7igJl0IHlvdSBqdXN0IHRha2UgdGhlIGRpY3Rpb25hcnkgZGVm + aW5pdGlvbj/igJ0gQSBkaWN0aW9uYXJ5IGRlZmluaXRpb24gZG9lcyBub3Qg + Y2FwdHVyZSB0aGUgcmljaG5lc3Mgb2YgYSB3b3JkLiBEaWN0aW9uYXJpZXMg + ZG8gbm90IGdpdmUgeW91IGEgd2F5IHRvIG1lYXN1cmUgc2ltaWxhcml0eSBi + ZXR3ZWVuIG9uZSB3b3JkIGFuZCBhbGwgb3RoZXIgd29yZHMgaW4gYSBnaXZl + biBsYW5ndWFnZS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPldvcmQydmVjIGlzIGEgc3lzdGVtIGZvciBkZWZpbmlu + ZyB3b3JkcyBpbiB0ZXJtcyBvZiB0aGUgd29yZHMgdGhhdCBhcHBlYXIgY2xv + c2UgdG8gdGhhdCB3b3JkLiBGb3IgZXhhbXBsZSwgdGhlIHNlbnRlbmNlIOKA + nEhvd2FyZCBpcyBzaXR0aW5nIGluIGEgU3RhcmJ1Y2tzIGNhZmUgZHJpbmtp + bmcgYSBjdXAgb2YgY29mZmVl4oCdIGdpdmVzIGFuIG9idmlvdXMgaW5kaWNh + dGlvbiB0aGF0IHRoZSB3b3JkcyDigJxjYWZlLOKAnSDigJxjdXAs4oCdIGFu + ZCDigJxjb2ZmZWXigJ0gYXJlIGFsbCByZWxhdGVkLiBXaXRoIGVub3VnaCBz + ZW50ZW5jZXMgbGlrZSB0aGF0LCB3ZSBjYW4gc3RhcnQgdG8gdW5kZXJzdGFu + ZCB0aGUgZW50aXJlIGxhbmd1YWdlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+QWRyaWFuIENvbHllciBpcyBhIHZl + bnR1cmUgY2FwaXRhbGlzdCB3aXRoIEFjY2VsLCBhbmQgYmxvZ3MgYWJvdXQg + dGVjaG5pY2FsIHRvcGljcyA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9ibG9n + LmFjb2x5ZXIub3JnLzIwMTYvMDQvMjEvdGhlLWFtYXppbmctcG93ZXItb2Yt + d29yZC12ZWN0b3JzLyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5zdWNoIGFzIHdvcmQydmVjPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPi4gV2UgdGFsa2VkIGFib3V0IHdvcmQydmVjIHNw + ZWNpZmljYWxseSwgYW5kIHRoZSBkZWVwIGxlYXJuaW5nIHNwYWNlIG1vcmUg + Z2VuZXJhbGx5LiBXZSBhbHNvIGV4cGxvcmVkIGhvdyB0aGUgcmFwaWRseSBp + bXByb3ZpbmcgdG9vbHMgYXJvdW5kIGRlZXAgbGVhcm5pbmcgYXJlIGNoYW5n + aW5nIHRoZSB2ZW50dXJlIGludmVzdG1lbnQgbGFuZHNjYXBlLjwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SWYgeW91 + IGxpa2UgdGhpcyBlcGlzb2RlLCB3ZSBoYXZlIGRvbmUgbWFueSBvdGhlciBz + aG93cyBhYm91dCBtYWNoaW5lIGxlYXJuaW5nIHdpdGggZ3Vlc3RzIGxpa2Ug + TWF0dCBaZWlsZXIsIHRoZSBmb3VuZGVyIG9mIENsYXJpZi5haSBhbmQgRnJh + bmNvaXMgQ2hvbGxldCwgdGhlIGNyZWF0b3Igb2YgS2VyYXMuIFlvdSBjYW4g + Y2hlY2sgb3V0IG91ciBiYWNrIGNhdGFsb2cgYnkgZG93bmxvYWRpbmcgPC9z + cGFuPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAv + c29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHktcG9kY2FzdC1hcHAvaWQxMjUz + NzM0NDI2P210PTgiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGFwcCBmb3IgaU9TPC9z + cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgd2hl + cmUgeW91IGNhbiBsaXN0ZW4gdG8gYWxsIG9mIG91ciBvbGQgZXBpc29kZXMs + IGFuZCBlYXNpbHkgZGlzY292ZXIgbmV3IHRvcGljcyB0aGF0IG1pZ2h0IGlu + dGVyZXN0IHlvdS4gWW91IGNhbiB1cHZvdGUgdGhlIGVwaXNvZGVzIHlvdSBs + aWtlIGFuZCBnZXQgcmVjb21tZW5kYXRpb25zIGJhc2VkIG9uIHlvdXIgbGlz + dGVuaW5nIGhpc3RvcnkuIFdpdGggNjAwIGVwaXNvZGVzLCBpdCBpcyBoYXJk + IHRvIGZpbmQgdGhlIGVwaXNvZGVzIHRoYXQgYXBwZWFsIHRvIHlvdSwgYW5k + IHdlIGhvcGUgdGhlIGFwcCBoZWxwcyB3aXRoIHRoYXQuPC9zcGFuPjwvcD4K + PHA+PGVtPlF1ZXN0aW9uIG9mIHRoZSBXZWVrOiBXaGF0IGlzIHlvdXIgZmF2 + b3JpdGUgY29udGludW91cyBkZWxpdmVyeSBvciBjb250aW51b3VzIGludGVn + cmF0aW9uIHRvb2w/IEVtYWlsIGplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbSBhbmQgYSB3aW5uZXIgd2lsbCBiZSBjaG9zZW4gYXQgcmFuZG9t + IHRvIHJlY2VpdmUgYSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBob29k + aWUuwqA8L2VtPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9hdXJvcmEuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3Zn + Xy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAl + MkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJz + ZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMx + MjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0 + JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJD + MTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2 + OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vy + dmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+VG8gYnVpbGQgdGhlIGtpbmRzIG9mIHRoaW5ncyBkZXZlbG9wZXJz + IHdhbnQgdG8gYnVpbGQgdG9kYXksIHRoZXkgbmVlZCBiZXR0ZXIgdG9vbHMu + IMKgVGhhdOKAmXMgd2h5IEFtYXpvbiBXZWIgU2VydmljZXMgYnVpbHQgQW1h + em9uIEF1cm9yYS4gQSByZWxhdGlvbmFsIGRhdGFiYXNlIGVuZ2luZSB0aGF0 + 4oCZcyBjb21wYXRpYmxlIHdpdGggTXlTUUwgYW5kIFBvc3RncmVTUUwsIGFu + ZCBwcm92aWRlcyB1cCB0byBmaXZlIHRpbWVzIHRoZSBwZXJmb3JtYW5jZSBv + ZiBzdGFuZGFyZCBNeVNRTOKAlG9uIHRoZSBzYW1lIGhhcmR3YXJlLCBhdCBh + IHRlbnRoIG9mIHRoZSBjb3N0LiBBbWF6b24gQXVyb3JhIGZyb20gQVdTIGNh + biBzY2FsZSB1cCB0byBtaWxsaW9ucyBvZiB0cmFuc2FjdGlvbnMgcGVyIG1p + bnV0ZS4gQXV0b21hdGljYWxseSBncm93IHlvdXIgc3RvcmFnZSB1cCB0byA2 + NCB0ZXJhYnl0ZXMuIEFuZCByZXBsaWNhdGVzIGRhdGEgdG8gdGhyZWUgZGlm + ZmVyZW50IEF2YWlsYWJpbGl0eSBab25lcy4gQW5kIHlvdSBkb27igJl0IGhh + dmUgdG8gbWFuYWdlIGEgdGhpbmcuIFRoZXJlIGFyZSBubyB1cGZyb250IGNo + YXJnZXMsIG5vIGNvbW1pdG1lbnRz4oCUeW91IG9ubHkgcGF5IGZvciB3aGF0 + IHlvdSB1c2UuIENoZWNrIGl0IG91dCwgYXQgPGEgaHJlZj0iaHR0cDovL2F1 + cm9yYS5hd3MiPmF1cm9yYS5hd3M8L2E+LjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly90b3B0YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzNzM5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xv + dWQtd2l0aC1uZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9m + aXQ9OTc4JTJDNTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0 + YWwiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2Zp + dD0zMDAlMkMxNjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXpl + PTMwMCUyQzE2MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6 + ZT03NjglMkM0MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny90b3B0YWwucG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJl + YXNvbmFibHkgcHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUg + ZW5naW5lZXJzIHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNo + IG9yIHNjYWxlIHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9w + dGFsLmNvbS9zZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWly + cG9kcyB3aGVuIHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3 + b3JrIHdpdGggYW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cHM6Ly9jbG91ZGZsYXJlLmNvbS9zZWRhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzg4MSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDgvMTgvZXJyb3ItZGlhZ25vc2lzLXdpdGgtamFtZXMtc21pdGgvY2xvdWRm + bGFyZV9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9maXQ9MTIwMCUyQzQw + OSIgZGF0YS1vcmlnLXNpemU9IjEyMDAsNDA5IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkNsb3VkZmxhcmVfbG9n + byIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9n + by5wbmc/Zml0PTMwMCUyQzEwMiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0 + PTEwMjQlMkMzNDkiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzg4MSBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTMwMCUyQzEwMiIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZs + YXJlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIgMzAwdywgaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6 + ZT03NjglMkMyNjIgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT0xMDI0JTJDMzQ5IDEwMjR3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9n + by5wbmc/cmVzaXplPTcyMCUyQzI0NSA3MjB3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/dz0xMjAwIDEyMDB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5DbG91ZGZsYXJlIHJ1bnMgMTAlIG9mIHRoZSBJbnRl + cm5ldCwgcHJvdmlkaW5nIHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eSB0byBt + aWxsaW9ucyBvZiB3ZWJzaXRlcy4gTWFueSBvZiB5b3UgcHJvYmFibHkgYWxy + ZWFkeSB1c2UgQ2xvdWRmbGFyZSBvbiB5b3VyIHNpdGVzLiBXZeKAmXJlIG5v + dCB0YWxraW5nIGFib3V0IHVzaW5nIENsb3VkZmxhcmUgdG9kYXkgdGhvdWdo + LCB3ZeKAmXJlIGhlcmUgdG8gdGFsayBhYm91dCBidWlsZGluZyBvbiB0b3Ag + b2YgaXQuIElmIHlvdeKAmXJlIGEgZGV2ZWxvcGVyIHlvdSBjYW4gYnVpbGQg + YXBwcyB3aGljaCBjYW4gYmUgaW5zdGFsbGVkIGJ5IHRoZSB0aGUgbWlsbGlv + bnMgb2Ygc2l0ZXMgd2hpY2ggcmVseSBvbiBDbG91ZGZsYXJlLiBZb3UgY2Fu + IGV2ZW4gc2VsbCB5b3VyIGFwcHM7IHRoZXkgY2FuIG1ha2UgeW91IG1vbmV5 + IDxlbT5ldmVyeSBtb250aDwvZW0+LiBWaXNpdCA8YSBocmVmPSJodHRwczov + L2Nsb3VkZmxhcmUuY29tL3NlZGFpbHkiPmNsb3VkZmxhcmUuY29tL3NlZGFp + bHk8L2E+wqB0byB3YXRjaCBob3cgeW91IGNhbiBidWlsZCBhbmQgZGVwbG95 + IGFuIGFwcCBpbiBsZXNzIHRoYW4gMyBtaW51dGVzLjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRl + bnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmlj + LmxpYnN5bi5jb20vc2VkYWlseS9Xb3JkMnZlY0FkcmlhbkNvbHllci5tcDMi + IGxlbmd0aD0iNTk1NjA5NDIiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0 + dW5lczpzdWJ0aXRsZT5NYWNoaW5lcyB1bmRlcnN0YW5kIHRoZSB3b3JsZCB0 + aHJvdWdoIG1hdGhlbWF0aWNhbCByZXByZXNlbnRhdGlvbnMuIEluIG9yZGVy + IHRvIHRyYWluIGEgbWFjaGluZSBsZWFybmluZyBtb2RlbCwgd2UgbmVlZCB0 + byBkZXNjcmliZSBldmVyeXRoaW5nIGluIHRlcm1zIG9mIG51bWJlcnMuIMKg + SW1hZ2VzLCB3b3JkcywgYW5kIHNvdW5kcyBhcmUgdG9vIGFic3RyYWN0IGZv + ciBhIGNvbXB1dGVyLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3Vt + bWFyeT5NYWNoaW5lcyB1bmRlcnN0YW5kIHRoZSB3b3JsZCB0aHJvdWdoIG1h + dGhlbWF0aWNhbCByZXByZXNlbnRhdGlvbnMuIEluIG9yZGVyIHRvIHRyYWlu + IGEgbWFjaGluZSBsZWFybmluZyBtb2RlbCwgd2UgbmVlZCB0byBkZXNjcmli + ZSBldmVyeXRoaW5nIGluIHRlcm1zIG9mIG51bWJlcnMuIMKgSW1hZ2VzLCB3 + b3JkcywgYW5kIHNvdW5kcyBhcmUgdG9vIGFic3RyYWN0IGZvciBhIGNvbXB1 + dGVyLiBCdXQgYSBzZXJpZXMgb2YgbnVtYmVycyBpcyBhIHJlcHJlc2VudGF0 + aW9uIHRoYXQgd2UgY2FuIGFsbCBhZ3JlZSBvbiwgd2hldGhlciB3ZSBhcmUg + YSBjb21wdXRlciBvciBhIGh1bWFuLiBJbiByZWNlbnQgc2hvd3MsIHdlIGhh + dmUgZXhwbG9yZWQgaG93IHRvIHRyYWluIG1hY2hpbmUgbGVhcm5pbmcgbW9k + ZWxzIHRvIHVuZGVyc3RhbmRDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAx + OjQ3PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5NTc8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5EQU8gSGFjayB3aXRoIE1hdHQgTGVp + c2luZzwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDkvMTEvZGFvLWhhY2std2l0aC1tYXR0LWxl + aXNpbmcvPC9saW5rPg0KCQk8cHViRGF0ZT5Nb24sIDExIFNlcCAyMDE3IDA5 + OjAwOjA1ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9w + PTM5NTA8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzExL2Rhby1oYWNrLXdpdGgtbWF0 + dC1sZWlzaW5nLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDkvMTEvZGFvLWhhY2std2l0aC1tYXR0LWxlaXNpbmcvZmVlZC88L3dmdzpj + b21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVu + dHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCbG9ja2NoYWluXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Jsb29tYmVyZ11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2NyeXB0b2N1cnJlbmN5XV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbREFPXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRXRoZXJldW1dXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYXR0IExlaXNpbmddXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtUaGUgRXRoZXIgVGhpZWZd + XT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5UaGUgRGVjZW50cmFsaXpl + ZCBBdXRvbm9tb3VzIE9yZ2FuaXphdGlvbiAoREFPKSB3YXMgYSBkaWdpdGFs + IGZvcm0gb2YgdmVudHVyZSBjYXBpdGFsLiBJdCB3YXMgYW4gYW1iaXRpb3Vz + IGlkZWHigJN0byBwcm92aWRlIGEgbmV3IGRlY2VudHJhbGl6ZWQgYnVzaW5l + c3MgbW9kZWwgZm9yIG9yZ2FuaXppbmcgY29ycG9yYXRpb25zIG9uIHRvcCBv + ZiB0aGUgRXRoZXJldW0gYmxvY2tjaGFpbi4gRmV3IHBlb3BsZSBpbiB0aGUg + Y3J5cHRvIGNvbW11bml0eSB3ZXJlIG9wcG9zZWQgdG8gdGhpcyBwcmVtaXNl + 4oCTYnV0IHRoZSB0aW1lbGluZSB3YXMgc2hvcnQsIHRoZSBjb2RlIHJlcXVp + cmVtZW50cyB3ZXJlIHRyZW1lbmRvdXMsIGFuZCBpbiByZXRyb3NwZWN0LCBh + IHZ1bG5lcmFiaWxpdHkgd2FzIGluZXZpdGFibGUuIFRoZSBEQU8gbGF1bmNo + ZWQgaW4gTWF5IDIwMTYsIHNldHRpbmcgdGhlIHJlY29yZCBmb3IgdGhlJmx0 + O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90 + OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDkvMTEvZGFvLWhhY2std2l0aC1tYXR0LWxlaXNpbmcvJnF1 + b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0 + OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFb + PHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1i + dXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1i + dXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVy + bnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1h + Z2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAx + cHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdo + dDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3Bicy50d2ltZy5j + b20vcHJvZmlsZV9pbWFnZXMvMzMxMTg0Njc0OC9kYzc5NDBmMzRkNDNhNjc1 + MGMyNTgwNjk4ZDExNGY4OV80MDB4NDAwLmpwZWc/cmVzaXplPTE3NSUyQzE3 + NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgRGVjZW50cmFs + aXplZCBBdXRvbm9tb3VzIE9yZ2FuaXphdGlvbiAoREFPKSB3YXMgYSBkaWdp + dGFsIGZvcm0gb2YgdmVudHVyZSBjYXBpdGFsLiBJdCB3YXMgYW4gYW1iaXRp + b3VzIGlkZWEmIzgyMTE7dG8gcHJvdmlkZSBhIG5ldyBkZWNlbnRyYWxpemVk + IGJ1c2luZXNzIG1vZGVsIGZvciBvcmdhbml6aW5nIGNvcnBvcmF0aW9ucyBv + biB0b3Agb2YgdGhlIEV0aGVyZXVtIGJsb2NrY2hhaW4uIEZldyBwZW9wbGUg + aW4gdGhlIGNyeXB0byBjb21tdW5pdHkgd2VyZSBvcHBvc2VkIHRvIHRoaXMg + cHJlbWlzZSYjODIxMTtidXQgdGhlIHRpbWVsaW5lIHdhcyBzaG9ydCwgdGhl + IGNvZGUgcmVxdWlyZW1lbnRzIHdlcmUgdHJlbWVuZG91cywgYW5kIGluIHJl + dHJvc3BlY3QsIGEgdnVsbmVyYWJpbGl0eSB3YXMgaW5ldml0YWJsZS48L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRo + ZSBEQU8gbGF1bmNoZWQgaW4gTWF5IDIwMTYsIHNldHRpbmcgdGhlIHJlY29y + ZCBmb3IgdGhlIGxhcmdlc3QgY3Jvd2RmdW5kaW5nIGV2ZW50IGluIGhpc3Rv + cnkuIFRoZSBmb2xsb3dpbmcgbW9udGgsIHRoZSBEQU8gd2FzIGhhY2tlZCwg + bWlsbGlvbnMgb2YgZG9sbGFycyBvZiBFdGhlciB3ZXJlIHN0b2xlbiwgYW5k + IHRoZSByZXZlcmJlcmF0aW9ucyBvZiB0aGUgZXZlbnQgd2VyZSBhIHJlZmVy + ZW5kdW0gb24gaG93IHRoZSBFdGhlcmV1bSBjb21tdW5pdHkgZ292ZXJucyBp + dHNlbGYuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5NYXR0IExlaXNpbmcgaXMgYSByZXBvcnRlciBmb3IgQmxvb21i + ZXJnIHdobyBoYXMgY2hyb25pY2xlZCB0aGUgREFPIGluIGhpcyBhcnRpY2xl + IDwvc3Bhbj48YSBocmVmPSJodHRwczovL3d3dy5ibG9vbWJlcmcuY29tL2Zl + YXR1cmVzLzIwMTctdGhlLWV0aGVyLXRoaWVmLyI+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5UaGUgRXRoZXIgVGhpZWY8L3NwYW4+PC9hPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBIZSBjb250aW51ZXMg + dG8gZm9sbG93IGNyeXB0b2N1cnJlbmNpZXMgY2xvc2VseSwgYXMgdGhlIElu + dGVybmV0IG9mIG1vbmV5IGZyYWN0YWxzIGluY3JlYXNpbmdseSBpbnRvIHRo + ZSBwdWJsaWMgY29uc2Npb3VzbmVzcy48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPklmIHlvdSBsaWtlIHRoaXMgZXBp + c29kZSwgd2UgaGF2ZSBkb25lIG1hbnkgb3RoZXIgc2hvd3MgYWJvdXQgY3J5 + cHRvY3VycmVuY2llcyBhbmQgdGhlaXIgaW1wbGljYXRpb25zLiBZb3UgY2Fu + IGNoZWNrIG91dCBvdXIgYmFjayBjYXRhbG9nIGJ5IGRvd25sb2FkaW5nIDwv + c3Bhbj48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBw + L3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LXBvZGNhc3QtYXBwL2lkMTI1 + MzczNDQyNj9tdD04Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PnRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBhcHAgZm9yIGlPUzwv + c3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIHdo + ZXJlIHlvdSBjYW4gbGlzdGVuIHRvIGFsbCBvZiBvdXIgb2xkIGVwaXNvZGVz + LCBhbmQgZWFzaWx5IGRpc2NvdmVyIG5ldyB0b3BpY3MgdGhhdCBtaWdodCBp + bnRlcmVzdCB5b3UuIFlvdSBjYW4gdXB2b3RlIHRoZSBlcGlzb2RlcyB5b3Ug + bGlrZSBhbmQgZ2V0IHJlY29tbWVuZGF0aW9ucyBiYXNlZCBvbiB5b3VyIGxp + c3RlbmluZyBoaXN0b3J5LiBXaXRoIDYwMCBlcGlzb2RlcywgaXQgaXMgaGFy + ZCB0byBmaW5kIHRoZSBlcGlzb2RlcyB0aGF0IGFwcGVhbCB0byB5b3UsIGFu + ZCB3ZSBob3BlIHRoZSBhcHAgaGVscHMgd2l0aCB0aGF0LiA8L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPjxlbT5FcnJh + dGE6IENvaW5iYXNlIG5vdyBzdXBwb3J0cyBCaXRjb2luIENhc2guPC9lbT7C + oDwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + YXVyb3JhLmF3cyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjIiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253ZWJzZXJ2aWNlc19sb2dvLXN2Z18v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0yMDAwJTJD + ODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAwMCw4MDAiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQW1hem9uV2Vic2Vy + dmljZXNfTG9nby5zdmdfIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MzAwJTJDMTIw + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MTAyNCUy + QzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIyIHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0Ft + YXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEy + MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldl + YnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTc2OCUyQzMwNyA3Njh3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZp + Y2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTEwMjQlMkM0MTAgMTAyNHcsIGh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNf + TG9nby5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjg4IDcyMHciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPlRvIGJ1aWxkIHRoZSBraW5kcyBvZiB0aGluZ3MgZGV2ZWxvcGVycyB3 + YW50IHRvIGJ1aWxkIHRvZGF5LCB0aGV5IG5lZWQgYmV0dGVyIHRvb2xzLiDC + oFRoYXTigJlzIHdoeSBBbWF6b24gV2ViIFNlcnZpY2VzIGJ1aWx0IEFtYXpv + biBBdXJvcmEuIEEgcmVsYXRpb25hbCBkYXRhYmFzZSBlbmdpbmUgdGhhdOKA + mXMgY29tcGF0aWJsZSB3aXRoIE15U1FMIGFuZCBQb3N0Z3JlU1FMLCBhbmQg + cHJvdmlkZXMgdXAgdG8gZml2ZSB0aW1lcyB0aGUgcGVyZm9ybWFuY2Ugb2Yg + c3RhbmRhcmQgTXlTUUzigJRvbiB0aGUgc2FtZSBoYXJkd2FyZSwgYXQgYSB0 + ZW50aCBvZiB0aGUgY29zdC4gQW1hem9uIEF1cm9yYSBmcm9tIEFXUyBjYW4g + c2NhbGUgdXAgdG8gbWlsbGlvbnMgb2YgdHJhbnNhY3Rpb25zIHBlciBtaW51 + dGUuIEF1dG9tYXRpY2FsbHkgZ3JvdyB5b3VyIHN0b3JhZ2UgdXAgdG8gNjQg + dGVyYWJ5dGVzLiBBbmQgcmVwbGljYXRlcyBkYXRhIHRvIHRocmVlIGRpZmZl + cmVudCBBdmFpbGFiaWxpdHkgWm9uZXMuIEFuZCB5b3UgZG9u4oCZdCBoYXZl + IHRvIG1hbmFnZSBhIHRoaW5nLiBUaGVyZSBhcmUgbm8gdXBmcm9udCBjaGFy + Z2VzLCBubyBjb21taXRtZW50c+KAlHlvdSBvbmx5IHBheSBmb3Igd2hhdCB5 + b3UgdXNlLiBDaGVjayBpdCBvdXQsIGF0IDxhIGhyZWY9Imh0dHA6Ly9hdXJv + cmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + Oi8vdG9wdGFsLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMzczOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTAva2Fma2EtaW4tdGhlLWNsb3Vk + LXdpdGgtbmVoYS1uYXJraGVkZS90b3B0YWwtMi8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0 + PTk3OCUyQzUyMiIgZGF0YS1vcmlnLXNpemU9Ijk3OCw1MjIiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0idG9wdGFs + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9 + MzAwJTJDMTYwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTM3Mzkgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0z + MDAlMkMxNjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9MzAwJTJDMTYwIDMwMHcsIGh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9 + NzY4JTJDNDEwIDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + dG9wdGFsLnBuZz9yZXNpemU9NzIwJTJDMzg0IDcyMHcsIGh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz93PTk3OCA5Nzh3IiBzaXpl + cz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5Ub3B0YWwgaXMgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCByZWFz + b25hYmx5IHByaWNlZCwgZXh0cmVtZWx5IHRhbGVudGVkIHNvZnR3YXJlIGVu + Z2luZWVycyB0byBidWlsZCB5b3VyIHByb2plY3RzIGZyb20gc2NyYXRjaCBv + ciBzY2FsZSB5b3VyIHdvcmtmb3JjZS4gPGEgaHJlZj0iaHR0cDovL3RvcHRh + bC5jb20vc2VkYWlseSI+R2V0IGEgZnJlZSBwYWlyIG9mIEFwcGxlIEFpcnBv + ZHMgd2hlbiB5b3UgdXNlIFRvcHRhbC5jb20vc2VkYWlseTwvYT4gdG8gd29y + ayB3aXRoIGFuIGVuZ2luZWVyIGZvciBhdCBsZWFzdCAyMCBob3Vycy48L2Rp + dj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9kYXRhZG9nIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9n + X2xvZ28ucG5nP2ZpdD0xMDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAy + NCw1MTIiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iZGF0YWRvZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRv + Z19sb2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zMjM2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJD + MTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXpl + PTcyMCUyQzM2MCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEw + MHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPldlIGtub3cgdGhhdCBtb25pdG9yaW5nIGNhbiBi + ZSBhIGNoYWxsZW5nZSYjODIzMDt3aXRoIHNvIG1hbnkgc2VydmljZXMsIGFw + cHMsIGFuZCBjb250YWluZXJzIHRvIHRyYWNrLCBpdOKAmXMgaGFyZGVyIHRo + YW4gZXZlciB0byB1bmRlcnN0YW5kIGFwcGxpY2F0aW9uIHBlcmZvcm1hbmNl + LCBhbmQgdHJvdWJsZXNob290IGlzc3Vlcy4gQnVpbHQgYnkgZW5naW5lZXJz + LCBmb3IgZW5naW5lZXJzLCBEYXRhZG9nIGlzIGEgcGxhdGZvcm0gdGhhdOKA + mXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHByb3ZpZGUgZnVsbC1zdGFj + ayBvYnNlcnZhYmlsaXR5IGZvciBtb2Rlcm4gYXBwbGljYXRpb25zLiBEYXRh + ZG9nIGhlbHBzIGRldiBhbmQgb3BzIHRlYW1zIGVhc2lseSBzZWUgYWNyb3Nz + IGFsbCB0aGVpciBzZXJ2ZXJzLCBjb250YWluZXJzLCBhcHBzLCBhbmQgc2Vy + dmljZXMgdG8gbW9uaXRvciBwZXJmb3JtYW5jZSBhbmQgbWFrZSBkYXRhLWRy + aXZlbiBkZWNpc2lvbnMuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5EYXRhZG9nIGludGVncmF0ZXMgc2VhbWxlc3NseSB0byBn + YXRoZXIgbWV0cmljcyBhbmQgZXZlbnRzIGZyb20gbW9yZSB0aGFuIDIwMCB0 + ZWNobm9sb2dpZXMsIGluY2x1ZGluZyBBV1MsIENoZWYsIERvY2tlciwgYW5k + IFJlZGlzLiBXaXRoIGJ1aWx0LWluIGRhc2hib2FyZHMsIGFsZ29yaXRobWlj + IGFsZXJ0cywgYW5kIGVuZC10by1lbmQgcmVxdWVzdCB0cmFjaW5nLCBEYXRh + ZG9nIGhlbHBzIHRlYW1zIG1vbml0b3IgZXZlcnkgbGF5ZXIgb2YgdGhlaXIg + c3RhY2sgaW4gb25lIHBsYWNlLiBCdXQgZG9uJiM4MjE3O3QgdGFrZSBvdXIg + d29yZCBmb3IgaXTigJRzdGFydCBhIGZyZWUgdHJpYWwgdG9kYXkgJmFtcDsg + RGF0YWRvZyB3aWxsIHNlbmQgeW91IGEgZnJlZSBULXNoaXJ0ISBWaXNpdCA8 + YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9k + YXRhZG9nIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2RhdGFkb2c8 + L2E+IHRvIGdldCBzdGFydGVkLsKgPC9zcGFuPjwvZGl2PjwvcD4KPHA+PC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHA6Ly9wb2RzaGVldHMuY29tIj48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMzkzNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMDUvYXJ0aWZpY2lhbC1pbnRlbGxp + Z2VuY2UtYXBpcy13aXRoLXNpbW9uLWNoYW4vYmxhY2stcG9kc2hlZXRzLXRl + eHQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTE0NDAlMkM4NTEi + IGRhdGEtb3JpZy1zaXplPSIxNDQwLDg1MSIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJibGFjay1wb2RzaGVldHMt + dGV4dCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNo + ZWV0cy10ZXh0LnBuZz9maXQ9MzAwJTJDMTc3IiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRz + LXRleHQucG5nP2ZpdD0xMDI0JTJDNjA1IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTM5MzYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXpl + PTMwMCUyQzE3NyIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTMw + MCUyQzE3NyAzMDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2Js + YWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9NzY4JTJDNDU0IDc2OHcs + IGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRz + LXRleHQucG5nP3Jlc2l6ZT0xMDI0JTJDNjA1IDEwMjR3LCBodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9y + ZXNpemU9NzIwJTJDNDI2IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3c9MTQ0MCAxNDQwdyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+SWYgeW91IHdhbnQgdG8gc3RhcnQgYSBwb2RjYXN0LCBj + aGVjayBvdXQgUG9kc2hlZXRzLsKgPGEgaHJlZj0iaHR0cDovL3BvZHNoZWV0 + cy5jb20iPlBvZHNoZWV0czwvYT4gaXMgYSBwcm9kdWN0IHdlIGJ1aWx0IHRv + IGNyZWF0ZSBhbmQgbWFuYWdlIHBvZGNhc3RzLiBXZSBhcmUgcG9kY2FzdGVy + cyBvdXJzZWx2ZXMmIzgyMTE7YW5kIHdlIHVuZGVyc3RhbmQgdGhlIGRpZmZp + Y3VsdGllcyBvZiBnZXR0aW5nIHN0YXJ0ZWQuwqBQb2RzaGVldHMgbWFrZXMg + aXQgZWFzeSB0byBwb3N0IHlvdXIgZXBpc29kZXMgYW5kIGRpc3RyaWJ1dGUg + dGhlbSB0byBpVHVuZXMgYW5kIEdvb2dsZSBQbGF5IHdpdGggYSBzaW5nbGUg + Y2xpY2suwqBJZiB5b3UgYXJlIGN1cmlvdXMgYWJvdXQgcG9kY2FzdGluZywg + YnV0IGhhdmUgbm8gaWRlYSB3aGVyZSB0byBzdGFydCwgUG9kc2hlZXRzIHdp + bGwgZ3VpZGUgeW91IHRocm91Z2ggdGhlIHByb2Nlc3MuwqBXaXRoIFNvZnR3 + YXJlIEVuZ2luZWVyaW5nIERhaWx5LCB3ZSBoYXZlIGJlZW4gcHJvZHVjaW5n + IDUgc2hvd3MgYSB3ZWVrIGZvciAyIHllYXJzLiBXZSB1bmRlcnN0YW5kIHJl + Y29yZGluZywgd2UgdW5kZXJzdGFuZCBob3cgdG8gcHJvZHVjZSB5b3VyIHNo + b3cgYW5kIHdlIHVuZGVyc3RhbmQgaG93IHRvIGdldCBhZHZlcnRpc2Vycy4g + V2Ugd2FudCB0byBoZWxwIHlvdSB3aXRoIHRoaXMgcHJvY2Vzcy7CoENoZWNr + IG91dCA8YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNvbSI+UG9kc2hlZXRz + PC9hPiB0b2RheS4gV2Ugd2lsbCBnaXZlIHlvdSBldmVyeXRoaW5nIHlvdSBu + ZWVkIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIHlvdXIgcG9kY2FzdCYjODIxMTth + bmQgaWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBvciB5b3UgZ2V0IGNvbmZ1 + c2VkLCB5b3UgY2FuIGFsd2F5cyBjb250YWN0IHVzIGRpcmVjdGx5IGZvciBo + ZWxwLiBQb2RjYXN0aW5nIGlzIGFzIGVhc3kgYXMgYmxvZ2dpbmcmIzgyMTE7 + bGV0IHVzIHNob3cgeW91IGhvdyB0byBwb2RjYXN0LCB3aXRoIDxhIGhyZWY9 + Imh0dHA6Ly9wb2RzaGVldHMuY29tIj5Qb2RzaGVldHM8L2E+Lgo8cD48L3A+ + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0i + aHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0RBT0hhY2subXAz + IiBsZW5ndGg9IjcwNTk5MTg1IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+VGhlIERlY2VudHJhbGl6ZWQgQXV0b25vbW91cyBP + cmdhbml6YXRpb24gKERBTykgd2FzIGEgZGlnaXRhbCBmb3JtIG9mIHZlbnR1 + cmUgY2FwaXRhbC4gSXQgd2FzIGFuIGFtYml0aW91cyBpZGVh4oCTdG8gcHJv + dmlkZSBhIG5ldyBkZWNlbnRyYWxpemVkIGJ1c2luZXNzIG1vZGVsIGZvciBv + cmdhbml6aW5nIGNvcnBvcmF0aW9ucyBvbiB0b3Agb2YgdGhlIEV0aGVyZXVt + IGJsb2NrY2hhaW4uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1t + YXJ5PlRoZSBEZWNlbnRyYWxpemVkIEF1dG9ub21vdXMgT3JnYW5pemF0aW9u + IChEQU8pIHdhcyBhIGRpZ2l0YWwgZm9ybSBvZiB2ZW50dXJlIGNhcGl0YWwu + IEl0IHdhcyBhbiBhbWJpdGlvdXMgaWRlYeKAk3RvIHByb3ZpZGUgYSBuZXcg + ZGVjZW50cmFsaXplZCBidXNpbmVzcyBtb2RlbCBmb3Igb3JnYW5pemluZyBj + b3Jwb3JhdGlvbnMgb24gdG9wIG9mIHRoZSBFdGhlcmV1bSBibG9ja2NoYWlu + LiBGZXcgcGVvcGxlIGluIHRoZSBjcnlwdG8gY29tbXVuaXR5IHdlcmUgb3Bw + b3NlZCB0byB0aGlzIHByZW1pc2XigJNidXQgdGhlIHRpbWVsaW5lIHdhcyBz + aG9ydCwgdGhlIGNvZGUgcmVxdWlyZW1lbnRzIHdlcmUgdHJlbWVuZG91cywg + YW5kIGluIHJldHJvc3BlY3QsIGEgdnVsbmVyYWJpbGl0eSB3YXMgaW5ldml0 + YWJsZS4gVGhlIERBTyBsYXVuY2hlZCBpbiBNYXkgMjAxNiwgc2V0dGluZyB0 + aGUgcmVjb3JkIGZvciB0aGVDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjEz + OjE3PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5NTA8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseSBBcHAgd2l0aCBLZWl0aCBhbmQgQ3JhaWcgSG9sbGlkYXk8L3RpdGxl + Pg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA5LzA4L3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5LWFwcC13 + aXRoLWtlaXRoLWFuZC1jcmFpZy1ob2xsaWRheS88L2xpbms+DQoJCTxwdWJE + YXRlPkZyaSwgMDggU2VwIDIwMTcgMDk6MDA6MTUgKzAwMDA8L3B1YkRhdGU+ + DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzk0OTwvZ3VpZD4NCgkJPGNvbW1l + bnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDkvMDgvc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHktYXBwLXdpdGgta2Vp + dGgtYW5kLWNyYWlnLWhvbGxpZGF5LyNjb21tZW50czwvY29tbWVudHM+DQoJ + CTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA5LzA4L3NvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5 + LWFwcC13aXRoLWtlaXRoLWFuZC1jcmFpZy1ob2xsaWRheS9mZWVkLzwvd2Z3 + OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz45PC9zbGFzaDpjb21t + ZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW09wZW4gU291cmNlXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0NyYWlnIEhvbGxpZGF5 + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbS2VpdGggSG9s + bGlkYXldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVttb2Jp + bGUgYXBwIGJ1aWxkaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbcG9kY2FzdCBkaXNjb3ZlcmFiaWxpdHldXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBpT1MgYXBwXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+WW91IGhh + dmUgcHJvYmFibHkgbWlzc2VkIHNvbWUgb2YgdGhlIGJlc3QgZXBpc29kZXMg + b2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIElmIHlvdSBsaXN0ZW4g + dG8ganVzdCBhIGZldyBlcGlzb2RlcyBhIHdlZWssIGl0IGNhbiBiZSBkaWZm + aWN1bHQgdG8gaWRlbnRpZnkgdGhlIGhpZ2ggcXVhbGl0eSBzaG93cy4gQW5k + IGlmIHlvdSBhcmUgbmV3IHRvIHRoZSBwb2RjYXN0LCB5b3UgaGF2ZSBubyBp + ZGVhIGhvdyB0byBmaW5kIGVwaXNvZGVzIHRoYXQgbWlnaHQgYXBwZWFsIHRv + IHlvdS4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgaGFzIGEgZGlzY292 + ZXJ5IHByb2JsZW0uIFdlIGhhdmUgNjAwIGVwaXNvZGVzLCBhbmQgbXVjaCBv + ZiB0aGUgY29udGVudCZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRp + bnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA4L3NvZnR3YXJlLWVuZ2lu + ZWVyaW5nLWRhaWx5LWFwcC13aXRoLWtlaXRoLWFuZC1jcmFpZy1ob2xsaWRh + eS8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7 + L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtD + REFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVu + ZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVu + ZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBn + P2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3 + cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3Jk + ZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgt + aGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vcGJzLnR3 + aW1nLmNvbS9wcm9maWxlX2ltYWdlcy84MDczMzA2Mjk0MjM0OTMxMjAvekIw + MHFYTTlfNDAweDQwMC5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0x + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Zb3UgaGF2ZSBwcm9iYWJseSBtaXNzZWQg + c29tZSBvZiB0aGUgYmVzdCBlcGlzb2RlcyBvZiBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseS4gSWYgeW91IGxpc3RlbiB0byBqdXN0IGEgZmV3IGVwaXNv + ZGVzIGEgd2VlaywgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBpZGVudGlmeSB0 + aGUgaGlnaCBxdWFsaXR5IHNob3dzLiBBbmQgaWYgeW91IGFyZSBuZXcgdG8g + dGhlIHBvZGNhc3QsIHlvdSBoYXZlIG5vIGlkZWEgaG93IHRvIGZpbmQgZXBp + c29kZXMgdGhhdCBtaWdodCBhcHBlYWwgdG8geW91LiA8L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5IGhhcyBhIGRpc2NvdmVyeSBwcm9ibGVtLiA8L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldl + IGhhdmUgNjAwIGVwaXNvZGVzLCBhbmQgbXVjaCBvZiB0aGUgY29udGVudCBp + cyBldmVyZ3JlZW4uIFRoZSBzaG93cyB3ZSBkaWQgYSB5ZWFyIGFnbyBvbiBB + cGFjaGUgU3BhcmssIG9yIEV0aGVyZXVtLCBvciBSZWFjdEpTIGFyZSBzdGls + bCByZWxldmFudCB0b2RheSwgYW5kIHRoZXkgZ2V0IHBsZW50eSBvZiBsaXN0 + ZW5zLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPktlaXRoIGFuZCBDcmFpZyBIb2xsaWRheSBidWlsdCBhIHJlY29t + bWVuZGF0aW9uIHN5c3RlbSBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkuIFRoZW4gdGhleSBidWlsdCBhIDwvc3Bhbj48YSBocmVmPSJodHRwczov + L2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL3NvZnR3YXJlLWVuZ2luZWVyaW5n + LWRhaWx5LXBvZGNhc3QtYXBwL2lkMTI1MzczNDQyNj9tdD04Ij48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGlPUyBhcHA8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+IHRvIGltcHJvdmUgdGhlIGV4cGVyaWVuY2Ugb2YgU0Ug + RGFpbHkgbGlzdGVuZXJzLiBZb3UgY2FuIHVzZSB0aGUgU0UgRGFpbHkgYXBw + IHRvIGZpbmQgdGhlIG1vc3QgcG9wdWxhciBlcGlzb2RlcyBvZiB0aGlzIHBv + ZGNhc3QsIGFuZCB0byBmaW5kIGVwaXNvZGUgcmVjb21tZW5kYXRpb25zIGJh + c2VkIG9uIHdoYXQgeW91IGhhdmUgbGlzdGVuZWQgdG8uPC9zcGFuPjwvcD4K + PHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbiB0aGlzIGVw + aXNvZGUsIEtlaXRoIGFuZCBDcmFpZyBqb2luIHRoZSBzaG93IHRvIGV4cGxh + aW4gd2h5IHRoZXkgYnVpbHQgYW4gYXBwIGZvciBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseS4gWW91IGNhbiBmaW5kIGFsbCB0aGUgY29kZSBmb3IgdGhl + IFNFIERhaWx5IGFwcCBhdCA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9naXRo + dWIuY29tL1NvZnR3YXJlRW5naW5lZXJpbmdEYWlseSI+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5naXRodWIuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4gaW4gY2FzZSB5b3Ugd2FudCB0byBmb3JrIGl0IGZvciB5b3Vy + IG93biBwb2RjYXN0JiM4MjExO29yIGlmIHlvdSB3YW50IHRvIGNvbnRyaWJ1 + dGUgdG8gaXQuPC9zcGFuPjwvcD4KPHA+PGVtPlF1ZXN0aW9uIG9mIHRoZSBX + ZWVrOiBXaGF0IGlzIHlvdXIgZmF2b3JpdGUgY29udGludW91cyBkZWxpdmVy + eSBvciBjb250aW51b3VzIGludGVncmF0aW9uIHRvb2w/IEVtYWlsIGplZmZA + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbSBhbmQgYSB3aW5uZXIgd2ls + bCBiZSBjaG9zZW4gYXQgcmFuZG9tIHRvIHJlY2VpdmUgYSBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBob29kaWUuwqA8L2VtPjwvcD4KPGgyPlNwb25z + b3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8vY2xvdWRmbGFyZS5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4ODEiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA4LzE4L2Vycm9yLWRpYWdub3Npcy13aXRoLWphbWVzLXNtaXRoL2Nsb3Vk + ZmxhcmVfbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTEyMDAlMkM0 + MDkiIGRhdGEtb3JpZy1zaXplPSIxMjAwLDQwOSIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJDbG91ZGZsYXJlX2xv + Z28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xv + Z28ucG5nP2ZpdD0zMDAlMkMxMDIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2Zp + dD0xMDI0JTJDMzQ5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4ODEg + c2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIiIGFsdD0i + IiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRm + bGFyZV9sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTAyIDMwMHcsIGh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNp + emU9NzY4JTJDMjYyIDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9MTAyNCUyQzM0OSAxMDI0 + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xv + Z28ucG5nP3Jlc2l6ZT03MjAlMkMyNDUgNzIwdywgaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3c9MTIwMCAxMjAw + dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+Q2xvdWRmbGFyZSBydW5zIDEwJSBvZiB0aGUgSW50 + ZXJuZXQsIHByb3ZpZGluZyBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkgdG8g + bWlsbGlvbnMgb2Ygd2Vic2l0ZXMuIE1hbnkgb2YgeW91IHByb2JhYmx5IGFs + cmVhZHkgdXNlIENsb3VkZmxhcmUgb24geW91ciBzaXRlcy4gV2XigJlyZSBu + b3QgdGFsa2luZyBhYm91dCB1c2luZyBDbG91ZGZsYXJlIHRvZGF5IHRob3Vn + aCwgd2XigJlyZSBoZXJlIHRvIHRhbGsgYWJvdXQgYnVpbGRpbmcgb24gdG9w + IG9mIGl0LiBJZiB5b3XigJlyZSBhIGRldmVsb3BlciB5b3UgY2FuIGJ1aWxk + IGFwcHMgd2hpY2ggY2FuIGJlIGluc3RhbGxlZCBieSB0aGUgdGhlIG1pbGxp + b25zIG9mIHNpdGVzIHdoaWNoIHJlbHkgb24gQ2xvdWRmbGFyZS4gWW91IGNh + biBldmVuIHNlbGwgeW91ciBhcHBzOyB0aGV5IGNhbiBtYWtlIHlvdSBtb25l + eSA8ZW0+ZXZlcnkgbW9udGg8L2VtPi4gVmlzaXQgPGEgaHJlZj0iaHR0cHM6 + Ly9jbG91ZGZsYXJlLmNvbS9zZWRhaWx5Ij5jbG91ZGZsYXJlLmNvbS9zZWRh + aWx5PC9hPsKgdG8gd2F0Y2ggaG93IHlvdSBjYW4gYnVpbGQgYW5kIGRlcGxv + eSBhbiBhcHAgaW4gbGVzcyB0aGFuIDMgbWludXRlcy48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMTAvMTgvc2ltcHNvbnMt + ZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2huZWlkZXIvaW5kZWVkLXByaW1l + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGRhdGEtb3JpZy1z + aXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1lIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9MzAwJTJDNjIiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAw + JTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiAzMDB3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/dz00NjMg + NDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+RmxpcCB0aGUgdHJhZGl0aW9uYWwgam9iIHNl + YXJjaCBhbmQgbGV0IEluZGVlZCBQcmltZSB3b3JrIGZvciB5b3Ugd2hpbGUg + eW914oCZcmUgYnVzeSB3aXRoIG90aGVyIGVuZ2luZWVyaW5nIHdvcmssIG9y + IGNvZGluZyB5b3VyIHNpZGUgcHJvamVjdC4gVXBsb2FkIHlvdXIgcmVzdW1l + IGFuZCBpbiBvbmUgY2xpY2ssIGdhaW4gaW1tZWRpYXRlIGV4cG9zdXJlIHRv + IGNvbXBhbmllcyBsaWtlIEZhY2Vib29rLCBVYmVyLCBhbmQgRHJvcGJveC4g + SW50ZXJlc3RlZCBlbXBsb3llcnMgd2lsbCByZWFjaCBvdXQgdG8geW91IHdp + dGhpbiBvbmUgd2VlayB3aXRoIHNhbGFyeSwgcG9zaXRpb24sIGFuZCBlcXVp + dHkgdXAgZnJvbnQuIERvbuKAmXQgbGV0IGFwcGx5aW5nIGZvciBqb2JzIGJl + Y29tZSBhIGZ1bGwtdGltZSBqb2IuIFdpdGggSW5kZWVkIFByaW1lLCBqb2Jz + IGNvbWUgdG8geW91LiBUaGUgYXZlcmFnZSBzb2Z0d2FyZSBkZXZlbG9wZXIg + Z2V0cyA1IGVtcGxveWVyIGNvbnRhY3RzIGFuZCBhbiBhdmVyYWdlIHNhbGFy + eSBvZmZlciBvZiAkMTI1LDAwMC4gSW5kZWVkIFByaW1lIGlzIDEwMCUgZnJl + ZSBmb3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5ncyBhdHRhY2hlZC4gU2ln + biB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5 + Ij4gaW5kZWVkLmNvbS9zZWRhaWx5PC9hPi4gPC9kaXY+PC9wPgo8cD48L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhv + bm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6 + ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBu + Zz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2 + OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ni9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3Jpbmcg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3Vz + dG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0 + YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9t + IGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8v + c3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5PC9h + Pi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Igb2Yg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHllYXIg + bm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBkZWxp + dmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFz + aXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJs + PSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU0VEQXBwLm1w + MyIgbGVuZ3RoPSI1OTAyNjc2OSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8 + aXR1bmVzOnN1YnRpdGxlPllvdSBoYXZlIHByb2JhYmx5IG1pc3NlZCBzb21l + IG9mIHRoZSBiZXN0IGVwaXNvZGVzIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5LiBJZiB5b3UgbGlzdGVuIHRvIGp1c3QgYSBmZXcgZXBpc29kZXMg + YSB3ZWVrLCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIGlkZW50aWZ5IHRoZSBo + aWdoIHF1YWxpdHkgc2hvd3MuIEFuZCBpZiB5b3UgYXJlIG5ldyB0byB0aGUg + cG9kY2FzdCw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+ + WW91IGhhdmUgcHJvYmFibHkgbWlzc2VkIHNvbWUgb2YgdGhlIGJlc3QgZXBp + c29kZXMgb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIElmIHlvdSBs + aXN0ZW4gdG8ganVzdCBhIGZldyBlcGlzb2RlcyBhIHdlZWssIGl0IGNhbiBi + ZSBkaWZmaWN1bHQgdG8gaWRlbnRpZnkgdGhlIGhpZ2ggcXVhbGl0eSBzaG93 + cy4gQW5kIGlmIHlvdSBhcmUgbmV3IHRvIHRoZSBwb2RjYXN0LCB5b3UgaGF2 + ZSBubyBpZGVhIGhvdyB0byBmaW5kIGVwaXNvZGVzIHRoYXQgbWlnaHQgYXBw + ZWFsIHRvIHlvdS4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgaGFzIGEg + ZGlzY292ZXJ5IHByb2JsZW0uIFdlIGhhdmUgNjAwIGVwaXNvZGVzLCBhbmQg + bXVjaCBvZiB0aGUgY29udGVudENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5l + czpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVy + aW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+ + Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6 + MDE6MTQ8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13 + b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+Mzk0OTwvcG9zdC1pZD4JCTwv + aXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkF0dGFjayBBdHRyaWJ1dGlvbiB3 + aXRoIEpvaG4gRGF2aXM8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA3L2F0dGFjay1hdHRy + aWJ1dGlvbi13aXRoLWpvaG4tZGF2aXMvPC9saW5rPg0KCQk8cHViRGF0ZT5U + aHUsIDA3IFNlcCAyMDE3IDA5OjAwOjM1ICswMDAwPC9wdWJEYXRlPg0KCQk8 + Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLz9wPTM5NDY8L2d1aWQ+DQoJCTxjb21tZW50cz5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA3 + L2F0dGFjay1hdHRyaWJ1dGlvbi13aXRoLWpvaG4tZGF2aXMvI3Jlc3BvbmQ8 + L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOS8wNy9hdHRhY2stYXR0cmli + dXRpb24td2l0aC1qb2huLWRhdmlzL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4N + CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW1NlY3VyaXR5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbY3liZXJhdHRhY2sgYXR0cmlidXRpb25dXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtKb2huIFMuIERhdmlzXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWljcm9zb2Z0XV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUkFORCBDb3Jwb3Jh + dGlvbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1N0YXRl + bGVzcyBBdHRyaWJ1dGlvbjogVG93YXJkIEludGVybmF0aW9uYWwgQWNjb3Vu + dGFiaWxpdHkgaW4gQ3liZXJzcGFjZV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2Ny + aXB0aW9uPldoZW4gYSBjeWJlciBhdHRhY2sgb2NjdXJzLCBob3cgZG8gd2Ug + aWRlbnRpZnkgd2hvIGNvbW1pdHRlZCBpdD8gVGhlcmUgaXMgbm8gc3RyYWln + aHRmb3J3YXJkIGFuc3dlciB0byB0aGF0IHF1ZXN0aW9uLiBFdmVuIGlmIHdl + IGtub3cgQ2hpbmVzZSBoYWNrZXJzIGhhdmUgaW5maWx0cmF0ZWQgb3VyIHBv + d2VyIGdyaWQgd2l0aCBsb2dpYyBib21icywgd2UgbWlnaHQgbm90IGJlIGFi + bGUgdG8gc2F5IHdpdGggY2VydGFpbnR5IHdoZXRoZXIgdGhvc2UgaGFja2Vy + cyB3ZXJlIHN0YXRlIGFjdG9ycyBvciByb2d1ZSBDaGluZXNlIGhhY2tlcnMg + bG9va2luZyBmb3IgYW4gb2ZmZW5zaXZlIGFzc2V0IHRvIHNlbGwgdG8gdGhl + aXIgZ292ZXJubWVudC4gRXZlbiBpZiB3ZSBrbm93IHNvbWVvbmUgaW4gUnVz + c2lhJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGlu + ZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDkvMDcvYXR0YWNrLWF0dHJpYnV0aW9uLXdpdGgt + am9obi1kYXZpcy8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsv + YSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3 + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdl + bWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNp + emUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czog + NTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3 + NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vd3d3YXNzZXRzLnJhbmQub3JnL2NvbnRlbnQvcmFuZC9hYm91dC9wZW9w + bGUvZC9kYXZpc19qb2huX3MvamNyOmNvbnRlbnQvcGFyL2Jpby5hc3BlY3Rm + aXQuMHgxMjAwLmpwZy8wLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3Ns + PTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldoZW4gYSBjeWJlciBhdHRhY2sgb2Nj + dXJzLCBob3cgZG8gd2UgaWRlbnRpZnkgd2hvIGNvbW1pdHRlZCBpdD8gVGhl + cmUgaXMgbm8gc3RyYWlnaHRmb3J3YXJkIGFuc3dlciB0byB0aGF0IHF1ZXN0 + aW9uLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkV2ZW4gaWYgd2Uga25vdyBDaGluZXNlIGhhY2tlcnMgaGF2ZSBp + bmZpbHRyYXRlZCBvdXIgcG93ZXIgZ3JpZCB3aXRoIGxvZ2ljIGJvbWJzLCB3 + ZSBtaWdodCBub3QgYmUgYWJsZSB0byBzYXkgd2l0aCBjZXJ0YWludHkgd2hl + dGhlciB0aG9zZSBoYWNrZXJzIHdlcmUgc3RhdGUgYWN0b3JzIG9yIHJvZ3Vl + IENoaW5lc2UgaGFja2VycyBsb29raW5nIGZvciBhbiBvZmZlbnNpdmUgYXNz + ZXQgdG8gc2VsbCB0byB0aGVpciBnb3Zlcm5tZW50Ljwvc3Bhbj48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+RXZlbiBpZiB3ZSBr + bm93IHNvbWVvbmUgaW4gUnVzc2lhIGxhdW5jaGVkIGFuIGF0dGFjayBvbiB0 + aGUgYmFua2luZyBzeXN0ZW0gaW4gVWtyYWluZSwgd2UgbWlnaHQgbm90IGtu + b3cgd2hldGhlciB0aGF0IGF0dGFjayBjYW1lIGZyb20gdGhlIGdvdmVybm1l + bnQgb3IgZnJvbSBhZ2dyZXNzaXZlIG5vbi1nb3Zlcm5tZW50YWwgZm9yY2Vz + Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+QWNjdXJhdGUgY3liZXJhdHRhY2sgYXR0cmlidXRpb24gaXMga2V5IHRv + IHByZXZlbnRpbmcgZGlwbG9tYXRpYyBtaXN0YWtlcyBpbiB0aGUgbW9kZXJu + IGJhdHRsZWdyb3VuZCBvZiB0aGUgSW50ZXJuZXQuPC9zcGFuPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Ub2RheeKAmXMgZ3Vl + c3QgSm9obiBEYXZpcyBpcyBvbmUgb2YgdGhlIGF1dGhvcnMgb2YgdGhlIHJl + cG9ydCBjYWxsZWQg4oCcPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnJh + bmQub3JnL3B1YnMvcmVzZWFyY2hfcmVwb3J0cy9SUjIwODEuaHRtbCI+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TdGF0ZWxlc3MgQXR0cmli + dXRpb246IFRvd2FyZCBJbnRlcm5hdGlvbmFsIEFjY291bnRhYmlsaXR5IGlu + IEN5YmVyc3BhY2U8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+4oCdLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkpvaG4gaXMgYSBzZW5pb3IgaW5mb3JtYXRpb24g + c2NpZW50aXN0IHdpdGggUkFORCBDb3Jwb3JhdGlvbiwgYSBub24tcHJvZml0 + IGluc3RpdHV0aW9uIHRoYXQgaGVscHMgaW1wcm92ZSBwb2xpY3kgYW5kIGRl + Y2lzaW9ubWFraW5nIHRocm91Z2ggcmVzZWFyY2ggYW5kIGFuYWx5c2lzLiBU + aGlzIHJlcG9ydCB3YXMgY29tbWlzc2lvbmVkIGJ5IE1pY3Jvc29mdCwgYW5k + IGl0IHByb3ZpZGVzIGEgZGVlcCBhc3Nlc3NtZW50IG9mIG91ciBjdXJyZW50 + IGFiaWxpdHkgdG8gYXR0cmlidXRlIGEgY3liZXJhdHRhY2sgdG8gdGhlIHBl + cnBldHJhdG9yIG9mIHRoYXQgYXR0YWNrLjwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SWYgeW91IGxpa2UgdGhpcyBl + cGlzb2RlLCB3ZSBoYXZlIGRvbmUgbWFueSBvdGhlciBzaG93cyBhYm91dCBz + ZWN1cml0eSwgd2l0aCBndWVzdHMgbGlrZSBCcnVjZSBTY2huZWllciBhbmQg + U2FteSBLYW1rYXIuIFlvdSBjYW4gY2hlY2sgb3V0IG91ciBiYWNrIGNhdGFs + b2cgYnkgZG93bmxvYWRpbmcgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vaXR1 + bmVzLmFwcGxlLmNvbS91cy9hcHAvc29mdHdhcmUtZW5naW5lZXJpbmctZGFp + bHktcG9kY2FzdC1hcHAvaWQxMjUzNzM0NDI2P210PTgiPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGFwcCBmb3IgaU9TPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPiwgd2hlcmUgeW91IGNhbiBsaXN0ZW4gdG8gYWxs + IG9mIG91ciBvbGQgZXBpc29kZXMsIGFuZCBlYXNpbHkgZGlzY292ZXIgbmV3 + IHRvcGljcyB0aGF0IG1pZ2h0IGludGVyZXN0IHlvdS4gWW91IGNhbiB1cHZv + dGUgdGhlIGVwaXNvZGVzIHlvdSBsaWtlIGFuZCBnZXQgcmVjb21tZW5kYXRp + b25zIGJhc2VkIG9uIHlvdXIgbGlzdGVuaW5nIGhpc3RvcnkuIFdpdGggNjAw + IGVwaXNvZGVzLCBpdCBpcyBoYXJkIHRvIGZpbmQgdGhlIGVwaXNvZGVzIHRo + YXQgYXBwZWFsIHRvIHlvdSwgYW5kIHdlIGhvcGUgdGhlIGFwcCBoZWxwcyB3 + aXRoIHRoYXQuPC9zcGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHBzOi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM4ODEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE4L2Vycm9yLWRp + YWdub3Npcy13aXRoLWphbWVzLXNtaXRoL2Nsb3VkZmxhcmVfbG9nby8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Ns + b3VkZmxhcmVfbG9nby5wbmc/Zml0PTEyMDAlMkM0MDkiIGRhdGEtb3JpZy1z + aXplPSIxMjAwLDQwOSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJDbG91ZGZsYXJlX2xvZ28iIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0zMDAl + MkMxMDIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0xMDI0JTJDMzQ5IiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4ODEgc2l6ZS1tZWRpdW0iIHNy + Yz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xv + Z28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9y + ZXNpemU9MzAwJTJDMTAyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9NzY4JTJDMjYyIDc2 + OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9s + b2dvLnBuZz9yZXNpemU9MTAyNCUyQzM0OSAxMDI0dywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT03 + MjAlMkMyNDUgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9D + bG91ZGZsYXJlX2xvZ28ucG5nP3c9MTIwMCAxMjAwdyIgc2l6ZXM9IihtYXgt + d2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9 + IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + Q2xvdWRmbGFyZSBydW5zIDEwJSBvZiB0aGUgSW50ZXJuZXQsIHByb3ZpZGlu + ZyBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkgdG8gbWlsbGlvbnMgb2Ygd2Vi + c2l0ZXMuIE1hbnkgb2YgeW91IHByb2JhYmx5IGFscmVhZHkgdXNlIENsb3Vk + ZmxhcmUgb24geW91ciBzaXRlcy4gV2XigJlyZSBub3QgdGFsa2luZyBhYm91 + dCB1c2luZyBDbG91ZGZsYXJlIHRvZGF5IHRob3VnaCwgd2XigJlyZSBoZXJl + IHRvIHRhbGsgYWJvdXQgYnVpbGRpbmcgb24gdG9wIG9mIGl0LiBJZiB5b3Xi + gJlyZSBhIGRldmVsb3BlciB5b3UgY2FuIGJ1aWxkIGFwcHMgd2hpY2ggY2Fu + IGJlIGluc3RhbGxlZCBieSB0aGUgdGhlIG1pbGxpb25zIG9mIHNpdGVzIHdo + aWNoIHJlbHkgb24gQ2xvdWRmbGFyZS4gWW91IGNhbiBldmVuIHNlbGwgeW91 + ciBhcHBzOyB0aGV5IGNhbiBtYWtlIHlvdSBtb25leSA8ZW0+ZXZlcnkgbW9u + dGg8L2VtPi4gVmlzaXQgPGEgaHJlZj0iaHR0cHM6Ly9jbG91ZGZsYXJlLmNv + bS9zZWRhaWx5Ij5jbG91ZGZsYXJlLmNvbS9zZWRhaWx5PC9hPsKgdG8gd2F0 + Y2ggaG93IHlvdSBjYW4gYnVpbGQgYW5kIGRlcGxveSBhbiBhcHAgaW4gbGVz + cyB0aGFuIDMgbWludXRlcy48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vdG9w + dGFsLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcz + OSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDcvMTAva2Fma2EtaW4tdGhlLWNsb3VkLXdpdGgt + bmVoYS1uYXJraGVkZS90b3B0YWwtMi8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUy + QzUyMiIgZGF0YS1vcmlnLXNpemU9Ijk3OCw1MjIiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0idG9wdGFsIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9MzAwJTJD + MTYwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTM3Mzkgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMx + NjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvdG9wdGFsLnBuZz9yZXNpemU9MzAwJTJDMTYwIDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9NzY4JTJD + NDEwIDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFs + LnBuZz9yZXNpemU9NzIwJTJDMzg0IDcyMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvdG9wdGFsLnBuZz93PTk3OCA5Nzh3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5Ub3B0YWwgaXMgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCByZWFzb25hYmx5 + IHByaWNlZCwgZXh0cmVtZWx5IHRhbGVudGVkIHNvZnR3YXJlIGVuZ2luZWVy + cyB0byBidWlsZCB5b3VyIHByb2plY3RzIGZyb20gc2NyYXRjaCBvciBzY2Fs + ZSB5b3VyIHdvcmtmb3JjZS4gPGEgaHJlZj0iaHR0cDovL3RvcHRhbC5jb20v + c2VkYWlseSI+R2V0IGEgZnJlZSBwYWlyIG9mIEFwcGxlIEFpcnBvZHMgd2hl + biB5b3UgdXNlIFRvcHRhbC5jb20vc2VkYWlseTwvYT4gdG8gd29yayB3aXRo + IGFuIGVuZ2luZWVyIGZvciBhdCBsZWFzdCAyMCBob3Vycy48L2Rpdj48YnIg + Lz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzgxNSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZ3Jh + bW1hdGVjaC9ncmFtbWF0ZWNoLWxvZ29sLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/Zml0PTgyNSUyQzMwMCIgZGF0YS1vcmlnLXNpemU9IjgyNSwzMDAiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + R3JhbW1hdGVjaC1Mb2dvTCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD0zMDAlMkMxMDkiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTM4MTUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9 + MzAwJTJDMTA5IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMx + MDkgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9yZXNpemU9NzY4JTJDMjc5IDc2OHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVz + aXplPTcyMCUyQzI2MiA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3c9ODI1IDgyNXciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPkdyYW1tYVRlY2ggQ29kZVNvbmFyIGhlbHBzIGRldmVsb3BtZW50IHRl + YW1zIGltcHJvdmUgY29kZSBxdWFsaXR5IHdpdGggc3RhdGljIGFuYWx5c2lz + LiBJdCBoZWxwcyBmbGFnIGlzc3VlcyBlYXJseSBpbiB0aGUgZGV2ZWxvcG1l + bnQgcHJvY2VzcywgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byByZWxlYXNlIGJl + dHRlciBjb2RlIGZhc3Rlci7CoENvZGVTb25hciBjYW4gZWFzaWx5IGJlIGlu + dGVncmF0ZWQgaW50byBhbnkgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4gQ29kZVNv + bmFyIHBlcmZvcm1zIGFkdmFuY2VkIHN0YXRpYyBhbmFseXNpcyBvZiBDLCBD + KyssIEphdmEsIGFuZCBldmVuIHJhdyBiaW5hcnkgY29kZS4gQ29kZVNvbmFy + IHBlcmZvcm1zIHVuaXF1ZSBkYXRhZmxvdyBhbmQgc3ltYm9saWMgZXhlY3V0 + aW9uIGFuYWx5c2lzIHRvIGFnZ3Jlc3NpdmVseSBzY2FuIGZvciBwcm9ibGVt + cyBpbiB5b3VyIGNvZGUuwqBKdXN0IGxpa2UgYmF0dGxlc2hpcHMgdXNlIHNv + bmFyIHRvIGRldGVjdCBvYmplY3RzIGRlZXAgdW5kZXJ3YXRlciwgZW5naW5l + ZXJzIHVzZSBDb2RlU29uYXIgdG8gZGV0ZWN0IHN1YnRsZSBwcm9ibGVtcyBk + ZWVwIHdpdGhpbiB0aGVpciBjb2RlLsKgR28gdG8gPGEgaHJlZj0iaHR0cDov + L2dvLmdyYW1tYXRlY2guY29tL3NlZGFpbHkiPmdvLmdyYW1tYXRlY2guY29t + L3NlZGFpbHk8L2E+IHRvIGdldCB5b3VyIGZyZWUgMzAtZGF5IHRyaWFsLCBl + eGNsdXNpdmVseSBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlz + dGVuZXJzwqBhbmQgdW5sZWFzaCB0aGUgcG93ZXIgb2YgYWR2YW5jZWQgc3Rh + dGljIGFuYWx5c2lzLjxiciAvPgo8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48 + L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + cG9kc2hlZXRzLmNvbSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM5MzYi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA5LzA1L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFw + aXMtd2l0aC1zaW1vbi1jaGFuL2JsYWNrLXBvZHNoZWV0cy10ZXh0LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxh + Y2stcG9kc2hlZXRzLXRleHQucG5nP2ZpdD0xNDQwJTJDODUxIiBkYXRhLW9y + aWctc2l6ZT0iMTQ0MCw4NTEiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iYmxhY2stcG9kc2hlZXRzLXRleHQiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4 + dC5wbmc/Zml0PTMwMCUyQzE3NyIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBu + Zz9maXQ9MTAyNCUyQzYwNSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + OTM2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMx + NzciIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3Jlc2l6ZT0zMDAlMkMxNzcg + MzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOS9ibGFjay1wb2Rz + aGVldHMtdGV4dC5wbmc/cmVzaXplPTc2OCUyQzQ1NCA3Njh3LCBodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBu + Zz9yZXNpemU9MTAyNCUyQzYwNSAxMDI0dywgaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTcy + MCUyQzQyNiA3MjB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2Js + YWNrLXBvZHNoZWV0cy10ZXh0LnBuZz93PTE0NDAgMTQ0MHciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPklmIHlvdSB3YW50IHRvIHN0YXJ0IGEgcG9kY2FzdCwgY2hlY2sgb3V0 + IFBvZHNoZWV0cy7CoDxhIGhyZWY9Imh0dHA6Ly9wb2RzaGVldHMuY29tIj5Q + b2RzaGVldHM8L2E+IGlzIGEgcHJvZHVjdCB3ZSBidWlsdCB0byBjcmVhdGUg + YW5kIG1hbmFnZSBwb2RjYXN0cy4gV2UgYXJlIHBvZGNhc3RlcnMgb3Vyc2Vs + dmVzJiM4MjExO2FuZCB3ZSB1bmRlcnN0YW5kIHRoZSBkaWZmaWN1bHRpZXMg + b2YgZ2V0dGluZyBzdGFydGVkLsKgUG9kc2hlZXRzIG1ha2VzIGl0IGVhc3kg + dG8gcG9zdCB5b3VyIGVwaXNvZGVzIGFuZCBkaXN0cmlidXRlIHRoZW0gdG8g + aVR1bmVzIGFuZCBHb29nbGUgUGxheSB3aXRoIGEgc2luZ2xlIGNsaWNrLsKg + SWYgeW91IGFyZSBjdXJpb3VzIGFib3V0IHBvZGNhc3RpbmcsIGJ1dCBoYXZl + IG5vIGlkZWEgd2hlcmUgdG8gc3RhcnQsIFBvZHNoZWV0cyB3aWxsIGd1aWRl + IHlvdSB0aHJvdWdoIHRoZSBwcm9jZXNzLsKgV2l0aCBTb2Z0d2FyZSBFbmdp + bmVlcmluZyBEYWlseSwgd2UgaGF2ZSBiZWVuIHByb2R1Y2luZyA1IHNob3dz + IGEgd2VlayBmb3IgMiB5ZWFycy4gV2UgdW5kZXJzdGFuZCByZWNvcmRpbmcs + IHdlIHVuZGVyc3RhbmQgaG93IHRvIHByb2R1Y2UgeW91ciBzaG93IGFuZCB3 + ZSB1bmRlcnN0YW5kIGhvdyB0byBnZXQgYWR2ZXJ0aXNlcnMuIFdlIHdhbnQg + dG8gaGVscCB5b3Ugd2l0aCB0aGlzIHByb2Nlc3MuwqBDaGVjayBvdXQgPGEg + aHJlZj0iaHR0cDovL3BvZHNoZWV0cy5jb20iPlBvZHNoZWV0czwvYT4gdG9k + YXkuIFdlIHdpbGwgZ2l2ZSB5b3UgZXZlcnl0aGluZyB5b3UgbmVlZCB0byBj + cmVhdGUgYW5kIG1hbmFnZSB5b3VyIHBvZGNhc3QmIzgyMTE7YW5kIGlmIHlv + dSBoYXZlIGFueSBxdWVzdGlvbnMgb3IgeW91IGdldCBjb25mdXNlZCwgeW91 + IGNhbiBhbHdheXMgY29udGFjdCB1cyBkaXJlY3RseSBmb3IgaGVscC4gUG9k + Y2FzdGluZyBpcyBhcyBlYXN5IGFzIGJsb2dnaW5nJiM4MjExO2xldCB1cyBz + aG93IHlvdSBob3cgdG8gcG9kY2FzdCwgd2l0aCA8YSBocmVmPSJodHRwOi8v + cG9kc2hlZXRzLmNvbSI+UG9kc2hlZXRzPC9hPi4KPHA+PC9wPjwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48 + L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90 + cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9BdHRhY2tBdHRyaWJ1dGlvbi5t + cDMiIGxlbmd0aD0iNTA1ODAxMDIiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJ + PGl0dW5lczpzdWJ0aXRsZT5XaGVuIGEgY3liZXIgYXR0YWNrIG9jY3Vycywg + aG93IGRvIHdlIGlkZW50aWZ5IHdobyBjb21taXR0ZWQgaXQ/IFRoZXJlIGlz + IG5vIHN0cmFpZ2h0Zm9yd2FyZCBhbnN3ZXIgdG8gdGhhdCBxdWVzdGlvbi4g + RXZlbiBpZiB3ZSBrbm93IENoaW5lc2UgaGFja2VycyBoYXZlIGluZmlsdHJh + dGVkIG91ciBwb3dlciBncmlkIHdpdGggbG9naWMgYm9tYnMsIHdlIG1pZ2h0 + IG5vdCBiZSBhYmxlIHRvIHNheSB3aXRoIGNlcnRhaW50eSB3aGV0aGVyIHQu + Li48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+V2hlbiBh + IGN5YmVyIGF0dGFjayBvY2N1cnMsIGhvdyBkbyB3ZSBpZGVudGlmeSB3aG8g + Y29tbWl0dGVkIGl0PyBUaGVyZSBpcyBubyBzdHJhaWdodGZvcndhcmQgYW5z + d2VyIHRvIHRoYXQgcXVlc3Rpb24uIEV2ZW4gaWYgd2Uga25vdyBDaGluZXNl + IGhhY2tlcnMgaGF2ZSBpbmZpbHRyYXRlZCBvdXIgcG93ZXIgZ3JpZCB3aXRo + IGxvZ2ljIGJvbWJzLCB3ZSBtaWdodCBub3QgYmUgYWJsZSB0byBzYXkgd2l0 + aCBjZXJ0YWludHkgd2hldGhlciB0aG9zZSBoYWNrZXJzIHdlcmUgc3RhdGUg + YWN0b3JzIG9yIHJvZ3VlIENoaW5lc2UgaGFja2VycyBsb29raW5nIGZvciBh + biBvZmZlbnNpdmUgYXNzZXQgdG8gc2VsbCB0byB0aGVpciBnb3Zlcm5tZW50 + LiBFdmVuIGlmIHdlIGtub3cgc29tZW9uZSBpbiBSdXNzaWFDb250aW51ZSBy + ZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5T + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8 + aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0 + dW5lczpkdXJhdGlvbj41MjoyNjwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1p + ZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zOTQ2 + PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+Q2FyIGFu + ZCBJb1QgU2VjdXJpdHkgd2l0aCBDaHJpcyBDcmFpZzwvdGl0bGU+DQoJCTxs + aW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDkvMDYvY2FyLWFuZC1pb3Qtc2VjdXJpdHktd2l0aC1jaHJpcy1jcmFpZy88 + L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMDYgU2VwIDIwMTcgMDk6MDA6MzIg + KzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzk0MDwv + Z3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDkvMDYvY2FyLWFuZC1pb3Qtc2VjdXJpdHktd2l0 + aC1jaHJpcy1jcmFpZy8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNv + bW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOS8wNi9jYXItYW5kLWlvdC1zZWN1cml0eS13aXRoLWNocmlzLWNy + YWlnL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Nl + Y3VyaXR5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2hy + aXMgQ3JhaWddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtE + RG9TIGF0dGFja3NdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVtJb1Qgc2VjdXJpdHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtPYWsgUmlkZ2UgTmF0aW9uYWwgTGFib3JhdG9yeV1dPjwvY2F0ZWdv + cnk+CgkJPGRlc2NyaXB0aW9uPlJhbnNvbXdhcmUgYW5kIEREb1MgYXR0YWNr + cyBoYXBwZW4gYWxsIHRoZSB0aW1lLiBTb21ldGltZXMgdGhleSBhZmZlY3Qg + bGFyZ2Ugc3dhdGhzIG9mIHVzZXJzLiBXYW5uYUNyeSByYW5zb213YXJlIGZy + b3plIHRoZSBjb21wdXRlciBzeXN0ZW1zIGluIGhvc3BpdGFscy4gTWlyYWkg + Ym90bmV0IEREb1MgYXR0YWNrcyB0b29rIGRvd24gYSBETlMgcHJvdmlkZXIs + IG1ha2luZyBOZXRmbGl4IGFuZCBUd2l0dGVyIGluYWNjZXNzaWJsZSBmb3Ig + YSBzaG9ydCBwZXJpb2Qgb2YgdGltZS4gVGhlc2UgYXJlIGlubm9jZW50IGF0 + dGFja3MgY29tcGFyZWQgdG8gd2hhdCB3ZSBjb3VsZCBmYWNlIGZyb20gYSB3 + b3JsZCB3aGVyZSBjYXJzLCBoZWFydCByYXRlIG1vbml0b3JzLCBhbmQgb3Ro + ZXIgc2FmZXR5IGNyaXRpY2FsIG1hY2hpbmVyeSBiZWNvbWUgY29ubmVjdGVk + IHRvIHRoZSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA2L2Nhci1hbmQtaW90LXNlY3VyaXR5 + LXdpdGgtY2hyaXMtY3JhaWcvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcu + Li4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250 + ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVy + LW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9 + IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9i + cmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25y + aWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1y + YWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdp + ZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8v + aTAud3AuY29tL3ZvbHNlYy5lZWNzLnV0ay5lZHUvd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDEvMTgzMDE0MTVfMTAxMDQ5NTcwMzY1MDEwMDVfMzk3MzY1 + MjU1MTU0MzY5Mjk5N19uLTMwMHgzMDAuanBnP3Jlc2l6ZT0xNzUlMkMxNzUm + IzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+UmFuc29td2FyZSBhbmQg + RERvUyBhdHRhY2tzIGhhcHBlbiBhbGwgdGhlIHRpbWUuIFNvbWV0aW1lcyB0 + aGV5IGFmZmVjdCBsYXJnZSBzd2F0aHMgb2YgdXNlcnMuIFdhbm5hQ3J5IHJh + bnNvbXdhcmUgZnJvemUgdGhlIGNvbXB1dGVyIHN5c3RlbXMgaW4gaG9zcGl0 + YWxzLiBNaXJhaSBib3RuZXQgRERvUyBhdHRhY2tzIHRvb2sgZG93biBhIERO + UyBwcm92aWRlciwgbWFraW5nIE5ldGZsaXggYW5kIFR3aXR0ZXIgaW5hY2Nl + c3NpYmxlIGZvciBhIHNob3J0IHBlcmlvZCBvZiB0aW1lLiA8L3NwYW4+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZXNlIGFy + ZSBpbm5vY2VudCBhdHRhY2tzIGNvbXBhcmVkIHRvIHdoYXQgd2UgY291bGQg + ZmFjZSBmcm9tIGEgd29ybGQgd2hlcmUgY2FycywgaGVhcnQgcmF0ZSBtb25p + dG9ycywgYW5kIG90aGVyIHNhZmV0eSBjcml0aWNhbCBtYWNoaW5lcnkgYmVj + b21lIGNvbm5lY3RlZCB0byB0aGUgSW50ZXJuZXQuIFRoaXMgaXMgbm90IGEg + bmV3IHN1YmplY3QmIzgyMTE7d2UgaGF2ZSBjb3ZlcmVkIGl0IGluIHByZXZp + b3VzIGVwaXNvZGVzIGFib3V0IHNlY3VyaXR5LiBCdXQgaXTigJlzIGEgZGVl + cCBzdWJqZWN0LCBhbmQgdGhlcmUgaXMgbXVjaCBncm91bmQgdG8gY292ZXIu + PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5DaHJpcyBDcmFpZyBqb2lucyB0aGUgc2hvdyBmb3IgdGhpcyBlcGlzb2Rl + JiM4MjExO2hlIGlzIGEgc2VjdXJpdHkgcmVzZWFyY2hlciBhdCBPYWsgUmlk + Z2UgTmF0aW9uYWwgTGFiLiBIZSBzdHVkaWVzIG5ldHdvcmsgYW5kIGNsb3Vk + IHNlY3VyaXR5LCBhbmQgaW4gdGhpcyBlcGlzb2RlIGhlIGJyaW5ncyBoaXMg + YnJvYWQgZXhwZXJ0aXNlIHRvIHN1YmplY3RzIGxpa2UgSW9UIHNlY3VyaXR5 + LCBjYXIgc2VjdXJpdHksIGFuZCB0aGUgcXVlc3Rpb24gb2Ygc3RhbmRhcmRz + JiM4MjExO3doYXQgZG8gd2UgbmVlZCB0byBzdGFuZGFyZGl6ZSBhbmQgY2Vy + dGlmeSBhcyB0aGUgaW50ZXJuZXQgYmVjb21lcyBjb25uZWN0ZWQgdG8gcGh5 + c2ljYWwgaW5mcmFzdHJ1Y3R1cmU/PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGFua3MgdG8gSmFyZWQgU21pdGgg + Zm9yIHRoZSBpbnRyb2R1Y3Rpb24uPC9zcGFuPjwvcD4KPGgyPlNob3cgTm90 + ZXM8L2gyPgo8cD48YSBocmVmPSJodHRwczovL3d3dy5saWdodGJsdWV0b3Vj + aHBhcGVyLm9yZy8yMDE3LzA2LzAxL3doZW4tc2FmZXR5LWFuZC1zZWN1cml0 + eS1iZWNvbWUtb25lLyI+V2hlbiBTYWZldHkgYW5kIFNlY3VyaXR5IEJlY29t + ZSBPbmU8L2E+PC9wPgo8cD48YSBocmVmPSJodHRwczovL3d3dy5jbC5jYW0u + YWMudWsvfnJqYTE0L1BhcGVycy93ZWlzMjAxNy5wZGYiPlN0YW5kYXJkaXNh + dGlvbiBhbmQgQ2VydGlmaWNhdGlvbiBvZiB0aGUgJiM4MjE2O0ludGVybmV0 + IG9mIFRoaW5ncyYjODIxNzs8L2E+PC9wPgo8cD4mbmJzcDs8L3A+CjxoMj5T + cG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYnVnc25hZy5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjAiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL2J1Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5n + P2ZpdD0zMDEwJTJDODY2IiBkYXRhLW9yaWctc2l6ZT0iMzAxMCw4NjYiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + QnVnc25hZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVn + c25hZ19sb2dvLnBuZz9maXQ9MzAwJTJDODYiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5n + P2ZpdD0xMDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3 + MjAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFn + X2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTc2OCUy + QzIyMSA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3Nu + YWdfbG9nby5wbmc/cmVzaXplPTEwMjQlMkMyOTUgMTAyNHcsIGh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9 + NzIwJTJDMjA3IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QnVnc25hZ19sb2dvLnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdp + ZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkJ1 + Z3NuYWcgaW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJvdWJsZXNob290aW5nIGVy + cm9ycyBieSBtYWtpbmcgaXQgbW9yZSBlbmpveWFibGUgYW5kIGxlc3MgdGlt + ZS1jb25zdW1pbmcuIEZvciBleGFtcGxlLCB3aGVuIGFuIGVycm9yIG9jY3Vy + cywgeW91ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlhIFNsYWNrLCBzZWUg + ZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJyb3IsIGFuZCBpZGVu + dGlmeSB0aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQgdGhlIGNvZGUuIEJ1 + Z3NuYWfigJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBhbmQgb3RoZXIgY29s + bGFib3JhdGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRvIGFzc2lnbiBhbmQg + dHJhY2sgYnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhlZC7CoFRoZXJlIGlz + IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgbGlzdGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYwIGRh + eXMgYXQgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWls + eSI+aHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseTwvYT4uwqBEZXZl + bG9wbWVudCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXBy + b3ZlIHNvZnR3YXJlIHF1YWxpdHkuwqBUbyBnZXQgc3RhcnRlZCwgZ28gdG8g + PGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseS8iPmh0 + dHBzOi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkvPC9hPi4gR2V0IHVwIGFu + ZCBydW5uaW5nIGluIHRocmVlIG1pbnV0ZXMuIEFpcmJuYiwgTHlmdCwgYW5k + IFNob3BpZnkgYWxsIHVzZSBCdWdzbmFnIHRvIG1vbml0b3IgYXBwbGljYXRp + b24gZXJyb3JzLiDCoDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQu + Y29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyODk4IiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Utd2l0aC10 + b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5n + P2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmRl + ZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQt + cHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0 + PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4OTggc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0PSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVz + aXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5G + bGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQgSW5kZWVk + IFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5IHdpdGgg + b3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIgc2lkZSBw + cm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBjbGljaywg + Z2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxpa2UgRmFj + ZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVtcGxveWVy + cyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVrIHdpdGgg + c2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4gRG9u4oCZ + dCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10aW1lIGpv + Yi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3UuIFRoZSBh + dmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95ZXIgY29u + dGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQxMjUsMDAw + LiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKA + kyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdDxhIGhyZWY9 + Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPiBpbmRlZWQuY29tL3NlZGFp + bHk8L2E+LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ28uZ3JhbW1hdGVj + aC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4MTUi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL2dyYW1tYXRlY2gvZ3JhbW1hdGVjaC1sb2dvbC8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGRhdGEtb3Jp + Zy1zaXplPSI4MjUsMzAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IkdyYW1tYXRlY2gtTG9nb0wiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9maXQ9 + MzAwJTJDMTA5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTgyNSUyQzMw + MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zODE1IHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVj + aC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUyQzEwOSIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29M + LmpwZz9yZXNpemU9MzAwJTJDMTA5IDMwMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTc2OCUy + QzI3OSA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1t + YXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03MjAlMkMyNjIgNzIwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz93 + PTgyNSA4MjV3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5HcmFtbWFUZWNoIENvZGVTb25hciBo + ZWxwcyBkZXZlbG9wbWVudCB0ZWFtcyBpbXByb3ZlIGNvZGUgcXVhbGl0eSB3 + aXRoIHN0YXRpYyBhbmFseXNpcy4gSXQgaGVscHMgZmxhZyBpc3N1ZXMgZWFy + bHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MsIGFsbG93aW5nIGRldmVs + b3BlcnMgdG8gcmVsZWFzZSBiZXR0ZXIgY29kZSBmYXN0ZXIuwqBDb2RlU29u + YXIgY2FuIGVhc2lseSBiZSBpbnRlZ3JhdGVkIGludG8gYW55IGRldmVsb3Bt + ZW50IHByb2Nlc3MuIENvZGVTb25hciBwZXJmb3JtcyBhZHZhbmNlZCBzdGF0 + aWMgYW5hbHlzaXMgb2YgQywgQysrLCBKYXZhLCBhbmQgZXZlbiByYXcgYmlu + YXJ5IGNvZGUuIENvZGVTb25hciBwZXJmb3JtcyB1bmlxdWUgZGF0YWZsb3cg + YW5kIHN5bWJvbGljIGV4ZWN1dGlvbiBhbmFseXNpcyB0byBhZ2dyZXNzaXZl + bHkgc2NhbiBmb3IgcHJvYmxlbXMgaW4geW91ciBjb2RlLsKgSnVzdCBsaWtl + IGJhdHRsZXNoaXBzIHVzZSBzb25hciB0byBkZXRlY3Qgb2JqZWN0cyBkZWVw + IHVuZGVyd2F0ZXIsIGVuZ2luZWVycyB1c2UgQ29kZVNvbmFyIHRvIGRldGVj + dCBzdWJ0bGUgcHJvYmxlbXMgZGVlcCB3aXRoaW4gdGhlaXIgY29kZS7CoEdv + IHRvIDxhIGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5 + Ij5nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5PC9hPiB0byBnZXQgeW91ciBm + cmVlIDMwLWRheSB0cmlhbCwgZXhjbHVzaXZlbHkgZm9yIFNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5IGxpc3RlbmVyc8KgYW5kIHVubGVhc2ggdGhlIHBv + d2VyIG9mIGFkdmFuY2VkIHN0YXRpYyBhbmFseXNpcy48YnIgLz4KPC9kaXY+ + PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3lt + cGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBk + YXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9y + IHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBo + b25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9y + IGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBs + ZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBo + cmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNv + bS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBh + IHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFs + bW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93 + cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBh + IHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxl + bmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFp + bHkvU2VjdXJpdHlDaHJpc0NyYWlnLm1wMyIgbGVuZ3RoPSI1MzkzOTIwNSIg + dHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPlJhbnNv + bXdhcmUgYW5kIEREb1MgYXR0YWNrcyBoYXBwZW4gYWxsIHRoZSB0aW1lLiBT + b21ldGltZXMgdGhleSBhZmZlY3QgbGFyZ2Ugc3dhdGhzIG9mIHVzZXJzLiBX + YW5uYUNyeSByYW5zb213YXJlIGZyb3plIHRoZSBjb21wdXRlciBzeXN0ZW1z + IGluIGhvc3BpdGFscy4gTWlyYWkgYm90bmV0IEREb1MgYXR0YWNrcyB0b29r + IGRvd24gYSBETlMgcHJvdmlkZXIsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0 + dW5lczpzdW1tYXJ5PlJhbnNvbXdhcmUgYW5kIEREb1MgYXR0YWNrcyBoYXBw + ZW4gYWxsIHRoZSB0aW1lLiBTb21ldGltZXMgdGhleSBhZmZlY3QgbGFyZ2Ug + c3dhdGhzIG9mIHVzZXJzLiBXYW5uYUNyeSByYW5zb213YXJlIGZyb3plIHRo + ZSBjb21wdXRlciBzeXN0ZW1zIGluIGhvc3BpdGFscy4gTWlyYWkgYm90bmV0 + IEREb1MgYXR0YWNrcyB0b29rIGRvd24gYSBETlMgcHJvdmlkZXIsIG1ha2lu + ZyBOZXRmbGl4IGFuZCBUd2l0dGVyIGluYWNjZXNzaWJsZSBmb3IgYSBzaG9y + dCBwZXJpb2Qgb2YgdGltZS4gVGhlc2UgYXJlIGlubm9jZW50IGF0dGFja3Mg + Y29tcGFyZWQgdG8gd2hhdCB3ZSBjb3VsZCBmYWNlIGZyb20gYSB3b3JsZCB3 + aGVyZSBjYXJzLCBoZWFydCByYXRlIG1vbml0b3JzLCBhbmQgb3RoZXIgc2Fm + ZXR5IGNyaXRpY2FsIG1hY2hpbmVyeSBiZWNvbWUgY29ubmVjdGVkIHRvIHRo + ZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVu + ZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6 + YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBs + aWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU1OjU2PC9pdHVuZXM6ZHVyYXRp + b24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRp + b25zOjEiPjM5NDA8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0 + aXRsZT5BcnRpZmljaWFsIEludGVsbGlnZW5jZSBBUElzIHdpdGggU2ltb24g + Q2hhbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDkvMDUvYXJ0aWZpY2lhbC1pbnRlbGxpZ2Vu + Y2UtYXBpcy13aXRoLXNpbW9uLWNoYW4vPC9saW5rPg0KCQk8cHViRGF0ZT5U + dWUsIDA1IFNlcCAyMDE3IDA5OjAwOjA3ICswMDAwPC9wdWJEYXRlPg0KCQk8 + Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLz9wPTM5MzI8L2d1aWQ+DQoJCTxjb21tZW50cz5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA1 + L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFwaXMtd2l0aC1zaW1vbi1jaGFu + LyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA1L2Fy + dGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFwaXMtd2l0aC1zaW1vbi1jaGFuL2Zl + ZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3Ns + YXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNv + ZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWFjaGlu + ZSBMZWFybmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtB + UEldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtBcnRpZmlj + aWFsIEludGVsbGlnZW5jZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW1NhbGVzZm9yY2UgRWluc3RlaW5dXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtTaW1vbiBDaGFuXV0+PC9jYXRlZ29yeT4KCQk8 + ZGVzY3JpcHRpb24+U29mdHdhcmUgY29tcGFuaWVzIHRoYXQgaGF2ZSBiZWVu + IGFyb3VuZCBmb3IgYSBkZWNhZGUgaGF2ZSBhIHRvbiBvZiBkYXRhLiBNb2Rl + cm4gbWFjaGluZSBsZWFybmluZyB0ZWNobmlxdWVzIGFyZSBhYmxlIHRvIHR1 + cm4gdGhhdCBkYXRhIGludG8gZXh0cmVtZWx5IHVzZWZ1bCBtb2RlbHMuIFNh + bGVzZm9yY2UgdXNlcnMgaGF2ZSBiZWVuIGVudGVyaW5nIHBldGFieXRlcyBv + ZiBkYXRhIGludG8gdGhlIGNvbXBhbnnigJlzIENSTSB0b29sIHNpbmNlIDE5 + OTkuIFdpdGggaXRzIEVpbnN0ZWluIHN1aXRlIG9mIHByb2R1Y3RzLCBTYWxl + c2ZvcmNlIGlzIHVzaW5nIHRoYXQgZGF0YSB0byBidWlsZCBuZXcgcHJvZHVj + dCBmZWF0dXJlcyBhbmQgQVBJcy4gU2ltb24gQ2hhbiBpcyB0aGUgc2VuaW9y + IGRpcmVjdG9yIG9mIHByb2R1Y3QgbWFuYWdlbWVudCZsdDtwJmd0OyZsdDth + IGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVv + dDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5 + LzA1L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLWFwaXMtd2l0aC1zaW1vbi1j + aGFuLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZs + dDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwh + W0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRh + LXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJy + ZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBn + P2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJy + ZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxs + IHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJv + cmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1h + eC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9tZWRp + YS5saWNkbi5jb20vbXByL21wci9zaHJpbmtucF8yMDBfMjAwL3AvMy8wMDAv + MGVhLzJmMy8zMzZhZTcyLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3Ns + PTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNvZnR3YXJlIGNvbXBhbmllcyB0aGF0 + IGhhdmUgYmVlbiBhcm91bmQgZm9yIGEgZGVjYWRlIGhhdmUgYSB0b24gb2Yg + ZGF0YS4gTW9kZXJuIG1hY2hpbmUgbGVhcm5pbmcgdGVjaG5pcXVlcyBhcmUg + YWJsZSB0byB0dXJuIHRoYXQgZGF0YSBpbnRvIGV4dHJlbWVseSB1c2VmdWwg + bW9kZWxzLiBTYWxlc2ZvcmNlIHVzZXJzIGhhdmUgYmVlbiBlbnRlcmluZyBw + ZXRhYnl0ZXMgb2YgZGF0YSBpbnRvIHRoZSBjb21wYW554oCZcyBDUk0gdG9v + bCBzaW5jZSAxOTk5LiBXaXRoIGl0cyBFaW5zdGVpbiBzdWl0ZSBvZiBwcm9k + dWN0cywgU2FsZXNmb3JjZSBpcyB1c2luZyB0aGF0IGRhdGEgdG8gYnVpbGQg + bmV3IHByb2R1Y3QgZmVhdHVyZXMgYW5kIEFQSXMuPC9zcGFuPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TaW1vbiBDaGFuIGlz + IHRoZSBzZW5pb3IgZGlyZWN0b3Igb2YgcHJvZHVjdCBtYW5hZ2VtZW50IHdp + dGggRWluc3RlaW4uIEhlIG92ZXJzZWVzIHRoZSBlZmZvcnRzIHRvIGdpdmUg + bG9uZ3RpbWUgU2FsZXNmb3JjZSBjdXN0b21lcnMgbmV3IHZhbHVlLCBhbmQg + dGhlIGVmZm9ydHMgdG8gYnVpbGQgYnJhbmQgbmV3IEFQSXMgZm9yIGltYWdl + IHJlY29nbml0aW9uIGFuZCByZWNvbW1lbmRhdGlvbiBzeXN0ZW1zLCB3aGlj + aCBjYW4gZm9ybSB0aGUgYmFja2JvbmUgb2YgZW50aXJlbHkgbmV3IGJ1c2lu + ZXNzZXMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5Db21wYW5pZXMgc3BlbmQgYmlsbGlvbnMgb2YgZG9sbGFycyBv + biBzYWxlcyBhbmQgbWFya2V0aW5nLCBhbmQgSSB3YW50ZWQgdG8gdW5kZXJz + dGFuZCB3aGVyZSB0aGUgYmVzdCBvcHBvcnR1bml0aWVzIGZvciBTYWxlc2Zv + cmNlIHdlcmUuIFNpbW9uIGFuZCBJIHNwZW50IG11Y2ggb2Ygb3VyIHRpbWUg + ZXhwbG9yaW5nIGhpZ2hlciBsZXZlbCBhcHBsaWNhdGlvbnMsIGJ1dCB3ZSBn + b3QgdG8gbG93ZXIgbGV2ZWwgZW5naW5lZXJpbmcgZXZlbnR1YWxseS48L3Nw + YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRo + ZXJlIGFyZSA2MDAgZXBpc29kZXMgb2YgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHksIGFuZCBpdCBjYW4gYmUgaGFyZCB0byBmaW5kIHRoZSBzaG93cyB0 + aGF0IHdpbGwgaW50ZXJlc3QgeW91LiBJZiB5b3UgaGF2ZSBhbiBpUGhvbmUg + YW5kIHlvdSBsaXN0ZW4gdG8gYSBsb3Qgb2YgU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHksIGNoZWNrIG91dCB0aGUgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbW9iaWxlIGFwcCBpbiB0aGUgaU9TIEFwcCBTdG9yZS4gRXZlcnkg + ZXBpc29kZSBjYW4gYmUgYWNjZXNzZWQgdGhyb3VnaCB0aGUgYXBwLCBhbmQg + d2UgZ2l2ZSB5b3UgcmVjb21tZW5kYXRpb25zIGJhc2VkIG9uIHRoZSBvbmVz + IHlvdSBoYXZlIGFscmVhZHkgaGVhcmQuPC9zcGFuPjwvcD4KPGgyPlNwb25z + b3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9wcm9zcGVjdC5pbyI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM5MjMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3Byb3NwZWN0 + LWlvL2xvZ28tcHJvc3BlY3Rpby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2xvZ28tcHJvc3BlY3Rpby5wbmc/Zml0 + PTk2NCUyQzQyMCIgZGF0YS1vcmlnLXNpemU9Ijk2NCw0MjAiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ibG9nby1w + cm9zcGVjdGlvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1w + cm9zcGVjdGlvLnBuZz9maXQ9MzAwJTJDMTMxIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlv + LnBuZz9maXQ9OTY0JTJDNDIwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTM5MjMgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9sb2dvLXByb3NwZWN0aW8ucG5nP3Jlc2l6ZT0zMDAlMkMxMzEi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + bG9nby1wcm9zcGVjdGlvLnBuZz9yZXNpemU9MzAwJTJDMTMxIDMwMHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBu + Zz9yZXNpemU9NzY4JTJDMzM1IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBuZz9yZXNpemU9NzIwJTJDMzE0 + IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9z + cGVjdGlvLnBuZz93PTk2NCA5NjR3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUgY29sZCBl + bWFpbCBwcm9jZXNzIGlzIHdoYXQgbG90cyBvZiBwZW9wbGUgZ28gdGhyb3Vn + aCB0byBtYXJrZXQgYSBzb2Z0d2FyZSBwcm9kdWN0LCBhIG5ld3NsZXR0ZXIs + IG9yIGFuIG9ubGluZSBjb3Vyc2UuwqA8YSBocmVmPSJodHRwOi8vUHJvc3Bl + Y3QuaW8iPlByb3NwZWN0LmlvPC9hPiBpcyBteSBmYXZvcml0ZSB0b29sIGZv + ciBwcm9zcGVjdGluZy4gWW91IGNhbiBmaW5kIGVtYWlsIGFkZHJlc3NlcyBv + ZiBwZW9wbGUgYXQgYW55IGNvbXBhbnkuIFlvdSBjYW4gZmluZCBlbWFpbCBh + ZGRyZXNzZXMgb2YgdXNlcnMgb24gTGlua2VkSW4uwqBBZnRlciB5b3UgZmlu + ZCB0aG9zZSBlbWFpbHMsIHlvdSBjYW4gdXNlIFByb3NwZWN0LmlvIHRvIG1h + bmFnZSB5b3VyIHByb3NwZWN0cywgYW5kIHNlbmQgZW1haWxzOyBzZWUgd2hl + biBzb21lb25lIG9wZW5zIHlvdXIgcHJvc3BlY3RpbmcgZW1haWw7IGFuZCBz + dG9wIHNlbmRpbmcgdGhlbSBlbWFpbHMgd2hlbiB0aGV5IGhhdmUgc2lnbmFs + ZWQgdGhhdCB0aGV5IGFyZSBub3QgaW50ZXJlc3RlZC7CoElmIHlvdSBhcmUg + YnVpbGRpbmcgYSBwcm9kdWN0LCB5b3UgaGF2ZSB0byBmaW5kIGN1c3RvbWVy + cyB0byBzZWxsIHRvLiBIb3cgZG8geW91IGZpbmQgY3VzdG9tZXJzPyBCeSBw + cm9zcGVjdGluZy7CoEnigJl2ZSB0cmllZCBhIHRvbiBvZiBwcm9zcGVjdGlu + ZyB0b29scyYjODIxMTs8YSBocmVmPSJodHRwOi8vUHJvc3BlY3QuaW8iPlBy + b3NwZWN0LmlvPC9hPiBpcyBteSBmYXZvcml0ZS7CoFByb3NwZWN0LmlvIGlz + IG9mZmVyaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVy + cyAyMCUgb2ZmIGZvciB5b3VyIGZpcnN0IDIgbW9udGhzLiBKdXN0IG1lbnRp + b24gU0VEYWlseSB0byA8YSBocmVmPSJodHRwOi8vUHJvc3BlY3QuaW8iPlBy + b3NwZWN0LmlvPC9hPiBzdXBwb3J0IGFmdGVyIHlvdSBzaWduIHVwLjwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzODE1IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9ncmFtbWF0ZWNoL2dyYW1tYXRlY2gtbG9nb2wvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxv + Z29MLmpwZz9maXQ9ODI1JTJDMzAwIiBkYXRhLW9yaWctc2l6ZT0iODI1LDMw + MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJHcmFtbWF0ZWNoLUxvZ29MIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTMwMCUyQzEwOSIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMzgxNSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jl + c2l6ZT0zMDAlMkMxMDkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTMw + MCUyQzEwOSAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03NjglMkMyNzkgNzY4dywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpw + Zz9yZXNpemU9NzIwJTJDMjYyIDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/dz04MjUgODI1dyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+R3JhbW1hVGVjaCBDb2RlU29uYXIgaGVscHMgZGV2ZWxvcG1l + bnQgdGVhbXMgaW1wcm92ZSBjb2RlIHF1YWxpdHkgd2l0aCBzdGF0aWMgYW5h + bHlzaXMuIEl0IGhlbHBzIGZsYWcgaXNzdWVzIGVhcmx5IGluIHRoZSBkZXZl + bG9wbWVudCBwcm9jZXNzLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIHJlbGVh + c2UgYmV0dGVyIGNvZGUgZmFzdGVyLsKgQ29kZVNvbmFyIGNhbiBlYXNpbHkg + YmUgaW50ZWdyYXRlZCBpbnRvIGFueSBkZXZlbG9wbWVudCBwcm9jZXNzLiBD + b2RlU29uYXIgcGVyZm9ybXMgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lzIG9m + IEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4gcmF3IGJpbmFyeSBjb2RlLiBDb2Rl + U29uYXIgcGVyZm9ybXMgdW5pcXVlIGRhdGFmbG93IGFuZCBzeW1ib2xpYyBl + eGVjdXRpb24gYW5hbHlzaXMgdG8gYWdncmVzc2l2ZWx5IHNjYW4gZm9yIHBy + b2JsZW1zIGluIHlvdXIgY29kZS7CoEp1c3QgbGlrZSBiYXR0bGVzaGlwcyB1 + c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVjdHMgZGVlcCB1bmRlcndhdGVyLCBl + bmdpbmVlcnMgdXNlIENvZGVTb25hciB0byBkZXRlY3Qgc3VidGxlIHByb2Js + ZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNvZGUuwqBHbyB0byA8YSBocmVmPSJo + dHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+Z28uZ3JhbW1hdGVj + aC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0IHlvdXIgZnJlZSAzMC1kYXkgdHJp + YWwsIGV4Y2x1c2l2ZWx5IGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnPCoGFuZCB1bmxlYXNoIHRoZSBwb3dlciBvZiBhZHZhbmNl + ZCBzdGF0aWMgYW5hbHlzaXMuPGJyIC8+CjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9wb2RzaGVldHMuY29tIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzkzNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDkvMDUvYXJ0aWZpY2lhbC1pbnRlbGxpZ2Vu + Y2UtYXBpcy13aXRoLXNpbW9uLWNoYW4vYmxhY2stcG9kc2hlZXRzLXRleHQv + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/Zml0PTE0NDAlMkM4NTEiIGRh + dGEtb3JpZy1zaXplPSIxNDQwLDg1MSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJibGFjay1wb2RzaGVldHMtdGV4 + dCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0 + cy10ZXh0LnBuZz9maXQ9MzAwJTJDMTc3IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRl + eHQucG5nP2ZpdD0xMDI0JTJDNjA1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTM5MzYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTMw + MCUyQzE3NyIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOS9ibGFjay1wb2RzaGVldHMtdGV4dC5wbmc/cmVzaXplPTMwMCUy + QzE3NyAzMDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA5L2JsYWNr + LXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNpemU9NzY4JTJDNDU0IDc2OHcsIGh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDkvYmxhY2stcG9kc2hlZXRzLXRl + eHQucG5nP3Jlc2l6ZT0xMDI0JTJDNjA1IDEwMjR3LCBodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA5L2JsYWNrLXBvZHNoZWV0cy10ZXh0LnBuZz9yZXNp + emU9NzIwJTJDNDI2IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDkvYmxhY2stcG9kc2hlZXRzLXRleHQucG5nP3c9MTQ0MCAxNDQwdyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JZiB5 + b3Ugd2FudCB0byBzdGFydCBhIHBvZGNhc3QsIGNoZWNrIG91dCBQb2RzaGVl + dHMuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij48 + YSBocmVmPSJodHRwOi8vcG9kc2hlZXRzLmNvbSI+UG9kc2hlZXRzPC9hPiBp + cyBhIHByb2R1Y3Qgd2UgYnVpbHQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgcG9k + Y2FzdHMuIFdlIGFyZSBwb2RjYXN0ZXJzIG91cnNlbHZlcyYjODIxMTthbmQg + d2UgdW5kZXJzdGFuZCB0aGUgZGlmZmljdWx0aWVzIG9mIGdldHRpbmcgc3Rh + cnRlZC7CoDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PlBvZHNoZWV0cyBtYWtlcyBpdCBlYXN5IHRvIHBvc3QgeW91ciBlcGlzb2Rl + cyBhbmQgZGlzdHJpYnV0ZSB0aGVtIHRvIGlUdW5lcyBhbmQgR29vZ2xlIFBs + YXkgd2l0aCBhIHNpbmdsZSBjbGljay7CoDwvc3Bhbj48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPklmIHlvdSBhcmUgY3VyaW91cyBhYm91dCBw + b2RjYXN0aW5nLCBidXQgaGF2ZSBubyBpZGVhIHdoZXJlIHRvIHN0YXJ0LCBQ + b2RzaGVldHMgd2lsbCBndWlkZSB5b3UgdGhyb3VnaCB0aGUgcHJvY2Vzcy7C + oDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldpdGgg + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIHdlIGhhdmUgYmVlbiBwcm9k + dWNpbmcgNSBzaG93cyBhIHdlZWsgZm9yIDIgeWVhcnMuIFdlIHVuZGVyc3Rh + bmQgcmVjb3JkaW5nLCB3ZSB1bmRlcnN0YW5kIGhvdyB0byBwcm9kdWNlIHlv + dXIgc2hvdyBhbmQgd2UgdW5kZXJzdGFuZCBob3cgdG8gZ2V0IGFkdmVydGlz + ZXJzLiBXZSB3YW50IHRvIGhlbHAgeW91IHdpdGggdGhpcyBwcm9jZXNzLsKg + PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Q2hlY2sg + b3V0IDxhIGhyZWY9Imh0dHA6Ly9wb2RzaGVldHMuY29tIj5Qb2RzaGVldHM8 + L2E+IHRvZGF5LiBXZSB3aWxsIGdpdmUgeW91IGV2ZXJ5dGhpbmcgeW91IG5l + ZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgeW91ciBwb2RjYXN0JiM4MjExO2Fu + ZCBpZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIG9yIHlvdSBnZXQgY29uZnVz + ZWQsIHlvdSBjYW4gYWx3YXlzIGNvbnRhY3QgdXMgZGlyZWN0bHkgZm9yIGhl + bHAuIFBvZGNhc3RpbmcgaXMgYXMgZWFzeSBhcyBibG9nZ2luZyYjODIxMTts + ZXQgdXMgc2hvdyB5b3UgaG93IHRvIHBvZGNhc3QsIHdpdGggPGEgaHJlZj0i + aHR0cDovL3BvZHNoZWV0cy5jb20iPlBvZHNoZWV0czwvYT4uPC9zcGFuPgo8 + cD48L3A+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9z + ZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0 + PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25v + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2Zp + dD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXpl + PTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8g + U3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Ag + d2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxl + bmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0 + IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHki + PnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25v + IGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBz + dXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxp + c3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVu + Y29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJz + eW4uY29tL3NlZGFpbHkvU2FsZXNmb3JjZUVpbnN0ZWluLm1wMyIgbGVuZ3Ro + PSI0MTAzNTAzMyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPlNvZnR3YXJlIGNvbXBhbmllcyB0aGF0IGhhdmUgYmVlbiBhcm91 + bmQgZm9yIGEgZGVjYWRlIGhhdmUgYSB0b24gb2YgZGF0YS4gTW9kZXJuIG1h + Y2hpbmUgbGVhcm5pbmcgdGVjaG5pcXVlcyBhcmUgYWJsZSB0byB0dXJuIHRo + YXQgZGF0YSBpbnRvIGV4dHJlbWVseSB1c2VmdWwgbW9kZWxzLiBTYWxlc2Zv + cmNlIHVzZXJzIGhhdmUgYmVlbiBlbnRlcmluZyBwZXRhYnl0ZXMgb2YgZGF0 + YSBpbnRvIHRoZSBjb21wYW554oCZcyBDUk0gdG9vbCBzaW5jLi4uPC9pdHVu + ZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlNvZnR3YXJlIGNvbXBh + bmllcyB0aGF0IGhhdmUgYmVlbiBhcm91bmQgZm9yIGEgZGVjYWRlIGhhdmUg + YSB0b24gb2YgZGF0YS4gTW9kZXJuIG1hY2hpbmUgbGVhcm5pbmcgdGVjaG5p + cXVlcyBhcmUgYWJsZSB0byB0dXJuIHRoYXQgZGF0YSBpbnRvIGV4dHJlbWVs + eSB1c2VmdWwgbW9kZWxzLiBTYWxlc2ZvcmNlIHVzZXJzIGhhdmUgYmVlbiBl + bnRlcmluZyBwZXRhYnl0ZXMgb2YgZGF0YSBpbnRvIHRoZSBjb21wYW554oCZ + cyBDUk0gdG9vbCBzaW5jZSAxOTk5LiBXaXRoIGl0cyBFaW5zdGVpbiBzdWl0 + ZSBvZiBwcm9kdWN0cywgU2FsZXNmb3JjZSBpcyB1c2luZyB0aGF0IGRhdGEg + dG8gYnVpbGQgbmV3IHByb2R1Y3QgZmVhdHVyZXMgYW5kIEFQSXMuIFNpbW9u + IENoYW4gaXMgdGhlIHNlbmlvciBkaXJlY3RvciBvZiBwcm9kdWN0IG1hbmFn + ZW1lbnRDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8 + aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1 + bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6 + ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41Njo0MDwvaXR1bmVzOmR1 + cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFk + ZGl0aW9uczoxIj4zOTMyPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0K + CQk8dGl0bGU+SW5mb3JtYXRpb24gVGhlb3J5IHdpdGggSmltbXkgU29uaSBh + bmQgUm9iIEdvb2RtYW48L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA0L2luZm9ybWF0aW9u + LXRoZW9yeS13aXRoLWppbW15LXNvbmktYW5kLXJvYi1nb29kbWFuLzwvbGlu + az4NCgkJPHB1YkRhdGU+TW9uLCAwNCBTZXAgMjAxNyAwOTowMDo0OSArMDAw + MDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zOTMxPC9ndWlk + Pg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8wOS8wNC9pbmZvcm1hdGlvbi10aGVvcnktd2l0aC1qaW1t + eS1zb25pLWFuZC1yb2ItZ29vZG1hbi8jY29tbWVudHM8L2NvbW1lbnRzPg0K + CQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wOS8wNC9pbmZvcm1hdGlvbi10aGVvcnktd2l0aC1q + aW1teS1zb25pLWFuZC1yb2ItZ29vZG1hbi9mZWVkLzwvd2Z3OmNvbW1lbnRS + c3M+DQoJCTxzbGFzaDpjb21tZW50cz40PC9zbGFzaDpjb21tZW50cz4NCgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1c2luZXNzIGFuZCBQaGlsb3NvcGh5 + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0EgTWluZCBhdCBQ + bGF5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xhdWRl + IFNoYW5ub25dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtp + bmZvcm1hdGlvbiB0aGVvcnldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtKaW1teSBBc29uaV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW1JvYiBHb29kbWFuXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3Jp + cHRpb24+V2Ugd3JpdGUgY29kZSBpbiBhIGxhbmd1YWdlIHRoYXQgbG9va3Mg + bGlrZSBFbmdsaXNoLiBXaGV0aGVyIGl0IGlzIEphdmFTY3JpcHQsIEZvcnRy + YW4sIG9yIGFzc2VtYmx5IGxhbmd1YWdlLCB0aGF0IGNvZGUgaXMgYW4gYWJz + dHJhY3Rpb24gb24gdG9wIG9mIGxheWVycyBvZiBpbnRlcm1lZGlhdGUgbGFu + Z3VhZ2VzLCBiaW5hcnksIHRyYW5zaXN0b3JzLCBhbmQgcGh5c2ljcy4gMTAw + IHllYXJzIGFnbywgdGhpcyB3b3VsZCBoYXZlIHNlZW1lZCBsaWtlIG1hZ2lj + LiBNb3N0IG9mIHVzIGtub3cgYWJvdXQgQWxhbiBUdXJpbmcsIHdobyBkZXNj + cmliZWQgdGhlIHZpc2lvbiBvZiBhIG11bHRpcHVycG9zZSBjb21wdXRlciB3 + aXRoIHRoZSBjb25jZXB0IG9mIHRoZSBUdXJpbmcgbWFjaGluZS4gTGVzcyB3 + ZWxsIGtub3duIGlzIHRoZSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2Nv + bnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzA0L2luZm9ybWF0aW9u + LXRoZW9yeS13aXRoLWppbW15LXNvbmktYW5kLXJvYi1nb29kbWFuLyZxdW90 + OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8 + L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxw + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8w + NC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVy + bnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVy + bnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdl + LTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4 + IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6 + IDE3NXB4OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS93d3cuYm9va3NpbmMu + bmV0L3NpdGVzL2Jvb2tzaW5jLm5ldC9maWxlcy9qaW0tYW5kLXJvYi5wbmc/ + cmVzaXplPTE3NSUyQzE3NSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2Ugd3JpdGUg + Y29kZSBpbiBhIGxhbmd1YWdlIHRoYXQgbG9va3MgbGlrZSBFbmdsaXNoLiBX + aGV0aGVyIGl0IGlzIEphdmFTY3JpcHQsIEZvcnRyYW4sIG9yIGFzc2VtYmx5 + IGxhbmd1YWdlLCB0aGF0IGNvZGUgaXMgYW4gYWJzdHJhY3Rpb24gb24gdG9w + IG9mIGxheWVycyBvZiBpbnRlcm1lZGlhdGUgbGFuZ3VhZ2VzLCBiaW5hcnks + IHRyYW5zaXN0b3JzLCBhbmQgcGh5c2ljcy4gMTAwIHllYXJzIGFnbywgdGhp + cyB3b3VsZCBoYXZlIHNlZW1lZCBsaWtlIG1hZ2ljLiA8L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk1vc3Qgb2YgdXMg + a25vdyBhYm91dCBBbGFuIFR1cmluZywgd2hvIGRlc2NyaWJlZCB0aGUgdmlz + aW9uIG9mIGEgbXVsdGlwdXJwb3NlIGNvbXB1dGVyIHdpdGggdGhlIGNvbmNl + cHQgb2YgdGhlIFR1cmluZyBtYWNoaW5lLiBMZXNzIHdlbGwga25vd24gaXMg + dGhlIHNjaWVudGlzdCBDbGF1ZGUgU2hhbm5vbiwgd2hvIGxhaWQgdGhlIGdy + b3VuZHdvcmsgb2YgaW5mb3JtYXRpb24gdGhlb3J5LiBXaXRoIGluZm9ybWF0 + aW9uIHRoZW9yeSwgd2UgY2FuIGNvbXByZXNzIGRhdGEgYW5kIGNvbW11bmlj + YXRlIGl0IGVmZmljaWVudGx5Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+SmltbXkgU29uaSBhbmQgUm9iIEdvb2Rt + YW4gYXJlIHRoZSBhdXRob3JzIG9mIOKAnEEgTWluZCBhdCBQbGF5LOKAnSBh + IGJpb2dyYXBoeSBvZiBDbGF1ZGUgU2hhbm5vbi4gQ2xhdWRl4oCZcyB1bmlx + dWUgaW5zaWdodHMgYWJvdXQgaW5mb3JtYXRpb24gd2VyZSBtYWRlIHBvc3Np + YmxlIGJ5IGhpcyB3aWxsaW5nbmVzcyB0byBpbnZvbHZlIGhpbXNlbGYgaW4g + bG90cyBvZiBkaWZmZXJlbnQgYXJlYXMmIzgyMTE7c2NpZW5jZSwgYXJ0LCBq + dWdnbGluZywgd2FyZmFyZS4gVGhpcyBpbnRlcnZpZXcgZ2l2ZXMgaW5zaWdo + dHMgZm9yIGhvdyB3ZSBjYW4gdGhpbmsgb2YgbmV3IGlkZWFzIGJ5IHN5bnRo + ZXNpemluZyBkaXNwYXJhdGUgc3ViamVjdHMuPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGVyZSBhcmUgNjAwIGVw + aXNvZGVzIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LCBhbmQgaXQg + Y2FuIGJlIGhhcmQgdG8gZmluZCB0aGUgc2hvd3MgdGhhdCB3aWxsIGludGVy + ZXN0IHlvdS4gSWYgeW91IGhhdmUgYW4gaVBob25lIGFuZCB5b3UgbGlzdGVu + IHRvIGEgbG90IG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LCBjaGVj + ayBvdXQgdGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IG1vYmlsZSBh + cHAgaW4gdGhlIGlPUyBBcHAgU3RvcmUuIEV2ZXJ5IGVwaXNvZGUgY2FuIGJl + IGFjY2Vzc2VkIHRocm91Z2ggdGhlIGFwcCwgYW5kIHdlIGdpdmUgeW91IHJl + Y29tbWVuZGF0aW9ucyBiYXNlZCBvbiB0aGUgb25lcyB5b3UgaGF2ZSBhbHJl + YWR5IGhlYXJkLjwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vYXVyb3JhLmF3cyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjM3MjIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253ZWJzZXJ2aWNlc19s + b2dvLXN2Z18vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2Zp + dD0yMDAwJTJDODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAwMCw4MDAiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQW1h + em9uV2Vic2VydmljZXNfTG9nby5zdmdfIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9 + MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9m + aXQ9MTAyNCUyQzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIy + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXpl + PTMwMCUyQzEyMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTc2OCUy + QzMwNyA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTEwMjQlMkM0MTAg + MTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjg4IDcyMHci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPlRvIGJ1aWxkIHRoZSBraW5kcyBvZiB0aGluZ3MgZGV2 + ZWxvcGVycyB3YW50IHRvIGJ1aWxkIHRvZGF5LCB0aGV5IG5lZWQgYmV0dGVy + IHRvb2xzLiDCoFRoYXTigJlzIHdoeSBBbWF6b24gV2ViIFNlcnZpY2VzIGJ1 + aWx0IEFtYXpvbiBBdXJvcmEuIEEgcmVsYXRpb25hbCBkYXRhYmFzZSBlbmdp + bmUgdGhhdOKAmXMgY29tcGF0aWJsZSB3aXRoIE15U1FMIGFuZCBQb3N0Z3Jl + U1FMLCBhbmQgcHJvdmlkZXMgdXAgdG8gZml2ZSB0aW1lcyB0aGUgcGVyZm9y + bWFuY2Ugb2Ygc3RhbmRhcmQgTXlTUUzigJRvbiB0aGUgc2FtZSBoYXJkd2Fy + ZSwgYXQgYSB0ZW50aCBvZiB0aGUgY29zdC4gQW1hem9uIEF1cm9yYSBmcm9t + IEFXUyBjYW4gc2NhbGUgdXAgdG8gbWlsbGlvbnMgb2YgdHJhbnNhY3Rpb25z + IHBlciBtaW51dGUuIEF1dG9tYXRpY2FsbHkgZ3JvdyB5b3VyIHN0b3JhZ2Ug + dXAgdG8gNjQgdGVyYWJ5dGVzLiBBbmQgcmVwbGljYXRlcyBkYXRhIHRvIHRo + cmVlIGRpZmZlcmVudCBBdmFpbGFiaWxpdHkgWm9uZXMuIEFuZCB5b3UgZG9u + 4oCZdCBoYXZlIHRvIG1hbmFnZSBhIHRoaW5nLiBUaGVyZSBhcmUgbm8gdXBm + cm9udCBjaGFyZ2VzLCBubyBjb21taXRtZW50c+KAlHlvdSBvbmx5IHBheSBm + b3Igd2hhdCB5b3UgdXNlLiBDaGVjayBpdCBvdXQsIGF0IDxhIGhyZWY9Imh0 + dHA6Ly9hdXJvcmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+Jm5ic3A7PC9wPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2dvLmdy + YW1tYXRlY2guY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIzODE1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20va3dsb2dvcy9ncmFtbWF0ZWNoL2dyYW1tYXRlY2gt + bG9nb2wvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBk + YXRhLW9yaWctc2l6ZT0iODI1LDMwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJHcmFtbWF0ZWNoLUxvZ29MIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/Zml0PTMwMCUyQzEwOSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04 + MjUlMkMzMDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzgxNSBzaXpl + LW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMxMDkiIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVj + aC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUyQzEwOSAzMDB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6 + ZT03NjglMkMyNzkgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9NzIwJTJDMjYyIDcyMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dv + TC5qcGc/dz04MjUgODI1dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+R3JhbW1hVGVjaCBDb2Rl + U29uYXIgaGVscHMgZGV2ZWxvcG1lbnQgdGVhbXMgaW1wcm92ZSBjb2RlIHF1 + YWxpdHkgd2l0aCBzdGF0aWMgYW5hbHlzaXMuIEl0IGhlbHBzIGZsYWcgaXNz + dWVzIGVhcmx5IGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzLCBhbGxvd2lu + ZyBkZXZlbG9wZXJzIHRvIHJlbGVhc2UgYmV0dGVyIGNvZGUgZmFzdGVyLsKg + Q29kZVNvbmFyIGNhbiBlYXNpbHkgYmUgaW50ZWdyYXRlZCBpbnRvIGFueSBk + ZXZlbG9wbWVudCBwcm9jZXNzLiBDb2RlU29uYXIgcGVyZm9ybXMgYWR2YW5j + ZWQgc3RhdGljIGFuYWx5c2lzIG9mIEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4g + cmF3IGJpbmFyeSBjb2RlLiBDb2RlU29uYXIgcGVyZm9ybXMgdW5pcXVlIGRh + dGFmbG93IGFuZCBzeW1ib2xpYyBleGVjdXRpb24gYW5hbHlzaXMgdG8gYWdn + cmVzc2l2ZWx5IHNjYW4gZm9yIHByb2JsZW1zIGluIHlvdXIgY29kZS7CoEp1 + c3QgbGlrZSBiYXR0bGVzaGlwcyB1c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVj + dHMgZGVlcCB1bmRlcndhdGVyLCBlbmdpbmVlcnMgdXNlIENvZGVTb25hciB0 + byBkZXRlY3Qgc3VidGxlIHByb2JsZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNv + ZGUuwqBHbyB0byA8YSBocmVmPSJodHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20v + c2VkYWlseSI+Z28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0 + IHlvdXIgZnJlZSAzMC1kYXkgdHJpYWwsIGV4Y2x1c2l2ZWx5IGZvciBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnPCoGFuZCB1bmxlYXNo + IHRoZSBwb3dlciBvZiBhZHZhbmNlZCBzdGF0aWMgYW5hbHlzaXMuPGJyIC8+ + CjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3NjYWx5ciI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM5 + MTkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9rd2xvZ29zL3NjYWx5ci9zY2FseXJfbG9nby8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L1NjYWx5 + cl9sb2dvLmpwZz9maXQ9MjIwJTJDOTAiIGRhdGEtb3JpZy1zaXplPSIyMjAs + OTAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iU2NhbHlyX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9TY2FseXJfbG9nby5qcGc/Zml0PTIyMCUyQzkwIiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvU2NhbHlyX2xvZ28u + anBnP2ZpdD0yMjAlMkM5MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + OTE5IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA4L1NjYWx5cl9sb2dvLmpwZz9yZXNpemU9MjIwJTJDOTAiIGFsdD0iIiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+V2hvIGRvIHlvdSB1c2UgZm9yIGxvZyBtYW5hZ2VtZW50PyBJIHdhbnQg + dG8gdGVsbCB5b3UgYWJvdXQgU2NhbHlyLCB0aGUgZmlyc3QgcHVycG9zZSBi + dWlsdCBsb2cgbWFuYWdlbWVudCB0b29sIG9uIHRoZSBtYXJrZXQuIE1vc3Qg + dG9vbHMgb24gdGhlIG1hcmtldCB1dGlsaXplIHRleHQgaW5kZXhpbmcgc2Vh + cmNoLCB3aGljaCBpcyBncmVhdCYjODIzMDsgZm9yIGluZGV4aW5nIGEgYm9v + ay4gQnV0IGlmIHlvdSB3YW50IHRvIHNlYXJjaCBsb2dzLCBhdCBzY2FsZSwg + ZmFzdCYjODIzMDsgaXQgYnJlYWtzIGRvd24uIFNjYWx5ciBidWlsdCB0aGVp + ciBvd24gZGF0YWJhc2UgZnJvbSBzY3JhdGNoOiB0aGUgc3lzdGVtIGlzIGZh + c3QuIE1vc3Qgc2VhcmNoZXMgdGFrZSBsZXNzIHRoYW4gMSBzZWNvbmQuIElu + IGZhY3QsIDk5JSBvZiB0aGVpciBxdWVyaWVzIGV4ZWN1dGUgaW4gJmx0OzEg + c2Vjb25kLiDCoENvbXBhbmllcyBsaWtlIE9LQ3VwaWQsIEdpcGh5IGFuZCBD + YXJlZXJCdWlsZGVyIHVzZSBTY2FseXIuIEl0IHdhcyBidWlsdCBieSBvbmUg + b2YgdGhlIGZvdW5kZXJzIG9mIFdyaXRlbHkgKGFrYSBHb29nbGUgRG9jcyku + IFNjYWx5ciBoYXMgY29uc3VtZXIgZ3JhZGUgVUksIHRoYXQgc2NhbGVzIGlu + ZmluaXRlbHkuIFlvdSBjYW4gbW9uaXRvciBrZXkgbWV0cmljcywgdHJpZ2dl + ciBhbGVydHMsIGFuZCBpbnRlZ3JhdGUgd2l0aCBQYWdlckR1dHkuIEl0JiM4 + MjE3O3MgZWFzeSB0byB1c2UgYW5kIGRpZCB3ZSBtZW50aW9uOiBsaWdodG5p + bmcgZmFzdC4gR2l2ZSBpdCBhIHRyeSB0b2RheS4gSXTigJlzIGZyZWUgZm9y + IDkwIGRheXMgYXQgPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vc2NhbHlyIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3NjYWx5cjwvYT48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4uIDwvc3Bhbj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRh + aWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjY2OCIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3 + bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3 + MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InN5bXBob25vIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0y + NzIlMkM4NCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/cmVzaXplPTI3 + MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9k + aXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGFua3MgdG8gU3lt + cGhvbm8gZm9yIHNwb25zb3JpbmcgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkuIFN5bXBob25vIGlzIGEgY3VzdG9tIGVuZ2luZWVyaW5nIHNob3Agd2hl + cmUgc2VuaW9yIGVuZ2luZWVycyB0YWNrbGUgYmlnIHRlY2ggY2hhbGxlbmdl + cyB3aGlsZSBsZWFybmluZyBmcm9tIGVhY2ggb3RoZXIuIENoZWNrIGl0IG91 + dCBhdCA8YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPnN5 + bXBob25vLmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtzIHRvIFN5bXBob25vIGZv + ciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgZm9yIGFsbW9zdCBhIHllYXIgbm93LiBZb3VyIGNvbnRpbnVlZCBzdXBw + b3J0IGFsbG93cyB1cyB0byBkZWxpdmVyIGNvbnRlbnQgdG8gdGhlIGxpc3Rl + bmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48 + L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90 + cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9DbGF1ZGVTaGFubm9uLm1wMyIg + bGVuZ3RoPSI2MDU0NDA2NyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1 + bmVzOnN1YnRpdGxlPldlIHdyaXRlIGNvZGUgaW4gYSBsYW5ndWFnZSB0aGF0 + IGxvb2tzIGxpa2UgRW5nbGlzaC4gV2hldGhlciBpdCBpcyBKYXZhU2NyaXB0 + LCBGb3J0cmFuLCBvciBhc3NlbWJseSBsYW5ndWFnZSwgdGhhdCBjb2RlIGlz + IGFuIGFic3RyYWN0aW9uIG9uIHRvcCBvZiBsYXllcnMgb2YgaW50ZXJtZWRp + YXRlIGxhbmd1YWdlcywgYmluYXJ5LCB0cmFuc2lzdG9ycywgYW5kIHBoeXNp + Y3MuIDEwMCB5ZWFycyBhZ28sPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5l + czpzdW1tYXJ5PldlIHdyaXRlIGNvZGUgaW4gYSBsYW5ndWFnZSB0aGF0IGxv + b2tzIGxpa2UgRW5nbGlzaC4gV2hldGhlciBpdCBpcyBKYXZhU2NyaXB0LCBG + b3J0cmFuLCBvciBhc3NlbWJseSBsYW5ndWFnZSwgdGhhdCBjb2RlIGlzIGFu + IGFic3RyYWN0aW9uIG9uIHRvcCBvZiBsYXllcnMgb2YgaW50ZXJtZWRpYXRl + IGxhbmd1YWdlcywgYmluYXJ5LCB0cmFuc2lzdG9ycywgYW5kIHBoeXNpY3Mu + IDEwMCB5ZWFycyBhZ28sIHRoaXMgd291bGQgaGF2ZSBzZWVtZWQgbGlrZSBt + YWdpYy4gTW9zdCBvZiB1cyBrbm93IGFib3V0IEFsYW4gVHVyaW5nLCB3aG8g + ZGVzY3JpYmVkIHRoZSB2aXNpb24gb2YgYSBtdWx0aXB1cnBvc2UgY29tcHV0 + ZXIgd2l0aCB0aGUgY29uY2VwdCBvZiB0aGUgVHVyaW5nIG1hY2hpbmUuIExl + c3Mgd2VsbCBrbm93biBpcyB0aGVDb250aW51ZSByZWFkaW5nLi4uPC9pdHVu + ZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0 + PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4x + OjAyOjQ5PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20t + d29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM5MzE8L3Bvc3QtaWQ+CQk8 + L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5IZWFsdGhjYXJlIEFJIHdpdGgg + Q29zaW1hIEdyZXR0b248L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzAxL2hlYWx0aGNhcmUt + YWktd2l0aC1jb3NpbWEtZ3JldHRvbi88L2xpbms+DQoJCTxwdWJEYXRlPkZy + aSwgMDEgU2VwIDIwMTcgMDk6MDA6MDEgKzAwMDA8L3B1YkRhdGU+DQoJCTxn + dWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vP3A9Mzg0NjwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDkvMDEv + aGVhbHRoY2FyZS1haS13aXRoLWNvc2ltYS1ncmV0dG9uLyNjb21tZW50czwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA5LzAxL2hlYWx0aGNhcmUtYWkt + d2l0aC1jb3NpbWEtZ3JldHRvbi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJ + CTxzbGFzaDpjb21tZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW01hY2hpbmUgTGVhcm5pbmddXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ29zaW1hIEdyZXR0b25dXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtkaXNlYXNlIGRpYWdub3N0aWNz + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbaGVhbHRoY2Fy + ZSBtYWNoaW5lIGxlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbS2FyaXVzRFhdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlv + bj5BdXRvbWF0aW9uIHdpbGwgbWFrZSBoZWFsdGhjYXJlIG1vcmUgZWZmaWNp + ZW50IGFuZCBsZXNzIHByb25lIHRvIGVycm9yLiBUb2RheSwgbWFjaGluZSBs + ZWFybmluZyBpcyBhbHJlYWR5IGJlaW5nIHVzZWQgdG8gZGlhZ25vc2UgZGlh + YmV0aWMgcmV0aW5vcGF0aHkgYW5kIGltcHJvdmUgcmFkaW9sb2d5IGFjY3Vy + YWN5LiBTb21lZGF5LCBhbiBBSSBhc3Npc3RhbnQgd2lsbCBhc3Npc3QgYSBk + b2N0b3IgaW4gd29ya2luZyB0aHJvdWdoIGEgY29tcGxpY2F0ZWQgZGlmZmVy + ZW50aWFsIGRpYWdub3Npcy4gT3VyIGhvc3BpdGFscyBsb29rIHJvdWdobHkg + dGhlIHNhbWUgdG9kYXkgYXMgdGhleSBkaWQgdGVuIHllYXJzIGFnbywgYmVj + YXVzZSBnZXR0aW5nIG5ldyB0ZWNobm9sb2d5IGludG8gdGhlIGhhbmRzIG9m + IGRvY3RvcnMgYW5kIG51cnNlcyBpcyBhIHNsb3cgcHJvY2Vzc+KAk2p1c3Qg + YXNrJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGlu + ZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDkvMDEvaGVhbHRoY2FyZS1haS13aXRoLWNvc2lt + YS1ncmV0dG9uLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9h + Jmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNv + ZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1 + IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2Vt + ZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVy + bnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1 + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + NC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6 + ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1 + MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1 + cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNv + bS93d3cua2luZ3NmdW5kLm9yZy51ay9zaXRlcy9kZWZhdWx0L2ZpbGVzL3N0 + eWxlcy9tZWRpYV9zbWFsbC9wdWJsaWMvZmllbGQvZmllbGRfcGVyc29uX3Bo + b3RvL2NPU0lNQSUyMGdSRVRUT04uanBnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAz + ODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QXV0b21hdGlvbiB3aWxsIG1h + a2UgaGVhbHRoY2FyZSBtb3JlIGVmZmljaWVudCBhbmQgbGVzcyBwcm9uZSB0 + byBlcnJvci4gVG9kYXksIG1hY2hpbmUgbGVhcm5pbmcgaXMgYWxyZWFkeSBi + ZWluZyB1c2VkIHRvIGRpYWdub3NlIGRpYWJldGljIHJldGlub3BhdGh5IGFu + ZCBpbXByb3ZlIHJhZGlvbG9neSBhY2N1cmFjeS4gU29tZWRheSwgYW4gQUkg + YXNzaXN0YW50IHdpbGwgYXNzaXN0IGEgZG9jdG9yIGluIHdvcmtpbmcgdGhy + b3VnaCBhIGNvbXBsaWNhdGVkIGRpZmZlcmVudGlhbCBkaWFnbm9zaXMuIDwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + T3VyIGhvc3BpdGFscyBsb29rIHJvdWdobHkgdGhlIHNhbWUgdG9kYXkgYXMg + dGhleSBkaWQgdGVuIHllYXJzIGFnbywgYmVjYXVzZSBnZXR0aW5nIG5ldyB0 + ZWNobm9sb2d5IGludG8gdGhlIGhhbmRzIG9mIGRvY3RvcnMgYW5kIG51cnNl + cyBpcyBhIHNsb3cgcHJvY2VzcyYjODIxMTtqdXN0IGFzayBhbnlvbmUgd2hv + IGhhcyB0cmllZCB0byBzZWxsIHNvZnR3YXJlIGluIHRoZSBoZWFsdGhjYXJl + IHNwYWNlLiBCdXQgdGVjaG5vbG9naWNhbCBhZHZhbmNlbWVudCBpbiBoZWFs + dGhjYXJlIGlzIGluZXZpdGFibGUuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Db3NpbWEgR3JldHRvbiBpcyBhIG1l + ZGljYWwgZG9jdG9yIGFuZCBhIHByb2R1Y3QgbWFuYWdlciB3aXRoIEthcml1 + c0RYLCBhIGNvbXBhbnkgdGhhdCBpcyBidWlsZGluZyBkaWFnbm9zdGljIHRv + b2xzIGZvciBpbmZlY3Rpb3VzIGRpc2Vhc2VzLiBTaGUgd3JpdGVzIGFib3V0 + IHRoZSBmdXR1cmUgb2YgaGVhbHRoY2FyZSwgZXhwbG9yaW5nIHRoZSB3YXlz + IHRoYXQgd29ya2Zsb3dzIHdpbGwgY2hhbmdlIGFuZCBob3cgaHVtYW4gYmlh + c2VzIGNvdWxkIGltcGFjdCB0aGUgZGlhZ25vc3RpYyBwcm9jZXNzJiM4MjEx + O2V2ZW4gaW4gdGhlIHByZXNlbmNlIG9mIHNvcGhpc3RpY2F0ZWQgQUkuPC9z + cGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9oaXJl + ZC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjE1ODMi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE2LzAxLzA0L2Rpc3RyaWJ1dGVkLXN5c3RlbXMtd2l0aC1h + bHZhcm8tdmlkZWxhL2hpcmVkLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9 + MjYwJTJDMTMwIiBkYXRhLW9yaWctc2l6ZT0iMjYwLDEzMCIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJoaXJlZC1s + b2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5q + cGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMx + MzAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMTU4MyBzaXplLWZ1bGwi + IHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dv + LmpwZz9yZXNpemU9MjYwJTJDMTMwIiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5IYXZlIHlvdSBiZWVuIHRoaW5raW5nIHlvdeKAmWQgYmUgaGFwcGllciBh + dCBhIG5ldyBqb2I/IElmIHlvdeKAmXJlIGRyZWFtaW5nIGFib3V0IGEgbmV3 + IGpvYiBhbmQgaGF2ZSBiZWVuIHdhaXRpbmcgZm9yIHRoZSByaWdodCB0aW1l + IHRvIG1ha2UgYSBtb3ZlLCBnbyB0b8KgPGEgaHJlZj0iaHR0cDovL2hpcmVk + LmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT4uIEhpcmVkIG1h + a2VzIGZpbmRpbmcgd29yayBlbmpveWFibGUuIEhpcmVkIHVzZXMgYW4gYWxn + b3JpdGhtaWMgam9iLW1hdGNoaW5nIHRvb2wgaW4gY29tYmluYXRpb24gd2l0 + aCBhIHRhbGVudCBhZHZvY2F0ZSB3aG8gd2lsbCB3YWxrIHlvdSB0aHJvdWdo + IHRoZSBwcm9jZXNzIG9mIGZpbmRpbmcgYSBiZXR0ZXIgam9iLiBDaGVjayBv + dXTCoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQu + Y29tL3NlZGFpbHk8L2E+wqB0byBnZXQgYSBzcGVjaWFsIG9mZmVyIGZvciBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMmIzgyMTE7YSAk + NjAwIHNpZ25pbmcgYm9udXMgZnJvbSBIaXJlZCB3aGVuIHlvdSBmaW5kIHRo + YXQgZ3JlYXQgam9iIHRoYXQgZ2l2ZXMgeW91IHRoZSByZXNwZWN0IGFuZCBz + YWxhcnkgdGhhdCB5b3UgZGVzZXJ2ZSBhcyBhIHRhbGVudGVkIGVuZ2luZWVy + LsKgPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL2Nsb3VkZmxhcmUuY29tL3Nl + ZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzODgxIiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOC8xOC9lcnJvci1kaWFnbm9zaXMtd2l0aC1qYW1lcy1zbWl0aC9j + bG91ZGZsYXJlX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0xMjAw + JTJDNDA5IiBkYXRhLW9yaWctc2l6ZT0iMTIwMCw0MDkiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQ2xvdWRmbGFy + ZV9sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFy + ZV9sb2dvLnBuZz9maXQ9MzAwJTJDMTAyIiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBu + Zz9maXQ9MTAyNCUyQzM0OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + ODgxIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTAyIiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Ns + b3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTMwMCUyQzEwMiAzMDB3LCBodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/ + cmVzaXplPTc2OCUyQzI2MiA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTEwMjQlMkMzNDkg + MTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFy + ZV9sb2dvLnBuZz9yZXNpemU9NzIwJTJDMjQ1IDcyMHcsIGh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz93PTEyMDAg + MTIwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4 + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPkNsb3VkZmxhcmUgcnVucyAxMCUgb2YgdGhl + IEludGVybmV0LCBwcm92aWRpbmcgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5 + IHRvIG1pbGxpb25zIG9mIHdlYnNpdGVzLiBNYW55IG9mIHlvdSBwcm9iYWJs + eSBhbHJlYWR5IHVzZSBDbG91ZGZsYXJlIG9uIHlvdXIgc2l0ZXMuIFdl4oCZ + cmUgbm90IHRhbGtpbmcgYWJvdXQgdXNpbmcgQ2xvdWRmbGFyZSB0b2RheSB0 + aG91Z2gsIHdl4oCZcmUgaGVyZSB0byB0YWxrIGFib3V0IGJ1aWxkaW5nIG9u + IHRvcCBvZiBpdC4gSWYgeW914oCZcmUgYSBkZXZlbG9wZXIgeW91IGNhbiBi + dWlsZCBhcHBzIHdoaWNoIGNhbiBiZSBpbnN0YWxsZWQgYnkgdGhlIHRoZSBt + aWxsaW9ucyBvZiBzaXRlcyB3aGljaCByZWx5IG9uIENsb3VkZmxhcmUuIFlv + dSBjYW4gZXZlbiBzZWxsIHlvdXIgYXBwczsgdGhleSBjYW4gbWFrZSB5b3Ug + bW9uZXkgPGVtPmV2ZXJ5IG1vbnRoPC9lbT4uIFZpc2l0IDxhIGhyZWY9Imh0 + dHBzOi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+Y2xvdWRmbGFyZS5jb20v + c2VkYWlseTwvYT7CoHRvIHdhdGNoIGhvdyB5b3UgY2FuIGJ1aWxkIGFuZCBk + ZXBsb3kgYW4gYXBwIGluIGxlc3MgdGhhbiAzIG1pbnV0ZXMuPC9kaXY+PC9w + Pgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL3Byb3NwZWN0LmlvIj48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzkyMyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvcHJvc3BlY3QtaW8vbG9n + by1wcm9zcGVjdGlvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDgvbG9nby1wcm9zcGVjdGlvLnBuZz9maXQ9OTY0JTJD + NDIwIiBkYXRhLW9yaWctc2l6ZT0iOTY0LDQyMCIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJsb2dvLXByb3NwZWN0 + aW8iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXByb3NwZWN0 + aW8ucG5nP2ZpdD0zMDAlMkMxMzEiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXByb3NwZWN0aW8ucG5nP2Zp + dD05NjQlMkM0MjAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzkyMyBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L2xvZ28tcHJvc3BlY3Rpby5wbmc/cmVzaXplPTMwMCUyQzEzMSIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXBy + b3NwZWN0aW8ucG5nP3Jlc2l6ZT0zMDAlMkMxMzEgMzAwdywgaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXByb3NwZWN0aW8ucG5nP3Jlc2l6 + ZT03NjglMkMzMzUgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9sb2dvLXByb3NwZWN0aW8ucG5nP3Jlc2l6ZT03MjAlMkMzMTQgNzIwdywg + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9sb2dvLXByb3NwZWN0aW8u + cG5nP3c9OTY0IDk2NHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250 + LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAn + U2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRh + cmVsbCwgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjsiPlRoZSBjb2xk + IGVtYWlsIHByb2Nlc3MgaXMgd2hhdCBsb3RzIG9mIHBlb3BsZSBnbyB0aHJv + dWdoIHRvIG1hcmtldCBhIHNvZnR3YXJlIHByb2R1Y3QsIGEgbmV3c2xldHRl + ciwgb3IgYW4gb25saW5lIGNvdXJzZS7CoDwvc3Bhbj48c3BhbiBzdHlsZT0i + Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9u + dCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBD + YW50YXJlbGwsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7Ij48YSBo + cmVmPSJodHRwOi8vUHJvc3BlY3QuaW8iPlByb3NwZWN0LmlvPC9hPiBpcyBt + eSBmYXZvcml0ZSB0b29sIGZvciBwcm9zcGVjdGluZy4gWW91IGNhbiBmaW5k + IGVtYWlsIGFkZHJlc3NlcyBvZiBwZW9wbGUgYXQgYW55IGNvbXBhbnkuIFlv + dSBjYW4gZmluZCBlbWFpbCBhZGRyZXNzZXMgb2YgdXNlcnMgb24gTGlua2Vk + SW4uwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAtYXBwbGUt + c3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90 + bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAnSGVsdmV0aWNh + IE5ldWUnLCBzYW5zLXNlcmlmOyI+QWZ0ZXIgeW91IGZpbmQgdGhvc2UgZW1h + aWxzLCB5b3UgY2FuIHVzZSBQcm9zcGVjdC5pbyB0byBtYW5hZ2UgeW91ciBw + cm9zcGVjdHMsIGFuZCBzZW5kIGVtYWlsczsgc2VlIHdoZW4gc29tZW9uZSBv + cGVucyB5b3VyIHByb3NwZWN0aW5nIGVtYWlsOyBhbmQgc3RvcCBzZW5kaW5n + IHRoZW0gZW1haWxzIHdoZW4gdGhleSBoYXZlIHNpZ25hbGVkIHRoYXQgdGhl + eSBhcmUgbm90IGludGVyZXN0ZWQuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZv + bnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQs + ICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2Fu + dGFyZWxsLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmOyI+SWYgeW91 + IGFyZSBidWlsZGluZyBhIHByb2R1Y3QsIHlvdSBoYXZlIHRvIGZpbmQgY3Vz + dG9tZXJzIHRvIHNlbGwgdG8uIEhvdyBkbyB5b3UgZmluZCBjdXN0b21lcnM/ + IEJ5IHByb3NwZWN0aW5nLsKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZh + bWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vn + b2UgVUknLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVs + bCwgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjsiPknigJl2ZSB0cmll + ZCBhIHRvbiBvZiBwcm9zcGVjdGluZyB0b29scyYjODIxMTs8YSBocmVmPSJo + dHRwOi8vUHJvc3BlY3QuaW8iPlByb3NwZWN0LmlvPC9hPiBpcyBteSBmYXZv + cml0ZS7CoDwvc3Bhbj5Qcm9zcGVjdC5pbyBpcyBvZmZlcmluZyBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgMjAlIG9mZiBmb3IgeW91 + ciBmaXJzdCAyIG1vbnRocy4gSnVzdCBtZW50aW9uIFNFRGFpbHkgdG8gPGEg + aHJlZj0iaHR0cDovL1Byb3NwZWN0LmlvIj5Qcm9zcGVjdC5pbzwvYT4gc3Vw + cG9ydCBhZnRlciB5b3Ugc2lnbiB1cC48L2Rpdj48YnIgLz4KPC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBob25vL3N5bXBob25vLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYv + c3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1vcmlnLXNpemU9IjI3 + Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0 + PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI2Njggc2l6 + ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3lt + cGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0PSIiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBzcG9uc29yaW5nIFNvZnR3 + YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9ubyBpcyBhIGN1c3RvbSBl + bmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBlbmdpbmVlcnMgdGFja2xl + IGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVhcm5pbmcgZnJvbSBlYWNo + IG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJlZj0iaHR0cDovL3N5bXBo + b25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20vc2VkYWlseTwvYT4uIFRo + YW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBzcG9uc29yIG9mIFNvZnR3 + YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1vc3QgYSB5ZWFyIG5vdy4g + WW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3MgdXMgdG8gZGVsaXZlciBj + b250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSByZWd1bGFyIGJhc2lzLjwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+ + Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0 + cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0hlYWx0aHdpdGhDb3Np + bWEubXAzIiBsZW5ndGg9IjQ3Mzc3NTQ2IiB0eXBlPSJhdWRpby9tcGVnIiAv + PgoJCTxpdHVuZXM6c3VidGl0bGU+QXV0b21hdGlvbiB3aWxsIG1ha2UgaGVh + bHRoY2FyZSBtb3JlIGVmZmljaWVudCBhbmQgbGVzcyBwcm9uZSB0byBlcnJv + ci4gVG9kYXksIG1hY2hpbmUgbGVhcm5pbmcgaXMgYWxyZWFkeSBiZWluZyB1 + c2VkIHRvIGRpYWdub3NlIGRpYWJldGljIHJldGlub3BhdGh5IGFuZCBpbXBy + b3ZlIHJhZGlvbG9neSBhY2N1cmFjeS4gU29tZWRheSwgYW4gQUkgYXNzaXN0 + YW50IHdpbGwgYXNzaXN0IGEgZG9jdG9yIGluIHdvcmtpbmcgdGhyb3VnaCBh + IGNvLi4uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkF1 + dG9tYXRpb24gd2lsbCBtYWtlIGhlYWx0aGNhcmUgbW9yZSBlZmZpY2llbnQg + YW5kIGxlc3MgcHJvbmUgdG8gZXJyb3IuIFRvZGF5LCBtYWNoaW5lIGxlYXJu + aW5nIGlzIGFscmVhZHkgYmVpbmcgdXNlZCB0byBkaWFnbm9zZSBkaWFiZXRp + YyByZXRpbm9wYXRoeSBhbmQgaW1wcm92ZSByYWRpb2xvZ3kgYWNjdXJhY3ku + IFNvbWVkYXksIGFuIEFJIGFzc2lzdGFudCB3aWxsIGFzc2lzdCBhIGRvY3Rv + ciBpbiB3b3JraW5nIHRocm91Z2ggYSBjb21wbGljYXRlZCBkaWZmZXJlbnRp + YWwgZGlhZ25vc2lzLiBPdXIgaG9zcGl0YWxzIGxvb2sgcm91Z2hseSB0aGUg + c2FtZSB0b2RheSBhcyB0aGV5IGRpZCB0ZW4geWVhcnMgYWdvLCBiZWNhdXNl + IGdldHRpbmcgbmV3IHRlY2hub2xvZ3kgaW50byB0aGUgaGFuZHMgb2YgZG9j + dG9ycyBhbmQgbnVyc2VzIGlzIGEgc2xvdyBwcm9jZXNz4oCTanVzdCBhc2tD + b250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVz + OmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1 + dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGlj + aXQ+CgkJPGl0dW5lczpkdXJhdGlvbj40OTowNjwvaXR1bmVzOmR1cmF0aW9u + Pgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9u + czoxIj4zODQ2PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0 + bGU+TGVuZGluZyBNYWNoaW5lIExlYXJuaW5nIHdpdGggT2ZlciBNZW5kZWxl + dml0Y2g8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA4LzMxL2xlbmRpbmctbWFjaGluZS1sZWFy + bmluZy13aXRoLW9mZXItbWVuZGVsZXZpdGNoLzwvbGluaz4NCgkJPHB1YkRh + dGU+VGh1LCAzMSBBdWcgMjAxNyAwOTowMDozMyArMDAwMDwvcHViRGF0ZT4N + CgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zODQzPC9ndWlkPg0KCQk8Y29tbWVu + dHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OC8zMS9sZW5kaW5nLW1hY2hpbmUtbGVhcm5pbmctd2l0aC1vZmVyLW1lbmRl + bGV2aXRjaC8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRS + c3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OC8zMS9sZW5kaW5nLW1hY2hpbmUtbGVhcm5pbmctd2l0aC1vZmVyLW1lbmRl + bGV2aXRjaC9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21t + ZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW01hY2hpbmUgTGVhcm5pbmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbRmludGVjaF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0xlbmRVcF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW2xvYW4gcmlzayBjYWxjdWxhdGlvbl1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW09mZXIgTWVuZGVsZXZpdGNoXV0+PC9jYXRlZ29y + eT4KCQk8ZGVzY3JpcHRpb24+TG9hbnMgZ2l2ZSBwZW9wbGUgbW9yZSBmaW5h + bmNpYWwgc2VjdXJpdHkuIElmIHBlb3BsZSBrbm93IHRoYXQgdGhleSBjYW4g + cmVjZWl2ZSBhIGxvYW4sIHRoZXkgd2lsbCBiZSBtb3JlIHdpbGxpbmcgdG8g + dGFrZSBpbnRlbGxpZ2VudCByaXNrcy4gQSBsb2FuIGNhbiBhbGxvdyBmb3Ig + YSBzaG9ydC10ZXJtIGludmVzdG1lbnQgdGhhdCBwYXlzIG9mZiBlbm91Z2gg + dG8ganVzdGlmeSB0aGUgaW50ZXJlc3QgcmF0ZSBvbiB0aGF0IGxvYW4uIEZv + ciB0aGUgbGVuZGVyLCBhIGxvYW4gY2FuIGJlIGEgZmFudGFzdGljIHJldHVy + biBvbiBjYXBpdGFs4oCTYXMgbG9uZyBhcyB0aGUgbGVuZGVlIGRvZXMgbm90 + IGRlZmF1bHQuIFdoZW4gYmFua3Mgd2VyZSB0aGUgcnVsZXJzIG9mIHRoZSZs + dDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVv + dDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA4LzMxL2xlbmRpbmctbWFjaGluZS1sZWFybmluZy13aXRo + LW9mZXItbWVuZGVsZXZpdGNoLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5n + Li4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29u + dGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5l + ci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXpl + PSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQv + YnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWdu + cmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXIt + cmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13 + aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzI2ODM3 + ODQwOTUvNjQ0YTc1N2ZhMDJlNzk1ZTQ2MWE3NWQ0Njc4M2U3MjRfNDAweDQw + MC5qcGVnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+TG9hbnMgZ2l2ZSBwZW9wbGUgbW9yZSBmaW5hbmNpYWwgc2Vj + dXJpdHkuIElmIHBlb3BsZSBrbm93IHRoYXQgdGhleSBjYW4gcmVjZWl2ZSBh + IGxvYW4sIHRoZXkgd2lsbCBiZSBtb3JlIHdpbGxpbmcgdG8gdGFrZSBpbnRl + bGxpZ2VudCByaXNrcy4gQSBsb2FuIGNhbiBhbGxvdyBmb3IgYSBzaG9ydC10 + ZXJtIGludmVzdG1lbnQgdGhhdCBwYXlzIG9mZiBlbm91Z2ggdG8ganVzdGlm + eSB0aGUgaW50ZXJlc3QgcmF0ZSBvbiB0aGF0IGxvYW4uIDwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Rm9yIHRoZSBs + ZW5kZXIsIGEgbG9hbiBjYW4gYmUgYSBmYW50YXN0aWMgcmV0dXJuIG9uIGNh + cGl0YWwmIzgyMTE7YXMgbG9uZyBhcyB0aGUgbGVuZGVlIGRvZXMgbm90IGRl + ZmF1bHQuIFdoZW4gYmFua3Mgd2VyZSB0aGUgcnVsZXJzIG9mIHRoZSBmaW5h + bmNpYWwgaW5mcmFzdHJ1Y3R1cmUsIG1vc3Qgb2YgdGhlbSB3b3VsZCBlcnIg + b24gdGhlIHNpZGUgb2YgY2F1dGlvbiB3aGVuIGl0IGNhbWUgdG8gbGVuZGlu + Zy4gVGhleSB3b3VsZCBhZGhlcmUgc3RyaWN0bHkgdG8gY3JlZGl0IHNjb3Jl + cywgYW5kIGEgd2FudGluZyBjdXN0b21lciB3b3VsZCBiZSBvdXQgb2YgbHVj + ayBpZiB0aGV5IGRpZCBub3QgaGF2ZSBhIGNyZWRpdCBzY29yZSwgb3IgaWYg + dGhlaXIgY3JlZGl0IHNjb3JlIGhhZCBnb3R0ZW4gbG93ZXIgdGhhbiBhY2Nl + cHRhYmxlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+TmV3ZXIgZmludGVjaCBjb21wYW5pZXMgYXJlIHRha2luZyBh + ZHZhbnRhZ2Ugb2YgZGF0YSBzb3VyY2VzIG90aGVyIHRoYW4gY3JlZGl0IHNj + b3Jlcy4gVGhleSBhcmUgdXNpbmcgbWFjaGluZSBsZWFybmluZyBpbiBjb25q + dW5jdGlvbiB3aXRoIHRoZXNlIG5ldyBkYXRhIHNvdXJjZXMgdG8gZmluZCB2 + aWFibGUgbGVuZGVlcyB3aG8gd291bGQgYmUgb3Zlcmxvb2tlZCBieSB0cmFk + aXRpb25hbCBpbnN0aXR1dGlvbnMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5PZmVyIE1lbmRlbGV2aXRjaCBpcyB0 + aGUgVlAgb2YgZGF0YSBzY2llbmNlIGF0IExlbmRVcC4gSGUgam9pbnMgdGhl + IHNob3cgdG8gZXhwbGFpbiB3aHkgbG9hbnMgYXJlIGltcG9ydGFudCwgaG93 + IExlbmRVcCBmdW5jdGlvbnMsIGFuZCB0aGUgbWFjaGluZSBsZWFybmluZyBz + eXN0ZW1zIHRoYXQgcG93ZXIgYW4gaW50ZWxsaWdlbnQgc3lzdGVtIG9mIGxl + bmRpbmcuPC9zcGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9lY3MuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3Zn + Xy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAl + MkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJz + ZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMx + MjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0 + JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJD + MTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2 + OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vy + dmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+RGV2ZWxvcGVycyBsb3ZlIERvY2tlciBDb250YWluZXJzIGJlY2F1 + c2UgdGhleSBnaXZlIGFwcGxpY2F0aW9ucyBwb3J0YWJpbGl0eSBhbmQgY29u + c2lzdGVuY3kgYWxsIHRoZSB3YXkgZnJvbSB5b3VyIGxhcHRvcCBpbnRvIHBy + b2R1Y3Rpb24uIEFtYXpvbiBFQzIgQ29udGFpbmVyIFNlcnZpY2UgZnJvbSBB + bWF6b24gV2ViIFNlcnZpY2VzIG1ha2VzIGl0IGVhc3kgdG8gcnVuIERvY2tl + ciBhcHBzIGluIHRoZSBjbG91ZC4gV2l0aCBBbWF6b24gRUMyIENvbnRhaW5l + ciBTZXJ2aWNlLCBkZXBsb3lpbmcsIG9wZXJhdGluZyBhbmQgc2NhbGluZyB5 + b3VyIGluZnJhc3RydWN0dXJlIGhhcHBlbnMgYXV0b21hdGljYWxseS4gQmVz + dCBvZiBhbGwsIHlvdSBvbmx5IHBheSBmb3IgdGhlIEFXUyBjb21wdXRlIGFu + ZCBzdG9yYWdlIHJlc291cmNlcyB5b3UgdXNlLiBXaXRoIEFtYXpvbiBFQzIg + Q29udGFpbmVyIFNlcnZpY2UsIHlvdSBjYW4gZm9jdXMgb24gYnVpbGRpbmcg + YXBwcywgbm90IG1hbmFnaW5nIHlvdXIgY29udGFpbmVyIGluZnJhc3RydWN0 + dXJlLiBMZWFybiBtb3JlIGF0IDxhIGhyZWY9Imh0dHA6Ly9lY3MuYXdzIj5l + Y3MuYXdzPC9hPiB0b2RheS48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYnVn + c25hZy5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3 + MjAiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9rd2xvZ29zL2J1Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9C + dWdzbmFnX2xvZ28ucG5nP2ZpdD0zMDEwJTJDODY2IiBkYXRhLW9yaWctc2l6 + ZT0iMzAxMCw4NjYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iQnVnc25hZ19sb2dvIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MzAwJTJDODYiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9C + dWdzbmFnX2xvZ28ucG5nP2ZpdD0xMDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTM3MjAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0z + MDAlMkM4NiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5w + bmc/cmVzaXplPTc2OCUyQzIyMSA3Njh3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTEwMjQlMkMyOTUg + MTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9yZXNpemU9NzIwJTJDMjA3IDcyMHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz93PTIxMDAgMjEwMHci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPkJ1Z3NuYWcgaW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJv + dWJsZXNob290aW5nIGVycm9ycyBieSBtYWtpbmcgaXQgbW9yZSBlbmpveWFi + bGUgYW5kIGxlc3MgdGltZS1jb25zdW1pbmcuIEZvciBleGFtcGxlLCB3aGVu + IGFuIGVycm9yIG9jY3VycywgeW91ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQg + dmlhIFNsYWNrLCBzZWUgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUg + ZXJyb3IsIGFuZCBpZGVudGlmeSB0aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0 + ZWQgdGhlIGNvZGUuIEJ1Z3NuYWfigJlzIGludGVncmF0aW9uIHdpdGggSmly + YSBhbmQgb3RoZXIgY29sbGFib3JhdGlvbiB0b29scyBtYWtlcyBpdCBlYXN5 + IHRvIGFzc2lnbiBhbmQgdHJhY2sgYnVncyBhcyB0aGV5IGFyZSBiZWluZyBm + aXhlZC7CoFRoZXJlIGlzIGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVz + IGZyZWUgZm9yIDYwIGRheXMgYXQgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVn + c25hZy5jb20vc2VkYWlseSI+YnVnc25hZy5jb20vc2VkYWlseTwvYT4uwqBE + ZXZlbG9wbWVudCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBp + bXByb3ZlIHNvZnR3YXJlIHF1YWxpdHkuwqBUbyBnZXQgc3RhcnRlZCwgZ28g + dG8gPGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseS8i + PmJ1Z3NuYWcuY29tL3NlZGFpbHkvPC9hPi4gR2V0IHVwIGFuZCBydW5uaW5n + IGluIHRocmVlIG1pbnV0ZXMuIEFpcmJuYiwgTHlmdCwgYW5kIFNob3BpZnkg + YWxsIHVzZSBCdWdzbmFnIHRvIG1vbml0b3IgYXBwbGljYXRpb24gZXJyb3Jz + LiDCoDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25l + cGxhdGZvcm0iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRh + LXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20va3dsb2dvcy9waXZvdGFsLWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1z + aXplPSIyNjEwLDEwODAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iUGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAw + JTJDMTI0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1Pbkxp + Z2h0LnBuZz9yZXNpemU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/ + cmVzaXplPTMwMCUyQzEyNCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTEwMjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + NzIwJTJDMjk4IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PlNwcmluZyBGcmFtZXdvcmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9u + bWVudCBmb3IgYnVpbGRpbmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBE + ZWNlbWJlciA0dGgtN3RoLCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nwcmlu + Z29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWlu + ZyB0byBTYW4gRnJhbmNpc2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBj + b25mZXJlbmNlIHdoZXJlIGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBs + b3JlIHRoZSBsYXRlc3QgdGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNv + c3lzdGVtIGFuZCBiZXlvbmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0 + Zm9ybSBpbmNsdWRlIEVyaWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQ + IHRoZW9yZW0pLCBWYXVnaG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2 + ZWx5IGFib3V0IERvbWFpbiBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhv + dWdodCBsZWFkZXJzIGluIHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdP + bmUgUGxhdGZvcm0gaXMgdGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhv + c2Ugd2hvIGJ1aWxkLCBkZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNv + ZnR3YXJlLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMg + Y2FuIHNpZ24gdXAgd2l0aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAw + IGFuZCByZWNlaXZlICQxMDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9y + bSA8YSBocmVmPSJodHRwczovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8v + ZWhvbWUvczFwL3JlZ2lzdHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4g + SSB3aWxsIGFsc28gYmUgYXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZl + bG9wbWVudHMgaW4gdGhlIGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4g + bWUgRGVjZW1iZXIgNHRoLTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2Jp + dC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9h + PiBjb25mZXJlbmNlLCBhbmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEw + MCBmb3IgJDEwMCBvZmYgeW91ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBo + b25vL3N5bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0 + YS1vcmlnLXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9z + eW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0 + PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBz + cG9uc29yaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9u + byBpcyBhIGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBl + bmdpbmVlcnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVh + cm5pbmcgZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJl + Zj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20v + c2VkYWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBz + cG9uc29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1v + c3QgYSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3Mg + dXMgdG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSBy + ZWd1bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5j + bG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5 + L0xlbmR1cC5tcDMiIGxlbmd0aD0iNDQ4ODA1NzUiIHR5cGU9ImF1ZGlvL21w + ZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5Mb2FucyBnaXZlIHBlb3BsZSBt + b3JlIGZpbmFuY2lhbCBzZWN1cml0eS4gSWYgcGVvcGxlIGtub3cgdGhhdCB0 + aGV5IGNhbiByZWNlaXZlIGEgbG9hbiwgdGhleSB3aWxsIGJlIG1vcmUgd2ls + bGluZyB0byB0YWtlIGludGVsbGlnZW50IHJpc2tzLiBBIGxvYW4gY2FuIGFs + bG93IGZvciBhIHNob3J0LXRlcm0gaW52ZXN0bWVudCB0aGF0IHBheXMgb2Zm + IGVub3VnaCB0byBqdXN0aWZ5IHRoZSBpbnRlcmVzdCByYXRlIG9uIHRoYXQg + bG9hbi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+TG9h + bnMgZ2l2ZSBwZW9wbGUgbW9yZSBmaW5hbmNpYWwgc2VjdXJpdHkuIElmIHBl + b3BsZSBrbm93IHRoYXQgdGhleSBjYW4gcmVjZWl2ZSBhIGxvYW4sIHRoZXkg + d2lsbCBiZSBtb3JlIHdpbGxpbmcgdG8gdGFrZSBpbnRlbGxpZ2VudCByaXNr + cy4gQSBsb2FuIGNhbiBhbGxvdyBmb3IgYSBzaG9ydC10ZXJtIGludmVzdG1l + bnQgdGhhdCBwYXlzIG9mZiBlbm91Z2ggdG8ganVzdGlmeSB0aGUgaW50ZXJl + c3QgcmF0ZSBvbiB0aGF0IGxvYW4uIEZvciB0aGUgbGVuZGVyLCBhIGxvYW4g + Y2FuIGJlIGEgZmFudGFzdGljIHJldHVybiBvbiBjYXBpdGFs4oCTYXMgbG9u + ZyBhcyB0aGUgbGVuZGVlIGRvZXMgbm90IGRlZmF1bHQuIFdoZW4gYmFua3Mg + d2VyZSB0aGUgcnVsZXJzIG9mIHRoZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0 + dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGlj + aXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9u + PjQ2OjMwPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20t + d29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM4NDM8L3Bvc3QtaWQ+CQk8 + L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5JbmR1c3RyaWFsIElvVCB3aXRo + IEpheXNvbiBEZWxhbmNleTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMzAvaW5kdXN0cmlh + bC1pb3Qtd2l0aC1qYXlzb24tZGVsYW5jZXkvPC9saW5rPg0KCQk8cHViRGF0 + ZT5XZWQsIDMwIEF1ZyAyMDE3IDA5OjAwOjUxICswMDAwPC9wdWJEYXRlPg0K + CQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLz9wPTM4NDU8L2d1aWQ+DQoJCTxjb21tZW50 + cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4 + LzMwL2luZHVzdHJpYWwtaW90LXdpdGgtamF5c29uLWRlbGFuY2V5LyNyZXNw + b25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMzAvaW5kdXN0cmlh + bC1pb3Qtd2l0aC1qYXlzb24tZGVsYW5jZXkvZmVlZC88L3dmdzpjb21tZW50 + UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+DQoJ + CTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91ZCBFbmdpbmVlcmluZ11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtlbnRlcnByaXNlIElvVF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dFIFByZWRpeF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2luZHVzdHJpYWwg + SW9UXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbaW50ZXJu + ZXQgb2YgdGhpbmdzIGRhdGFdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtKYXlzb24gRGVsYW5jZXldXT48L2NhdGVnb3J5PgoJCTxkZXNj + cmlwdGlvbj5TZW5zb3JzIGFyZSBiZWluZyBhdHRhY2hlZCB0byB0cmFpbnMs + IGxpZ2h0cG9zdHMsIGFuZCBhbGwga2luZHMgb2YgZmFjdG9yeSBlcXVpcG1l + bnQuIEluZHVzdHJpYWwgbWFjaGluZXJ5IGdpdmVzIG9mZiBoaWdoIHZvbHVt + ZXMgb2YgZGF0YSB0aGF0IGNhbiBiZSBjYXB0dXJlZCwgc3RvcmVkLCBhbmQg + cHJvY2Vzc2VkIHdpdGggbWFjaGluZSBsZWFybmluZyBpbiBvcmRlciB0byBp + bXByb3ZlIHdvcmtmbG93cyBhbmQgZW5zdXJlIHNhZmV0eS4gSmF5c29uIERl + bGFuY2V5IHdvcmtzIGF0IEdFLCB3aGljaCBpcyBidWlsZGluZyB0b29scyBh + bmQgc3lzdGVtcyB0byBtYW5hZ2UgbGFyZ2UgSW9UIGRlcGxveW1lbnRzLiBU + aGUgZnVsbCBzdGFjayBmb3IgZW50ZXJwcmlzZSBJb1QgaW52b2x2ZXMgdG9v + bHMgZm9yIG1hbmFnaW5nIHRob3VzYW5kcyBvZiBzZW5zb3JzOyBkYXRhYmFz + ZXMgZm9yJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVh + ZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDgvMzAvaW5kdXN0cmlhbC1pb3Qtd2l0aC1q + YXlzb24tZGVsYW5jZXkvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4m + bHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1h + bmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3 + NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdo + dCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRp + dXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRo + OiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL21lZGlhLmxpY2RuLmNvbS9tcHIvbXByL3Nocmlua25wXzIwMF8y + MDAvcC84LzAwNS8wOWUvMzY3LzEyNzMzMzguanBnP3Jlc2l6ZT0xNzUlMkMx + NzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2Vuc29ycyBhcmUg + YmVpbmcgYXR0YWNoZWQgdG8gdHJhaW5zLCBsaWdodHBvc3RzLCBhbmQgYWxs + IGtpbmRzIG9mIGZhY3RvcnkgZXF1aXBtZW50LiBJbmR1c3RyaWFsIG1hY2hp + bmVyeSBnaXZlcyBvZmYgaGlnaCB2b2x1bWVzIG9mIGRhdGEgdGhhdCBjYW4g + YmUgY2FwdHVyZWQsIHN0b3JlZCwgYW5kIHByb2Nlc3NlZCB3aXRoIG1hY2hp + bmUgbGVhcm5pbmcgaW4gb3JkZXIgdG8gaW1wcm92ZSB3b3JrZmxvd3MgYW5k + IGVuc3VyZSBzYWZldHkuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5KYXlzb24gRGVsYW5jZXkgd29ya3MgYXQgR0Us + IHdoaWNoIGlzIGJ1aWxkaW5nIHRvb2xzIGFuZCBzeXN0ZW1zIHRvIG1hbmFn + ZSBsYXJnZSBJb1QgZGVwbG95bWVudHMuIFRoZSBmdWxsIHN0YWNrIGZvciBl + bnRlcnByaXNlIElvVCBpbnZvbHZlcyB0b29scyBmb3IgbWFuYWdpbmcgdGhv + dXNhbmRzIG9mIHNlbnNvcnM7IGRhdGFiYXNlcyBmb3Igc3RvcmluZyBhbGwg + dGhlIGRhdGEgdGhhdCBpcyBjb21pbmcgb2ZmIG9mIHRoZXNlIGRldmljZXM7 + IGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uIHN5c3RlbXMgZm9y + IGVuZm9yY2luZyBzZWN1cml0eS4gVGhlcmUgaXMgYSBsb3QgdG8gZG8uPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5J + biB0aGlzIGVwaXNvZGUsIEpheXNvbiBzdXJ2ZXlzIHNvbWUgb2YgdGhlIHRl + Y2hub2xvZ3kgR0UgaXMgYnVpbGRpbmcgd2l0aCBQcmVkaXgsIGl0cyBpbmR1 + c3RyaWFsIElvVCBwbGF0Zm9ybS4gSGUgYWxzbyB0YWxrZWQgYWJvdXQgc29t + ZSBvZiB0aGUgbGFyZ2Ugc2NhbGUgSW9UIGRlcGxveW1lbnRzIGhlIGhhcyBz + ZWVuLjwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + Oi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjM4MTUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2dyYW1tYXRlY2gvZ3Jh + bW1hdGVjaC1sb2dvbC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUl + MkMzMDAiIGRhdGEtb3JpZy1zaXplPSI4MjUsMzAwIiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkdyYW1tYXRlY2gt + TG9nb0wiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNo + LUxvZ29MLmpwZz9maXQ9MzAwJTJDMTA5IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/Zml0PTgyNSUyQzMwMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + ODE1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUyQzEwOSIg + YWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9H + cmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9MzAwJTJDMTA5IDMwMHcsIGh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/cmVzaXplPTc2OCUyQzI3OSA3Njh3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03MjAlMkMy + NjIgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz93PTgyNSA4MjV3IiBzaXplcz0iKG1heC13aWR0aDog + MzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5HcmFtbWFU + ZWNoIENvZGVTb25hciBoZWxwcyBkZXZlbG9wbWVudCB0ZWFtcyBpbXByb3Zl + IGNvZGUgcXVhbGl0eSB3aXRoIHN0YXRpYyBhbmFseXNpcy4gSXQgaGVscHMg + ZmxhZyBpc3N1ZXMgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3Ms + IGFsbG93aW5nIGRldmVsb3BlcnMgdG8gcmVsZWFzZSBiZXR0ZXIgY29kZSBm + YXN0ZXIuwqBDb2RlU29uYXIgY2FuIGVhc2lseSBiZSBpbnRlZ3JhdGVkIGlu + dG8gYW55IGRldmVsb3BtZW50IHByb2Nlc3MuIENvZGVTb25hciBwZXJmb3Jt + cyBhZHZhbmNlZCBzdGF0aWMgYW5hbHlzaXMgb2YgQywgQysrLCBKYXZhLCBh + bmQgZXZlbiByYXcgYmluYXJ5IGNvZGUuIENvZGVTb25hciBwZXJmb3JtcyB1 + bmlxdWUgZGF0YWZsb3cgYW5kIHN5bWJvbGljIGV4ZWN1dGlvbiBhbmFseXNp + cyB0byBhZ2dyZXNzaXZlbHkgc2NhbiBmb3IgcHJvYmxlbXMgaW4geW91ciBj + b2RlLsKgSnVzdCBsaWtlIGJhdHRsZXNoaXBzIHVzZSBzb25hciB0byBkZXRl + Y3Qgb2JqZWN0cyBkZWVwIHVuZGVyd2F0ZXIsIGVuZ2luZWVycyB1c2UgQ29k + ZVNvbmFyIHRvIGRldGVjdCBzdWJ0bGUgcHJvYmxlbXMgZGVlcCB3aXRoaW4g + dGhlaXIgY29kZS7CoEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0 + ZWNoLmNvbS9zZWRhaWx5Ij5nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5PC9h + PiB0byBnZXQgeW91ciBmcmVlIDMwLWRheSB0cmlhbCwgZXhjbHVzaXZlbHkg + Zm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVyc8KgYW5k + IHVubGVhc2ggdGhlIHBvd2VyIG9mIGFkdmFuY2VkIHN0YXRpYyBhbmFseXNp + cy48YnIgLz4KPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJp + bmdvbmVwbGF0Zm9ybSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3NTMi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL3Bpdm90YWwtbG9nby9waXZvdGFsLW9ubGlnaHQv + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0yNjEwJTJDMTA4MCIgZGF0YS1v + cmlnLXNpemU9IjI2MTAsMTA4MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJQaXZvdGFsLU9uTGlnaHQiIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2Zp + dD0zMDAlMkMxMjQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0xMDI0JTJD + NDI0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3NTMgc2l6ZS1tZWRp + dW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0 + LnBuZz9yZXNpemU9MzAwJTJDMTI0IDMwMHcsIGh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzY4JTJD + MzE4IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3Rh + bC1PbkxpZ2h0LnBuZz9yZXNpemU9MTAyNCUyQzQyNCAxMDI0dywgaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jl + c2l6ZT03MjAlMkMyOTggNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3c9MjEwMCAyMTAwdyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+U3ByaW5nIEZyYW1ld29yayBnaXZlcyBkZXZlbG9wZXJzIGFuIGVu + dmlyb25tZW50IGZvciBidWlsZGluZyBjbG91ZCBuYXRpdmUgcHJvamVjdHMu + IE9uIERlY2VtYmVyIDR0aC03dGgsIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkv + c3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gaXMg + Y29taW5nIHRvIFNhbiBGcmFuY2lzY28uIFNwcmluZ09uZSBQbGF0Zm9ybSBp + cyBhIGNvbmZlcmVuY2Ugd2hlcmUgZGV2ZWxvcGVycyBjb25ncmVnYXRlIHRv + IGV4cGxvcmUgdGhlIGxhdGVzdCB0ZWNobm9sb2dpZXMgaW4gdGhlIFNwcmlu + ZyBlY29zeXN0ZW0gYW5kIGJleW9uZC4gU3BlYWtlcnMgYXQgU3ByaW5nT25l + IFBsYXRmb3JtIGluY2x1ZGUgRXJpYyBCcmV3ZXIgKHdobyBjcmVhdGVkIHRo + ZSBDQVAgdGhlb3JlbSksIFZhdWdobiBWZXJub24gKHdobyB3cml0ZXMgZXh0 + ZW5zaXZlbHkgYWJvdXQgRG9tYWluIERyaXZlbiBEZXNpZ24pLCBhbmQgbWFu + eSB0aG91Z2h0IGxlYWRlcnMgaW4gdGhlIFNwcmluZyBFY29zeXN0ZW0uIFNw + cmluZ09uZSBQbGF0Zm9ybSBpcyB0aGUgcHJlbWllciBjb25mZXJlbmNlIGZv + ciB0aG9zZSB3aG8gYnVpbGQsIGRlcGxveSwgYW5kIHJ1biBjbG91ZC1uYXRp + dmUgc29mdHdhcmUuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3Rl + bmVycyBjYW4gc2lnbiB1cCB3aXRoIHRoZSBkaXNjb3VudCBjb2RlIFNFRGFp + bHkxMDAgYW5kIHJlY2VpdmUgJDEwMCBvZmYgb2YgYSBTcHJpbmcgT25lIFBs + YXRmb3JtIDxhIGhyZWY9Imh0dHBzOi8vMjAxNy5zcHJpbmdvbmVwbGF0Zm9y + bS5pby9laG9tZS9zMXAvcmVnaXN0cmF0aW9uIj5jb25mZXJlbmNlIHBhc3M8 + L2E+LiBJIHdpbGwgYWxzbyBiZSBhdCBTcHJpbmdPbmUgcmVwb3J0aW5nIG9u + IGRldmVsb3BtZW50cyBpbiB0aGUgY2xvdWQgbmF0aXZlIGVjb3N5c3RlbS4g + Sm9pbiBtZSBEZWNlbWJlciA0dGgtN3RoIGF0IHRoZSA8YSBocmVmPSJodHRw + Oi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZv + cm08L2E+IGNvbmZlcmVuY2UsIGFuZCB1c2UgZGlzY291bnQgY29kZSBTRURh + aWx5MTAwIGZvciAkMTAwIG9mZiB5b3VyIGNvbmZlcmVuY2UgcGFzcy4gPC9k + aXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2RhdGFkb2ciPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMjM2 + IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20va3dsb2dvcy9kYXRhZG9nL2RhdGFkb2dfbG9nby8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFk + b2dfbG9nby5wbmc/Zml0PTEwMjQlMkM1MTIiIGRhdGEtb3JpZy1zaXplPSIx + MDI0LDUxMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJkYXRhZG9nX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0zMDAlMkMxNTAiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRh + ZG9nX2xvZ28ucG5nP2ZpdD0xMDI0JTJDNTEyIiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTMyMzYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAl + MkMxNTAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIDMwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBu + Zz9yZXNpemU9NzY4JTJDMzg0IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz93PTEwMjQgMTAyNHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNp + emU9NzIwJTJDMzYwIDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPllvdXIgZGV2aWNlcyBj + YW4gbGl2ZSBpbiByZW1vdGUgZW52aXJvbm1lbnRzIHdoZXJlIHVwdGltZSBp + cyBwYXJhbW91bnQuIFRoZXkgY29tbXVuaWNhdGUgd2l0aCBhcHBsaWNhdGlv + bnMgc2l0dGluZyBvbiBsYXllcnMgb2YgZHluYW1pYyBpbmZyYXN0cnVjdHVy + ZSBhbmQgc3VwcG9ydGluZyBzZXJ2aWNlcy4gRGF0YWRvZyBicmluZ3MgeW91 + IHZpc2liaWxpdHkgaW50byBldmVyeSBwYXJ0IG9mIHlvdXIgaW5mcmFzdHJ1 + Y3R1cmUsIHBsdXMgQVBNIGZvciBtb25pdG9yaW5nIHlvdXIgYXBwbGljYXRp + b24mIzgyMTc7cyBwZXJmb3JtYW5jZS4gRGFzaGJvYXJkaW5nLCBjb2xsYWJv + cmF0aW9uIHRvb2xzLCBhbmQgYWxlcnRzIGxldCB5b3UgZGV2ZWxvcCB5b3Vy + IG93biB3b3JrZmxvdyBmb3Igb2JzZXJ2YWJpbGl0eSBhbmQgaW5jaWRlbnQg + cmVzcG9uc2UuIERhdGFkb2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5IHdpdGgg + YWxsIG9mIHlvdXIgYXBwcyBhbmQgc3lzdGVtcywgZnJvbSBzbWFydCBzZW5z + b3JzIGFuZCBiYXJlIG1ldGFsIHRvIEFtYXpvbiBXZWIgU2VydmljZXMsIHNv + IHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy7CoCBHbyB0b8Kg + PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + ZGF0YWRvZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEt + c2FmZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3VybD9o + bD1lbiZhbXA7cT1odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9kYXRhZG9nJmFtcDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNTA0MTQyNjk4 + NDEyMDAwJmFtcDt1c2c9QUZRakNOR3RqVllscERIZzZ2M1FEQmNIS3hPaGZZ + LW5zZyI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS88d2JyPjwvd2Jy + PmRhdGFkb2c8L2E+wqB0byBnZXQgc3RhcnRlZCB3aXRoIERhdGFkb2cgYW5k + IGdldCBhIGZyZWUgdC1zaGlydC4gV2l0aCBmdWxsIG9ic2VydmFiaWxpdHks + IGRpc3RyaWJ1dGVkIHRyYWNpbmcsIGFuZCBjdXN0b21pemFibGUgdmlzdWFs + aXphdGlvbnMsIERhdGFkb2cgaXMgbG92ZWQgYW5kIHRydXN0ZWQgYnkgdGhv + dXNhbmRzIG9mIGVudGVycHJpc2VzLCBpbmNsdWRpbmcgU2Ftc3VuZyBTbWFy + dFRoaW5ncywgUGVsb3RvbiBDeWNsZSwgU2FsZXNmb3JjZSwgUGFnZXJkdXR5 + LCBhbmQgWmVuZGVzay4gSWYgeW91IGhhdmVuJiM4MjE3O3QgdHJpZWQgRGF0 + YWRvZyBhdCB5b3VyIGNvbXBhbnkmIzgyMTE7b3Igb24geW91ciBzaWRlIHBy + b2plY3QmIzgyMTE7Z28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiBy + ZWw9Im5vb3BlbmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93 + d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZyZhbXA7c291cmNlPWdtYWls + JmFtcDt1c3Q9MTUwNDE0MjY5ODQxMjAwMCZhbXA7dXNnPUFGUWpDTkd0alZZ + bHBESGc2djNRREJjSEt4T2hmWS1uc2ciPnNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vPHdicj48L3dicj5kYXRhZG9nPC9hPsKgdG8gZ2V0IGEgZnJl + ZSB0LXNoaXJ0IGFuZCBzdXBwb3J0IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERh + aWx5LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9w + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3N5 + bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1w + aG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0 + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3lt + cGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9Mjcy + JTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1 + bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9u + by5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9tIGVuZ2lu + ZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNrbGUgYmln + IHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVhY2ggb3Ro + ZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3ltcGhvbm8u + Y29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtz + IHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93LiBZb3Vy + IGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVyIGNvbnRl + bnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+ + PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KXV0+ + PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8v + dHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvSW5kdXN0cmlhbElvVC5tcDMi + IGxlbmd0aD0iMTAzNjM3MDgwIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+U2Vuc29ycyBhcmUgYmVpbmcgYXR0YWNoZWQgdG8g + dHJhaW5zLCBsaWdodHBvc3RzLCBhbmQgYWxsIGtpbmRzIG9mIGZhY3Rvcnkg + ZXF1aXBtZW50LiBJbmR1c3RyaWFsIG1hY2hpbmVyeSBnaXZlcyBvZmYgaGln + aCB2b2x1bWVzIG9mIGRhdGEgdGhhdCBjYW4gYmUgY2FwdHVyZWQsIHN0b3Jl + ZCwgYW5kIHByb2Nlc3NlZCB3aXRoIG1hY2hpbmUgbGVhcm5pbmcgaW4gb3Jk + ZXIgdG8gaW1wcm92ZSB3b3JrZmxvd3MgYW5kIGVuc3VyZSBzYWZldHkuLi4u + PC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlNlbnNvcnMg + YXJlIGJlaW5nIGF0dGFjaGVkIHRvIHRyYWlucywgbGlnaHRwb3N0cywgYW5k + IGFsbCBraW5kcyBvZiBmYWN0b3J5IGVxdWlwbWVudC4gSW5kdXN0cmlhbCBt + YWNoaW5lcnkgZ2l2ZXMgb2ZmIGhpZ2ggdm9sdW1lcyBvZiBkYXRhIHRoYXQg + Y2FuIGJlIGNhcHR1cmVkLCBzdG9yZWQsIGFuZCBwcm9jZXNzZWQgd2l0aCBt + YWNoaW5lIGxlYXJuaW5nIGluIG9yZGVyIHRvIGltcHJvdmUgd29ya2Zsb3dz + IGFuZCBlbnN1cmUgc2FmZXR5LiBKYXlzb24gRGVsYW5jZXkgd29ya3MgYXQg + R0UsIHdoaWNoIGlzIGJ1aWxkaW5nIHRvb2xzIGFuZCBzeXN0ZW1zIHRvIG1h + bmFnZSBsYXJnZSBJb1QgZGVwbG95bWVudHMuIFRoZSBmdWxsIHN0YWNrIGZv + ciBlbnRlcnByaXNlIElvVCBpbnZvbHZlcyB0b29scyBmb3IgbWFuYWdpbmcg + dGhvdXNhbmRzIG9mIHNlbnNvcnM7IGRhdGFiYXNlcyBmb3JDb250aW51ZSBy + ZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5T + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8 + aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0 + dW5lczpkdXJhdGlvbj41Mzo1OTwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1p + ZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zODQ1 + PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+U2FsZXMg + U29mdHdhcmUgd2l0aCBKZWFuLUJhcHRpc3RlIEVzY295ZXo8L3RpdGxlPg0K + CQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA4LzI5L3NhbGVzLXNvZnR3YXJlLXdpdGgtamVhbi1iYXB0aXN0ZS1l + c2NveWV6LzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAyOSBBdWcgMjAxNyAw + OTowMDozOSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/ + cD0zODQ0PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yOS9zYWxlcy1zb2Z0d2FyZS13 + aXRoLWplYW4tYmFwdGlzdGUtZXNjb3llei8jY29tbWVudHM8L2NvbW1lbnRz + Pg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wOC8yOS9zYWxlcy1zb2Z0d2FyZS13aXRoLWpl + YW4tYmFwdGlzdGUtZXNjb3llei9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJ + CTxzbGFzaDpjb21tZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0RhdGFdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbZW1haWwgZGF0YV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0plYW4tQmFwdGlzZSBFc2NveWV6XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUHJvc3BlY3QuaW9dXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtwcm9zcGVjdGluZ11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3NhbGVzIHNvZnR3YXJlXV0+PC9j + YXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+TW9zdCBwcm9kdWN0cyBkbyBub3Qg + c2VsbCB0aGVtc2VsdmVzLiBTYWxlc3Blb3BsZSBicmlkZ2UgdGhlIGdhcCBi + ZXR3ZWVuIGEgcHJvZHVjdCBjcmVhdGlvbiBhbmQgYSBjdXN0b21lciB3aG8g + cHVyY2hhc2VzIGl0LiBQZW9wbGUgY2FuIG1ha2UgYSBnb29kIGxpdmluZyBv + biB0aGUgaW50ZXJuZXQgc2VsbGluZyBuaWNoZSBwcm9kdWN0c+KAk2lmIHRo + ZXkgY2FuIGZpbmQgdGhlaXIgY3VzdG9tZXJzLiBUaGUgcHJvY2VzcyBvZiB0 + YWtpbmcgYSBsYXJnZSBncm91cCBvZiBwb3RlbnRpYWwgY3VzdG9tZXJzIGFu + ZCBuYXJyb3dpbmcgaXQgZG93biB0byBvbmx5IHRoZSBzdWJzZXQgb2YgdGhv + c2UgY3VzdG9tZXJzIHdobyB3aWxsIGJ1eSB5b3VyIHByb2R1Y3QgaXMga25v + d24gYXMgdGhlIHNhbGVzIGZ1bm5lbC4gVGhlJmx0O3AmZ3Q7Jmx0O2EgY2xh + c3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMjkv + c2FsZXMtc29mdHdhcmUtd2l0aC1qZWFuLWJhcHRpc3RlLWVzY295ZXovJnF1 + b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0 + OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFb + PHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1i + dXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1i + dXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVy + bnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1h + Z2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAx + cHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdo + dDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3Byb3NwZWN0Lmlv + L2Fzc2V0cy90ZWFtL2piLTdiMmZhZTc1NjAxYmVjYzlmNTI2YzA0ZjU0OTVk + ODllMjNmOWI4ZjNiZGYzNDkyNmUyZmRlZTA0ZjFkYzcwYjUuanBnP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+TW9z + dCBwcm9kdWN0cyBkbyBub3Qgc2VsbCB0aGVtc2VsdmVzLiBTYWxlc3Blb3Bs + ZSBicmlkZ2UgdGhlIGdhcCBiZXR3ZWVuIGEgcHJvZHVjdCBjcmVhdGlvbiBh + bmQgYSBjdXN0b21lciB3aG8gcHVyY2hhc2VzIGl0Ljwvc3Bhbj48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+UGVvcGxlIGNhbiBt + YWtlIGEgZ29vZCBsaXZpbmcgb24gdGhlIGludGVybmV0IHNlbGxpbmcgbmlj + aGUgcHJvZHVjdHMmIzgyMTE7aWYgdGhleSBjYW4gZmluZCB0aGVpciBjdXN0 + b21lcnMuIFRoZSBwcm9jZXNzIG9mIHRha2luZyBhIGxhcmdlIGdyb3VwIG9m + IHBvdGVudGlhbCBjdXN0b21lcnMgYW5kIG5hcnJvd2luZyBpdCBkb3duIHRv + IG9ubHkgdGhlIHN1YnNldCBvZiB0aG9zZSBjdXN0b21lcnMgd2hvIHdpbGwg + YnV5IHlvdXIgcHJvZHVjdCBpcyBrbm93biBhcyB0aGUgc2FsZXMgZnVubmVs + LiBUaGUgc2FsZXMgZnVubmVsIGNvbnNpc3RzIG9mIG11bHRpcGxlIHN0YWdl + cyYjODIxMTt0aGUgZmlyc3Qgb2Ygd2hpY2ggaXMga25vd24gYXMg4oCccHJv + c3BlY3RpbmcuJiM4MjIxOzwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+QSBzYWxlc3BlcnNvbiBkb2luZyBwcm9zcGVj + dGluZyBpcyBjYXN0aW5nIGEgd2lkZSBuZXQsIHNlbmRpbmcgZW1haWxzIHRv + IGh1bmRyZWRzIG9yIHRob3VzYW5kcyBvZiBwZW9wbGUsIGxvb2tpbmcgZm9y + IGFueW9uZSB3aG8gaGFzIHNvbWUgc21hbGwgcHJvYmFiaWxpdHkgb2YgYmVp + bmcgaW50ZXJlc3RlZC4gV2l0aG91dCBhIHRvb2wgZm9yIHByb3NwZWN0aW5n + LCB0aGUgcHJvY2VzcyBjYW4gYmUgdmVyeSBsYWJvciBpbnRlbnNpdmUuIDwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + SmVhbi1CYXB0aXNlIEVzY295ZXogaXMgdGhlIENUTyBhdCBQcm9zcGVjdC5p + bywgYSB0b29sIGZvciBzYWxlcyBwcm9zcGVjdGluZy4gSW4gdGhpcyBlcGlz + b2RlLCB3ZSBleHBsb3JlZCB0aGUgcHJvY2VzcyBvZiBidWlsZGluZyBQcm9z + cGVjdC5pbywgZnJvbSB0aGUgaGlnaCBsZXZlbCBwcm9kdWN0IGRlc2lnbiB0 + byB0aGUgZW5naW5lZXJpbmcgZGV0YWlscyBvZiBob3cgaXQgaXMgaW1wbGVt + ZW50ZWQuIEkgdXNlIFByb3NwZWN0LmlvIHRvIHNlbGwgdHdvIGRpZmZlcmVu + dCBwcm9kdWN0cyBzbyBpdCB3YXMgZW5qb3lhYmxlIHRvIGZpbmQgb3V0IGhv + dyBvbmUgb2YgbXkgZmF2b3JpdGUgdG9vbHMgd29ya3MuPC9zcGFuPjwvcD4K + PGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9lY3MuYXdzIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvYXdz + L2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3ZnXy8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZp + Y2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAlMkM4MDAiIGRhdGEtb3JpZy1z + aXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18i + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMxMjAiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDEwIiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAiIGFsdD0iIiBzcmNzZXQ9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNf + TG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5z + dmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2OHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBu + Zz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jl + c2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGV2ZWxvcGVycyBs + b3ZlIERvY2tlciBDb250YWluZXJzIGJlY2F1c2UgdGhleSBnaXZlIGFwcGxp + Y2F0aW9ucyBwb3J0YWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgYWxsIHRoZSB3 + YXkgZnJvbSB5b3VyIGxhcHRvcCBpbnRvIHByb2R1Y3Rpb24uIEFtYXpvbiBF + QzIgQ29udGFpbmVyIFNlcnZpY2UgZnJvbSBBbWF6b24gV2ViIFNlcnZpY2Vz + IG1ha2VzIGl0IGVhc3kgdG8gcnVuIERvY2tlciBhcHBzIGluIHRoZSBjbG91 + ZC4gV2l0aCBBbWF6b24gRUMyIENvbnRhaW5lciBTZXJ2aWNlLCBkZXBsb3lp + bmcsIG9wZXJhdGluZyBhbmQgc2NhbGluZyB5b3VyIGluZnJhc3RydWN0dXJl + IGhhcHBlbnMgYXV0b21hdGljYWxseS4gQmVzdCBvZiBhbGwsIHlvdSBvbmx5 + IHBheSBmb3IgdGhlIEFXUyBjb21wdXRlIGFuZCBzdG9yYWdlIHJlc291cmNl + cyB5b3UgdXNlLiBXaXRoIEFtYXpvbiBFQzIgQ29udGFpbmVyIFNlcnZpY2Us + IHlvdSBjYW4gZm9jdXMgb24gYnVpbGRpbmcgYXBwcywgbm90IG1hbmFnaW5n + IHlvdXIgY29udGFpbmVyIGluZnJhc3RydWN0dXJlLiBMZWFybiBtb3JlIGF0 + IDxhIGhyZWY9Imh0dHA6Ly9lY3MuYXdzIj5lY3MuYXdzPC9hPiB0b2RheS48 + L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRm + b3JtIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzc1MyIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3 + bG9nb3MvcGl2b3RhbC1sb2dvL3Bpdm90YWwtb25saWdodC8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/Zml0PTI2MTAlMkMxMDgwIiBkYXRhLW9yaWctc2l6ZT0i + MjYxMCwxMDgwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9IlBpdm90YWwtT25MaWdodCIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTMwMCUyQzEy + NCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTEwMjQlMkM0MjQiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzc1MyBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5w + bmc/cmVzaXplPTMwMCUyQzEyNCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6 + ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03NjglMkMzMTggNzY4dywg + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQu + cG5nP3Jlc2l6ZT0xMDI0JTJDNDI0IDEwMjR3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTcyMCUy + QzI5OCA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90 + YWwtT25MaWdodC5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5TcHJp + bmcgRnJhbWV3b3JrIGdpdmVzIGRldmVsb3BlcnMgYW4gZW52aXJvbm1lbnQg + Zm9yIGJ1aWxkaW5nIGNsb3VkIG5hdGl2ZSBwcm9qZWN0cy4gT24gRGVjZW1i + ZXIgNHRoLTd0aCwgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVw + bGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBpcyBjb21pbmcgdG8g + U2FuIEZyYW5jaXNjby4gU3ByaW5nT25lIFBsYXRmb3JtIGlzIGEgY29uZmVy + ZW5jZSB3aGVyZSBkZXZlbG9wZXJzIGNvbmdyZWdhdGUgdG8gZXhwbG9yZSB0 + aGUgbGF0ZXN0IHRlY2hub2xvZ2llcyBpbiB0aGUgU3ByaW5nIGVjb3N5c3Rl + bSBhbmQgYmV5b25kLiBTcGVha2VycyBhdCBTcHJpbmdPbmUgUGxhdGZvcm0g + aW5jbHVkZSBFcmljIEJyZXdlciAod2hvIGNyZWF0ZWQgdGhlIENBUCB0aGVv + cmVtKSwgVmF1Z2huIFZlcm5vbiAod2hvIHdyaXRlcyBleHRlbnNpdmVseSBh + Ym91dCBEb21haW4gRHJpdmVuIERlc2lnbiksIGFuZCBtYW55IHRob3VnaHQg + bGVhZGVycyBpbiB0aGUgU3ByaW5nIEVjb3N5c3RlbS4gU3ByaW5nT25lIFBs + YXRmb3JtIGlzIHRoZSBwcmVtaWVyIGNvbmZlcmVuY2UgZm9yIHRob3NlIHdo + byBidWlsZCwgZGVwbG95LCBhbmQgcnVuIGNsb3VkLW5hdGl2ZSBzb2Z0d2Fy + ZS4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBz + aWduIHVwIHdpdGggdGhlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBhbmQg + cmVjZWl2ZSAkMTAwIG9mZiBvZiBhIFNwcmluZyBPbmUgUGxhdGZvcm0gPGEg + aHJlZj0iaHR0cHM6Ly8yMDE3LnNwcmluZ29uZXBsYXRmb3JtLmlvL2Vob21l + L3MxcC9yZWdpc3RyYXRpb24iPmNvbmZlcmVuY2UgcGFzczwvYT4uIEkgd2ls + bCBhbHNvIGJlIGF0IFNwcmluZ09uZSByZXBvcnRpbmcgb24gZGV2ZWxvcG1l + bnRzIGluIHRoZSBjbG91ZCBuYXRpdmUgZWNvc3lzdGVtLiBKb2luIG1lIERl + Y2VtYmVyIDR0aC03dGggYXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkv + c3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gY29u + ZmVyZW5jZSwgYW5kIHVzZSBkaXNjb3VudCBjb2RlIFNFRGFpbHkxMDAgZm9y + ICQxMDAgb2ZmIHlvdXIgY29uZmVyZW5jZSBwYXNzLiA8L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMTAvMTgvc2ltcHNvbnMt + ZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2huZWlkZXIvaW5kZWVkLXByaW1l + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGRhdGEtb3JpZy1z + aXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1lIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9MzAwJTJDNjIiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAw + JTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiAzMDB3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/dz00NjMg + NDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+RmxpcCB0aGUgdHJhZGl0aW9uYWwgam9iIHNl + YXJjaCBhbmQgbGV0IEluZGVlZCBQcmltZSB3b3JrIGZvciB5b3Ugd2hpbGUg + eW914oCZcmUgYnVzeSB3aXRoIG90aGVyIGVuZ2luZWVyaW5nIHdvcmssIG9y + IGNvZGluZyB5b3VyIHNpZGUgcHJvamVjdC4gVXBsb2FkIHlvdXIgcmVzdW1l + IGFuZCBpbiBvbmUgY2xpY2ssIGdhaW4gaW1tZWRpYXRlIGV4cG9zdXJlIHRv + IGNvbXBhbmllcyBsaWtlIEZhY2Vib29rLCBVYmVyLCBhbmQgRHJvcGJveC4g + SW50ZXJlc3RlZCBlbXBsb3llcnMgd2lsbCByZWFjaCBvdXQgdG8geW91IHdp + dGhpbiBvbmUgd2VlayB3aXRoIHNhbGFyeSwgcG9zaXRpb24sIGFuZCBlcXVp + dHkgdXAgZnJvbnQuIERvbuKAmXQgbGV0IGFwcGx5aW5nIGZvciBqb2JzIGJl + Y29tZSBhIGZ1bGwtdGltZSBqb2IuIFdpdGggSW5kZWVkIFByaW1lLCBqb2Jz + IGNvbWUgdG8geW91LiBUaGUgYXZlcmFnZSBzb2Z0d2FyZSBkZXZlbG9wZXIg + Z2V0cyA1IGVtcGxveWVyIGNvbnRhY3RzIGFuZCBhbiBhdmVyYWdlIHNhbGFy + eSBvZmZlciBvZiAkMTI1LDAwMC4gSW5kZWVkIFByaW1lIGlzIDEwMCUgZnJl + ZSBmb3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5ncyBhdHRhY2hlZC4gU2ln + biB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5 + Ij4gaW5kZWVkLmNvbS9zZWRhaWx5PC9hPi4gPC9kaXY+PC9wPgo8cD48L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cHM6Ly9jbG91ZGZsYXJlLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMzg4MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTgvZXJyb3ItZGlh + Z25vc2lzLXdpdGgtamFtZXMtc21pdGgvY2xvdWRmbGFyZV9sb2dvLyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xv + dWRmbGFyZV9sb2dvLnBuZz9maXQ9MTIwMCUyQzQwOSIgZGF0YS1vcmlnLXNp + emU9IjEyMDAsNDA5IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9IkNsb3VkZmxhcmVfbG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTMwMCUy + QzEwMiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTEwMjQlMkMzNDkiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzg4MSBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9n + by5wbmc/cmVzaXplPTMwMCUyQzEwMiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jl + c2l6ZT0zMDAlMkMxMDIgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyNjIgNzY4 + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xv + Z28ucG5nP3Jlc2l6ZT0xMDI0JTJDMzQ5IDEwMjR3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTcy + MCUyQzI0NSA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Ns + b3VkZmxhcmVfbG9nby5wbmc/dz0xMjAwIDEyMDB3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5D + bG91ZGZsYXJlIHJ1bnMgMTAlIG9mIHRoZSBJbnRlcm5ldCwgcHJvdmlkaW5n + IHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eSB0byBtaWxsaW9ucyBvZiB3ZWJz + aXRlcy4gTWFueSBvZiB5b3UgcHJvYmFibHkgYWxyZWFkeSB1c2UgQ2xvdWRm + bGFyZSBvbiB5b3VyIHNpdGVzLiBXZeKAmXJlIG5vdCB0YWxraW5nIGFib3V0 + IHVzaW5nIENsb3VkZmxhcmUgdG9kYXkgdGhvdWdoLCB3ZeKAmXJlIGhlcmUg + dG8gdGFsayBhYm91dCBidWlsZGluZyBvbiB0b3Agb2YgaXQuIElmIHlvdeKA + mXJlIGEgZGV2ZWxvcGVyIHlvdSBjYW4gYnVpbGQgYXBwcyB3aGljaCBjYW4g + YmUgaW5zdGFsbGVkIGJ5IHRoZSB0aGUgbWlsbGlvbnMgb2Ygc2l0ZXMgd2hp + Y2ggcmVseSBvbiBDbG91ZGZsYXJlLiBZb3UgY2FuIGV2ZW4gc2VsbCB5b3Vy + IGFwcHM7IHRoZXkgY2FuIG1ha2UgeW91IG1vbmV5IDxlbT5ldmVyeSBtb250 + aDwvZW0+LiBWaXNpdCA8YSBocmVmPSJodHRwczovL2Nsb3VkZmxhcmUuY29t + L3NlZGFpbHkiPmNsb3VkZmxhcmUuY29tL3NlZGFpbHk8L2E+wqB0byB3YXRj + aCBob3cgeW91IGNhbiBidWlsZCBhbmQgZGVwbG95IGFuIGFwcCBpbiBsZXNz + IHRoYW4gMyBtaW51dGVzLjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8L3A+CjxwPiZuYnNwOzwv + cD4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJo + dHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU2FsZXNTb2Z0d2Fy + ZS5tcDMiIGxlbmd0aD0iNDg4MzU3OTciIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5Nb3N0IHByb2R1Y3RzIGRvIG5vdCBzZWxs + IHRoZW1zZWx2ZXMuIFNhbGVzcGVvcGxlIGJyaWRnZSB0aGUgZ2FwIGJldHdl + ZW4gYSBwcm9kdWN0IGNyZWF0aW9uIGFuZCBhIGN1c3RvbWVyIHdobyBwdXJj + aGFzZXMgaXQuIFBlb3BsZSBjYW4gbWFrZSBhIGdvb2QgbGl2aW5nIG9uIHRo + ZSBpbnRlcm5ldCBzZWxsaW5nIG5pY2hlIHByb2R1Y3Rz4oCTaWYgdGhleSBj + YW4gZmluZCB0aGVpciBjdXN0b21lcnMuPC9pdHVuZXM6c3VidGl0bGU+CgkJ + PGl0dW5lczpzdW1tYXJ5Pk1vc3QgcHJvZHVjdHMgZG8gbm90IHNlbGwgdGhl + bXNlbHZlcy4gU2FsZXNwZW9wbGUgYnJpZGdlIHRoZSBnYXAgYmV0d2VlbiBh + IHByb2R1Y3QgY3JlYXRpb24gYW5kIGEgY3VzdG9tZXIgd2hvIHB1cmNoYXNl + cyBpdC4gUGVvcGxlIGNhbiBtYWtlIGEgZ29vZCBsaXZpbmcgb24gdGhlIGlu + dGVybmV0IHNlbGxpbmcgbmljaGUgcHJvZHVjdHPigJNpZiB0aGV5IGNhbiBm + aW5kIHRoZWlyIGN1c3RvbWVycy4gVGhlIHByb2Nlc3Mgb2YgdGFraW5nIGEg + bGFyZ2UgZ3JvdXAgb2YgcG90ZW50aWFsIGN1c3RvbWVycyBhbmQgbmFycm93 + aW5nIGl0IGRvd24gdG8gb25seSB0aGUgc3Vic2V0IG9mIHRob3NlIGN1c3Rv + bWVycyB3aG8gd2lsbCBidXkgeW91ciBwcm9kdWN0IGlzIGtub3duIGFzIHRo + ZSBzYWxlcyBmdW5uZWwuIFRoZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5l + czpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVy + aW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+ + Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjUw + OjM4PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM4NDQ8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5DbG91ZC1OYXRpdmUgU1FMIHdpdGgg + QWxleCBSb2JpbnNvbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMjgvY2xvdWQtbmF0aXZl + LXNxbC13aXRoLWFsZXgtcm9iaW5zb24vPC9saW5rPg0KCQk8cHViRGF0ZT5N + b24sIDI4IEF1ZyAyMDE3IDA5OjAwOjA1ICswMDAwPC9wdWJEYXRlPg0KCQk8 + Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLz9wPTM4NDI8L2d1aWQ+DQoJCTxjb21tZW50cz5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzI4 + L2Nsb3VkLW5hdGl2ZS1zcWwtd2l0aC1hbGV4LXJvYmluc29uLyNjb21tZW50 + czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzI4L2Nsb3VkLW5hdGl2 + ZS1zcWwtd2l0aC1hbGV4LXJvYmluc29uL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWQgRW5naW5lZXJpbmddXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxleCBSb2JpbnNvbl1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0NvY2tyb2FjaCBMYWJz + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ29ja3JvYWNo + REJdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtkYXRhYmFz + ZSBjb25zaXN0ZW5jeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW3N0cm9uZ2x5IGNvbnNpc3RlbnQgZGF0YWJhc2VdXT48L2NhdGVnb3J5 + PgoJCTxkZXNjcmlwdGlvbj5BcHBsaWNhdGlvbnMgYnVpbHQgaW4gdGhlIGNs + b3VkIGFyZSBvZnRlbiBzZXJ2aW5nIHJlcXVlc3RzIGZyb20gYWxsIGFyb3Vu + ZCB0aGUgd29ybGQuIEEgdXNlciBpbiBIb25nIEtvbmcgY291bGQgaGF2ZSB3 + cml0dGVuIHRvIGEgZGF0YWJhc2UgZW50cnkgYXQgdGhlIG1vbWVudCBqdXN0 + IGJlZm9yZSBhIHVzZXIgaW4gU2FuIEZyYW5jaXNjbyBhbmQgYSB1c2VyIGlu + IEdlcm1hbnkgc2ltdWx0YW5lb3VzbHkgdHJ5IHRvIHJlYWQgZnJvbSB0aGF0 + IGRhdGFiYXNlLiBJZiB0aGUgdXNlciBpbiBTYW4gRnJhbmNpc2NvIGlzIGFs + bG93ZWQgdG8gc2VlIGEgZGlmZmVyZW50IGRhdGFiYXNlIGVudHJ5IHRoYW4g + dGhlIHVzZXIgaW4gR2VybWFueSwgdGhhdCBkYXRhYmFzZSBpcyZsdDtwJmd0 + OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJl + Zj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA4LzI4L2Nsb3VkLW5hdGl2ZS1zcWwtd2l0aC1hbGV4LXJvYmluc29u + LyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsv + cCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NE + QVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5k + YW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5k + YW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFu + LWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdw + LWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRl + cjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1o + ZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS9tZWRpYS5s + aWNkbi5jb20vbXByL21wci9zaHJpbmtucF8yMDBfMjAwL3AvNi8wMDUvMGIy + LzE1My8zMmEzYWIyLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkFwcGxpY2F0aW9ucyBidWlsdCBpbiB0aGUg + Y2xvdWQgYXJlIG9mdGVuIHNlcnZpbmcgcmVxdWVzdHMgZnJvbSBhbGwgYXJv + dW5kIHRoZSB3b3JsZC4gQSB1c2VyIGluIEhvbmcgS29uZyBjb3VsZCBoYXZl + IHdyaXR0ZW4gdG8gYSBkYXRhYmFzZSBlbnRyeSBhdCB0aGUgbW9tZW50IGp1 + c3QgYmVmb3JlIGEgdXNlciBpbiBTYW4gRnJhbmNpc2NvIGFuZCBhIHVzZXIg + aW4gR2VybWFueSBzaW11bHRhbmVvdXNseSB0cnkgdG8gcmVhZCBmcm9tIHRo + YXQgZGF0YWJhc2UuIElmIHRoZSB1c2VyIGluIFNhbiBGcmFuY2lzY28gaXMg + YWxsb3dlZCB0byBzZWUgYSBkaWZmZXJlbnQgZGF0YWJhc2UgZW50cnkgdGhh + biB0aGUgdXNlciBpbiBHZXJtYW55LCB0aGF0IGRhdGFiYXNlIGlzIG5vdCBz + dHJvbmdseSBjb25zaXN0ZW50LiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlN0cm9uZ2x5IGNvbnNpc3RlbnQgZGF0 + YWJhc2VzIHdvcmsgc3VjaCB0aGF0IHR3byB1c2VycyB3aG8gcmVhZCB0aGUg + c2FtZSBlbnRyeSBhdCB0aGUgc2FtZSB0aW1lIHdpbGwgcmVjZWl2ZSB0aGUg + c2FtZSByZXN1bHQuIFdlYWtseSBjb25zaXN0ZW50IG9yIOKAnGV2ZW50dWFs + IGNvbnNpc3RlbnTigJ0gZGF0YWJhc2VzIGFyZSBzdWl0YWJsZSBmb3IgYXBw + bGljYXRpb25zIHdoZXJlIHRyYW5zYWN0aW9uIG9yZGVyaW5nIGlzIG5vdCBp + bXBvcnRhbnQmIzgyMTE7cGhvdG8gc2hhcmluZyBhcHBzIGFuZCBlY29tbWVy + Y2Ugc2hvcHBpbmcgY2FydHMsIGZvciBleGFtcGxlLiBCYW5rIGFjY291bnRz + LCBvbiB0aGUgb3RoZXIgaGFuZCwgb2Z0ZW4gbmVlZCB0byBiZSBzdHJvbmds + eSBjb25zaXN0ZW50Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+Q29ja3JvYWNoREIgaXMgYSBzY2FsYWJsZSwgc3Vy + dml2YWJsZSwgc3Ryb25nbHkgY29uc2lzdGVudCBkYXRhYmFzZS4gQWxleCBS + b2JpbnNvbiBpcyBhbiBlbmdpbmVlciBhdCBDb2Nrcm9hY2ggTGFicyBhbmQg + aGUgam9pbnMgdGhlIHNob3cgdG8gZXhwbGFpbiB0aGUgZGF0YSBtb2RlbCBm + b3IgQ29ja3JvYWNoREIgYW5kIGhvdyBpdCBtYWludGFpbnMgc3Ryb25nIGNv + bnNpc3RlbmN5Ljwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIxNTgzIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wMS8wNC9kaXN0cmlidXRlZC1z + eXN0ZW1zLXdpdGgtYWx2YXJvLXZpZGVsYS9oaXJlZC1sb2dvLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQt + bG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1vcmlnLXNpemU9IjI2MCwx + MzAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iaGlyZWQtbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAx + L2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpw + Zz9maXQ9MjYwJTJDMTMwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTE1 + ODMgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDEvaGlyZWQtbG9nby5qcGc/cmVzaXplPTI2MCUyQzEzMCIgYWx0PSIiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVlbiB0aGlua2luZyB5b3XigJlk + IGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJZiB5b3XigJlyZSBkcmVhbWlu + ZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUgYmVlbiB3YWl0aW5nIGZvciB0 + aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92ZSwgZ28gdG/CoDxhIGhyZWY9 + Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQuY29tL3NlZGFpbHk8 + L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdvcmsgZW5qb3lhYmxlLiBIaXJl + ZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1tYXRjaGluZyB0b29sIGluIGNv + bWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2b2NhdGUgd2hvIHdpbGwgd2Fs + ayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBmaW5kaW5nIGEgYmV0dGVy + IGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3Nl + ZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPsKgdG8gZ2V0IGEgc3BlY2lh + bCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVu + ZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJvbnVzIGZyb20gSGlyZWQgd2hl + biB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0aGF0IGdpdmVzIHlvdSB0aGUg + cmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91IGRlc2VydmUgYXMgYSB0YWxl + bnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2dvLmdy + YW1tYXRlY2guY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIzODE1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20va3dsb2dvcy9ncmFtbWF0ZWNoL2dyYW1tYXRlY2gt + bG9nb2wvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBk + YXRhLW9yaWctc2l6ZT0iODI1LDMwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJHcmFtbWF0ZWNoLUxvZ29MIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5q + cGc/Zml0PTMwMCUyQzEwOSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04 + MjUlMkMzMDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzgxNSBzaXpl + LW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMxMDkiIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVj + aC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUyQzEwOSAzMDB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6 + ZT03NjglMkMyNzkgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9NzIwJTJDMjYyIDcyMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dv + TC5qcGc/dz04MjUgODI1dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+R3JhbW1hVGVjaCBDb2Rl + U29uYXIgaGVscHMgZGV2ZWxvcG1lbnQgdGVhbXMgaW1wcm92ZSBjb2RlIHF1 + YWxpdHkgd2l0aCBzdGF0aWMgYW5hbHlzaXMuIEl0IGhlbHBzIGZsYWcgaXNz + dWVzIGVhcmx5IGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzLCBhbGxvd2lu + ZyBkZXZlbG9wZXJzIHRvIHJlbGVhc2UgYmV0dGVyIGNvZGUgZmFzdGVyLsKg + Q29kZVNvbmFyIGNhbiBlYXNpbHkgYmUgaW50ZWdyYXRlZCBpbnRvIGFueSBk + ZXZlbG9wbWVudCBwcm9jZXNzLiBDb2RlU29uYXIgcGVyZm9ybXMgYWR2YW5j + ZWQgc3RhdGljIGFuYWx5c2lzIG9mIEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4g + cmF3IGJpbmFyeSBjb2RlLiBDb2RlU29uYXIgcGVyZm9ybXMgdW5pcXVlIGRh + dGFmbG93IGFuZCBzeW1ib2xpYyBleGVjdXRpb24gYW5hbHlzaXMgdG8gYWdn + cmVzc2l2ZWx5IHNjYW4gZm9yIHByb2JsZW1zIGluIHlvdXIgY29kZS7CoEp1 + c3QgbGlrZSBiYXR0bGVzaGlwcyB1c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVj + dHMgZGVlcCB1bmRlcndhdGVyLCBlbmdpbmVlcnMgdXNlIENvZGVTb25hciB0 + byBkZXRlY3Qgc3VidGxlIHByb2JsZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNv + ZGUuwqBHbyB0byA8YSBocmVmPSJodHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20v + c2VkYWlseSI+Z28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0 + IHlvdXIgZnJlZSAzMC1kYXkgdHJpYWwsIGV4Y2x1c2l2ZWx5IGZvciBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnPCoGFuZCB1bmxlYXNo + IHRoZSBwb3dlciBvZiBhZHZhbmNlZCBzdGF0aWMgYW5hbHlzaXMuPGJyIC8+ + CjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9kYXRhZG9nIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzIzNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3MvZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9k + YXRhZG9nX2xvZ28ucG5nP2ZpdD0xMDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6 + ZT0iMTAyNCw1MTIiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iZGF0YWRvZ19sb2dvIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0zMjM2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9 + MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCAz + MDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/dz0xMDI0IDEwMjR3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + cmVzaXplPTcyMCUyQzM2MCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJy + aW5ncyB5b3UgdmlzaWJpbGl0eSBpbnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBp + bmZyYXN0cnVjdHVyZSwgcGx1cyBBUE0gZm9yIG1vbml0b3JpbmcgeW91ciBh + cHBsaWNhdGlvbiYjODIxNztzIHBlcmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcs + IGNvbGxhYm9yYXRpb24gdG9vbHMsIGFuZCBhbGVydHMgbGV0IHlvdSBkZXZl + bG9wIHlvdXIgb3duIHdvcmtmbG93IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBp + bmNpZGVudCByZXNwb25zZS4gRGF0YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNz + bHkgd2l0aCBhbGwgb2YgeW91ciBhcHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNs + YWNrIHRvIEFtYXpvbiBXZWIgU2VydmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZp + c2liaWxpdHkgaW4gbWludXRlcy4gR28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2RhdGFkb2ciIHRhcmdldD0i + X2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS48d2JyPjwvd2JyPmNvbS9kYXRhZG9n + PC9hPsKgdG8gZ2V0IHN0YXJ0ZWQgd2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBm + cmVlIHQtc2hpcnQuIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkv + c3ByaW5nb25lcGxhdGZvcm0iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NzUzIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20va3dsb2dvcy9waXZvdGFsLWxvZ28vcGl2b3RhbC1vbmxp + Z2h0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MjYxMCUyQzEwODAiIGRh + dGEtb3JpZy1zaXplPSIyNjEwLDEwODAiIGRhdGEtY29tbWVudHMtb3BlbmVk + PSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9u + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRl + cl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsw + JnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iUGl2b3RhbC1PbkxpZ2h0IiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9maXQ9MzAwJTJDMTI0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MTAy + NCUyQzQyNCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzUzIHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCAzMDB3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTc2 + OCUyQzMxOCA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bp + dm90YWwtT25MaWdodC5wbmc/cmVzaXplPTEwMjQlMkM0MjQgMTAyNHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9yZXNpemU9NzIwJTJDMjk4IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz93PTIxMDAgMjEwMHciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPlNwcmluZyBGcmFtZXdvcmsgZ2l2ZXMgZGV2ZWxvcGVycyBh + biBlbnZpcm9ubWVudCBmb3IgYnVpbGRpbmcgY2xvdWQgbmF0aXZlIHByb2pl + Y3RzLiBPbiBEZWNlbWJlciA0dGgtN3RoLCA8YSBocmVmPSJodHRwOi8vYml0 + Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+ + IGlzIGNvbWluZyB0byBTYW4gRnJhbmNpc2NvLiBTcHJpbmdPbmUgUGxhdGZv + cm0gaXMgYSBjb25mZXJlbmNlIHdoZXJlIGRldmVsb3BlcnMgY29uZ3JlZ2F0 + ZSB0byBleHBsb3JlIHRoZSBsYXRlc3QgdGVjaG5vbG9naWVzIGluIHRoZSBT + cHJpbmcgZWNvc3lzdGVtIGFuZCBiZXlvbmQuIFNwZWFrZXJzIGF0IFNwcmlu + Z09uZSBQbGF0Zm9ybSBpbmNsdWRlIEVyaWMgQnJld2VyICh3aG8gY3JlYXRl + ZCB0aGUgQ0FQIHRoZW9yZW0pLCBWYXVnaG4gVmVybm9uICh3aG8gd3JpdGVz + IGV4dGVuc2l2ZWx5IGFib3V0IERvbWFpbiBEcml2ZW4gRGVzaWduKSwgYW5k + IG1hbnkgdGhvdWdodCBsZWFkZXJzIGluIHRoZSBTcHJpbmcgRWNvc3lzdGVt + LiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgdGhlIHByZW1pZXIgY29uZmVyZW5j + ZSBmb3IgdGhvc2Ugd2hvIGJ1aWxkLCBkZXBsb3ksIGFuZCBydW4gY2xvdWQt + bmF0aXZlIHNvZnR3YXJlLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBs + aXN0ZW5lcnMgY2FuIHNpZ24gdXAgd2l0aCB0aGUgZGlzY291bnQgY29kZSBT + RURhaWx5MTAwIGFuZCByZWNlaXZlICQxMDAgb2ZmIG9mIGEgU3ByaW5nIE9u + ZSBQbGF0Zm9ybSA8YSBocmVmPSJodHRwczovLzIwMTcuc3ByaW5nb25lcGxh + dGZvcm0uaW8vZWhvbWUvczFwL3JlZ2lzdHJhdGlvbiI+Y29uZmVyZW5jZSBw + YXNzPC9hPi4gSSB3aWxsIGFsc28gYmUgYXQgU3ByaW5nT25lIHJlcG9ydGlu + ZyBvbiBkZXZlbG9wbWVudHMgaW4gdGhlIGNsb3VkIG5hdGl2ZSBlY29zeXN0 + ZW0uIEpvaW4gbWUgRGVjZW1iZXIgNHRoLTd0aCBhdCB0aGUgPGEgaHJlZj0i + aHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBs + YXRmb3JtPC9hPiBjb25mZXJlbmNlLCBhbmQgdXNlIGRpc2NvdW50IGNvZGUg + U0VEYWlseTEwMCBmb3IgJDEwMCBvZmYgeW91ciBjb25mZXJlbmNlIHBhc3Mu + IDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8 + ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRh + aWx5L0Nsb3VkTmF0aXZlU1FMLm1wMyIgbGVuZ3RoPSI1ODg1MzMxMyIgdHlw + ZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkFwcGxpY2F0 + aW9ucyBidWlsdCBpbiB0aGUgY2xvdWQgYXJlIG9mdGVuIHNlcnZpbmcgcmVx + dWVzdHMgZnJvbSBhbGwgYXJvdW5kIHRoZSB3b3JsZC4gQSB1c2VyIGluIEhv + bmcgS29uZyBjb3VsZCBoYXZlIHdyaXR0ZW4gdG8gYSBkYXRhYmFzZSBlbnRy + eSBhdCB0aGUgbW9tZW50IGp1c3QgYmVmb3JlIGEgdXNlciBpbiBTYW4gRnJh + bmNpc2NvIGFuZCBhIHVzZXIgaW4gR2VybWFueSBzaW11bHRhbmVvdXNseSB0 + cnkgdG8gcmVhZCBmcm9tIHRoYS4uLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxp + dHVuZXM6c3VtbWFyeT5BcHBsaWNhdGlvbnMgYnVpbHQgaW4gdGhlIGNsb3Vk + IGFyZSBvZnRlbiBzZXJ2aW5nIHJlcXVlc3RzIGZyb20gYWxsIGFyb3VuZCB0 + aGUgd29ybGQuIEEgdXNlciBpbiBIb25nIEtvbmcgY291bGQgaGF2ZSB3cml0 + dGVuIHRvIGEgZGF0YWJhc2UgZW50cnkgYXQgdGhlIG1vbWVudCBqdXN0IGJl + Zm9yZSBhIHVzZXIgaW4gU2FuIEZyYW5jaXNjbyBhbmQgYSB1c2VyIGluIEdl + cm1hbnkgc2ltdWx0YW5lb3VzbHkgdHJ5IHRvIHJlYWQgZnJvbSB0aGF0IGRh + dGFiYXNlLiBJZiB0aGUgdXNlciBpbiBTYW4gRnJhbmNpc2NvIGlzIGFsbG93 + ZWQgdG8gc2VlIGEgZGlmZmVyZW50IGRhdGFiYXNlIGVudHJ5IHRoYW4gdGhl + IHVzZXIgaW4gR2VybWFueSwgdGhhdCBkYXRhYmFzZSBpc0NvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjE6MDE6MDQ8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3Qt + aWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+Mzg0 + MjwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkludGVy + bmV0IEV4dHJlbWlzbSB3aXRoIExvY2hsYW4gQmxvb208L3RpdGxlPg0KCQk8 + bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA4LzI1L2ludGVybmV0LWV4dHJlbWlzbS13aXRoLWxvY2hsYW4tYmxvb20v + PC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDI1IEF1ZyAyMDE3IDA5OjAwOjQz + ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM4NDE8 + L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA4LzI1L2ludGVybmV0LWV4dHJlbWlzbS13aXRo + LWxvY2hsYW4tYmxvb20vI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpj + b21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDgvMjUvaW50ZXJuZXQtZXh0cmVtaXNtLXdpdGgtbG9jaGxhbi1i + bG9vbS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50 + cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Fs + bCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0J1c2luZXNzIGFuZCBQaGlsb3NvcGh5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0FJXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbZXhpc3RlbnRpYWxpc21dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtleHRyZW1pc21dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtMb2NobGFuIEJsb29tXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbcXVhbnR1bSBwaHlzaWNzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbVGhlIFdhdmVdXT48L2NhdGVnb3J5PgoJ + CTxkZXNjcmlwdGlvbj5SZWxpZ2lvdXMgZXh0cmVtaXN0cyB1c2UgdGVjaG5v + bG9neSB0byByZWNydWl0IHZ1bG5lcmFibGUgaW5kaXZpZHVhbHMgdG8gYSB2 + aW9sZW50IGNhdXNlLiBHb29nbGUgaXMgZGV2ZWxvcGluZyB3YXlzIHRvIGNv + bWJhdCB0aGlzIGV4dHJlbWlzbSB0aHJvdWdoIGl0cyBwbGF0Zm9ybXMsIG5h + bWVseSBZb3VUdWJlLiBXaGVuIGEgdXNlciBsb29rcyBmb3IgaW5mbGFtbWF0 + b3J5IHJlbGlnaW91cyBvciBzdXByZW1hY2lzdCBjb250ZW50LCBZb3VUdWJl + 4oCZcyDigJxSZWRpcmVjdCBNZXRob2TigJ0gaW5zdGVhZCBzZW5kcyB0aG9z + ZSB1c2VycyB0b3dhcmQgYW50aS10ZXJyb3Jpc3QgdmlkZW9zLiBHb29nbGXi + gJlzIGZpZ2h0IGFnYWluc3QgZXh0cmVtaXNtIGNvbXBlbGxlZCB3cml0ZXIg + TG9jaGxhbiBCbG9vbSB0byB3cml0ZSBhbiBhcnRpY2xlIGNhbGxlZCDigJxU + aGUgQ29taW5nIEJhdHRsZTogQUksIEV4dHJlbWlzbSwgYW5kIHRoZSBOZXcg + V2FyIG9mIElkZWFzLuKAnSBMb2NobGFuJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9 + JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMjUvaW50 + ZXJuZXQtZXh0cmVtaXNtLXdpdGgtbG9jaGxhbi1ibG9vbS8mcXVvdDsmZ3Q7 + Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNj + cmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkv + Z29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2Jy + ZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1 + IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1 + IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xp + ZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVw + eDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9m + aWxlX2ltYWdlcy84NDI3OTkyMzQ1Nzk2NDg1MTMvMnBGeGsxYTQuanBnP3Jl + c2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + UmVsaWdpb3VzIGV4dHJlbWlzdHMgdXNlIHRlY2hub2xvZ3kgdG8gcmVjcnVp + dCB2dWxuZXJhYmxlIGluZGl2aWR1YWxzIHRvIGEgdmlvbGVudCBjYXVzZS4g + R29vZ2xlIGlzIGRldmVsb3Bpbmcgd2F5cyB0byBjb21iYXQgdGhpcyBleHRy + ZW1pc20gdGhyb3VnaCBpdHMgcGxhdGZvcm1zLCBuYW1lbHkgWW91VHViZS4g + V2hlbiBhIHVzZXIgbG9va3MgZm9yIGluZmxhbW1hdG9yeSByZWxpZ2lvdXMg + b3Igc3VwcmVtYWNpc3QgY29udGVudCwgWW91VHViZeKAmXMg4oCcUmVkaXJl + Y3QgTWV0aG9k4oCdIGluc3RlYWQgc2VuZHMgdGhvc2UgdXNlcnMgdG93YXJk + IGFudGktdGVycm9yaXN0IHZpZGVvcy48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkdvb2dsZeKAmXMgZmlnaHQgYWdh + aW5zdCBleHRyZW1pc20gY29tcGVsbGVkIHdyaXRlciBMb2NobGFuIEJsb29t + IHRvIHdyaXRlIGFuIGFydGljbGUgY2FsbGVkIOKAnFRoZSBDb21pbmcgQmF0 + dGxlOiBBSSwgRXh0cmVtaXNtLCBhbmQgdGhlIE5ldyBXYXIgb2YgSWRlYXMu + JiM4MjIxOyBMb2NobGFuIGpvaW5zIHRoZSBzaG93IHRvIGRpc2N1c3MgdGhl + IHNvY2lldGFsIGltcGxpY2F0aW9ucyBvZiBnaWFudCBpbnRlcm5ldCBwcm92 + aWRlcnMgY29udHJvbGxpbmcgb3VyIGluZm9ybWF0aW9uIGZsb3cuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Mb2No + bGFuIGlzIGEgc2NpZW5jZSBmaWN0aW9uIHdyaXRlciwgbW9zdCByZWNlbnRs + eSBvZiA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9sb2NobGFuYmxvb20uY29t + L3dyaXRpbmcvdGhlLXdhdmUvIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPlRoZSBXYXZlPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPiwgYSBib29rIHRoYXQgbWl4ZXMgZXhpc3RlbnRpYWxp + c20gd2l0aCBxdWFudHVtIHBoeXNpY3MuIE91ciByZWFsaXR5IGlzIGRlZmlu + ZWQgYnkgd2hhdCB3ZSBvYnNlcnZlLCBhbmQgdGhpcyB0aGVtZSBjb3Vyc2Vz + IHRocm91Z2ggb3VyIGNvbnZlcnNhdGlvbiYjODIxMTtmcm9tIHJlbGlnaW9u + IHRvIFR3aXR0ZXIgdG8gYXJ0aWZpY2lhbCBpbnRlbGxpZ2VuY2UuPC9zcGFu + PjwvcD4KPGgyPlNob3cgTm90ZXM8L2gyPgo8cD48YSBocmVmPSJodHRwczov + L21lZGl1bS5jb20vQExvY2hsYW5CbG9vbS90aGUtY29taW5nLWJhdHRsZS1h + aS1leHRyZW1pc20tYW5kLXRoZS1uZXctd2FyLW9mLWlkZWFzLWE5ODY4OTQ5 + OWI3YyI+VGhlIENvbWluZyBCYXR0bGU6IEFJLCBFeHRyZW1pc20sIGFuZCB0 + aGUgTmV3IFdhciBvZiBJZGVhczwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+ + CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48 + YSBocmVmPSJodHRwOi8vaGFycnlzLmNvbS9zb2Z0d2FyZSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjM5MDIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzI1L2ludGVy + bmV0LWV4dHJlbWlzbS13aXRoLWxvY2hsYW4tYmxvb20vaGFycnlzLWxvZ28v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9oYXJyeXMtbG9nby5wbmc/Zml0PTI0MCUyQzc5IiBkYXRhLW9yaWctc2l6 + ZT0iMjQwLDc5IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImhhcnJ5cy1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDgvaGFycnlzLWxvZ28ucG5nP2ZpdD0yNDAlMkM3OSIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L2hhcnJ5 + cy1sb2dvLnBuZz9maXQ9MjQwJTJDNzkiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzkwMiBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9oYXJyeXMtbG9nby5wbmc/cmVzaXplPTI0MCUyQzc5IiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkhhcnJ54oCZcyBnaXZlcyBtZSB0aGUgc21vb3RoLCBwcm9m + ZXNzaW9uYWwgbG9vayBJIG5lZWQmIzgyMTE7d2l0aCBjb252ZW5pZW5jZSBh + bmQgbG93IHByaWNlLiBUcnkgaXQgZm9yIEZSRUUmIzgyMTE7YXQgPC9zcGFu + PjxhIGhyZWY9Imh0dHA6Ly9oYXJyeXMuY29tL3NvZnR3YXJlIj5IYXJyeXMu + Y29tL3NvZnR3YXJlPC9hPjxiPi4gPC9iPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+QXMgYW4gZW5naW5lZXIsIHlvdSBrbm93IHRoZSB2YWx1 + ZSBvZiBjbGVhbiBjb2RlLiBCdXQgaG93IGFib3V0IGEgY2xlYW4gc2hhdmU/ + IEhhcnJ54oCZcyBvZmZlcnMgdGhlaXIgYmxhZGVzIGF0IGhhbGYgdGhlIHBy + aWNlIG9mIHRoZSBsZWFkaW5nIDUtYmxhZGUgcmF6b3IsIHNlbGxpbmcgZGly + ZWN0bHkgdG8geW91IG92ZXIgdGhlIGludGVybmV0LiBIYXJyeeKAmXMgaXMg + c28gY29uZmlkZW50IHlvdeKAmXJlIGdvaW5nIHRvIGxvdmUgdGhlaXIgYmxh + ZGVzLCB0aGV54oCZbGwgZ2l2ZSB5b3UgdGhlaXIgdHJpYWwgc2hhdmUgc2V0 + IDwvc3Bhbj5mb3IgRlJFRTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+IHdoZW4geW91IHNpZ24gdXAgYXQgPC9zcGFuPjxhIGhyZWY9Imh0dHA6 + Ly9IYXJyeXMuY29tL3NvZnR3YXJlIj5IYXJyeXMuY29tL3NvZnR3YXJlPC9h + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCBqdXN0IHBheSBm + b3Igc2hpcHBpbmchIFRoYW5rcyB0byBIYXJyeeKAmXMgZm9yIGJlaW5nIGEg + bmV3IHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuPC9z + cGFuPjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25l + cGxhdGZvcm0iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRh + LXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20va3dsb2dvcy9waXZvdGFsLWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1z + aXplPSIyNjEwLDEwODAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iUGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAw + JTJDMTI0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1Pbkxp + Z2h0LnBuZz9yZXNpemU9MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/ + cmVzaXplPTMwMCUyQzEyNCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTEwMjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + NzIwJTJDMjk4IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PlNwcmluZyBGcmFtZXdvcmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9u + bWVudCBmb3IgYnVpbGRpbmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBE + ZWNlbWJlciA0dGgtN3RoLCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nwcmlu + Z29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWlu + ZyB0byBTYW4gRnJhbmNpc2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBj + b25mZXJlbmNlIHdoZXJlIGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBs + b3JlIHRoZSBsYXRlc3QgdGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNv + c3lzdGVtIGFuZCBiZXlvbmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0 + Zm9ybSBpbmNsdWRlIEVyaWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQ + IHRoZW9yZW0pLCBWYXVnaG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2 + ZWx5IGFib3V0IERvbWFpbiBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhv + dWdodCBsZWFkZXJzIGluIHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdP + bmUgUGxhdGZvcm0gaXMgdGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhv + c2Ugd2hvIGJ1aWxkLCBkZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNv + ZnR3YXJlLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMg + Y2FuIHNpZ24gdXAgd2l0aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAw + IGFuZCByZWNlaXZlICQxMDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9y + bSA8YSBocmVmPSJodHRwczovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8v + ZWhvbWUvczFwL3JlZ2lzdHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4g + SSB3aWxsIGFsc28gYmUgYXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZl + bG9wbWVudHMgaW4gdGhlIGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4g + bWUgRGVjZW1iZXIgNHRoLTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2Jp + dC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9h + PiBjb25mZXJlbmNlLCBhbmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEw + MCBmb3IgJDEwMCBvZmYgeW91ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHBzOi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4ODEiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE4 + L2Vycm9yLWRpYWdub3Npcy13aXRoLWphbWVzLXNtaXRoL2Nsb3VkZmxhcmVf + bG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTEyMDAlMkM0MDkiIGRh + dGEtb3JpZy1zaXplPSIxMjAwLDQwOSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJDbG91ZGZsYXJlX2xvZ28iIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5n + P2ZpdD0zMDAlMkMxMDIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0xMDI0 + JTJDMzQ5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4ODEgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91 + ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIiIGFsdD0iIiBzcmNz + ZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9s + b2dvLnBuZz9yZXNpemU9MzAwJTJDMTAyIDMwMHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9NzY4 + JTJDMjYyIDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xv + dWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9MTAyNCUyQzM0OSAxMDI0dywgaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5n + P3Jlc2l6ZT03MjAlMkMyNDUgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3c9MTIwMCAxMjAwdyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+Q2xvdWRmbGFyZSBydW5zIDEwJSBvZiB0aGUgSW50ZXJuZXQs + IHByb3ZpZGluZyBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkgdG8gbWlsbGlv + bnMgb2Ygd2Vic2l0ZXMuIE1hbnkgb2YgeW91IHByb2JhYmx5IGFscmVhZHkg + dXNlIENsb3VkZmxhcmUgb24geW91ciBzaXRlcy4gV2XigJlyZSBub3QgdGFs + a2luZyBhYm91dCB1c2luZyBDbG91ZGZsYXJlIHRvZGF5IHRob3VnaCwgd2Xi + gJlyZSBoZXJlIHRvIHRhbGsgYWJvdXQgYnVpbGRpbmcgb24gdG9wIG9mIGl0 + LiBJZiB5b3XigJlyZSBhIGRldmVsb3BlciB5b3UgY2FuIGJ1aWxkIGFwcHMg + d2hpY2ggY2FuIGJlIGluc3RhbGxlZCBieSB0aGUgdGhlIG1pbGxpb25zIG9m + IHNpdGVzIHdoaWNoIHJlbHkgb24gQ2xvdWRmbGFyZS4gWW91IGNhbiBldmVu + IHNlbGwgeW91ciBhcHBzOyB0aGV5IGNhbiBtYWtlIHlvdSBtb25leSA8ZW0+ + ZXZlcnkgbW9udGg8L2VtPi4gVmlzaXQgPGEgaHJlZj0iaHR0cHM6Ly9jbG91 + ZGZsYXJlLmNvbS9zZWRhaWx5Ij5jbG91ZGZsYXJlLmNvbS9zZWRhaWx5PC9h + PsKgdG8gd2F0Y2ggaG93IHlvdSBjYW4gYnVpbGQgYW5kIGRlcGxveSBhbiBh + cHAgaW4gbGVzcyB0aGFuIDMgbWludXRlcy48L2Rpdj48L3A+CjxwPjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIyNjY4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zeW1waG9uby9zeW1waG9u + by8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtb3JpZy1zaXpl + PSIyNzIsODQiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0ic3ltcGhvbm8iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5n + P2ZpdD0yNzIlMkM4NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0yNjY4 + IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2 + L3N5bXBob25vLnBuZz9yZXNpemU9MjcyJTJDODQiIGFsdD0iIiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPlRoYW5rcyB0byBTeW1waG9ubyBmb3Igc3BvbnNvcmluZyBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS4gU3ltcGhvbm8gaXMgYSBjdXN0 + b20gZW5naW5lZXJpbmcgc2hvcCB3aGVyZSBzZW5pb3IgZW5naW5lZXJzIHRh + Y2tsZSBiaWcgdGVjaCBjaGFsbGVuZ2VzIHdoaWxlIGxlYXJuaW5nIGZyb20g + ZWFjaCBvdGhlci4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9Imh0dHA6Ly9z + eW1waG9uby5jb20vc2VkYWlseSI+c3ltcGhvbm8uY29tL3NlZGFpbHk8L2E+ + LiBUaGFua3MgdG8gU3ltcGhvbm8gZm9yIGJlaW5nIGEgc3BvbnNvciBvZiBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBmb3IgYWxtb3N0IGEgeWVhciBu + b3cuIFlvdXIgY29udGludWVkIHN1cHBvcnQgYWxsb3dzIHVzIHRvIGRlbGl2 + ZXIgY29udGVudCB0byB0aGUgbGlzdGVuZXJzIG9uIGEgcmVndWxhciBiYXNp + cy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9 + Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9BSUV4dHJlbWlz + bS5tcDMiIGxlbmd0aD0iNTc5Mjg1NzUiIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5SZWxpZ2lvdXMgZXh0cmVtaXN0cyB1c2Ug + dGVjaG5vbG9neSB0byByZWNydWl0IHZ1bG5lcmFibGUgaW5kaXZpZHVhbHMg + dG8gYSB2aW9sZW50IGNhdXNlLiBHb29nbGUgaXMgZGV2ZWxvcGluZyB3YXlz + IHRvIGNvbWJhdCB0aGlzIGV4dHJlbWlzbSB0aHJvdWdoIGl0cyBwbGF0Zm9y + bXMsIG5hbWVseSBZb3VUdWJlLiBXaGVuIGEgdXNlciBsb29rcyBmb3IgaW5m + bGFtbWF0b3J5IHJlbGlnaW91cyBvciBzdXByZW1hY2lzdCBjb250ZW50LDwv + aXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5SZWxpZ2lvdXMg + ZXh0cmVtaXN0cyB1c2UgdGVjaG5vbG9neSB0byByZWNydWl0IHZ1bG5lcmFi + bGUgaW5kaXZpZHVhbHMgdG8gYSB2aW9sZW50IGNhdXNlLiBHb29nbGUgaXMg + ZGV2ZWxvcGluZyB3YXlzIHRvIGNvbWJhdCB0aGlzIGV4dHJlbWlzbSB0aHJv + dWdoIGl0cyBwbGF0Zm9ybXMsIG5hbWVseSBZb3VUdWJlLiBXaGVuIGEgdXNl + ciBsb29rcyBmb3IgaW5mbGFtbWF0b3J5IHJlbGlnaW91cyBvciBzdXByZW1h + Y2lzdCBjb250ZW50LCBZb3VUdWJl4oCZcyDigJxSZWRpcmVjdCBNZXRob2Ti + gJ0gaW5zdGVhZCBzZW5kcyB0aG9zZSB1c2VycyB0b3dhcmQgYW50aS10ZXJy + b3Jpc3QgdmlkZW9zLiBHb29nbGXigJlzIGZpZ2h0IGFnYWluc3QgZXh0cmVt + aXNtIGNvbXBlbGxlZCB3cml0ZXIgTG9jaGxhbiBCbG9vbSB0byB3cml0ZSBh + biBhcnRpY2xlIGNhbGxlZCDigJxUaGUgQ29taW5nIEJhdHRsZTogQUksIEV4 + dHJlbWlzbSwgYW5kIHRoZSBOZXcgV2FyIG9mIElkZWFzLuKAnSBMb2NobGFu + Q29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5l + czphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczph + dXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxp + Y2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+MTowMDowNjwvaXR1bmVzOmR1cmF0 + aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0 + aW9uczoxIj4zODQxPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8 + dGl0bGU+QWR2ZXJ0aXNlciBCaWRkaW5nIHdpdGggUHJhbmVldCBTaGFybWE8 + L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA4LzI0L2FkdmVydGlzZXItYmlkZGluZy13aXRoLXBy + YW5lZXQtc2hhcm1hLzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1LCAyNCBBdWcg + MjAxNyAwOTowMDoxNCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJt + YUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8/cD0zODQwPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yNC9hZHZlcnRpc2Vy + LWJpZGRpbmctd2l0aC1wcmFuZWV0LXNoYXJtYS8jY29tbWVudHM8L2NvbW1l + bnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yNC9hZHZlcnRpc2VyLWJpZGRpbmct + d2l0aC1wcmFuZWV0LXNoYXJtYS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJ + CTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0phdmFTY3JpcHRdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbYWQgZnJhdWRdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVthZCB0ZWNoIHBlcmZvcm1hbmNlXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbaGVhZGVyIGJpZGRpbmddXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNZXRob2QgTWVkaWEgSW50 + ZWxsaWdlbmNlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UHJhbmVldCBTaGFybWFdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5D + b250ZW50IHdlYnNpdGVzIGFyZSBzdXBwb3J0ZWQgYnkgYWR2ZXJ0aXNpbmcu + IE1vc3Qgb2YgdGhlIGFkdmVydGlzZW1lbnRzIGFyb3VuZCB0aGUgaW50ZXJu + ZXQgYXJlIGR5bmFtaWMgYWQgc2xvdHMgdGhhdCBjaGFuZ2UgZGVwZW5kaW5n + IG9uIHRoZSB1c2VyIHdobyB2aXNpdHMgdGhlIHNpdGUuIFRob3NlIGR5bmFt + aWMgYWQgc2xvdHMgYXJlIGF2YWlsYWJsZSB0byBhIHZhcmlldHkgb2YgZGlm + ZmVyZW50IGJpZGRlcnMuIEZvciBlYWNoIGFkIHNsb3QsIGFuIGF1Y3Rpb24g + b2NjdXJzLiBUaGUgaGlnaGVzdCBiaWRkZXIgZ2V0cyB0byBzZXJ2ZSBhbiBh + ZCBmb3IgdGhhdCBzbG90LiBQcmFuZWV0IFNoYXJtYSBpcyB0aGUgY28tZm91 + bmRlciBvZiBNZXRob2QgTWVkaWEgSW50ZWxsaWdlbmNlLCB3aGljaCBoZSBm + b3VuZGVkIHdpdGgmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yNC9hZHZlcnRpc2VyLWJpZGRp + bmctd2l0aC1wcmFuZWV0LXNoYXJtYS8mcXVvdDsmZ3Q7Q29udGludWUgcmVh + ZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJ + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250 + YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMv + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + NC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWct + c2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJh + bGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9y + ZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBt + YXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0 + cHM6Ly9pMi53cC5jb20vbWVkaWEubGljZG4uY29tL21wci9tcHIvc2hyaW5r + bnBfMjAwXzIwMC9BQUVBQVFBQUFBQUFBQVdjQUFBQUpEazNOMlpoWVRneExU + bGpaR1F0TkRjd1pDMDRZamMyTFRVMll6SmpObVV6TnpReE1BLmpwZz9yZXNp + emU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkNv + bnRlbnQgd2Vic2l0ZXMgYXJlIHN1cHBvcnRlZCBieSBhZHZlcnRpc2luZy4g + TW9zdCBvZiB0aGUgYWR2ZXJ0aXNlbWVudHMgYXJvdW5kIHRoZSBpbnRlcm5l + dCBhcmUgZHluYW1pYyBhZCBzbG90cyB0aGF0IGNoYW5nZSBkZXBlbmRpbmcg + b24gdGhlIHVzZXIgd2hvIHZpc2l0cyB0aGUgc2l0ZS4gVGhvc2UgZHluYW1p + YyBhZCBzbG90cyBhcmUgYXZhaWxhYmxlIHRvIGEgdmFyaWV0eSBvZiBkaWZm + ZXJlbnQgYmlkZGVycy4gRm9yIGVhY2ggYWQgc2xvdCwgYW4gYXVjdGlvbiBv + Y2N1cnMuIFRoZSBoaWdoZXN0IGJpZGRlciBnZXRzIHRvIHNlcnZlIGFuIGFk + IGZvciB0aGF0IHNsb3QuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5QcmFuZWV0IFNoYXJtYSBpcyB0aGUgY28tZm91 + bmRlciBvZiBNZXRob2QgTWVkaWEgSW50ZWxsaWdlbmNlLCB3aGljaCBoZSBm + b3VuZGVkIHdpdGggU2hhaWxpbiBEaGFyLCB3aG8gaGFzIGJlZW4gb24gdGhl + IHNob3cgc2V2ZXJhbCB0aW1lcyB0byBkaXNjdXNzIGhpcyBpbnZlc3RpZ2F0 + aW9ucyBpbnRvIHRoZSB3b3JsZCBvZiBhZCBmcmF1ZC4gSSB3YW50ZWQgdG8g + aGF2ZSBoaXMgcGFydG5lciBQcmFuZWV0IG9uIHRoZSBzaG93IHRvIGdldCBo + aXMgcGVyc3BlY3RpdmUgb24gYWQgZnJhdWQgYW5kIGhvdyB0byBjbGVhbiB1 + cCB0aGUgYWR2ZXJ0aXNpbmcgZWNvc3lzdGVtLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+T25lIGFkdmFuY2UgaW4g + ZHluYW1pYyBhZHZlcnRpc2luZyB0aGF0IHdlIGRpc2N1c3NlZCBpcyBoZWFk + ZXIgYmlkZGluZywgYW5kIGFuIG9wZW4gc291cmNlIGxpYnJhcnkgY2FsbGVk + IFByZWJpZEpTLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+V2hlbiBhbiBhZC1zdXBwb3J0ZWQgd2Vic2l0ZSBnZXRz + IGRlbGl2ZXJlZCB0byB5b3VyIHdlYiBicm93c2VyLCB0aGUgSFRNTCBiZWdp + bnMgdG8gbG9hZCBhbmQgdGhlIEphdmFTY3JpcHQgb24gdGhlIHBhZ2UgYmVn + aW5zIHRvIGV4ZWN1dGUuIFNvbWUgb2YgdGhhdCBKYXZhU2NyaXB0IGlzIGNh + bGxpbmcgb3V0IHRvIGFkdmVydGlzaW5nIG5ldHdvcmtzIGxvb2tpbmcgZm9y + IHRoZSBoaWdoZXN0IGJpZGRlci4gVW50aWwgdGhlIHBhZ2UgcmVjZWl2ZXMg + YSBjYWxsYmFjayBmb3Igd2hhdCB0byBwdXQgaW4gdGhlIGFkIHNsb3RzIG9u + IHRoZSBwYWdlLCB0aGUgcGFnZSB3aWxsIG5vdCBmaW5pc2ggbG9hZGluZy4g + U2l0ZXMgdGhhdCBkbyBub3QgbWFuYWdlIHRoZWlyIGFkIHJlcXVlc3RzIGFw + cHJvcHJpYXRlbHkgc3VmZmVyIHBlcmZvcm1hbmNlIGlzc3Vlcy48L3NwYW4+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkhlYWRl + ciBiaWRkaW5nIGlzIGEgdGVjaG5pcXVlIHRvIHdyYXAgYWxsIG9mIHRoZSBy + ZXF1ZXN0cyB0byBkaWZmZXJlbnQgYWR2ZXJ0aXNpbmcgZXhjaGFuZ2VzIGlu + IGEgc2luZ2xlIHNlcmlhbGl6ZWQgYmxvYiBvZiBjb2RlIGF0IHRoZSB0b3Ag + b2YgdGhlIHBhZ2UuPC9zcGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9lY3MuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzcyMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xv + Z28tc3ZnXy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0 + PTIwMDAlMkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0z + MDAlMkMxMjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2Zp + dD0xMDI0JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIg + c2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAl + MkMxMjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9 + MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJD + MzA3IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAx + MDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJz + ZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+RGV2ZWxvcGVycyBsb3ZlIERvY2tlciBDb250YWluZXJz + IGJlY2F1c2UgdGhleSBnaXZlIGFwcGxpY2F0aW9ucyBwb3J0YWJpbGl0eSBh + bmQgY29uc2lzdGVuY3kgYWxsIHRoZSB3YXkgZnJvbSB5b3VyIGxhcHRvcCBp + bnRvIHByb2R1Y3Rpb24uIEFtYXpvbiBFQzIgQ29udGFpbmVyIFNlcnZpY2Ug + ZnJvbSBBbWF6b24gV2ViIFNlcnZpY2VzIG1ha2VzIGl0IGVhc3kgdG8gcnVu + IERvY2tlciBhcHBzIGluIHRoZSBjbG91ZC4gV2l0aCBBbWF6b24gRUMyIENv + bnRhaW5lciBTZXJ2aWNlLCBkZXBsb3lpbmcsIG9wZXJhdGluZyBhbmQgc2Nh + bGluZyB5b3VyIGluZnJhc3RydWN0dXJlIGhhcHBlbnMgYXV0b21hdGljYWxs + eS4gQmVzdCBvZiBhbGwsIHlvdSBvbmx5IHBheSBmb3IgdGhlIEFXUyBjb21w + dXRlIGFuZCBzdG9yYWdlIHJlc291cmNlcyB5b3UgdXNlLiBXaXRoIEFtYXpv + biBFQzIgQ29udGFpbmVyIFNlcnZpY2UsIHlvdSBjYW4gZm9jdXMgb24gYnVp + bGRpbmcgYXBwcywgbm90IG1hbmFnaW5nIHlvdXIgY29udGFpbmVyIGluZnJh + c3RydWN0dXJlLiBMZWFybiBtb3JlIGF0IDxhIGhyZWY9Imh0dHA6Ly9lY3Mu + YXdzIj5lY3MuYXdzPC9hPiB0b2RheS48L2Rpdj48L3A+CjxwPjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + czovL2Nsb3VkZmxhcmUuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIzODgxIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xOC9lcnJvci1kaWFnbm9z + aXMtd2l0aC1qYW1lcy1zbWl0aC9jbG91ZGZsYXJlX2xvZ28vIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZs + YXJlX2xvZ28ucG5nP2ZpdD0xMjAwJTJDNDA5IiBkYXRhLW9yaWctc2l6ZT0i + MTIwMCw0MDkiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0iQ2xvdWRmbGFyZV9sb2dvIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9maXQ9MzAwJTJDMTAy + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9maXQ9MTAyNCUyQzM0OSIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zODgxIHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBu + Zz9yZXNpemU9MzAwJTJDMTAyIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXpl + PTMwMCUyQzEwMiAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTc2OCUyQzI2MiA3Njh3LCBo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5w + bmc/cmVzaXplPTEwMjQlMkMzNDkgMTAyNHcsIGh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9NzIwJTJD + MjQ1IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRm + bGFyZV9sb2dvLnBuZz93PTEyMDAgMTIwMHciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkNsb3Vk + ZmxhcmUgcnVucyAxMCUgb2YgdGhlIEludGVybmV0LCBwcm92aWRpbmcgcGVy + Zm9ybWFuY2UgYW5kIHNlY3VyaXR5IHRvIG1pbGxpb25zIG9mIHdlYnNpdGVz + LiBNYW55IG9mIHlvdSBwcm9iYWJseSBhbHJlYWR5IHVzZSBDbG91ZGZsYXJl + IG9uIHlvdXIgc2l0ZXMuIFdl4oCZcmUgbm90IHRhbGtpbmcgYWJvdXQgdXNp + bmcgQ2xvdWRmbGFyZSB0b2RheSB0aG91Z2gsIHdl4oCZcmUgaGVyZSB0byB0 + YWxrIGFib3V0IGJ1aWxkaW5nIG9uIHRvcCBvZiBpdC4gSWYgeW914oCZcmUg + YSBkZXZlbG9wZXIgeW91IGNhbiBidWlsZCBhcHBzIHdoaWNoIGNhbiBiZSBp + bnN0YWxsZWQgYnkgdGhlIHRoZSBtaWxsaW9ucyBvZiBzaXRlcyB3aGljaCBy + ZWx5IG9uIENsb3VkZmxhcmUuIFlvdSBjYW4gZXZlbiBzZWxsIHlvdXIgYXBw + czsgdGhleSBjYW4gbWFrZSB5b3UgbW9uZXkgPGVtPmV2ZXJ5IG1vbnRoPC9l + bT4uIFZpc2l0IDxhIGhyZWY9Imh0dHBzOi8vY2xvdWRmbGFyZS5jb20vc2Vk + YWlseSI+Y2xvdWRmbGFyZS5jb20vc2VkYWlseTwvYT7CoHRvIHdhdGNoIGhv + dyB5b3UgY2FuIGJ1aWxkIGFuZCBkZXBsb3kgYW4gYXBwIGluIGxlc3MgdGhh + biAzIG1pbnV0ZXMuPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS9z + cHJpbmdvbmVwbGF0Zm9ybSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3 + NTMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9rd2xvZ29zL3Bpdm90YWwtbG9nby9waXZvdGFsLW9ubGln + aHQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0yNjEwJTJDMTA4MCIgZGF0 + YS1vcmlnLXNpemU9IjI2MTAsMTA4MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJQaXZvdGFsLU9uTGlnaHQiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5n + P2ZpdD0zMDAlMkMxMjQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0xMDI0 + JTJDNDI0IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3NTMgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZv + dGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQiIGFsdD0iIiBzcmNz + ZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1Pbkxp + Z2h0LnBuZz9yZXNpemU9MzAwJTJDMTI0IDMwMHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzY4 + JTJDMzE4IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2 + b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9MTAyNCUyQzQyNCAxMDI0dywgaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5n + P3Jlc2l6ZT03MjAlMkMyOTggNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3c9MjEwMCAyMTAwdyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+U3ByaW5nIEZyYW1ld29yayBnaXZlcyBkZXZlbG9wZXJzIGFu + IGVudmlyb25tZW50IGZvciBidWlsZGluZyBjbG91ZCBuYXRpdmUgcHJvamVj + dHMuIE9uIERlY2VtYmVyIDR0aC03dGgsIDxhIGhyZWY9Imh0dHA6Ly9iaXQu + bHkvc3ByaW5nb25lcGxhdGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4g + aXMgY29taW5nIHRvIFNhbiBGcmFuY2lzY28uIFNwcmluZ09uZSBQbGF0Zm9y + bSBpcyBhIGNvbmZlcmVuY2Ugd2hlcmUgZGV2ZWxvcGVycyBjb25ncmVnYXRl + IHRvIGV4cGxvcmUgdGhlIGxhdGVzdCB0ZWNobm9sb2dpZXMgaW4gdGhlIFNw + cmluZyBlY29zeXN0ZW0gYW5kIGJleW9uZC4gU3BlYWtlcnMgYXQgU3ByaW5n + T25lIFBsYXRmb3JtIGluY2x1ZGUgRXJpYyBCcmV3ZXIgKHdobyBjcmVhdGVk + IHRoZSBDQVAgdGhlb3JlbSksIFZhdWdobiBWZXJub24gKHdobyB3cml0ZXMg + ZXh0ZW5zaXZlbHkgYWJvdXQgRG9tYWluIERyaXZlbiBEZXNpZ24pLCBhbmQg + bWFueSB0aG91Z2h0IGxlYWRlcnMgaW4gdGhlIFNwcmluZyBFY29zeXN0ZW0u + IFNwcmluZ09uZSBQbGF0Zm9ybSBpcyB0aGUgcHJlbWllciBjb25mZXJlbmNl + IGZvciB0aG9zZSB3aG8gYnVpbGQsIGRlcGxveSwgYW5kIHJ1biBjbG91ZC1u + YXRpdmUgc29mdHdhcmUuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxp + c3RlbmVycyBjYW4gc2lnbiB1cCB3aXRoIHRoZSBkaXNjb3VudCBjb2RlIFNF + RGFpbHkxMDAgYW5kIHJlY2VpdmUgJDEwMCBvZmYgb2YgYSBTcHJpbmcgT25l + IFBsYXRmb3JtIDxhIGhyZWY9Imh0dHBzOi8vMjAxNy5zcHJpbmdvbmVwbGF0 + Zm9ybS5pby9laG9tZS9zMXAvcmVnaXN0cmF0aW9uIj5jb25mZXJlbmNlIHBh + c3M8L2E+LiBJIHdpbGwgYWxzbyBiZSBhdCBTcHJpbmdPbmUgcmVwb3J0aW5n + IG9uIGRldmVsb3BtZW50cyBpbiB0aGUgY2xvdWQgbmF0aXZlIGVjb3N5c3Rl + bS4gSm9pbiBtZSBEZWNlbWJlciA0dGgtN3RoIGF0IHRoZSA8YSBocmVmPSJo + dHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxh + dGZvcm08L2E+IGNvbmZlcmVuY2UsIGFuZCB1c2UgZGlzY291bnQgY29kZSBT + RURhaWx5MTAwIGZvciAkMTAwIG9mZiB5b3VyIGNvbmZlcmVuY2UgcGFzcy4g + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+Cjxw + PjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3Nl + ZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzODE1IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + a3dsb2dvcy9ncmFtbWF0ZWNoL2dyYW1tYXRlY2gtbG9nb2wvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0 + ZWNoLUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBkYXRhLW9yaWctc2l6ZT0i + ODI1LDMwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJHcmFtbWF0ZWNoLUxvZ29MIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTMwMCUyQzEw + OSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzgxNSBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wu + anBnP3Jlc2l6ZT0zMDAlMkMxMDkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVz + aXplPTMwMCUyQzEwOSAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03NjglMkMyNzkgNzY4 + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxv + Z29MLmpwZz9yZXNpemU9NzIwJTJDMjYyIDcyMHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/dz04MjUgODI1 + dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNs + YXNzPSJjb2wtc20tNiI+R3JhbW1hVGVjaCBDb2RlU29uYXIgaGVscHMgZGV2 + ZWxvcG1lbnQgdGVhbXMgaW1wcm92ZSBjb2RlIHF1YWxpdHkgd2l0aCBzdGF0 + aWMgYW5hbHlzaXMuIEl0IGhlbHBzIGZsYWcgaXNzdWVzIGVhcmx5IGluIHRo + ZSBkZXZlbG9wbWVudCBwcm9jZXNzLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRv + IHJlbGVhc2UgYmV0dGVyIGNvZGUgZmFzdGVyLsKgQ29kZVNvbmFyIGNhbiBl + YXNpbHkgYmUgaW50ZWdyYXRlZCBpbnRvIGFueSBkZXZlbG9wbWVudCBwcm9j + ZXNzLiBDb2RlU29uYXIgcGVyZm9ybXMgYWR2YW5jZWQgc3RhdGljIGFuYWx5 + c2lzIG9mIEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4gcmF3IGJpbmFyeSBjb2Rl + LiBDb2RlU29uYXIgcGVyZm9ybXMgdW5pcXVlIGRhdGFmbG93IGFuZCBzeW1i + b2xpYyBleGVjdXRpb24gYW5hbHlzaXMgdG8gYWdncmVzc2l2ZWx5IHNjYW4g + Zm9yIHByb2JsZW1zIGluIHlvdXIgY29kZS7CoEp1c3QgbGlrZSBiYXR0bGVz + aGlwcyB1c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVjdHMgZGVlcCB1bmRlcndh + dGVyLCBlbmdpbmVlcnMgdXNlIENvZGVTb25hciB0byBkZXRlY3Qgc3VidGxl + IHByb2JsZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNvZGUuwqBHbyB0byA8YSBo + cmVmPSJodHRwOi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+Z28uZ3Jh + bW1hdGVjaC5jb20vc2VkYWlseTwvYT4gdG8gZ2V0IHlvdXIgZnJlZSAzMC1k + YXkgdHJpYWwsIGV4Y2x1c2l2ZWx5IGZvciBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBsaXN0ZW5lcnPCoGFuZCB1bmxlYXNoIHRoZSBwb3dlciBvZiBh + ZHZhbmNlZCBzdGF0aWMgYW5hbHlzaXMuPGJyIC8+CjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8 + L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0i + aHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0hlYWRlckJpZGRp + bmcubXAzIiBsZW5ndGg9IjYxODE3NzY4IiB0eXBlPSJhdWRpby9tcGVnIiAv + PgoJCTxpdHVuZXM6c3VidGl0bGU+Q29udGVudCB3ZWJzaXRlcyBhcmUgc3Vw + cG9ydGVkIGJ5IGFkdmVydGlzaW5nLiBNb3N0IG9mIHRoZSBhZHZlcnRpc2Vt + ZW50cyBhcm91bmQgdGhlIGludGVybmV0IGFyZSBkeW5hbWljIGFkIHNsb3Rz + IHRoYXQgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGUgdXNlciB3aG8gdmlzaXRz + IHRoZSBzaXRlLiBUaG9zZSBkeW5hbWljIGFkIHNsb3RzIGFyZSBhdmFpbGFi + bGUgdG8gYSB2YXJpZXR5IG9mIGRpZmZlcmVudCBiaWRkZXJzLjwvaXR1bmVz + OnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5Db250ZW50IHdlYnNpdGVz + IGFyZSBzdXBwb3J0ZWQgYnkgYWR2ZXJ0aXNpbmcuIE1vc3Qgb2YgdGhlIGFk + dmVydGlzZW1lbnRzIGFyb3VuZCB0aGUgaW50ZXJuZXQgYXJlIGR5bmFtaWMg + YWQgc2xvdHMgdGhhdCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHRoZSB1c2VyIHdo + byB2aXNpdHMgdGhlIHNpdGUuIFRob3NlIGR5bmFtaWMgYWQgc2xvdHMgYXJl + IGF2YWlsYWJsZSB0byBhIHZhcmlldHkgb2YgZGlmZmVyZW50IGJpZGRlcnMu + IEZvciBlYWNoIGFkIHNsb3QsIGFuIGF1Y3Rpb24gb2NjdXJzLiBUaGUgaGln + aGVzdCBiaWRkZXIgZ2V0cyB0byBzZXJ2ZSBhbiBhZCBmb3IgdGhhdCBzbG90 + LiBQcmFuZWV0IFNoYXJtYSBpcyB0aGUgY28tZm91bmRlciBvZiBNZXRob2Qg + TWVkaWEgSW50ZWxsaWdlbmNlLCB3aGljaCBoZSBmb3VuZGVkIHdpdGhDb250 + aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1 + dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhv + cj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+ + CgkJPGl0dW5lczpkdXJhdGlvbj4xOjA0OjA5PC9pdHVuZXM6ZHVyYXRpb24+ + Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25z + OjEiPjM4NDA8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRs + ZT5BZCBGcmF1ZCBPdmVydmlldyB3aXRoIFNoYWlsaW4gRGhhcjwvdGl0bGU+ + DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDgvMjMvYWQtZnJhdWQtb3ZlcnZpZXctd2l0aC1zaGFpbGluLWRo + YXIvPC9saW5rPg0KCQk8cHViRGF0ZT5XZWQsIDIzIEF1ZyAyMDE3IDA5OjAw + OjUwICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFs + c2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM4 + OTQ8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA4LzIzL2FkLWZyYXVkLW92ZXJ2aWV3LXdp + dGgtc2hhaWxpbi1kaGFyLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6 + Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA4LzIzL2FkLWZyYXVkLW92ZXJ2aWV3LXdpdGgtc2hhaWxpbi1k + aGFyL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + QnVzaW5lc3MgYW5kIFBoaWxvc29waHldXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbYWQgZnJhdWRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtmcmF1ZCBleHBvc2VdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtvbmxpbmUgYWR2ZXJ0aXNpbmddXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtTaGFpbGluIERoYXJdXT48L2NhdGVn + b3J5PgoJCTxkZXNjcmlwdGlvbj5UaGUgSW50ZXJuZXQgcnVucyBvbiBhZHZl + cnRpc2luZy4gQWR2ZXJ0aXNpbmcgaXMgc3ViamVjdCB0byBmcmF1ZOKAk2J1 + dCB0aGVuIGFnYWluLCBzbyBpcyBldmVyeSBzeXN0ZW0gb2Ygb25saW5lIHRy + YW5zYWN0aW9ucy4gVGhlIGFtb3VudCBvZiBtb25leSBsb3N0IGluIGVsZWN0 + cm9uaWMgcGF5bWVudHMgZnJhdWQgYW5kIGVjb21tZXJjZSBzY2FtbWluZyBp + cyBwcm9iYWJseSBtdWNoIGdyZWF0ZXIgdGhhbiB3aGF0IGlzIGxvc3QgZHVl + IHRvIGFkIGZyYXVkLiBTbyB3aHkgZG8gd2Uga2VlcCBjb3ZlcmluZyBhZHZl + cnRpc2luZyBmcmF1ZCBvbiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseT8g + TW9yZSBvZiBvdXIgYXVkaWVuY2UgbmVlZHMgdG8ga25vdyBhYm91dCBhZCBm + cmF1ZC4gRmV3IHBlb3BsZSByZWFsaXplIGhvdyBtdWNoJmx0O3AmZ3Q7Jmx0 + O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZx + dW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDgvMjMvYWQtZnJhdWQtb3ZlcnZpZXctd2l0aC1zaGFpbGluLWRoYXIvJnF1 + b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0 + OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFb + PHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1i + dXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1i + dXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVy + bnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1h + Z2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAx + cHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdo + dDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3Bicy50d2ltZy5j + b20vcHJvZmlsZV9pbWFnZXMvNjk5MDEyMDI1Nzc1NTkxNDI1L29HTi1JcDg0 + LmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9wPgo8cCBkaXI9Imx0ciI+VGhlIEludGVybmV0IHJ1 + bnMgb24gYWR2ZXJ0aXNpbmcuIEFkdmVydGlzaW5nIGlzIHN1YmplY3QgdG8g + ZnJhdWQmIzgyMTE7YnV0IHRoZW4gYWdhaW4sIHNvIGlzIGV2ZXJ5IHN5c3Rl + bSBvZiBvbmxpbmUgdHJhbnNhY3Rpb25zLiBUaGUgYW1vdW50IG9mIG1vbmV5 + IGxvc3QgaW4gZWxlY3Ryb25pYyBwYXltZW50cyBmcmF1ZCBhbmQgZWNvbW1l + cmNlIHNjYW1taW5nIGlzIHByb2JhYmx5IG11Y2ggZ3JlYXRlciB0aGFuIHdo + YXQgaXMgbG9zdCBkdWUgdG8gYWQgZnJhdWQuIFNvIHdoeSBkbyB3ZSBrZWVw + IGNvdmVyaW5nIGFkdmVydGlzaW5nIGZyYXVkIG9uIFNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PzwvcD4KPHAgZGlyPSJsdHIiPk1vcmUgb2Ygb3VyIGF1 + ZGllbmNlIG5lZWRzIHRvIGtub3cgYWJvdXQgYWQgZnJhdWQuIEZldyBwZW9w + bGUgcmVhbGl6ZSBob3cgbXVjaCBmcmF1ZCB0aGVyZSBpcyBpbiBvbmxpbmUg + YWR2ZXJ0aXNpbmcuIEluIHByZXZpb3VzIGVwaXNvZGVzIG9mIFNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5LCB3ZSBoYXZlIGV4cGxhaW5lZCwgaG93IGFk + dmVydGlzaW5nIGZyYXVkIHdvcmtzLCB3aHkgaXQgaXMgYWJzdXJkIGFuZCBk + aXNncmFjZWZ1bCwgYW5kIHdoeSBub2JvZHkgdGFsa3MgYWJvdXQuPC9wPgo8 + cCBkaXI9Imx0ciI+V2UgYWxzbyBjb3ZlciBhZCBmcmF1ZCBiZWNhdXNlIEkg + cGVyc29uYWxseSBmaW5kIGl0IGludGVyZXN0aW5nIGFuZCBzb21ldGltZXMg + aGlsYXJpb3VzLiBUaG9zZSBhcmUgdGhlIHNhbWUgcmVhc29ucyBJIGludml0 + ZWQgU2hhaWxpbiBEaGFyIHRvIHNwZWFrIGF0IHRoZSB0aGlyZCBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBNZWV0dXAuIFNoYWlsaW4gaGFzIGJlZW4g + b24gdGhlIHNob3cgdHdpY2UgYmVmb3JlIGFuZCBoZSB3aWxsIGJlIG9uIGFn + YWluIGluIHRoZSBmdXR1cmUuIEhlIGhhcyBtYWRlIGl0IGEgZnVsbCB0aW1l + IGpvYiB0byBleHBvc2UgYWQgZnJhdWQsIGFuZCBoZSBnaXZlcyBhIGdyZWF0 + IHByZXNlbnRhdGlvbiBvbiB0aGUgdG9waWMgaW4gdGhpcyBlcGlzb2RlLjwv + cD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20v + c2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE2LzAxLzA0L2Rpc3RyaWJ1dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8t + dmlkZWxhL2hpcmVkLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJD + MTMwIiBkYXRhLW9yaWctc2l6ZT0iMjYwLDEzMCIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0 + PTI2MCUyQzEzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9y + ZXNpemU9MjYwJTJDMTMwIiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5IYXZl + IHlvdSBiZWVuIHRoaW5raW5nIHlvdeKAmWQgYmUgaGFwcGllciBhdCBhIG5l + dyBqb2I/IElmIHlvdeKAmXJlIGRyZWFtaW5nIGFib3V0IGEgbmV3IGpvYiBh + bmQgaGF2ZSBiZWVuIHdhaXRpbmcgZm9yIHRoZSByaWdodCB0aW1lIHRvIG1h + a2UgYSBtb3ZlLCBnbyB0b8KgPGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9z + ZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT4uIEhpcmVkIG1ha2VzIGZp + bmRpbmcgd29yayBlbmpveWFibGUuIEhpcmVkIHVzZXMgYW4gYWxnb3JpdGht + aWMgam9iLW1hdGNoaW5nIHRvb2wgaW4gY29tYmluYXRpb24gd2l0aCBhIHRh + bGVudCBhZHZvY2F0ZSB3aG8gd2lsbCB3YWxrIHlvdSB0aHJvdWdoIHRoZSBw + cm9jZXNzIG9mIGZpbmRpbmcgYSBiZXR0ZXIgam9iLiBDaGVjayBvdXTCoDxh + IGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQuY29tL3Nl + ZGFpbHk8L2E+wqB0byBnZXQgYSBzcGVjaWFsIG9mZmVyIGZvciBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMmIzgyMTE7YSAkNjAwIHNp + Z25pbmcgYm9udXMgZnJvbSBIaXJlZCB3aGVuIHlvdSBmaW5kIHRoYXQgZ3Jl + YXQgam9iIHRoYXQgZ2l2ZXMgeW91IHRoZSByZXNwZWN0IGFuZCBzYWxhcnkg + dGhhdCB5b3UgZGVzZXJ2ZSBhcyBhIHRhbGVudGVkIGVuZ2luZWVyLsKgPC9k + aXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vYnVnc25hZy5jb20vc2VkYWlseSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjAiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2J1 + Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP2ZpdD0z + MDEwJTJDODY2IiBkYXRhLW9yaWctc2l6ZT0iMzAxMCw4NjYiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQnVnc25h + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9maXQ9MzAwJTJDODYiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjAgc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9C + dWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28u + cG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTc2OCUyQzIyMSA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9n + by5wbmc/cmVzaXplPTEwMjQlMkMyOTUgMTAyNHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9NzIwJTJD + MjA3IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25h + Z19sb2dvLnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkJ1Z3NuYWcg + aW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJvdWJsZXNob290aW5nIGVycm9ycyBi + eSBtYWtpbmcgaXQgbW9yZSBlbmpveWFibGUgYW5kIGxlc3MgdGltZS1jb25z + dW1pbmcuIEZvciBleGFtcGxlLCB3aGVuIGFuIGVycm9yIG9jY3VycywgeW91 + ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlhIFNsYWNrLCBzZWUgZGlhZ25v + c3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJyb3IsIGFuZCBpZGVudGlmeSB0 + aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQgdGhlIGNvZGUuIEJ1Z3NuYWfi + gJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBhbmQgb3RoZXIgY29sbGFib3Jh + dGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRvIGFzc2lnbiBhbmQgdHJhY2sg + YnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhlZC7CoFRoZXJlIGlzIGEgc3Bl + Y2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlz + dGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYwIGRheXMgYXQg + PGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseSI+YnVn + c25hZy5jb20vc2VkYWlseTwvYT4uwqBEZXZlbG9wbWVudCB0ZWFtcyBjYW4g + bm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXByb3ZlIHNvZnR3YXJlIHF1YWxp + dHkuwqBUbyBnZXQgc3RhcnRlZCwgZ28gdG8gPGEgaHJlZj0iaHR0cHM6Ly93 + d3cuYnVnc25hZy5jb20vc2VkYWlseS8iPmJ1Z3NuYWcuY29tL3NlZGFpbHkv + PC9hPi4gR2V0IHVwIGFuZCBydW5uaW5nIGluIHRocmVlIG1pbnV0ZXMuIEFp + cmJuYiwgTHlmdCwgYW5kIFNob3BpZnkgYWxsIHVzZSBCdWdzbmFnIHRvIG1v + bml0b3IgYXBwbGljYXRpb24gZXJyb3JzLiDCoDwvZGl2PjwvcD4KPHA+PC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHBzOi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM4ODEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE4L2Vycm9yLWRp + YWdub3Npcy13aXRoLWphbWVzLXNtaXRoL2Nsb3VkZmxhcmVfbG9nby8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Ns + b3VkZmxhcmVfbG9nby5wbmc/Zml0PTEyMDAlMkM0MDkiIGRhdGEtb3JpZy1z + aXplPSIxMjAwLDQwOSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJDbG91ZGZsYXJlX2xvZ28iIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0zMDAl + MkMxMDIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0xMDI0JTJDMzQ5IiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4ODEgc2l6ZS1tZWRpdW0iIHNy + Yz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xv + Z28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9y + ZXNpemU9MzAwJTJDMTAyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9NzY4JTJDMjYyIDc2 + OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9s + b2dvLnBuZz9yZXNpemU9MTAyNCUyQzM0OSAxMDI0dywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT03 + MjAlMkMyNDUgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9D + bG91ZGZsYXJlX2xvZ28ucG5nP3c9MTIwMCAxMjAwdyIgc2l6ZXM9IihtYXgt + d2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9 + IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + Q2xvdWRmbGFyZSBydW5zIDEwJSBvZiB0aGUgSW50ZXJuZXQsIHByb3ZpZGlu + ZyBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkgdG8gbWlsbGlvbnMgb2Ygd2Vi + c2l0ZXMuIE1hbnkgb2YgeW91IHByb2JhYmx5IGFscmVhZHkgdXNlIENsb3Vk + ZmxhcmUgb24geW91ciBzaXRlcy4gV2XigJlyZSBub3QgdGFsa2luZyBhYm91 + dCB1c2luZyBDbG91ZGZsYXJlIHRvZGF5IHRob3VnaCwgd2XigJlyZSBoZXJl + IHRvIHRhbGsgYWJvdXQgYnVpbGRpbmcgb24gdG9wIG9mIGl0LiBJZiB5b3Xi + gJlyZSBhIGRldmVsb3BlciB5b3UgY2FuIGJ1aWxkIGFwcHMgd2hpY2ggY2Fu + IGJlIGluc3RhbGxlZCBieSB0aGUgdGhlIG1pbGxpb25zIG9mIHNpdGVzIHdo + aWNoIHJlbHkgb24gQ2xvdWRmbGFyZS4gWW91IGNhbiBldmVuIHNlbGwgeW91 + ciBhcHBzOyB0aGV5IGNhbiBtYWtlIHlvdSBtb25leSA8ZW0+ZXZlcnkgbW9u + dGg8L2VtPi4gVmlzaXQgPGEgaHJlZj0iaHR0cHM6Ly9jbG91ZGZsYXJlLmNv + bS9zZWRhaWx5Ij5jbG91ZGZsYXJlLmNvbS9zZWRhaWx5PC9hPsKgdG8gd2F0 + Y2ggaG93IHlvdSBjYW4gYnVpbGQgYW5kIGRlcGxveSBhbiBhcHAgaW4gbGVz + cyB0aGFuIDMgbWludXRlcy48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vc3lt + cGhvbm8uY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + NjY4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20va3dsb2dvcy9zeW1waG9uby9zeW1waG9uby8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBo + b25vLnBuZz9maXQ9MjcyJTJDODQiIGRhdGEtb3JpZy1zaXplPSIyNzIsODQi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0ic3ltcGhvbm8iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1w + aG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIl + MkM4NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0yNjY4IHNpemUtZnVs + bCIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25v + LnBuZz9yZXNpemU9MjcyJTJDODQiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PlRoYW5rcyB0byBTeW1waG9ubyBmb3Igc3BvbnNvcmluZyBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseS4gU3ltcGhvbm8gaXMgYSBjdXN0b20gZW5naW5l + ZXJpbmcgc2hvcCB3aGVyZSBzZW5pb3IgZW5naW5lZXJzIHRhY2tsZSBiaWcg + dGVjaCBjaGFsbGVuZ2VzIHdoaWxlIGxlYXJuaW5nIGZyb20gZWFjaCBvdGhl + ci4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5j + b20vc2VkYWlseSI+c3ltcGhvbm8uY29tL3NlZGFpbHk8L2E+LiBUaGFua3Mg + dG8gU3ltcGhvbm8gZm9yIGJlaW5nIGEgc3BvbnNvciBvZiBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBmb3IgYWxtb3N0IGEgeWVhciBub3cuIFlvdXIg + Y29udGludWVkIHN1cHBvcnQgYWxsb3dzIHVzIHRvIGRlbGl2ZXIgY29udGVu + dCB0byB0aGUgbGlzdGVuZXJzIG9uIGEgcmVndWxhciBiYXNpcy48L2Rpdj48 + YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48 + L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90 + cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9TaGFpbGluUHJlc2VudGF0aW9u + Lm1wMyIgbGVuZ3RoPSIzMzg3MjExNSIgdHlwZT0iYXVkaW8vbXBlZyIgLz4K + CQk8aXR1bmVzOnN1YnRpdGxlPlRoZSBJbnRlcm5ldCBydW5zIG9uIGFkdmVy + dGlzaW5nLiBBZHZlcnRpc2luZyBpcyBzdWJqZWN0IHRvIGZyYXVk4oCTYnV0 + IHRoZW4gYWdhaW4sIHNvIGlzIGV2ZXJ5IHN5c3RlbSBvZiBvbmxpbmUgdHJh + bnNhY3Rpb25zLiBUaGUgYW1vdW50IG9mIG1vbmV5IGxvc3QgaW4gZWxlY3Ry + b25pYyBwYXltZW50cyBmcmF1ZCBhbmQgZWNvbW1lcmNlIHNjYW1taW5nIGlz + IHByb2JhYmx5IG11Y2ggZ3JlYXRlciB0aGFuIHdoYXQgaXMgbG9zdCBkdWUg + dG8gLi4uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlRo + ZSBJbnRlcm5ldCBydW5zIG9uIGFkdmVydGlzaW5nLiBBZHZlcnRpc2luZyBp + cyBzdWJqZWN0IHRvIGZyYXVk4oCTYnV0IHRoZW4gYWdhaW4sIHNvIGlzIGV2 + ZXJ5IHN5c3RlbSBvZiBvbmxpbmUgdHJhbnNhY3Rpb25zLiBUaGUgYW1vdW50 + IG9mIG1vbmV5IGxvc3QgaW4gZWxlY3Ryb25pYyBwYXltZW50cyBmcmF1ZCBh + bmQgZWNvbW1lcmNlIHNjYW1taW5nIGlzIHByb2JhYmx5IG11Y2ggZ3JlYXRl + ciB0aGFuIHdoYXQgaXMgbG9zdCBkdWUgdG8gYWQgZnJhdWQuIFNvIHdoeSBk + byB3ZSBrZWVwIGNvdmVyaW5nIGFkdmVydGlzaW5nIGZyYXVkIG9uIFNvZnR3 + YXJlIEVuZ2luZWVyaW5nIERhaWx5PyBNb3JlIG9mIG91ciBhdWRpZW5jZSBu + ZWVkcyB0byBrbm93IGFib3V0IGFkIGZyYXVkLiBGZXcgcGVvcGxlIHJlYWxp + emUgaG93IG11Y2hDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFy + eT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9p + dHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj40Njo0NDwvaXR1 + bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpm + ZWVkLWFkZGl0aW9uczoxIj4zODk0PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxp + dGVtPg0KCQk8dGl0bGU+U2ltaWxhcml0eSBTZWFyY2ggd2l0aCBKZWZmIEpv + aG5zb248L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA4LzIyL3NpbWlsYXJpdHktc2VhcmNoLXdp + dGgtamVmZi1qb2huc29uLzwvbGluaz4NCgkJPHB1YkRhdGU+VHVlLCAyMiBB + dWcgMjAxNyAwOTowMDowOCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8/cD0zODM5PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yMi9zaW1pbGFy + aXR5LXNlYXJjaC13aXRoLWplZmYtam9obnNvbi8jY29tbWVudHM8L2NvbW1l + bnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wOC8yMi9zaW1pbGFyaXR5LXNlYXJjaC13 + aXRoLWplZmYtam9obnNvbi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxz + bGFzaDpjb21tZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0RhdGFdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbRGVlcCBMZWFybmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0ZhY2Vib29rXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbSmVmZiBKb2huc29uXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbc2VhcmNoIGVuZ2luZV1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW3NpbWlsYXJpdHkgc2VhcmNoXV0+PC9jYXRlZ29y + eT4KCQk8ZGVzY3JpcHRpb24+UXVlcnlpbmcgYSBzZWFyY2ggaW5kZXggZm9y + IG9iamVjdHMgc2ltaWxhciB0byBhIGdpdmVuIG9iamVjdCBpcyBhIGNvbW1v + biBwcm9ibGVtLiBBIHVzZXIgd2hvIGhhcyBqdXN0IHJlYWQgYSBncmVhdCBu + ZXdzIGFydGljbGUgbWlnaHQgd2FudCB0byByZWFkIGFydGljbGVzIHNpbWls + YXIgdG8gaXQuIEEgdXNlciB3aG8gaGFzIGp1c3QgdGFrZW4gYSBwaWN0dXJl + IG9mIGEgZG9nIG1pZ2h0IHdhbnQgdG8gc2VhcmNoIGZvciBkb2cgcGhvdG9z + IHNpbWlsYXIgdG8gaXQuIEluIGJvdGggb2YgdGhlc2UgY2FzZXMsIHRoZSBx + dWVyeSBvYmplY3QgaXMgdHVybmVkIGludG8gYSB2ZWN0b3IgYW5kIGNvbXBh + cmVkIHRvJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVh + ZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDgvMjIvc2ltaWxhcml0eS1zZWFyY2gtd2l0 + aC1qZWZmLWpvaG5zb24vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4m + bHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1h + bmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3 + NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdo + dCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRp + dXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRo + OiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL21sY29uZi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTUvMDIv + amVmZmpvaG5zb24ucG5nP3Jlc2l6ZT0xNzUlMkMxNzUiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPlF1ZXJ5aW5nIGEgc2VhcmNoIGluZGV4IGZvciBvYmplY3RzIHNp + bWlsYXIgdG8gYSBnaXZlbiBvYmplY3QgaXMgYSBjb21tb24gcHJvYmxlbS4g + QSB1c2VyIHdobyBoYXMganVzdCByZWFkIGEgZ3JlYXQgbmV3cyBhcnRpY2xl + IG1pZ2h0IHdhbnQgdG8gcmVhZCBhcnRpY2xlcyBzaW1pbGFyIHRvIGl0LiBB + IHVzZXIgd2hvIGhhcyBqdXN0IHRha2VuIGEgcGljdHVyZSBvZiBhIGRvZyBt + aWdodCB3YW50IHRvIHNlYXJjaCBmb3IgZG9nIHBob3RvcyBzaW1pbGFyIHRv + IGl0LiBJbiBib3RoIG9mIHRoZXNlIGNhc2VzLCB0aGUgcXVlcnkgb2JqZWN0 + IGlzIHR1cm5lZCBpbnRvIGEgdmVjdG9yIGFuZCBjb21wYXJlZCB0byB0aGUg + dmVjdG9ycyByZXByZXNlbnRpbmcgdGhlIG9iamVjdHMgaW4gdGhlIHNlYXJj + aCBpbmRleC48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkZhY2Vib29rIGNvbnRhaW5zIGEgbG90IG9mIG5ld3MgYXJ0 + aWNsZXMgYW5kIGEgbG90IG9mIGRvZyBwaWN0dXJlcy4gSG93IGRvIHlvdSBp + bmRleCBhbmQgcXVlcnkgYWxsIHRoYXQgaW5mb3JtYXRpb24gZWZmaWNpZW50 + bHk/IE11Y2ggb2YgdGhhdCBkYXRhIGlzIHVubGFiZWxlZC4gSG93IGNhbiB5 + b3UgdXNlIGRlZXAgbGVhcm5pbmcgdG8gY2xhc3NpZnkgZW50aXRpZXMgYW5k + IGFkZCBtb3JlIHJpY2huZXNzIHRvIHRoZSB2ZWN0b3JzPzwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SmVmZiBKb2hu + c29uIGlzIGEgcmVzZWFyY2ggZW5naW5lZXIgYXQgRmFjZWJvb2suIEhlIGpv + aW5zIHRoZSBzaG93IHRvIGRpc2N1c3MgaG93IHNpbWlsYXJpdHkgc2VhcmNo + IHdvcmtzIGF0IHNjYWxlLCBpbmNsdWRpbmcgaG93IHRvIHJlcHJlc2VudCB0 + aGF0IGRhdGEgYW5kIHRoZSB0cmFkZW9mZnMgb2YgdGhpcyBraW5kIG9mIHNl + YXJjaCBlbmdpbmUgYWNyb3NzIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIGFuZCBh + Y2N1cmFjeS48L3NwYW4+PC9wPgo8cD5Ob3RlczogPGEgaHJlZj0iaHR0cHM6 + Ly9jb2RlLmZhY2Vib29rLmNvbS9wb3N0cy8xMzczNzY5OTEyNjQ1OTI2L2Zh + aXNzLWEtbGlicmFyeS1mb3ItZWZmaWNpZW50LXNpbWlsYXJpdHktc2VhcmNo + LyI+SmVmZiYjODIxNztzIGJsb2cgcG9zdCBhYm91dCBzaW1pbGFyaXR5IHNl + YXJjaDwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + Yml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzc1MyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvcGl2b3RhbC1sb2dvL3Bpdm90 + YWwtb25saWdodC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTI2MTAlMkMx + MDgwIiBkYXRhLW9yaWctc2l6ZT0iMjYxMCwxMDgwIiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlBpdm90YWwtT25M + aWdodCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/Zml0PTMwMCUyQzEyNCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/ + Zml0PTEwMjQlMkM0MjQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzc1 + MyBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZv + dGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jl + c2l6ZT03NjglMkMzMTggNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0xMDI0JTJDNDI0IDEw + MjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTcyMCUyQzI5OCA3MjB3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/dz0yMTAwIDIx + MDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5TcHJpbmcgRnJhbWV3b3JrIGdpdmVzIGRldmVs + b3BlcnMgYW4gZW52aXJvbm1lbnQgZm9yIGJ1aWxkaW5nIGNsb3VkIG5hdGl2 + ZSBwcm9qZWN0cy4gT24gRGVjZW1iZXIgNHRoLTd0aCwgPGEgaHJlZj0iaHR0 + cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRm + b3JtPC9hPiBpcyBjb21pbmcgdG8gU2FuIEZyYW5jaXNjby4gU3ByaW5nT25l + IFBsYXRmb3JtIGlzIGEgY29uZmVyZW5jZSB3aGVyZSBkZXZlbG9wZXJzIGNv + bmdyZWdhdGUgdG8gZXhwbG9yZSB0aGUgbGF0ZXN0IHRlY2hub2xvZ2llcyBp + biB0aGUgU3ByaW5nIGVjb3N5c3RlbSBhbmQgYmV5b25kLiBTcGVha2VycyBh + dCBTcHJpbmdPbmUgUGxhdGZvcm0gaW5jbHVkZSBFcmljIEJyZXdlciAod2hv + IGNyZWF0ZWQgdGhlIENBUCB0aGVvcmVtKSwgVmF1Z2huIFZlcm5vbiAod2hv + IHdyaXRlcyBleHRlbnNpdmVseSBhYm91dCBEb21haW4gRHJpdmVuIERlc2ln + biksIGFuZCBtYW55IHRob3VnaHQgbGVhZGVycyBpbiB0aGUgU3ByaW5nIEVj + b3N5c3RlbS4gU3ByaW5nT25lIFBsYXRmb3JtIGlzIHRoZSBwcmVtaWVyIGNv + bmZlcmVuY2UgZm9yIHRob3NlIHdobyBidWlsZCwgZGVwbG95LCBhbmQgcnVu + IGNsb3VkLW5hdGl2ZSBzb2Z0d2FyZS4gU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbGlzdGVuZXJzIGNhbiBzaWduIHVwIHdpdGggdGhlIGRpc2NvdW50 + IGNvZGUgU0VEYWlseTEwMCBhbmQgcmVjZWl2ZSAkMTAwIG9mZiBvZiBhIFNw + cmluZyBPbmUgUGxhdGZvcm0gPGEgaHJlZj0iaHR0cHM6Ly8yMDE3LnNwcmlu + Z29uZXBsYXRmb3JtLmlvL2Vob21lL3MxcC9yZWdpc3RyYXRpb24iPmNvbmZl + cmVuY2UgcGFzczwvYT4uIEkgd2lsbCBhbHNvIGJlIGF0IFNwcmluZ09uZSBy + ZXBvcnRpbmcgb24gZGV2ZWxvcG1lbnRzIGluIHRoZSBjbG91ZCBuYXRpdmUg + ZWNvc3lzdGVtLiBKb2luIG1lIERlY2VtYmVyIDR0aC03dGggYXQgdGhlIDxh + IGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPlNwcmlu + Z09uZSBQbGF0Zm9ybTwvYT4gY29uZmVyZW5jZSwgYW5kIHVzZSBkaXNjb3Vu + dCBjb2RlIFNFRGFpbHkxMDAgZm9yICQxMDAgb2ZmIHlvdXIgY29uZmVyZW5j + ZSBwYXNzLiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ28uZ3JhbW1hdGVj + aC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM4MTUi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL2dyYW1tYXRlY2gvZ3JhbW1hdGVjaC1sb2dvbC8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGRhdGEtb3Jp + Zy1zaXplPSI4MjUsMzAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IkdyYW1tYXRlY2gtTG9nb0wiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9maXQ9 + MzAwJTJDMTA5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTgyNSUyQzMw + MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zODE1IHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVj + aC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUyQzEwOSIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29M + LmpwZz9yZXNpemU9MzAwJTJDMTA5IDMwMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTc2OCUy + QzI3OSA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1t + YXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03MjAlMkMyNjIgNzIwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz93 + PTgyNSA4MjV3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5HcmFtbWFUZWNoIENvZGVTb25hciBo + ZWxwcyBkZXZlbG9wbWVudCB0ZWFtcyBpbXByb3ZlIGNvZGUgcXVhbGl0eSB3 + aXRoIHN0YXRpYyBhbmFseXNpcy4gSXQgaGVscHMgZmxhZyBpc3N1ZXMgZWFy + bHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MsIGFsbG93aW5nIGRldmVs + b3BlcnMgdG8gcmVsZWFzZSBiZXR0ZXIgY29kZSBmYXN0ZXIuwqBDb2RlU29u + YXIgY2FuIGVhc2lseSBiZSBpbnRlZ3JhdGVkIGludG8gYW55IGRldmVsb3Bt + ZW50IHByb2Nlc3MuIENvZGVTb25hciBwZXJmb3JtcyBhZHZhbmNlZCBzdGF0 + aWMgYW5hbHlzaXMgb2YgQywgQysrLCBKYXZhLCBhbmQgZXZlbiByYXcgYmlu + YXJ5IGNvZGUuIENvZGVTb25hciBwZXJmb3JtcyB1bmlxdWUgZGF0YWZsb3cg + YW5kIHN5bWJvbGljIGV4ZWN1dGlvbiBhbmFseXNpcyB0byBhZ2dyZXNzaXZl + bHkgc2NhbiBmb3IgcHJvYmxlbXMgaW4geW91ciBjb2RlLsKgSnVzdCBsaWtl + IGJhdHRsZXNoaXBzIHVzZSBzb25hciB0byBkZXRlY3Qgb2JqZWN0cyBkZWVw + IHVuZGVyd2F0ZXIsIGVuZ2luZWVycyB1c2UgQ29kZVNvbmFyIHRvIGRldGVj + dCBzdWJ0bGUgcHJvYmxlbXMgZGVlcCB3aXRoaW4gdGhlaXIgY29kZS7CoEdv + IHRvIDxhIGhyZWY9Imh0dHA6Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5 + Ij5nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5PC9hPiB0byBnZXQgeW91ciBm + cmVlIDMwLWRheSB0cmlhbCwgZXhjbHVzaXZlbHkgZm9yIFNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5IGxpc3RlbmVyc8KgYW5kIHVubGVhc2ggdGhlIHBv + d2VyIG9mIGFkdmFuY2VkIHN0YXRpYyBhbmFseXNpcy48YnIgLz4KPC9kaXY+ + PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL2J1Z3NuYWcuY29tL3NlZGFpbHkiPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzNzIwIiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9idWdz + bmFnL2J1Z3NuYWdfbG9nby0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MzAx + MCUyQzg2NiIgZGF0YS1vcmlnLXNpemU9IjMwMTAsODY2IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkJ1Z3NuYWdf + bG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9n + by5wbmc/Zml0PTMwMCUyQzg2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MTAy + NCUyQzI5NSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIwIHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVn + c25hZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDODYiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBu + Zz9yZXNpemU9MzAwJTJDODYgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyMjEgNzY4 + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28u + cG5nP3Jlc2l6ZT0xMDI0JTJDMjk1IDEwMjR3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTcyMCUyQzIw + NyA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdf + bG9nby5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5CdWdzbmFnIGlt + cHJvdmVzIHRoZSB0YXNrIG9mIHRyb3VibGVzaG9vdGluZyBlcnJvcnMgYnkg + bWFraW5nIGl0IG1vcmUgZW5qb3lhYmxlIGFuZCBsZXNzIHRpbWUtY29uc3Vt + aW5nLiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBlcnJvciBvY2N1cnMsIHlvdXIg + dGVhbSBjYW4gZ2V0IG5vdGlmaWVkIHZpYSBTbGFjaywgc2VlIGRpYWdub3N0 + aWMgaW5mb3JtYXRpb24gb24gdGhlIGVycm9yLCBhbmQgaWRlbnRpZnkgdGhl + IGRldmVsb3BlciB3aG8gY29tbWl0dGVkIHRoZSBjb2RlLiBCdWdzbmFn4oCZ + cyBpbnRlZ3JhdGlvbiB3aXRoIEppcmEgYW5kIG90aGVyIGNvbGxhYm9yYXRp + b24gdG9vbHMgbWFrZXMgaXQgZWFzeSB0byBhc3NpZ24gYW5kIHRyYWNrIGJ1 + Z3MgYXMgdGhleSBhcmUgYmVpbmcgZml4ZWQuwqBUaGVyZSBpcyBhIHNwZWNp + YWwgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3Rl + bmVycy4gVHJ5IGFsbCBmZWF0dXJlcyBmcmVlIGZvciA2MCBkYXlzIGF0IDxh + IGhyZWY9Imh0dHBzOi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkiPmh0dHBz + Oi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHk8L2E+LsKgRGV2ZWxvcG1lbnQg + dGVhbXMgY2FuIG5vdyBpdGVyYXRlIGZhc3RlciBhbmQgaW1wcm92ZSBzb2Z0 + d2FyZSBxdWFsaXR5LsKgVG8gZ2V0IHN0YXJ0ZWQsIGdvIHRvIDxhIGhyZWY9 + Imh0dHBzOi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkvIj5odHRwczovL3d3 + dy5idWdzbmFnLmNvbS9zZWRhaWx5LzwvYT4uIEdldCB1cCBhbmQgcnVubmlu + ZyBpbiB0aHJlZSBtaW51dGVzLiBBaXJibmIsIEx5ZnQsIGFuZCBTaG9waWZ5 + IGFsbCB1c2UgQnVnc25hZyB0byBtb25pdG9yIGFwcGxpY2F0aW9uIGVycm9y + cy4gwqA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9p + bmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + ODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Ut + d2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJp + bWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4 + OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5GbGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQg + SW5kZWVkIFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5 + IHdpdGggb3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIg + c2lkZSBwcm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBj + bGljaywgZ2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxp + a2UgRmFjZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVt + cGxveWVycyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVr + IHdpdGggc2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4g + RG9u4oCZdCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10 + aW1lIGpvYi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3Uu + IFRoZSBhdmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95 + ZXIgY29udGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQx + MjUsMDAwLiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRh + dGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdDxh + IGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPiBpbmRlZWQuY29t + L3NlZGFpbHk8L2E+LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxl + bmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFp + bHkvU2ltaWxhcml0eVNlYXJjaC5tcDMiIGxlbmd0aD0iNTczNDc0NDciIHR5 + cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5RdWVyeWlu + ZyBhIHNlYXJjaCBpbmRleCBmb3Igb2JqZWN0cyBzaW1pbGFyIHRvIGEgZ2l2 + ZW4gb2JqZWN0IGlzIGEgY29tbW9uIHByb2JsZW0uIEEgdXNlciB3aG8gaGFz + IGp1c3QgcmVhZCBhIGdyZWF0IG5ld3MgYXJ0aWNsZSBtaWdodCB3YW50IHRv + IHJlYWQgYXJ0aWNsZXMgc2ltaWxhciB0byBpdC4gQSB1c2VyIHdobyBoYXMg + anVzdCB0YWtlbiBhIHBpY3R1cmUgb2YgYSBkb2cgbWlnaHQgd2FudCB0byBz + ZWFyY2ggZm9yIGRvZyBwaG90b3MuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8 + aXR1bmVzOnN1bW1hcnk+UXVlcnlpbmcgYSBzZWFyY2ggaW5kZXggZm9yIG9i + amVjdHMgc2ltaWxhciB0byBhIGdpdmVuIG9iamVjdCBpcyBhIGNvbW1vbiBw + cm9ibGVtLiBBIHVzZXIgd2hvIGhhcyBqdXN0IHJlYWQgYSBncmVhdCBuZXdz + IGFydGljbGUgbWlnaHQgd2FudCB0byByZWFkIGFydGljbGVzIHNpbWlsYXIg + dG8gaXQuIEEgdXNlciB3aG8gaGFzIGp1c3QgdGFrZW4gYSBwaWN0dXJlIG9m + IGEgZG9nIG1pZ2h0IHdhbnQgdG8gc2VhcmNoIGZvciBkb2cgcGhvdG9zIHNp + bWlsYXIgdG8gaXQuIEluIGJvdGggb2YgdGhlc2UgY2FzZXMsIHRoZSBxdWVy + eSBvYmplY3QgaXMgdHVybmVkIGludG8gYSB2ZWN0b3IgYW5kIGNvbXBhcmVk + IHRvQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0 + dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5l + czphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4 + cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTk6MzA8L2l0dW5lczpkdXJh + dGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRp + dGlvbnM6MSI+MzgzOTwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJ + PHRpdGxlPkF1Z21lbnRlZCBSZWFsaXR5IHdpdGggSmVzc2UgQm91bmRzIGFu + ZCBTaXl1IFNvbmc8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzIxL2F1Z21lbnRlZC1yZWFs + aXR5LXdpdGgtamVzc2UtYm91bmRzLWFuZC1zaXl1LXNvbmcvPC9saW5rPg0K + CQk8cHViRGF0ZT5Nb24sIDIxIEF1ZyAyMDE3IDA5OjAwOjI2ICswMDAwPC9w + dWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM4Mzg8L2d1aWQ+DQoJ + CTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA4LzIxL2F1Z21lbnRlZC1yZWFsaXR5LXdpdGgtamVzc2UtYm91 + bmRzLWFuZC1zaXl1LXNvbmcvI3Jlc3BvbmQ8L2NvbW1lbnRzPg0KCQk8d2Z3 + OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOC8yMS9hdWdtZW50ZWQtcmVhbGl0eS13aXRoLWplc3NlLWJv + dW5kcy1hbmQtc2l5dS1zb25nL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJ + PHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbT3BlbiBTb3VyY2VdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbQXBwbGUgQVJLaXRdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtBdWdtZW50ZWQgUmVhbGl0eV1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0plc3NlIEJvdW5kc11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW01hcGJveF1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NpeXUgU29uZ11dPjwvY2F0ZWdv + cnk+CgkJPGRlc2NyaXB0aW9uPkF1Z21lbnRlZCByZWFsaXR5IGlzIGNvbWlu + ZyBhdCB1cyBmYXN0LiBFdmVyeSBsYXJnZSB0ZWNoIGNvbXBhbnkgaXMgcnVt + b3JlZCB0byBiZSBidWlsZGluZyBhbiBBUiBwcm9kdWN0LiBNaWNyb3NvZnQg + SG9sb0xlbnMgaXMgYWxyZWFkeSBhdmFpbGFibGUgdG8gZGV2ZWxvcGVycy4g + UG9rZW1vbiBHbywgdGhlIG1vc3QgcG9wdWxhciBhdWdtZW50ZWQgcmVhbGl0 + eSBwcm9kdWN0IHRvZGF5LCB3YXMgbWFkZSBieSBhIGNvbXBhbnkgdGhhdCB3 + YXMgc3B1biBvdXQgb2YgR29vZ2xlLiBCdXQgQXBwbGUgc2VlbXMgdG8gYmUg + YWhlYWQgb2YgZXZlcnlvbmUuIEFwcGxl4oCZcyBBUktpdCBpcyBhIHNldCBv + ZiB0b29scyBmb3IgZGV2ZWxvcGVycyB0byBidWlsZCBhdWdtZW50ZWQgcmVh + bGl0eSBhcHBsaWNhdGlvbnMuIFRoZSBhcHBsaWNhdGlvbnMmbHQ7cCZndDsm + bHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9 + JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wOC8yMS9hdWdtZW50ZWQtcmVhbGl0eS13aXRoLWplc3NlLWJvdW5kcy1h + bmQtc2l5dS1zb25nLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0 + Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDpl + bmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + NDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5h + Z2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUs + MTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQg + c2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVz + OiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDog + MTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kwLndw + LmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzYxNzUwNzI5MTYw + OTE5ODU5Mi9JTVpqd2Q0dS5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3Nz + bD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BdWdtZW50ZWQgcmVhbGl0eSBpcyBj + b21pbmcgYXQgdXMgZmFzdC4gRXZlcnkgbGFyZ2UgdGVjaCBjb21wYW55IGlz + IHJ1bW9yZWQgdG8gYmUgYnVpbGRpbmcgYW4gQVIgcHJvZHVjdC4gTWljcm9z + b2Z0IEhvbG9MZW5zIGlzIGFscmVhZHkgYXZhaWxhYmxlIHRvIGRldmVsb3Bl + cnMuIFBva2Vtb24gR28sIHRoZSBtb3N0IHBvcHVsYXIgYXVnbWVudGVkIHJl + YWxpdHkgcHJvZHVjdCB0b2RheSwgd2FzIG1hZGUgYnkgYSBjb21wYW55IHRo + YXQgd2FzIHNwdW4gb3V0IG9mIEdvb2dsZS4gQnV0IEFwcGxlIHNlZW1zIHRv + IGJlIGFoZWFkIG9mIGV2ZXJ5b25lLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+QXBwbGXigJlzIEFSS2l0IGlzIGEg + c2V0IG9mIHRvb2xzIGZvciBkZXZlbG9wZXJzIHRvIGJ1aWxkIGF1Z21lbnRl + ZCByZWFsaXR5IGFwcGxpY2F0aW9ucy4gVGhlIGFwcGxpY2F0aW9ucyBwZW9w + bGUgYXJlIGJ1aWxkaW5nIHdpdGggQVJLaXQgPC9zcGFuPjxhIGhyZWY9Imh0 + dHBzOi8vdHdpdHRlci5jb20vbWFkZXdpdGhhcmtpdD9sYW5nPWVuIj48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmFyZSByZW1hcmthYmxlPC9z + cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgYW5k + IHR3byBvZiB0aG9zZSBlYXJseSBhZG9wdGVycyBqb2luIHRoZSBzaG93IHRv + ZGF5IGZvciBhbiBpbnRlcnZpZXcuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5KZXNzZSBCb3VuZHMgYW5kIFNpeXUg + U29uZyB3b3JrIGF0IE1hcGJveCwgYSBjb21wYW55IHRoYXQgbWFrZXMgbWFw + cGluZywgbmF2aWdhdGlvbiwgYW5kIGxvY2F0aW9uIHNlYXJjaCBTREtzLiBM + b2NhdGlvbiBpcyBuYXR1cmFsIGNvbXBhbmlvbiB0byBhdWdtZW50ZWQgcmVh + bGl0eS4gSWYgSSBhbSB3YWxraW5nIGRvd24gdGhlIHN0cmVldCB3aXRoIGEg + cGFpciBvZiBhdWdtZW50ZWQgcmVhbGl0eSBnbGFzc2VzIG9uLCB0aG9zZSBn + bGFzc2VzIGNhbiBhdWdtZW50IHRoZSB3b3JsZCB3aXRoIGluZm9ybWF0aW9u + IGJhc2VkIG9uIG15IGxvY2F0aW9uLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+QmVjYXVzZSB0aGUgZml0IGJldHdl + ZW4gQVIgYW5kIG1hcHBpbmcgaXMgc28gbmF0dXJhbCwgTWFwYm94IGhhcyBi + ZWVuIHJhcGlkbHkgZXhwZXJpbWVudGluZyB0byBidWlsZCB1cCBhbiBleHBl + cnRpc2UgaW4gQVIuIEFzIGEgcmVzdWx0LCBKZXNzZSBhbmQgU2l5dSBtYWtl + IGZvciBncmVhdCBndWVzdHMgdG8gdGFsayBhYm91dCB3aGF0IGVuZ2luZWVy + cyBjYW4gYnVpbGQgd2l0aCBBUktpdCB0b2RheSBhbmQgd2hhdCBtaWdodCBi + ZSBwb3NzaWJsZSBpbiB0aGUgZnV0dXJlLjwvc3Bhbj48L3A+CjxoMj5TcG9u + c29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vZWNzLmF3cyI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM3MjIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253 + ZWJzZXJ2aWNlc19sb2dvLXN2Z18vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP2ZpdD0yMDAwJTJDODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAw + MCw4MDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5z + dmdfLnBuZz9maXQ9MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9n + by5zdmdfLnBuZz9maXQ9MTAyNCUyQzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zNzIyIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBu + Zz9yZXNpemU9MzAwJTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3Zn + Xy5wbmc/cmVzaXplPTMwMCUyQzEyMCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/ + cmVzaXplPTc2OCUyQzMwNyA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXpl + PTEwMjQlMkM0MTAgMTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzIw + JTJDMjg4IDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncs + IDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIg + Lz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkRldmVsb3BlcnMgbG92ZSBEb2Nr + ZXIgQ29udGFpbmVycyBiZWNhdXNlIHRoZXkgZ2l2ZSBhcHBsaWNhdGlvbnMg + cG9ydGFiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IGFsbCB0aGUgd2F5IGZyb20g + eW91ciBsYXB0b3AgaW50byBwcm9kdWN0aW9uLiBBbWF6b24gRUMyIENvbnRh + aW5lciBTZXJ2aWNlIGZyb20gQW1hem9uIFdlYiBTZXJ2aWNlcyBtYWtlcyBp + dCBlYXN5IHRvIHJ1biBEb2NrZXIgYXBwcyBpbiB0aGUgY2xvdWQuIFdpdGgg + QW1hem9uIEVDMiBDb250YWluZXIgU2VydmljZSwgZGVwbG95aW5nLCBvcGVy + YXRpbmcgYW5kIHNjYWxpbmcgeW91ciBpbmZyYXN0cnVjdHVyZSBoYXBwZW5z + IGF1dG9tYXRpY2FsbHkuIEJlc3Qgb2YgYWxsLCB5b3Ugb25seSBwYXkgZm9y + IHRoZSBBV1MgY29tcHV0ZSBhbmQgc3RvcmFnZSByZXNvdXJjZXMgeW91IHVz + ZS4gV2l0aCBBbWF6b24gRUMyIENvbnRhaW5lciBTZXJ2aWNlLCB5b3UgY2Fu + IGZvY3VzIG9uIGJ1aWxkaW5nIGFwcHMsIG5vdCBtYW5hZ2luZyB5b3VyIGNv + bnRhaW5lciBpbmZyYXN0cnVjdHVyZS4gTGVhcm4gbW9yZSBhdCA8YSBocmVm + PSJodHRwOi8vZWNzLmF3cyI+ZWNzLmF3czwvYT4gdG9kYXkuPC9kaXY+PC9w + Pgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3NlZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzODE1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9n + cmFtbWF0ZWNoL2dyYW1tYXRlY2gtbG9nb2wvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29M + LmpwZz9maXQ9ODI1JTJDMzAwIiBkYXRhLW9yaWctc2l6ZT0iODI1LDMwMCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJHcmFtbWF0ZWNoLUxvZ29MIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTMwMCUyQzEwOSIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1t + YXRlY2gtTG9nb0wuanBnP2ZpdD04MjUlMkMzMDAiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzgxNSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6 + ZT0zMDAlMkMxMDkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTMwMCUy + QzEwOSAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1t + YXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT03NjglMkMyNzkgNzY4dywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9y + ZXNpemU9NzIwJTJDMjYyIDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/dz04MjUgODI1dyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+R3JhbW1hVGVjaCBDb2RlU29uYXIgaGVscHMgZGV2ZWxvcG1lbnQg + dGVhbXMgaW1wcm92ZSBjb2RlIHF1YWxpdHkgd2l0aCBzdGF0aWMgYW5hbHlz + aXMuIEl0IGhlbHBzIGZsYWcgaXNzdWVzIGVhcmx5IGluIHRoZSBkZXZlbG9w + bWVudCBwcm9jZXNzLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIHJlbGVhc2Ug + YmV0dGVyIGNvZGUgZmFzdGVyLsKgQ29kZVNvbmFyIGNhbiBlYXNpbHkgYmUg + aW50ZWdyYXRlZCBpbnRvIGFueSBkZXZlbG9wbWVudCBwcm9jZXNzLiBDb2Rl + U29uYXIgcGVyZm9ybXMgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lzIG9mIEMs + IEMrKywgSmF2YSwgYW5kIGV2ZW4gcmF3IGJpbmFyeSBjb2RlLiBDb2RlU29u + YXIgcGVyZm9ybXMgdW5pcXVlIGRhdGFmbG93IGFuZCBzeW1ib2xpYyBleGVj + dXRpb24gYW5hbHlzaXMgdG8gYWdncmVzc2l2ZWx5IHNjYW4gZm9yIHByb2Js + ZW1zIGluIHlvdXIgY29kZS7CoEp1c3QgbGlrZSBiYXR0bGVzaGlwcyB1c2Ug + c29uYXIgdG8gZGV0ZWN0IG9iamVjdHMgZGVlcCB1bmRlcndhdGVyLCBlbmdp + bmVlcnMgdXNlIENvZGVTb25hciB0byBkZXRlY3Qgc3VidGxlIHByb2JsZW1z + IGRlZXAgd2l0aGluIHRoZWlyIGNvZGUuwqBHbyB0byA8YSBocmVmPSJodHRw + Oi8vZ28uZ3JhbW1hdGVjaC5jb20vc2VkYWlseSI+Z28uZ3JhbW1hdGVjaC5j + b20vc2VkYWlseTwvYT4gdG8gZ2V0IHlvdXIgZnJlZSAzMC1kYXkgdHJpYWws + IGV4Y2x1c2l2ZWx5IGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBs + aXN0ZW5lcnPCoGFuZCB1bmxlYXNoIHRoZSBwb3dlciBvZiBhZHZhbmNlZCBz + dGF0aWMgYW5hbHlzaXMuPGJyIC8+CjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHBz + Oi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjM4ODEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE4L2Vycm9yLWRpYWdub3Np + cy13aXRoLWphbWVzLXNtaXRoL2Nsb3VkZmxhcmVfbG9nby8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxh + cmVfbG9nby5wbmc/Zml0PTEyMDAlMkM0MDkiIGRhdGEtb3JpZy1zaXplPSIx + MjAwLDQwOSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJDbG91ZGZsYXJlX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0zMDAlMkMxMDIi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9DbG91ZGZsYXJlX2xvZ28ucG5nP2ZpdD0xMDI0JTJDMzQ5IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTM4ODEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5n + P3Jlc2l6ZT0zMDAlMkMxMDIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9 + MzAwJTJDMTAyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgv + Q2xvdWRmbGFyZV9sb2dvLnBuZz9yZXNpemU9NzY4JTJDMjYyIDc2OHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBu + Zz9yZXNpemU9MTAyNCUyQzM0OSAxMDI0dywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMy + NDUgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZs + YXJlX2xvZ28ucG5nP3c9MTIwMCAxMjAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+Q2xvdWRm + bGFyZSBydW5zIDEwJSBvZiB0aGUgSW50ZXJuZXQsIHByb3ZpZGluZyBwZXJm + b3JtYW5jZSBhbmQgc2VjdXJpdHkgdG8gbWlsbGlvbnMgb2Ygd2Vic2l0ZXMu + IE1hbnkgb2YgeW91IHByb2JhYmx5IGFscmVhZHkgdXNlIENsb3VkZmxhcmUg + b24geW91ciBzaXRlcy4gV2XigJlyZSBub3QgdGFsa2luZyBhYm91dCB1c2lu + ZyBDbG91ZGZsYXJlIHRvZGF5IHRob3VnaCwgd2XigJlyZSBoZXJlIHRvIHRh + bGsgYWJvdXQgYnVpbGRpbmcgb24gdG9wIG9mIGl0LiBJZiB5b3XigJlyZSBh + IGRldmVsb3BlciB5b3UgY2FuIGJ1aWxkIGFwcHMgd2hpY2ggY2FuIGJlIGlu + c3RhbGxlZCBieSB0aGUgdGhlIG1pbGxpb25zIG9mIHNpdGVzIHdoaWNoIHJl + bHkgb24gQ2xvdWRmbGFyZS4gWW91IGNhbiBldmVuIHNlbGwgeW91ciBhcHBz + OyB0aGV5IGNhbiBtYWtlIHlvdSBtb25leSA8ZW0+ZXZlcnkgbW9udGg8L2Vt + Pi4gVmlzaXQgPGEgaHJlZj0iaHR0cHM6Ly9jbG91ZGZsYXJlLmNvbS9zZWRh + aWx5Ij5jbG91ZGZsYXJlLmNvbS9zZWRhaWx5PC9hPsKgdG8gd2F0Y2ggaG93 + IHlvdSBjYW4gYnVpbGQgYW5kIGRlcGxveSBhbiBhcHAgaW4gbGVzcyB0aGFu + IDMgbWludXRlcy48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIyODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNj + aWVuY2Utd2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRl + ZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2 + Myw5NiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1w + cmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTI4OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIg + c3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1w + cmltZS5wbmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBz + aXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5GbGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFu + ZCBsZXQgSW5kZWVkIFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJly + ZSBidXN5IHdpdGggb3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5n + IHlvdXIgc2lkZSBwcm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGlu + IG9uZSBjbGljaywgZ2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFu + aWVzIGxpa2UgRmFjZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVz + dGVkIGVtcGxveWVycyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9u + ZSB3ZWVrIHdpdGggc2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBm + cm9udC4gRG9u4oCZdCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEg + ZnVsbC10aW1lIGpvYi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0 + byB5b3UuIFRoZSBhdmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUg + ZW1wbG95ZXIgY29udGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVy + IG9mICQxMjUsMDAwLiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBj + YW5kaWRhdGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5v + dyBhdCA8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5Ij5pbmRl + ZWQuY29tL3NlZGFpbHk8L2E+LiBUaGFua3MgdG8gSW5kZWVkIFByaW1lIGZv + ciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkuPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVy + bD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L01hcGJveEFS + S2l0Lm1wMyIgbGVuZ3RoPSI0MzUwNzMyNCIgdHlwZT0iYXVkaW8vbXBlZyIg + Lz4KCQk8aXR1bmVzOnN1YnRpdGxlPkF1Z21lbnRlZCByZWFsaXR5IGlzIGNv + bWluZyBhdCB1cyBmYXN0LiBFdmVyeSBsYXJnZSB0ZWNoIGNvbXBhbnkgaXMg + cnVtb3JlZCB0byBiZSBidWlsZGluZyBhbiBBUiBwcm9kdWN0LiBNaWNyb3Nv + ZnQgSG9sb0xlbnMgaXMgYWxyZWFkeSBhdmFpbGFibGUgdG8gZGV2ZWxvcGVy + cy4gUG9rZW1vbiBHbywgdGhlIG1vc3QgcG9wdWxhciBhdWdtZW50ZWQgcmVh + bGl0eSBwcm9kdWN0IHRvZGF5LDwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVu + ZXM6c3VtbWFyeT5BdWdtZW50ZWQgcmVhbGl0eSBpcyBjb21pbmcgYXQgdXMg + ZmFzdC4gRXZlcnkgbGFyZ2UgdGVjaCBjb21wYW55IGlzIHJ1bW9yZWQgdG8g + YmUgYnVpbGRpbmcgYW4gQVIgcHJvZHVjdC4gTWljcm9zb2Z0IEhvbG9MZW5z + IGlzIGFscmVhZHkgYXZhaWxhYmxlIHRvIGRldmVsb3BlcnMuIFBva2Vtb24g + R28sIHRoZSBtb3N0IHBvcHVsYXIgYXVnbWVudGVkIHJlYWxpdHkgcHJvZHVj + dCB0b2RheSwgd2FzIG1hZGUgYnkgYSBjb21wYW55IHRoYXQgd2FzIHNwdW4g + b3V0IG9mIEdvb2dsZS4gQnV0IEFwcGxlIHNlZW1zIHRvIGJlIGFoZWFkIG9m + IGV2ZXJ5b25lLiBBcHBsZeKAmXMgQVJLaXQgaXMgYSBzZXQgb2YgdG9vbHMg + Zm9yIGRldmVsb3BlcnMgdG8gYnVpbGQgYXVnbWVudGVkIHJlYWxpdHkgYXBw + bGljYXRpb25zLiBUaGUgYXBwbGljYXRpb25zQ29udGludWUgcmVhZGluZy4u + LjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpl + eHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVy + YXRpb24+MTowMDowNzwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxu + cz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zODM4PC9wb3N0 + LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+RXJyb3IgRGlhZ25v + c2lzIHdpdGggSmFtZXMgU21pdGg8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE4L2Vycm9y + LWRpYWdub3Npcy13aXRoLWphbWVzLXNtaXRoLzwvbGluaz4NCgkJPHB1YkRh + dGU+RnJpLCAxOCBBdWcgMjAxNyAwOTowMDoxNyArMDAwMDwvcHViRGF0ZT4N + CgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zODM2PC9ndWlkPg0KCQk8Y29tbWVu + dHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OC8xOC9lcnJvci1kaWFnbm9zaXMtd2l0aC1qYW1lcy1zbWl0aC8jY29tbWVu + dHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xOC9lcnJvci1kaWFn + bm9zaXMtd2l0aC1qYW1lcy1zbWl0aC9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+ + DQoJCTxzbGFzaDpjb21tZW50cz4zPC9zbGFzaDpjb21tZW50cz4NCgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1Z3NuYWddXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjcmFzaCByZXBvcnRpbmddXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtlcnJvciB0cmFja2luZyBz + b2Z0d2FyZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0ph + bWVzIFNtaXRoXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+V2hlbiBh + IHVzZXIgZXhwZXJpZW5jZXMgYW4gZXJyb3IgaW4gYW4gYXBwbGljYXRpb24s + IHRoZSBlbmdpbmVlcnMgd2hvIGFyZSBidWlsZGluZyB0aGF0IGFwcGxpY2F0 + aW9uIG5lZWQgdG8gZmluZCBvdXQgd2h5IHRoYXQgZXJyb3Igb2NjdXJyZWQu + IFRoZSByb290IGNhdXNlIG9mIHRoYXQgZXJyb3IgbWF5IGJlIG9uIHRoZSB1 + c2Vy4oCZcyBkZXZpY2UsIG9yIHdpdGhpbiBhIHBpZWNlIG9mIHNlcnZlci1z + aWRlIGxvZ2ljLCBvciBoaWRkZW4gYmVoaW5kIGEgYmxhY2sgYm94IEFQSS4g + VG8gZml4IGEgY29tcGxleCBlcnJvciwgd2UgbmVlZCBhIHN0YWNrIHRyYWNl + IG9mIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gc28gdGhhdCB3ZSBjYW4gY29y + cmVsYXRlIGV2ZW50cyBhY3Jvc3MmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVv + dDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xOC9lcnJvci1k + aWFnbm9zaXMtd2l0aC1qYW1lcy1zbWl0aC8mcXVvdDsmZ3Q7Q29udGludWUg + cmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4N + CgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1j + b250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVy + bnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9y + aWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNz + PSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0i + Ym9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAw + OyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0i + aHR0cHM6Ly9pMi53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9maWxlX2ltYWdl + cy8zMDQ3MzMyNDE5Lzc1M2NmODg5M2YyNDJiYjAwMTNhMzE2MzUwYTAzYWQw + XzQwMHg0MDAucG5nP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+V2hlbiBhIHVzZXIgZXhwZXJpZW5jZXMgYW4gZXJy + b3IgaW4gYW4gYXBwbGljYXRpb24sIHRoZSBlbmdpbmVlcnMgd2hvIGFyZSBi + dWlsZGluZyB0aGF0IGFwcGxpY2F0aW9uIG5lZWQgdG8gZmluZCBvdXQgd2h5 + IHRoYXQgZXJyb3Igb2NjdXJyZWQuIFRoZSByb290IGNhdXNlIG9mIHRoYXQg + ZXJyb3IgbWF5IGJlIG9uIHRoZSB1c2Vy4oCZcyBkZXZpY2UsIG9yIHdpdGhp + biBhIHBpZWNlIG9mIHNlcnZlci1zaWRlIGxvZ2ljLCBvciBoaWRkZW4gYmVo + aW5kIGEgYmxhY2sgYm94IEFQSS4gVG8gZml4IGEgY29tcGxleCBlcnJvciwg + d2UgbmVlZCBhIHN0YWNrIHRyYWNlIG9mIGNvbnRleHR1YWwgaW5mb3JtYXRp + b24gc28gdGhhdCB3ZSBjYW4gY29ycmVsYXRlIGV2ZW50cyBhY3Jvc3MgYWxs + IGxheWVycyBvZiBhbiBhcHBsaWNhdGlvbi48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkphbWVzIFNtaXRoIGlzIHRo + ZSBDRU8gb2YgQnVnc25hZywgYSBjb21wYW55IHRoYXQgbWFrZXMgY3Jhc2gg + cmVwb3J0aW5nIGFuZCBlcnJvciB0cmFja2luZyBzb2Z0d2FyZS4gSW4gdGhp + cyBlcGlzb2RlLCBoZSBkZXNjcmliZXMgaG93IHRvIGRpYWdub3NlIGVycm9y + cyBpbiBtb2Rlcm4gYXBwbGljYXRpb25zLiBIZSBhbHNvIGV4cGxhaW5zIGhv + dyB0aGUgY29tcGFueSBmdW5jdGlvbnMgYW5kIGhvdyBCdWdzbmFnIGl0c2Vs + ZiBpcyBidWlsdC4gVGhlIHByb2R1Y3QgY29uc3VtZXMgYW5kIHN0b3JlcyBt + aWxsaW9ucyBvZiBldmVudHMgd2hpY2ggbWFrZXMgZm9yIGEgZ29vZCBkaXNj + dXNzaW9uIG9mIHNvZnR3YXJlIGFyY2hpdGVjdHVyZS4gRnVsbCBkaXNjbG9z + dXJlOiBCdWdzbmFnIGlzIGEgc3BvbnNvciBvZiBTRSBEYWlseS48L3NwYW4+ + PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cHM6Ly9jbG91ZGZs + YXJlLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzg4 + MSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDgvMTgvZXJyb3ItZGlhZ25vc2lzLXdpdGgtamFt + ZXMtc21pdGgvY2xvdWRmbGFyZV9sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvQ2xvdWRmbGFyZV9sb2dvLnBu + Zz9maXQ9MTIwMCUyQzQwOSIgZGF0YS1vcmlnLXNpemU9IjEyMDAsNDA5IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + IkNsb3VkZmxhcmVfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L0Nsb3VkZmxhcmVfbG9nby5wbmc/Zml0PTMwMCUyQzEwMiIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxh + cmVfbG9nby5wbmc/Zml0PTEwMjQlMkMzNDkiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMzg4MSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTMw + MCUyQzEwMiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxMDIg + MzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJl + X2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyNjIgNzY4dywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wOC9DbG91ZGZsYXJlX2xvZ28ucG5nP3Jlc2l6ZT0x + MDI0JTJDMzQ5IDEwMjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4 + L0Nsb3VkZmxhcmVfbG9nby5wbmc/cmVzaXplPTcyMCUyQzI0NSA3MjB3LCBo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA4L0Nsb3VkZmxhcmVfbG9nby5w + bmc/dz0xMjAwIDEyMDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEw + MHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkNsb3VkZmxhcmUgcnVucyAxMCUgb2YgdGhlIElu + dGVybmV0LCBwcm92aWRpbmcgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5IHRv + IG1pbGxpb25zIG9mIHdlYnNpdGVzLiBNYW55IG9mIHlvdSBwcm9iYWJseSBh + bHJlYWR5IHVzZSBDbG91ZGZsYXJlIG9uIHlvdXIgc2l0ZXMuIFdl4oCZcmUg + bm90IHRhbGtpbmcgYWJvdXQgdXNpbmcgQ2xvdWRmbGFyZSB0b2RheSB0aG91 + Z2gsIHdl4oCZcmUgaGVyZSB0byB0YWxrIGFib3V0IGJ1aWxkaW5nIG9uIHRv + cCBvZiBpdC4gSWYgeW914oCZcmUgYSBkZXZlbG9wZXIgeW91IGNhbiBidWls + ZCBhcHBzIHdoaWNoIGNhbiBiZSBpbnN0YWxsZWQgYnkgdGhlIHRoZSBtaWxs + aW9ucyBvZiBzaXRlcyB3aGljaCByZWx5IG9uIENsb3VkZmxhcmUuIFlvdSBj + YW4gZXZlbiBzZWxsIHlvdXIgYXBwczsgdGhleSBjYW4gbWFrZSB5b3UgbW9u + ZXkgPGVtPmV2ZXJ5IG1vbnRoPC9lbT4uIFZpc2l0IDxhIGhyZWY9Imh0dHBz + Oi8vY2xvdWRmbGFyZS5jb20vc2VkYWlseSI+Y2xvdWRmbGFyZS5jb20vc2Vk + YWlseTwvYT48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij7CoHRvIHdhdGNoIGhvdyB5b3UgY2FuIGJ1aWxkIGFuZCBkZXBsb3kgYW4g + YXBwIGluIGxlc3MgdGhhbiAzIG1pbnV0ZXMuPC9zcGFuPjwvZGl2PjwvcD4K + PHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxhdGZvcm0iPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzNzUzIiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9waXZv + dGFsLWxvZ28vcGl2b3RhbC1vbmxpZ2h0LyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9maXQ9MjYxMCUyQzEwODAiIGRhdGEtb3JpZy1zaXplPSIyNjEwLDEwODAi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iUGl2b3RhbC1PbkxpZ2h0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9maXQ9MzAwJTJDMTI0IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3Rh + bC1PbkxpZ2h0LnBuZz9maXQ9MTAyNCUyQzQyNCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0zNzUzIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + MzAwJTJDMTI0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEy + NCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwt + T25MaWdodC5wbmc/cmVzaXplPTc2OCUyQzMxOCA3Njh3LCBodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXpl + PTEwMjQlMkM0MjQgMTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzIwJTJDMjk4IDcyMHcs + IGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0 + LnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNwcmluZyBGcmFtZXdv + cmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZpcm9ubWVudCBmb3IgYnVpbGRp + bmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBPbiBEZWNlbWJlciA0dGgtN3Ro + LCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj5T + cHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNvbWluZyB0byBTYW4gRnJhbmNp + c2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMgYSBjb25mZXJlbmNlIHdoZXJl + IGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBleHBsb3JlIHRoZSBsYXRlc3Qg + dGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcgZWNvc3lzdGVtIGFuZCBiZXlv + bmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQbGF0Zm9ybSBpbmNsdWRlIEVy + aWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUgQ0FQIHRoZW9yZW0pLCBWYXVn + aG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVuc2l2ZWx5IGFib3V0IERvbWFp + biBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkgdGhvdWdodCBsZWFkZXJzIGlu + IHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMg + dGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3IgdGhvc2Ugd2hvIGJ1aWxkLCBk + ZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZlIHNvZnR3YXJlLiBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIHNpZ24gdXAgd2l0 + aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGFuZCByZWNlaXZlICQx + MDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0Zm9ybSA8YSBocmVmPSJodHRw + czovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0uaW8vZWhvbWUvczFwL3JlZ2lz + dHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9hPi4gSSB3aWxsIGFsc28gYmUg + YXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBkZXZlbG9wbWVudHMgaW4gdGhl + IGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpvaW4gbWUgRGVjZW1iZXIgNHRo + LTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVw + bGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3JtPC9hPiBjb25mZXJlbmNlLCBh + bmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWlseTEwMCBmb3IgJDEwMCBvZmYg + eW91ciBjb25mZXJlbmNlIHBhc3MuIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzgxNSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZ3JhbW1hdGVjaC9ncmFt + bWF0ZWNoLWxvZ29sLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/Zml0PTgyNSUy + QzMwMCIgZGF0YS1vcmlnLXNpemU9IjgyNSwzMDAiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iR3JhbW1hdGVjaC1M + b2dvTCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRlY2gt + TG9nb0wuanBnP2ZpdD0zMDAlMkMxMDkiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpw + Zz9maXQ9ODI1JTJDMzAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM4 + MTUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9MzAwJTJDMTA5IiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMxMDkgMzAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpw + Zz9yZXNpemU9NzY4JTJDMjc5IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXplPTcyMCUyQzI2 + MiA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dyYW1tYXRl + Y2gtTG9nb0wuanBnP3c9ODI1IDgyNXciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkdyYW1tYVRl + Y2ggQ29kZVNvbmFyIGhlbHBzIGRldmVsb3BtZW50IHRlYW1zIGltcHJvdmUg + Y29kZSBxdWFsaXR5IHdpdGggc3RhdGljIGFuYWx5c2lzLiBJdCBoZWxwcyBm + bGFnIGlzc3VlcyBlYXJseSBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2Vzcywg + YWxsb3dpbmcgZGV2ZWxvcGVycyB0byByZWxlYXNlIGJldHRlciBjb2RlIGZh + c3Rlci7CoENvZGVTb25hciBjYW4gZWFzaWx5IGJlIGludGVncmF0ZWQgaW50 + byBhbnkgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4gQ29kZVNvbmFyIHBlcmZvcm1z + IGFkdmFuY2VkIHN0YXRpYyBhbmFseXNpcyBvZiBDLCBDKyssIEphdmEsIGFu + ZCBldmVuIHJhdyBiaW5hcnkgY29kZS4gQ29kZVNvbmFyIHBlcmZvcm1zIHVu + aXF1ZSBkYXRhZmxvdyBhbmQgc3ltYm9saWMgZXhlY3V0aW9uIGFuYWx5c2lz + IHRvIGFnZ3Jlc3NpdmVseSBzY2FuIGZvciBwcm9ibGVtcyBpbiB5b3VyIGNv + ZGUuwqBKdXN0IGxpa2UgYmF0dGxlc2hpcHMgdXNlIHNvbmFyIHRvIGRldGVj + dCBvYmplY3RzIGRlZXAgdW5kZXJ3YXRlciwgZW5naW5lZXJzIHVzZSBDb2Rl + U29uYXIgdG8gZGV0ZWN0IHN1YnRsZSBwcm9ibGVtcyBkZWVwIHdpdGhpbiB0 + aGVpciBjb2RlLsKgR28gdG8gPGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRl + Y2guY29tL3NlZGFpbHkiPmdvLmdyYW1tYXRlY2guY29tL3NlZGFpbHk8L2E+ + IHRvIGdldCB5b3VyIGZyZWUgMzAtZGF5IHRyaWFsLCBleGNsdXNpdmVseSBm + b3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzwqBhbmQg + dW5sZWFzaCB0aGUgcG93ZXIgb2YgYWR2YW5jZWQgc3RhdGljIGFuYWx5c2lz + LjxiciAvPgo8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2Vk + YWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxNzUiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9r + d2xvZ29zL3NuYXBjaS90aG91Z2h0d29ya3NfZ29fYmxhY2tfZWRpdC8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Ro + b3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBk + YXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJUaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9MzAwJTJDMjMwIiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdo + dFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0NjkiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3NSBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19i + bGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIiBhbHQ9IiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19H + b19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIDMwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNr + X2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNpbXBsaWZ5IGNv + bnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBHb0NELCB0aGUgb24tcHJlbWlzZSwg + b3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG9vbCBieSBUaG91 + Z2h0V29ya3MuIFdpdGggR29DRCwgeW91IGNhbiBlYXNpbHkgbW9kZWwgY29t + cGxleCBkZXBsb3ltZW50IHdvcmtmbG93cyB1c2luZyBwaXBlbGluZXMgYW5k + IHZpc3VhbGl6ZSB0aGVtIGVuZC10by1lbmQgd2l0aCB0aGUgVmFsdWUgU3Ry + ZWFtIE1hcC4gWW91IGdldCBjb21wbGV0ZSB2aXNpYmlsaXR5IGludG8gYW5k + IGNvbnRyb2wgb2YgeW91ciBjb21wYW554oCZcyBkZXBsb3ltZW50cy4gQXQ8 + YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3JnL3Nl + ZGFpbHk8L2E+LCBmaW5kIG91dCBob3cgdG8gYnJpbmcgY29udGludW91cyBk + ZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkgZ29vZGJ5ZSB0byBkZXBsb3lt + ZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVkaWN0YWJs + ZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9z + ZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9yZSBh + Ym91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJpc2Ug + YWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZh + aWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJl + IHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0Vycm9y + RGlhZ25vc2lzLm1wMyIgbGVuZ3RoPSI1NTk3MzUxNyIgdHlwZT0iYXVkaW8v + bXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPldoZW4gYSB1c2VyIGV4cGVy + aWVuY2VzIGFuIGVycm9yIGluIGFuIGFwcGxpY2F0aW9uLCB0aGUgZW5naW5l + ZXJzIHdobyBhcmUgYnVpbGRpbmcgdGhhdCBhcHBsaWNhdGlvbiBuZWVkIHRv + IGZpbmQgb3V0IHdoeSB0aGF0IGVycm9yIG9jY3VycmVkLiBUaGUgcm9vdCBj + YXVzZSBvZiB0aGF0IGVycm9yIG1heSBiZSBvbiB0aGUgdXNlcuKAmXMgZGV2 + aWNlLCBvciB3aXRoaW4gYSBwaWVjZSBvZiBzZXJ2ZXItc2lkZSBsb2dpYyw8 + L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+V2hlbiBhIHVz + ZXIgZXhwZXJpZW5jZXMgYW4gZXJyb3IgaW4gYW4gYXBwbGljYXRpb24sIHRo + ZSBlbmdpbmVlcnMgd2hvIGFyZSBidWlsZGluZyB0aGF0IGFwcGxpY2F0aW9u + IG5lZWQgdG8gZmluZCBvdXQgd2h5IHRoYXQgZXJyb3Igb2NjdXJyZWQuIFRo + ZSByb290IGNhdXNlIG9mIHRoYXQgZXJyb3IgbWF5IGJlIG9uIHRoZSB1c2Vy + 4oCZcyBkZXZpY2UsIG9yIHdpdGhpbiBhIHBpZWNlIG9mIHNlcnZlci1zaWRl + IGxvZ2ljLCBvciBoaWRkZW4gYmVoaW5kIGEgYmxhY2sgYm94IEFQSS4gVG8g + Zml4IGEgY29tcGxleCBlcnJvciwgd2UgbmVlZCBhIHN0YWNrIHRyYWNlIG9m + IGNvbnRleHR1YWwgaW5mb3JtYXRpb24gc28gdGhhdCB3ZSBjYW4gY29ycmVs + YXRlIGV2ZW50cyBhY3Jvc3NDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41ODow + NDwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRw + cmVzczpmZWVkLWFkZGl0aW9uczoxIj4zODM2PC9wb3N0LWlkPgkJPC9pdGVt + Pg0KCTxpdGVtPg0KCQk8dGl0bGU+R2F0c2J5SlMgd2l0aCBLeWxlIE1hdGhl + d3M8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA4LzE3L2dhdHNieWpzLXdpdGgta3lsZS1tYXRo + ZXdzLzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1LCAxNyBBdWcgMjAxNyAwOTow + MDowNSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZh + bHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0z + ODM3PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xNy9nYXRzYnlqcy13aXRoLWt5bGUt + bWF0aGV3cy8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRS + c3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + OC8xNy9nYXRzYnlqcy13aXRoLWt5bGUtbWF0aGV3cy9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50 + cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0phdmFTY3JpcHRdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbZnJhbWV3b3JrXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbR2F0c2J5SlNdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtHcmFwaFFMXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbS3lsZSBNYXRoZXdzXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUmVhY3RdXT48L2NhdGVnb3J5 + PgoJCTxkZXNjcmlwdGlvbj5HYXRzYnlKUyBpcyBhIGZyYW1ld29yayBmb3Ig + YnVpbGRpbmcgd2ViIGFwcGxpY2F0aW9ucyBmb3IgSmF2YVNjcmlwdC4gR2F0 + c2J54oCZcyBvcmlnaW5hbCBnb2FsIHdhcyB0byBhbGxvdyB1c2VycyB0byBj + cmVhdGUgc3VwZXIgZmFzdCBzdGF0aWMgd2ViIHNpdGVzIHRoYXQgY291bGQg + YmUgaG9zdGVkIGFuZCBzZXJ2ZWQgZWZmaWNpZW50bHkgYXQgYSBsb3cgY29z + dC4gTW9zdCB3ZWIgcGFnZXMgaGF2ZSBjb21wb25lbnRzIGZyb20gYSBmcmFt + ZXdvcmsgbGlrZSBSZWFjdCBvciBBbmd1bGFyIHRoYXQgbmVlZCB0byByZW5k + ZXIgYWZ0ZXIgdGhlIHVzZXIgcmVxdWVzdHMgdGhlbS4gVGhpcyByZW5kZXJp + bmcgY2FuIHNvbWV0aW1lcyByZXF1aXJlIGFkZGl0aW9uYWwgcmVxdWVzdHMg + dG8gZXh0ZXJuYWwgZGF0YSBzb3VyY2VzLCBjYXVzaW5nIHRoZSBwYWdlJmx0 + O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90 + OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDgvMTcvZ2F0c2J5anMtd2l0aC1reWxlLW1hdGhld3MvJnF1 + b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0 + OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFb + PHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1i + dXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1i + dXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVy + bnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1h + Z2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAx + cHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdo + dDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Bicy50d2ltZy5j + b20vcHJvZmlsZV9pbWFnZXMvNDU0NzcyNTM1OTI2NTk5NjgwL0ROZ2dvRGkx + LmpwZWc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5HYXRzYnlKUyBpcyBhIGZyYW1ld29yayBmb3IgYnVpbGRpbmcg + d2ViIGFwcGxpY2F0aW9ucyBmb3IgSmF2YVNjcmlwdC4gR2F0c2J54oCZcyBv + cmlnaW5hbCBnb2FsIHdhcyB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUgc3Vw + ZXIgZmFzdCBzdGF0aWMgd2ViIHNpdGVzIHRoYXQgY291bGQgYmUgaG9zdGVk + IGFuZCBzZXJ2ZWQgZWZmaWNpZW50bHkgYXQgYSBsb3cgY29zdC4gTW9zdCB3 + ZWIgcGFnZXMgaGF2ZSBjb21wb25lbnRzIGZyb20gYSBmcmFtZXdvcmsgbGlr + ZSBSZWFjdCBvciBBbmd1bGFyIHRoYXQgbmVlZCB0byByZW5kZXIgYWZ0ZXIg + dGhlIHVzZXIgcmVxdWVzdHMgdGhlbS4gVGhpcyByZW5kZXJpbmcgY2FuIHNv + bWV0aW1lcyByZXF1aXJlIGFkZGl0aW9uYWwgcmVxdWVzdHMgdG8gZXh0ZXJu + YWwgZGF0YSBzb3VyY2VzLCBjYXVzaW5nIHRoZSBwYWdlIHRvIHRha2UgbG9u + Z2VyIHRvIGxvYWQuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5HYXRzYnkgdXNlcyBHcmFwaFFMIHRvIHB1bGwgaW4g + ZGF0YSBhdCBidWlsZCB0aW1lIGFuZCBwcmUtcmVuZGVyIGFzIG11Y2ggb2Yg + YSBzaXRlIGFzIHBvc3NpYmxlIHVzaW5nIFJlYWN04oCZcyBzZXJ2ZXIgc2lk + ZSByZW5kZXJpbmcuIFdoZW4gYSBwYWdlIGJ1aWx0IHdpdGggR2F0c2J5IGlz + IHNlcnZlZCB0byBhIHVzZXIsIGFzIG11Y2ggb2YgdGhlIHBhZ2UgaGFzIGJl + ZW4gcmVuZGVyZWQgYXMgcG9zc2libGUsIHNvIHRoYXQgdGhlIGJyb3dzZXIg + Y2FuIHF1aWNrbHkgbG9hZCBldmVyeXRoaW5nIG9uIHRoZSBwYWdlIHdpdGhv + dXQgYWRkaXRpb25hbCBuZXR3b3JrIHJlcXVlc3RzLjwvc3Bhbj48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+S3lsZSBNYXRoZXdz + IGlzIHRoZSBjcmVhdG9yIG9mIEdhdHNieUpTLiBIZSBqb2lucyB0aGUgc2hv + dyB0byBkZXNjcmliZSB3aHkgaGUgY3JlYXRlZCBHYXRzYnkmIzgyMTE7dGhl + IGhpZ2ggbGV2ZWwgZ29hbHMgYW5kIGxvdyBsZXZlbCBlbmdpbmVlcmluZyBk + ZWNpc2lvbnMuIFdlIGFsc28gZGlzY3VzcyBob3cgS3lsZSBpbnRlbmRzIHRv + IHRha2UgR2F0c2J5IGJleW9uZCBqdXN0IGFuIG9wZW4gc291cmNlIHByb2pl + Y3QgYW5kIHR1cm4gaXQgaW50byBhIGJ1c2luZXNzLjwvc3Bhbj48L3A+Cjxo + Mj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZWNzLmF3cyI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjIiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2F3cy9h + bWF6b253ZWJzZXJ2aWNlc19sb2dvLXN2Z18vIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP2ZpdD0yMDAwJTJDODAwIiBkYXRhLW9yaWctc2l6 + ZT0iMjAwMCw4MDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNf + TG9nby5zdmdfLnBuZz9maXQ9MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vydmlj + ZXNfTG9nby5zdmdfLnBuZz9maXQ9MTAyNCUyQzQxMCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0zNzIyIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5z + dmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xv + Z28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEyMCAzMDB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3Zn + Xy5wbmc/cmVzaXplPTc2OCUyQzMwNyA3Njh3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/ + cmVzaXplPTEwMjQlMkM0MTAgMTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNp + emU9NzIwJTJDMjg4IDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkRldmVsb3BlcnMgbG92 + ZSBEb2NrZXIgQ29udGFpbmVycyBiZWNhdXNlIHRoZXkgZ2l2ZSBhcHBsaWNh + dGlvbnMgcG9ydGFiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IGFsbCB0aGUgd2F5 + IGZyb20geW91ciBsYXB0b3AgaW50byBwcm9kdWN0aW9uLiBBbWF6b24gRUMy + IENvbnRhaW5lciBTZXJ2aWNlIGZyb20gQW1hem9uIFdlYiBTZXJ2aWNlcyBt + YWtlcyBpdCBlYXN5IHRvIHJ1biBEb2NrZXIgYXBwcyBpbiB0aGUgY2xvdWQu + IFdpdGggQW1hem9uIEVDMiBDb250YWluZXIgU2VydmljZSwgZGVwbG95aW5n + LCBvcGVyYXRpbmcgYW5kIHNjYWxpbmcgeW91ciBpbmZyYXN0cnVjdHVyZSBo + YXBwZW5zIGF1dG9tYXRpY2FsbHkuIEJlc3Qgb2YgYWxsLCB5b3Ugb25seSBw + YXkgZm9yIHRoZSBBV1MgY29tcHV0ZSBhbmQgc3RvcmFnZSByZXNvdXJjZXMg + eW91IHVzZS4gV2l0aCBBbWF6b24gRUMyIENvbnRhaW5lciBTZXJ2aWNlLCB5 + b3UgY2FuIGZvY3VzIG9uIGJ1aWxkaW5nIGFwcHMsIG5vdCBtYW5hZ2luZyB5 + b3VyIGNvbnRhaW5lciBpbmZyYXN0cnVjdHVyZS4gTGVhcm4gbW9yZSBhdCA8 + YSBocmVmPSJodHRwOi8vZWNzLmF3cyI+ZWNzLmF3czwvYT4gdG9kYXkuPC9k + aXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9y + bSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3NTMiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL3Bpdm90YWwtbG9nby9waXZvdGFsLW9ubGlnaHQvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9u + TGlnaHQucG5nP2ZpdD0yNjEwJTJDMTA4MCIgZGF0YS1vcmlnLXNpemU9IjI2 + MTAsMTA4MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJQaXZvdGFsLU9uTGlnaHQiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0zMDAlMkMxMjQi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9QaXZvdGFsLU9uTGlnaHQucG5nP2ZpdD0xMDI0JTJDNDI0IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTM3NTMgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5n + P3Jlc2l6ZT0zMDAlMkMxMjQiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9 + MzAwJTJDMTI0IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + UGl2b3RhbC1PbkxpZ2h0LnBuZz9yZXNpemU9NzY4JTJDMzE4IDc2OHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvUGl2b3RhbC1PbkxpZ2h0LnBu + Zz9yZXNpemU9MTAyNCUyQzQyNCAxMDI0dywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT03MjAlMkMy + OTggNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFs + LU9uTGlnaHQucG5nP3c9MjEwMCAyMTAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6 + IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+U3ByaW5n + IEZyYW1ld29yayBnaXZlcyBkZXZlbG9wZXJzIGFuIGVudmlyb25tZW50IGZv + ciBidWlsZGluZyBjbG91ZCBuYXRpdmUgcHJvamVjdHMuIE9uIERlY2VtYmVy + IDR0aC03dGgsIDxhIGhyZWY9Imh0dHA6Ly9iaXQubHkvc3ByaW5nb25lcGxh + dGZvcm0iPlNwcmluZ09uZSBQbGF0Zm9ybTwvYT4gaXMgY29taW5nIHRvIFNh + biBGcmFuY2lzY28uIFNwcmluZ09uZSBQbGF0Zm9ybSBpcyBhIGNvbmZlcmVu + Y2Ugd2hlcmUgZGV2ZWxvcGVycyBjb25ncmVnYXRlIHRvIGV4cGxvcmUgdGhl + IGxhdGVzdCB0ZWNobm9sb2dpZXMgaW4gdGhlIFNwcmluZyBlY29zeXN0ZW0g + YW5kIGJleW9uZC4gU3BlYWtlcnMgYXQgU3ByaW5nT25lIFBsYXRmb3JtIGlu + Y2x1ZGUgRXJpYyBCcmV3ZXIgKHdobyBjcmVhdGVkIHRoZSBDQVAgdGhlb3Jl + bSksIFZhdWdobiBWZXJub24gKHdobyB3cml0ZXMgZXh0ZW5zaXZlbHkgYWJv + dXQgRG9tYWluIERyaXZlbiBEZXNpZ24pLCBhbmQgbWFueSB0aG91Z2h0IGxl + YWRlcnMgaW4gdGhlIFNwcmluZyBFY29zeXN0ZW0uIFNwcmluZ09uZSBQbGF0 + Zm9ybSBpcyB0aGUgcHJlbWllciBjb25mZXJlbmNlIGZvciB0aG9zZSB3aG8g + YnVpbGQsIGRlcGxveSwgYW5kIHJ1biBjbG91ZC1uYXRpdmUgc29mdHdhcmUu + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gc2ln + biB1cCB3aXRoIHRoZSBkaXNjb3VudCBjb2RlIFNFRGFpbHkxMDAgYW5kIHJl + Y2VpdmUgJDEwMCBvZmYgb2YgYSBTcHJpbmcgT25lIFBsYXRmb3JtIDxhIGhy + ZWY9Imh0dHBzOi8vMjAxNy5zcHJpbmdvbmVwbGF0Zm9ybS5pby9laG9tZS9z + MXAvcmVnaXN0cmF0aW9uIj5jb25mZXJlbmNlIHBhc3M8L2E+LiBJIHdpbGwg + YWxzbyBiZSBhdCBTcHJpbmdPbmUgcmVwb3J0aW5nIG9uIGRldmVsb3BtZW50 + cyBpbiB0aGUgY2xvdWQgbmF0aXZlIGVjb3N5c3RlbS4gSm9pbiBtZSBEZWNl + bWJlciA0dGgtN3RoIGF0IHRoZSA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nw + cmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGNvbmZl + cmVuY2UsIGFuZCB1c2UgZGlzY291bnQgY29kZSBTRURhaWx5MTAwIGZvciAk + MTAwIG9mZiB5b3VyIGNvbmZlcmVuY2UgcGFzcy4gPC9kaXY+PC9wPgo8cD48 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL2luZGVlZC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjI4OTgiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzEwLzE4L3NpbXBzb25zLWRh + dGEtc2NpZW5jZS13aXRoLXRvZGQtc2NobmVpZGVyL2luZGVlZC1wcmltZS8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEw + L2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBkYXRhLW9yaWctc2l6 + ZT0iNDYzLDk2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImluZGVlZC1wcmltZSIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTMwMCUyQzYyIiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5k + ZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMjg5OCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUy + QzYyIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5k + ZWVkLXByaW1lLnBuZz9yZXNpemU9MzAwJTJDNjIgMzAwdywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3c9NDYzIDQ2 + M3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPkZsaXAgdGhlIHRyYWRpdGlvbmFsIGpvYiBzZWFy + Y2ggYW5kIGxldCBJbmRlZWQgUHJpbWUgd29yayBmb3IgeW91IHdoaWxlIHlv + deKAmXJlIGJ1c3kgd2l0aCBvdGhlciBlbmdpbmVlcmluZyB3b3JrLCBvciBj + b2RpbmcgeW91ciBzaWRlIHByb2plY3QuIFVwbG9hZCB5b3VyIHJlc3VtZSBh + bmQgaW4gb25lIGNsaWNrLCBnYWluIGltbWVkaWF0ZSBleHBvc3VyZSB0byBj + b21wYW5pZXMgbGlrZSBGYWNlYm9vaywgVWJlciwgYW5kIERyb3Bib3guIElu + dGVyZXN0ZWQgZW1wbG95ZXJzIHdpbGwgcmVhY2ggb3V0IHRvIHlvdSB3aXRo + aW4gb25lIHdlZWsgd2l0aCBzYWxhcnksIHBvc2l0aW9uLCBhbmQgZXF1aXR5 + IHVwIGZyb250LiBEb27igJl0IGxldCBhcHBseWluZyBmb3Igam9icyBiZWNv + bWUgYSBmdWxsLXRpbWUgam9iLiBXaXRoIEluZGVlZCBQcmltZSwgam9icyBj + b21lIHRvIHlvdS4gVGhlIGF2ZXJhZ2Ugc29mdHdhcmUgZGV2ZWxvcGVyIGdl + dHMgNSBlbXBsb3llciBjb250YWN0cyBhbmQgYW4gYXZlcmFnZSBzYWxhcnkg + b2ZmZXIgb2YgJDEyNSwwMDAuIEluZGVlZCBQcmltZSBpcyAxMDAlIGZyZWUg + Zm9yIGNhbmRpZGF0ZXMg4oCTIG5vIHN0cmluZ3MgYXR0YWNoZWQuIFNpZ24g + dXAgbm93IGF0IDxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHki + PmluZGVlZC5jb20vc2VkYWlseTwvYT4uIFRoYW5rcyB0byBJbmRlZWQgUHJp + bWUgZm9yIGJlaW5nIGEgc3BvbnNvciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseS48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9nb2NkLm9yZy9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jrc19nb19i + bGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlRob3Vn + aHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD0zMDAl + MkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYx + MiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1IHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMy + MzAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0 + V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+U2ltcGxpZnkgY29udGludW91cyBkZWxpdmVyeSB3aXRoIEdvQ0QsIHRo + ZSBvbi1wcmVtaXNlLCBvcGVuIHNvdXJjZSwgY29udGludW91cyBkZWxpdmVy + eSB0b29sIGJ5IFRob3VnaHRXb3Jrcy4gV2l0aCBHb0NELCB5b3UgY2FuIGVh + c2lseSBtb2RlbCBjb21wbGV4IGRlcGxveW1lbnQgd29ya2Zsb3dzIHVzaW5n + IHBpcGVsaW5lcyBhbmQgdmlzdWFsaXplIHRoZW0gZW5kLXRvLWVuZCB3aXRo + IHRoZSBWYWx1ZSBTdHJlYW0gTWFwLiBZb3UgZ2V0IGNvbXBsZXRlIHZpc2li + aWxpdHkgaW50byBhbmQgY29udHJvbCBvZiB5b3VyIGNvbXBhbnnigJlzIGRl + cGxveW1lbnRzLiBBdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5 + Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4sIGZpbmQgb3V0IGhvdyB0byBicmlu + ZyBjb250aW51b3VzIGRlbGl2ZXJ5IHRvIHlvdXIgdGVhbXMuIFNheSBnb29k + YnllIHRvIGRlcGxveW1lbnQgcGFuaWMgYW5kIGhlbGxvIHRvIGNvbnNpc3Rl + bnQsIHByZWRpY3RhYmxlIGRlbGl2ZXJpZXMuIFZpc2l0PGEgaHJlZj0iaHR0 + cDovL2dvY2Qub3JnL3NlZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9hPiB0 + byBsZWFybiBtb3JlIGFib3V0IEdvQ0QuIENvbW1lcmNpYWwgc3VwcG9ydCBh + bmQgZW50ZXJwcmlzZSBhZGQtb25zLCBpbmNsdWRpbmcgZGlzYXN0ZXIgcmVj + b3ZlcnksIGFyZSBhdmFpbGFibGUuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2Nv + bnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFm + ZmljLmxpYnN5bi5jb20vc2VkYWlseS9HYXRzYnlKUy5tcDMiIGxlbmd0aD0i + NTU3Mjg2NTUiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0 + aXRsZT5HYXRzYnlKUyBpcyBhIGZyYW1ld29yayBmb3IgYnVpbGRpbmcgd2Vi + IGFwcGxpY2F0aW9ucyBmb3IgSmF2YVNjcmlwdC4gR2F0c2J54oCZcyBvcmln + aW5hbCBnb2FsIHdhcyB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUgc3VwZXIg + ZmFzdCBzdGF0aWMgd2ViIHNpdGVzIHRoYXQgY291bGQgYmUgaG9zdGVkIGFu + ZCBzZXJ2ZWQgZWZmaWNpZW50bHkgYXQgYSBsb3cgY29zdC48L2l0dW5lczpz + dWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+R2F0c2J5SlMgaXMgYSBmcmFt + ZXdvcmsgZm9yIGJ1aWxkaW5nIHdlYiBhcHBsaWNhdGlvbnMgZm9yIEphdmFT + Y3JpcHQuIEdhdHNieeKAmXMgb3JpZ2luYWwgZ29hbCB3YXMgdG8gYWxsb3cg + dXNlcnMgdG8gY3JlYXRlIHN1cGVyIGZhc3Qgc3RhdGljIHdlYiBzaXRlcyB0 + aGF0IGNvdWxkIGJlIGhvc3RlZCBhbmQgc2VydmVkIGVmZmljaWVudGx5IGF0 + IGEgbG93IGNvc3QuIE1vc3Qgd2ViIHBhZ2VzIGhhdmUgY29tcG9uZW50cyBm + cm9tIGEgZnJhbWV3b3JrIGxpa2UgUmVhY3Qgb3IgQW5ndWxhciB0aGF0IG5l + ZWQgdG8gcmVuZGVyIGFmdGVyIHRoZSB1c2VyIHJlcXVlc3RzIHRoZW0uIFRo + aXMgcmVuZGVyaW5nIGNhbiBzb21ldGltZXMgcmVxdWlyZSBhZGRpdGlvbmFs + IHJlcXVlc3RzIHRvIGV4dGVybmFsIGRhdGEgc291cmNlcywgY2F1c2luZyB0 + aGUgcGFnZUNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU3OjQ5PC9pdHVuZXM6 + ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQt + YWRkaXRpb25zOjEiPjM4Mzc8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+ + DQoJCTx0aXRsZT5CdWlsZGluZyBEZXZlbG9wZXIgQ29tbXVuaXRpZXMgd2l0 + aCBKdWFuIFBhYmxvIEJ1cml0aWPDoTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTYvYnVp + bGRpbmctZGV2ZWxvcGVyLWNvbW11bml0aWVzLXdpdGgtanVhbi1wYWJsby1i + dXJpdGljYS88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMTYgQXVnIDIwMTcg + MDk6MDA6NDUgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + P3A9Mzg1MTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTYvYnVpbGRpbmctZGV2ZWxv + cGVyLWNvbW11bml0aWVzLXdpdGgtanVhbi1wYWJsby1idXJpdGljYS8jY29t + bWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xNi9idWlsZGlu + Zy1kZXZlbG9wZXItY29tbXVuaXRpZXMtd2l0aC1qdWFuLXBhYmxvLWJ1cml0 + aWNhL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + QnVzaW5lc3MgYW5kIFBoaWxvc29waHldXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbQ2FybCBNdW5nYXppXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbQ29sb21iaWEgZGV2ZWxvcGVyc11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2RldmVsb3BlciBjb21tdW5pdGll + c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0p1YW4gUGFi + bG8gQnVyaXRpY2FdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVttZWV0dXBzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + U3BsaWNlXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+QnVpbGRpbmcg + YW5kIG51cnR1cmluZyBhIGRldmVsb3BlciBjb21tdW5pdHkgaXMgaGFyZCB3 + b3JrIGJ1dCBpdCBpcyB2aXRhbCBmb3IgdGhlIGdyb3d0aCBvZiBhIGNvdW50 + cnnigJlzIHRlY2hub2xvZ3kgZWNvc3lzdGVtLiBXaGVuIGNvbW11bml0aWVz + IGNvYWxlc2NlIGFyb3VuZCBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIHRvb2xz + IG9yIHByb2dyYW1taW5nIG1ldGhvZHMsIHdoYXQgZm9sbG93cyBpcyBhIG5l + dHdvcmsgb2YgY29uZmVyZW5jZXMsIG1lZXQgdXBzIGFuZCBvdGhlciBzaW1p + bGFyIGV2ZW50cy4gSnVhbiBQYWJsbyBCdXJpdGljw6EsIFZQIG9mIEVuZ2lu + ZWVyaW5nIGF0IFNwbGljZSwgaGFzIHNwZW50IHRoZSBsYXN0IGRlY2FkZSBi + dWlsZGluZyBkZXZlbG9wZXIgY29tbXVuaXRpZXMgaW4gaGlzIGhvbWUgY291 + bnRyeSBvZiBDb2xvbWJpYSBhbmQgYWNyb3NzIExhdGluIEFtZXJpY2EmbHQ7 + cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7 + IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOC8xNi9idWlsZGluZy1kZXZlbG9wZXItY29tbXVuaXRpZXMt + d2l0aC1qdWFuLXBhYmxvLWJ1cml0aWNhLyZxdW90OyZndDtDb250aW51ZSBy + ZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0K + CQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRh + Y2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNv + bnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJu + cy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3Jp + Zy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9 + ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJi + b3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7 + IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9jZG4taW1hZ2VzLTEubWVkaXVtLmNvbS9maXQv + Yy8yMDAvMjAwLzEqVGRqa1l4bTRsblhlNmVTbE8zUjNjdy5qcGVnP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QnVp + bGRpbmcgYW5kIG51cnR1cmluZyBhIGRldmVsb3BlciBjb21tdW5pdHkgaXMg + aGFyZCB3b3JrIGJ1dCBpdCBpcyB2aXRhbCBmb3IgdGhlIGdyb3d0aCBvZiBh + IGNvdW50cnkmIzgyMTc7cyB0ZWNobm9sb2d5IGVjb3N5c3RlbS4gV2hlbiBj + b21tdW5pdGllcyBjb2FsZXNjZSBhcm91bmQgcHJvZ3JhbW1pbmcgbGFuZ3Vh + Z2VzLCB0b29scyBvciBwcm9ncmFtbWluZyBtZXRob2RzLCB3aGF0IGZvbGxv + d3MgaXMgYSBuZXR3b3JrIG9mIGNvbmZlcmVuY2VzLCBtZWV0IHVwcyBhbmQg + b3RoZXIgc2ltaWxhciBldmVudHMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5KdWFuIFBhYmxvIEJ1cml0aWPDoSwg + VlAgb2YgRW5naW5lZXJpbmcgYXQgU3BsaWNlLCBoYXMgc3BlbnQgdGhlIGxh + c3QgZGVjYWRlIGJ1aWxkaW5nIGRldmVsb3BlciBjb21tdW5pdGllcyBpbiBo + aXMgaG9tZSBjb3VudHJ5IG9mIENvbG9tYmlhIGFuZCBhY3Jvc3MgTGF0aW4g + QW1lcmljYSBhcyB3ZWxsIGFzIHJ1bm5pbmcgZGlzdHJpYnV0ZWQgZW5naW5l + ZXJpbmcgdGVhbXMuIEhlIGhhcyBoZWxwZWQgdG8gbGF1bmNoIGEgbnVtYmVy + IG9mIGNvbmZlcmVuY2VzLCBtZWV0LXVwcyBhbmQgbW9yZSByZWNlbnRseSwg + YW4gb25saW5lIG1lZXQtdXAgcHJvdmlkaW5nIGFkdmFuY2VkIHRlY2huaWNh + bCBpbmZvcm1hdGlvbiBmb3IgbmF0aXZlIFNwYW5pc2ggc3BlYWtlcnMuPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5J + biB0b2RheSYjODIxNztzIGVwaXNvZGUsIEp1YW4gcmV0dXJucyB0byBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSB0byBzcGVhayB3aXRoIENhcmwgTXVu + Z2F6aSBhYm91dCB0aGUgYmVuZWZpdHMgb2YgaGF2aW5nIGEgZGlzdHJpYnV0 + ZWQgZW5naW5lZXJpbmcgdGVhbSBhbmQgaGlyaW5nIGRldmVsb3BlcnMgZnJv + bSBkZXZlbG9waW5nIG5hdGlvbnMuIEhlIGRpc2N1c3NlcyBob3cgQ29sb21i + aWEgY2FtZSB0byBoYXZlIHRoZSBsYXJnZXN0IFNwYW5pc2gtc3BlYWtpbmcg + SmF2YVNjcmlwdCBjb21tdW5pdHkgaW4gdGhlIHdvcmxkIGFuZCB0aGUgaW1w + b3J0YW5jZSBvZiBnb29kIGNvbW11bmljYXRpb24gd2hlbiBidWlsZGluZyBz + b2Z0d2FyZSB3aXRoIGEgdGVhbSBvZiBkZXZlbG9wZXJzIGJhc2VkIGFyb3Vu + ZCB0aGUgd29ybGQuPC9zcGFuPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9nby5ncmFtbWF0ZWNoLmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzgxNSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZ3JhbW1h + dGVjaC9ncmFtbWF0ZWNoLWxvZ29sLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/ + Zml0PTgyNSUyQzMwMCIgZGF0YS1vcmlnLXNpemU9IjgyNSwzMDAiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iR3Jh + bW1hdGVjaC1Mb2dvTCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0dy + YW1tYXRlY2gtTG9nb0wuanBnP2ZpdD0zMDAlMkMxMDkiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNo + LUxvZ29MLmpwZz9maXQ9ODI1JTJDMzAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTM4MTUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNoLUxvZ29MLmpwZz9yZXNpemU9MzAw + JTJDMTA5IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0dyYW1tYXRlY2gtTG9nb0wuanBnP3Jlc2l6ZT0zMDAlMkMxMDkg + MzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9HcmFtbWF0ZWNo + LUxvZ29MLmpwZz9yZXNpemU9NzY4JTJDMjc5IDc2OHcsIGh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvR3JhbW1hdGVjaC1Mb2dvTC5qcGc/cmVzaXpl + PTcyMCUyQzI2MiA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0dyYW1tYXRlY2gtTG9nb0wuanBnP3c9ODI1IDgyNXciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+R3JhbW1hVGVjaCBD + b2RlU29uYXIgaGVscHMgZGV2ZWxvcG1lbnQgdGVhbXMgaW1wcm92ZSBjb2Rl + IHF1YWxpdHkgd2l0aCBzdGF0aWMgYW5hbHlzaXMuIEl0IGhlbHBzIGZsYWcg + aXNzdWVzIGVhcmx5IGluIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzLCBhbGxv + d2luZyBkZXZlbG9wZXJzIHRvIHJlbGVhc2UgYmV0dGVyIGNvZGUgZmFzdGVy + LsKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Q29k + ZVNvbmFyIGNhbiBlYXNpbHkgYmUgaW50ZWdyYXRlZCBpbnRvIGFueSBkZXZl + bG9wbWVudCBwcm9jZXNzLiBDb2RlU29uYXIgcGVyZm9ybXMgYWR2YW5jZWQg + c3RhdGljIGFuYWx5c2lzIG9mIEMsIEMrKywgSmF2YSwgYW5kIGV2ZW4gcmF3 + IGJpbmFyeSBjb2RlLiBDb2RlU29uYXIgcGVyZm9ybXMgdW5pcXVlIGRhdGFm + bG93IGFuZCBzeW1ib2xpYyBleGVjdXRpb24gYW5hbHlzaXMgdG8gYWdncmVz + c2l2ZWx5IHNjYW4gZm9yIHByb2JsZW1zIGluIHlvdXIgY29kZS7CoDwvc3Bh + bj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkp1c3QgbGlrZSBi + YXR0bGVzaGlwcyB1c2Ugc29uYXIgdG8gZGV0ZWN0IG9iamVjdHMgZGVlcCB1 + bmRlcndhdGVyLCBlbmdpbmVlcnMgdXNlIENvZGVTb25hciB0byBkZXRlY3Qg + c3VidGxlIHByb2JsZW1zIGRlZXAgd2l0aGluIHRoZWlyIGNvZGUuwqA8L3Nw + YW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5HbyB0byA8L3Nw + YW4+PGEgaHJlZj0iaHR0cDovL2dvLmdyYW1tYXRlY2guY29tL3NlZGFpbHki + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Z28uZ3JhbW1hdGVj + aC5jb20vc2VkYWlseTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij4gdG8gZ2V0IHlvdXIgZnJlZSAzMC1kYXkgdHJpYWwsIGV4 + Y2x1c2l2ZWx5IGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0 + ZW5lcnPCoDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PmFuZCB1bmxlYXNoIHRoZSBwb3dlciBvZiBhZHZhbmNlZCBzdGF0aWMgYW5h + bHlzaXMuPC9zcGFuPjxiciAvPgo8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48 + L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + Yml0Lmx5L3NwcmluZ29uZXBsYXRmb3JtIj48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzc1MyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvcGl2b3RhbC1sb2dvL3Bpdm90 + YWwtb25saWdodC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/Zml0PTI2MTAlMkMx + MDgwIiBkYXRhLW9yaWctc2l6ZT0iMjYxMCwxMDgwIiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlBpdm90YWwtT25M + aWdodCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/Zml0PTMwMCUyQzEyNCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/ + Zml0PTEwMjQlMkM0MjQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzc1 + MyBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/cmVzaXplPTMwMCUyQzEyNCIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZv + dGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0zMDAlMkMxMjQgMzAwdywgaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jl + c2l6ZT03NjglMkMzMTggNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9QaXZvdGFsLU9uTGlnaHQucG5nP3Jlc2l6ZT0xMDI0JTJDNDI0IDEw + MjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25M + aWdodC5wbmc/cmVzaXplPTcyMCUyQzI5OCA3MjB3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L1Bpdm90YWwtT25MaWdodC5wbmc/dz0yMTAwIDIx + MDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPlNwcmluZyBGcmFtZXdvcmsgZ2l2ZXMgZGV2ZWxvcGVycyBhbiBlbnZp + cm9ubWVudCBmb3IgYnVpbGRpbmcgY2xvdWQgbmF0aXZlIHByb2plY3RzLiBP + biBEZWNlbWJlciA0dGgtN3RoLCA8YSBocmVmPSJodHRwOi8vYml0Lmx5L3Nw + cmluZ29uZXBsYXRmb3JtIj5TcHJpbmdPbmUgUGxhdGZvcm08L2E+IGlzIGNv + bWluZyB0byBTYW4gRnJhbmNpc2NvLiBTcHJpbmdPbmUgUGxhdGZvcm0gaXMg + YSBjb25mZXJlbmNlIHdoZXJlIGRldmVsb3BlcnMgY29uZ3JlZ2F0ZSB0byBl + eHBsb3JlIHRoZSBsYXRlc3QgdGVjaG5vbG9naWVzIGluIHRoZSBTcHJpbmcg + ZWNvc3lzdGVtIGFuZCBiZXlvbmQuIFNwZWFrZXJzIGF0IFNwcmluZ09uZSBQ + bGF0Zm9ybSBpbmNsdWRlIEVyaWMgQnJld2VyICh3aG8gY3JlYXRlZCB0aGUg + Q0FQIHRoZW9yZW0pLCBWYXVnaG4gVmVybm9uICh3aG8gd3JpdGVzIGV4dGVu + c2l2ZWx5IGFib3V0IERvbWFpbiBEcml2ZW4gRGVzaWduKSwgYW5kIG1hbnkg + dGhvdWdodCBsZWFkZXJzIGluIHRoZSBTcHJpbmcgRWNvc3lzdGVtLiBTcHJp + bmdPbmUgUGxhdGZvcm0gaXMgdGhlIHByZW1pZXIgY29uZmVyZW5jZSBmb3Ig + dGhvc2Ugd2hvIGJ1aWxkLCBkZXBsb3ksIGFuZCBydW4gY2xvdWQtbmF0aXZl + IHNvZnR3YXJlLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5l + cnMgY2FuIHNpZ24gdXAgd2l0aCB0aGUgZGlzY291bnQgY29kZSBTRURhaWx5 + MTAwIGFuZCByZWNlaXZlICQxMDAgb2ZmIG9mIGEgU3ByaW5nIE9uZSBQbGF0 + Zm9ybSA8YSBocmVmPSJodHRwczovLzIwMTcuc3ByaW5nb25lcGxhdGZvcm0u + aW8vZWhvbWUvczFwL3JlZ2lzdHJhdGlvbiI+Y29uZmVyZW5jZSBwYXNzPC9h + Pi4gSSB3aWxsIGFsc28gYmUgYXQgU3ByaW5nT25lIHJlcG9ydGluZyBvbiBk + ZXZlbG9wbWVudHMgaW4gdGhlIGNsb3VkIG5hdGl2ZSBlY29zeXN0ZW0uIEpv + aW4gbWUgRGVjZW1iZXIgNHRoLTd0aCBhdCB0aGUgPGEgaHJlZj0iaHR0cDov + L2JpdC5seS9zcHJpbmdvbmVwbGF0Zm9ybSI+U3ByaW5nT25lIFBsYXRmb3Jt + PC9hPiBjb25mZXJlbmNlLCBhbmQgdXNlIGRpc2NvdW50IGNvZGUgU0VEYWls + eTEwMCBmb3IgJDEwMCBvZmYgeW91ciBjb25mZXJlbmNlIHBhc3MuIDwvc3Bh + bj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MTAvMTgvc2ltcHNvbnMtZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2huZWlk + ZXIvaW5kZWVkLXByaW1lLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJD + OTYiIGRhdGEtb3JpZy1zaXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1lIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9m + aXQ9MzAwJTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1l + LnBuZz9yZXNpemU9MzAwJTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2 + MiAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1w + cmltZS5wbmc/dz00NjMgNDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RmxpcCB0aGUgdHJh + ZGl0aW9uYWwgam9iIHNlYXJjaCBhbmQgbGV0IEluZGVlZCBQcmltZSB3b3Jr + IGZvciB5b3Ugd2hpbGUgeW914oCZcmUgYnVzeSB3aXRoIG90aGVyIGVuZ2lu + ZWVyaW5nIHdvcmssIG9yIGNvZGluZyB5b3VyIHNpZGUgcHJvamVjdC4gVXBs + b2FkIHlvdXIgcmVzdW1lIGFuZCBpbiBvbmUgY2xpY2ssIGdhaW4gaW1tZWRp + YXRlIGV4cG9zdXJlIHRvIGNvbXBhbmllcyBsaWtlIEZhY2Vib29rLCBVYmVy + LCBhbmQgRHJvcGJveC4gSW50ZXJlc3RlZCBlbXBsb3llcnMgd2lsbCByZWFj + aCBvdXQgdG8geW91IHdpdGhpbiBvbmUgd2VlayB3aXRoIHNhbGFyeSwgcG9z + aXRpb24sIGFuZCBlcXVpdHkgdXAgZnJvbnQuIERvbuKAmXQgbGV0IGFwcGx5 + aW5nIGZvciBqb2JzIGJlY29tZSBhIGZ1bGwtdGltZSBqb2IuIFdpdGggSW5k + ZWVkIFByaW1lLCBqb2JzIGNvbWUgdG8geW91LiBUaGUgYXZlcmFnZSBzb2Z0 + d2FyZSBkZXZlbG9wZXIgZ2V0cyA1IGVtcGxveWVyIGNvbnRhY3RzIGFuZCBh + biBhdmVyYWdlIHNhbGFyeSBvZmZlciBvZiAkMTI1LDAwMC4gSW5kZWVkIFBy + aW1lIGlzIDEwMCUgZnJlZSBmb3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5n + cyBhdHRhY2hlZC4gU2lnbiB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5k + ZWVkLmNvbS9zZWRhaWx5Ij4gaW5kZWVkLmNvbS9zZWRhaWx5PC9hPi4gPC9k + aXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zbmFw + Y2kvdGhvdWdodHdvcmtzX2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3Nf + R29fYmxhY2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1vcmlnLXNp + emU9IjYxMiw0NjkiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdC5wbmc/Zml0PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19i + bGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTMxNzUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5w + bmc/cmVzaXplPTMwMCUyQzIzMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRp + dC5wbmc/cmVzaXplPTMwMCUyQzIzMCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz93 + PTYxMiA2MTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAz + MDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5TaW1wbGlmeSBjb250aW51b3VzIGRl + bGl2ZXJ5IHdpdGggR29DRCwgdGhlIG9uLXByZW1pc2UsIG9wZW4gc291cmNl + LCBjb250aW51b3VzIGRlbGl2ZXJ5IHRvb2wgYnkgVGhvdWdodFdvcmtzLiBX + aXRoIEdvQ0QsIHlvdSBjYW4gZWFzaWx5IG1vZGVsIGNvbXBsZXggZGVwbG95 + bWVudCB3b3JrZmxvd3MgdXNpbmcgcGlwZWxpbmVzIGFuZCB2aXN1YWxpemUg + dGhlbSBlbmQtdG8tZW5kIHdpdGggdGhlIFZhbHVlIFN0cmVhbSBNYXAuIFlv + dSBnZXQgY29tcGxldGUgdmlzaWJpbGl0eSBpbnRvIGFuZCBjb250cm9sIG9m + IHlvdXIgY29tcGFueeKAmXMgZGVwbG95bWVudHMuIEF0PGEgaHJlZj0iaHR0 + cDovL2dvY2Qub3JnL3NlZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9hPiwg + ZmluZCBvdXQgaG93IHRvIGJyaW5nIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG8g + eW91ciB0ZWFtcy4gU2F5IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5pYyBh + bmQgaGVsbG8gdG8gY29uc2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZlcmll + cy4gVmlzaXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdv + Y2Qub3JnL3NlZGFpbHk8L2E+IHRvIGxlYXJuIG1vcmUgYWJvdXQgR29DRC4g + Q29tbWVyY2lhbCBzdXBwb3J0IGFuZCBlbnRlcnByaXNlIGFkZC1vbnMsIGlu + Y2x1ZGluZyBkaXNhc3RlciByZWNvdmVyeSwgYXJlIGF2YWlsYWJsZS48L2Rp + dj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgpd + XT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6 + Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9KdWFuQnVyaXRpY2EubXAz + IiBsZW5ndGg9IjYxOTMyOTQ5IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxp + dHVuZXM6c3VidGl0bGU+QnVpbGRpbmcgYW5kIG51cnR1cmluZyBhIGRldmVs + b3BlciBjb21tdW5pdHkgaXMgaGFyZCB3b3JrIGJ1dCBpdCBpcyB2aXRhbCBm + b3IgdGhlIGdyb3d0aCBvZiBhIGNvdW50cnnigJlzIHRlY2hub2xvZ3kgZWNv + c3lzdGVtLiBXaGVuIGNvbW11bml0aWVzIGNvYWxlc2NlIGFyb3VuZCBwcm9n + cmFtbWluZyBsYW5ndWFnZXMsIHRvb2xzIG9yIHByb2dyYW1taW5nIG1ldGhv + ZHMsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkJ1aWxk + aW5nIGFuZCBudXJ0dXJpbmcgYSBkZXZlbG9wZXIgY29tbXVuaXR5IGlzIGhh + cmQgd29yayBidXQgaXQgaXMgdml0YWwgZm9yIHRoZSBncm93dGggb2YgYSBj + b3VudHJ54oCZcyB0ZWNobm9sb2d5IGVjb3N5c3RlbS4gV2hlbiBjb21tdW5p + dGllcyBjb2FsZXNjZSBhcm91bmQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLCB0 + b29scyBvciBwcm9ncmFtbWluZyBtZXRob2RzLCB3aGF0IGZvbGxvd3MgaXMg + YSBuZXR3b3JrIG9mIGNvbmZlcmVuY2VzLCBtZWV0IHVwcyBhbmQgb3RoZXIg + c2ltaWxhciBldmVudHMuIEp1YW4gUGFibG8gQnVyaXRpY8OhLCBWUCBvZiBF + bmdpbmVlcmluZyBhdCBTcGxpY2UsIGhhcyBzcGVudCB0aGUgbGFzdCBkZWNh + ZGUgYnVpbGRpbmcgZGV2ZWxvcGVyIGNvbW11bml0aWVzIGluIGhpcyBob21l + IGNvdW50cnkgb2YgQ29sb21iaWEgYW5kIGFjcm9zcyBMYXRpbiBBbWVyaWNh + Q29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5l + czphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczph + dXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxp + Y2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+MTowNDoxNzwvaXR1bmVzOmR1cmF0 + aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0 + aW9uczoxIj4zODUxPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8 + dGl0bGU+UUEgVGVzdGluZyB3aXRoIEpvbmF0aGFuIEFsZXhhbmRlcjwvdGl0 + bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDgvMTUvcWEtdGVzdGluZy13aXRoLWpvbmF0aGFuLWFsZXhh + bmRlci88L2xpbms+DQoJCTxwdWJEYXRlPlR1ZSwgMTUgQXVnIDIwMTcgMDk6 + MDA6MzMgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9 + MzgzNTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTUvcWEtdGVzdGluZy13aXRoLWpv + bmF0aGFuLWFsZXhhbmRlci8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3 + OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOC8xNS9xYS10ZXN0aW5nLXdpdGgtam9uYXRoYW4tYWxleGFu + ZGVyL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Nl + Y3VyaXR5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ29k + ZXJtZXRyaWNzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + Sm9uYXRoYW4gQWxleGFuZGVyXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbUUFTeW1waG9ueV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW3F1YWxpdHkgYXNzdXJhbmNlIHRlc3RpbmddXT48L2NhdGVn + b3J5PgoJCTxkZXNjcmlwdGlvbj5RdWFsaXR5IGFzc3VyYW5jZSB0ZXN0aW5n + IGlzIGEgZm9ybSBvZiB0ZXN0aW5nIHRoYXQgY2xvc2VseSBtaXJyb3JzIHVz + ZXIgYmVoYXZpb3IuIFNvbWV0aW1lcyBpdCBpcyBtYW51YWwsIHNvbWV0aW1l + cyBpdCBpcyBhdXRvbWF0ZWQuIEF1dG9tYXRlZCBRQSB0ZXN0cyBhcmUgc2Ny + aXB0cyB0aGF0IHZhbGlkYXRlIGNvcnJlY3QgZGF0YSByZXByZXNlbnRhdGlv + biBhcyB0aGUgYXBwbGljYXRpb24gbWVjaGFuaWNhbGx5IHJ1bnMgdGhyb3Vn + aCBoaWdoLWxldmVsIHdvcmtmbG93c+KAk2xpa2UgYSBsb2dpbiBwYWdlLiBN + YW51YWwgUUEgdGVzdGVycyBhY3Qgb3V0IHVzZSBjYXNlcyBvZiBhbiBhcHBs + aWNhdGlvbiB0byBzZWUgaWYgdGhlcmUgYXJlIGFueSBidWdzIHRoYXQgd2Vy + ZSBtaXNzZWQgZHVyaW5nIGF1dG9tYXRlZCB0ZXN0IGNhc2VzLiBNYW51YWwg + UUEgdGVzdGluZyBpcyZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRp + bnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzE1L3FhLXRlc3Rpbmctd2l0 + aC1qb25hdGhhbi1hbGV4YW5kZXIvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRp + bmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxj + b250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFp + bmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQv + YnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNp + emU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + NC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxp + Z25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRl + ci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4 + LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBz + Oi8vaTIud3AuY29tL21lZGlhLmxpY2RuLmNvbS9tcHIvbXByL3Nocmlua25w + XzIwMF8yMDAvQUFFQUFRQUFBQUFBQUFkTkFBQUFKR0ptTURCaVltUTJMVFk0 + TmpjdE5EazVOaTA1WTJObExUQXpPRFJtWkdSbU5EbGpNdy5qcGc/cmVzaXpl + PTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5RdWFs + aXR5IGFzc3VyYW5jZSB0ZXN0aW5nIGlzIGEgZm9ybSBvZiB0ZXN0aW5nIHRo + YXQgY2xvc2VseSBtaXJyb3JzIHVzZXIgYmVoYXZpb3IuIFNvbWV0aW1lcyBp + dCBpcyBtYW51YWwsIHNvbWV0aW1lcyBpdCBpcyBhdXRvbWF0ZWQuIEF1dG9t + YXRlZCBRQSB0ZXN0cyBhcmUgc2NyaXB0cyB0aGF0IHZhbGlkYXRlIGNvcnJl + Y3QgZGF0YSByZXByZXNlbnRhdGlvbiBhcyB0aGUgYXBwbGljYXRpb24gbWVj + aGFuaWNhbGx5IHJ1bnMgdGhyb3VnaCBoaWdoLWxldmVsIHdvcmtmbG93cyYj + ODIxMTtsaWtlIGEgbG9naW4gcGFnZS4gTWFudWFsIFFBIHRlc3RlcnMgYWN0 + IG91dCB1c2UgY2FzZXMgb2YgYW4gYXBwbGljYXRpb24gdG8gc2VlIGlmIHRo + ZXJlIGFyZSBhbnkgYnVncyB0aGF0IHdlcmUgbWlzc2VkIGR1cmluZyBhdXRv + bWF0ZWQgdGVzdCBjYXNlcy4gTWFudWFsIFFBIHRlc3RpbmcgaXMgb2Z0ZW4g + bmVjZXNzYXJ5IGZvciBjb21wbGV4IGFwcGxpY2F0aW9ucyB3aGVyZSBpdCBp + cyBub3QgcG9zc2libGUgdG8gZW51bWVyYXRlIGFsbCBwb3RlbnRpYWwgd29y + a2Zsb3dzIHdpdGhpbiBhIHNjcmlwdC48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkRpZmZlcmVudCBjb21wYW5pZXMg + aGF2ZSByYWRpY2FsbHkgZGlmZmVyZW50IHdvcmtmbG93cyBmb3IgUUEgdGVz + dGluZy4gVGhlcmUgYXJlIGEgdmFyaWV0eSBvZiB0aWNrZXRpbmcgc3lzdGVt + cywgdGVzdGluZyBmcmFtZXdvcmtzLCBhbmQgdGVhbSBjaGF0IGFwcGxpY2F0 + aW9ucyB0aGF0IHBsYXkgYSByb2xlIGluIGEgdGVzdGVy4oCZcyBkYWlseSBs + aWZlLiBRQVN5bXBob255IGlzIGEgcGxhdGZvcm0gZm9yIHRlc3RpbmcgdG9v + bHMgdGhhdCBpbnRlZ3JhdGVzIHdpdGggb3RoZXIgcG9wdWxhciB0ZWNobm9s + b2dpZXMgdG8gY2VudHJhbGl6ZSBhIFFBIHRlc3Rpbmcgd29ya2Zsb3cuIDwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + Sm9uYXRoYW4gQWxleGFuZGVyIGlzIHRoZSBDVE8gYXQgUUFTeW1waG9ueS4g + SGXigJlzIGFsc28gdGhlIGF1dGhvciBvZiA8L3NwYW4+PGEgaHJlZj0iaHR0 + cHM6Ly93d3cuYW1hem9uLmNvbS9Db2Rlcm1ldHJpY3MtQW5hbHl0aWNzLUlt + cHJvdmluZy1Tb2Z0d2FyZS1UZWFtcy9kcC8xNDQ5MzA1MTU2Ij48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkNvZGVybWV0cmljczogQW5hbHl0 + aWNzIGZvciBJbXByb3ZpbmcgU29mdHdhcmUgVGVhbXM8L3NwYW4+PC9hPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBIZSBqb2lucyB0aGUg + c2hvdyB0byBkaXNjdXNzIHRoZSBwYXN0IGFuZCBwcmVzZW50IG9mIFFBIGFu + ZCBoaXMgc3RyYXRlZ2llcyBmb3IgbWFuYWdpbmcgdGhlIHRlYW0gdGhhdCBp + cyBidWlsZGluZyBRQVN5bXBob255LiBUaGFua3MgdG8gS2V2aW4gV29sZiBm + b3IgdGhlIGludHJvLjwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+Cjxk + aXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vZWNzLmF3cyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjM3MjIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253ZWJzZXJ2aWNlc19s + b2dvLXN2Z18vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2Zp + dD0yMDAwJTJDODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAwMCw4MDAiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQW1h + em9uV2Vic2VydmljZXNfTG9nby5zdmdfIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9 + MzAwJTJDMTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9m + aXQ9MTAyNCUyQzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIy + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTIwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXpl + PTMwMCUyQzEyMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTc2OCUy + QzMwNyA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTEwMjQlMkM0MTAg + MTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjg4IDcyMHci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + RGV2ZWxvcGVycyA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5sb3ZlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+IERvY2tlciBDb250YWluZXJzIGJlY2F1c2UgdGhleSBnaXZlIGFwcGxp + Y2F0aW9ucyBwb3J0YWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgYWxsIHRoZSB3 + YXkgZnJvbSB5b3VyIGxhcHRvcCBpbnRvIHByb2R1Y3Rpb24uIEFtYXpvbiBF + QzIgQ29udGFpbmVyIFNlcnZpY2UgZnJvbSBBbWF6b24gV2ViIFNlcnZpY2Vz + IG1ha2VzIGl0IGVhc3kgdG8gcnVuIERvY2tlciBhcHBzIGluIHRoZSBjbG91 + ZC4gV2l0aCBBbWF6b24gRUMyIENvbnRhaW5lciBTZXJ2aWNlLCBkZXBsb3lp + bmcsIG9wZXJhdGluZyBhbmQgc2NhbGluZyB5b3VyIGluZnJhc3RydWN0dXJl + IGhhcHBlbnMgYXV0b21hdGljYWxseS4gQmVzdCBvZiBhbGwsIHlvdSBvbmx5 + IHBheSBmb3IgdGhlIEFXUyBjb21wdXRlIGFuZCBzdG9yYWdlIHJlc291cmNl + cyB5b3UgdXNlLiBXaXRoIEFtYXpvbiBFQzIgQ29udGFpbmVyIFNlcnZpY2Us + IHlvdSBjYW4gZm9jdXMgb24gYnVpbGRpbmcgYXBwcywgbm90IG1hbmFnaW5n + IHlvdXIgY29udGFpbmVyIGluZnJhc3RydWN0dXJlLiBMZWFybiBtb3JlIGF0 + IDxhIGhyZWY9Imh0dHA6Ly9lY3MuYXdzIj5lY3MuYXdzPC9hPiB0b2RheS48 + L3NwYW4+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2luZGVlZC5jb20vc2Vk + YWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI4OTgiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE2LzEwLzE4L3NpbXBzb25zLWRhdGEtc2NpZW5jZS13aXRoLXRvZGQtc2No + bmVpZGVyL2luZGVlZC1wcmltZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2 + MyUyQzk2IiBkYXRhLW9yaWctc2l6ZT0iNDYzLDk2IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImluZGVlZC1wcmlt + ZSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/Zml0PTMwMCUyQzYyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJD + OTYiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjg5OCBzaXplLW1lZGl1 + bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1w + cmltZS5wbmc/cmVzaXplPTMwMCUyQzYyIiBzcmNzZXQ9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAw + JTJDNjIgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRl + ZWQtcHJpbWUucG5nP3c9NDYzIDQ2M3ciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkZsaXAgdGhl + IHRyYWRpdGlvbmFsIGpvYiBzZWFyY2ggYW5kIGxldCBJbmRlZWQgUHJpbWUg + d29yayBmb3IgeW91IHdoaWxlIHlvdeKAmXJlIGJ1c3kgd2l0aCBvdGhlciBl + bmdpbmVlcmluZyB3b3JrLCBvciBjb2RpbmcgeW91ciBzaWRlIHByb2plY3Qu + IFVwbG9hZCB5b3VyIHJlc3VtZSBhbmQgaW4gb25lIGNsaWNrLCBnYWluIGlt + bWVkaWF0ZSBleHBvc3VyZSB0byBjb21wYW5pZXMgbGlrZSBGYWNlYm9vaywg + VWJlciwgYW5kIERyb3Bib3guIEludGVyZXN0ZWQgZW1wbG95ZXJzIHdpbGwg + cmVhY2ggb3V0IHRvIHlvdSB3aXRoaW4gb25lIHdlZWsgd2l0aCBzYWxhcnks + IHBvc2l0aW9uLCBhbmQgZXF1aXR5IHVwIGZyb250LiBEb27igJl0IGxldCBh + cHBseWluZyBmb3Igam9icyBiZWNvbWUgYSBmdWxsLXRpbWUgam9iLiBXaXRo + IEluZGVlZCBQcmltZSwgam9icyBjb21lIHRvIHlvdS4gVGhlIGF2ZXJhZ2Ug + c29mdHdhcmUgZGV2ZWxvcGVyIGdldHMgNSBlbXBsb3llciBjb250YWN0cyBh + bmQgYW4gYXZlcmFnZSBzYWxhcnkgb2ZmZXIgb2YgJDEyNSwwMDAuIEluZGVl + ZCBQcmltZSBpcyAxMDAlIGZyZWUgZm9yIGNhbmRpZGF0ZXMg4oCTIG5vIHN0 + cmluZ3MgYXR0YWNoZWQuIFNpZ24gdXAgbm93IGF0IDxhIGhyZWY9Imh0dHA6 + Ly9pbmRlZWQuY29tL3NlZGFpbHkiPmluZGVlZC5jb20vc2VkYWlseTwvYT4u + IFRoYW5rcyB0byBJbmRlZWQgUHJpbWUgZm9yIGJlaW5nIGEgc3BvbnNvciBv + ZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS48L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3Mi + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzE3IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9jb3Jlb3MvY29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9z + LXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz9maXQ9NzkyJTJDMzA2IiBkYXRh + LW9yaWctc2l6ZT0iNzkyLDMwNiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJDb3Jlb3Mtd29yZG1hcmstaG9yaXot + Y29sb3IiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29y + ZG1hcmstaG9yaXotY29sb3IucG5nP2ZpdD0zMDAlMkMxMTYiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mt + d29yZG1hcmstaG9yaXotY29sb3IucG5nP2ZpdD03OTIlMkMzMDYiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcxNyBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0NvcmVvcy13b3JkbWFyay1o + b3Jpei1jb2xvci5wbmc/cmVzaXplPTMwMCUyQzExNiIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1h + cmstaG9yaXotY29sb3IucG5nP3Jlc2l6ZT0zMDAlMkMxMTYgMzAwdywgaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9y + aXotY29sb3IucG5nP3Jlc2l6ZT03NjglMkMyOTcgNzY4dywgaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXotY29s + b3IucG5nP3Jlc2l6ZT03MjAlMkMyNzggNzIwdywgaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXotY29sb3IucG5n + P3c9NzkyIDc5MnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncs + IDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIg + Lz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPllvdXIgZW50ZXJwcmlzZSB3YW50 + cyB0byBhZG9wdCBjb250YWluZXJzLCBidXQgeW91IGFyZW7igJl0IHN1cmUg + aG93LiBDb3JlT1Mgd2lsbCBoZWxwIHlvdSBhbG9uZyB5b3VyIGpvdXJuZXkg + dG8gYSBjb250YWluZXJpemVkIGFyY2hpdGVjdHVyZS4gQ29yZU9TIGFyZSB0 + aGUgY29udGFpbmVyIGV4cGVydHMgdHJ1c3RlZCBieSBTYWxlc2ZvcmNlLCBl + YmF5LCBUaWNrZXRtYXN0ZXIsIGFuZCBvdGhlciB3b3JsZC1jbGFzcyBvcmdh + bml6YXRpb25zLiBHbyB0byA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3MiPnNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vY29yZW9zPC9hPiB0byBmaW5kIG91ciB0b3AgNSBlcGlzb2Rl + cyBhYm91dCBjb250YWluZXJzIGFuZCBLdWJlcm5ldGVzLCBhcyB3ZWxsIGFz + IGEgd2hpdGUgcGFwZXIgYWJvdXQgbWlncmF0aW5nIGFuIGVudGVycHJpc2Ug + dG8gS3ViZXJuZXRlcyB3aXRoIENvcmVPUy4gVGhleSYjODIxNzt2ZSBob3N0 + ZWQsIGF0dGVuZGVkLCBhbmQgc3Bva2VuIGF0IG1hbnkgc2hvd3MgYWJvdXQg + Y29udGFpbmVycyBhbmQgS3ViZXJuZXRlcyBiZWNhdXNlIHRob3NlIHRlY2hu + b2xvZ2llcyBhcmUgdGhlIGZ1dHVyZSBvZiB0aGUgd2ViLiBUaGF04oCZcyB3 + aHkgQ29yZU9TIGJ1aWx0IFRlY3RvbmljLCBhbiBlbnRlcnByaXNlLXJlYWR5 + IEt1YmVybmV0ZXMgcGxhdGZvcm0uIEF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2NvcmVvcyI+c29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3M8L2E+LCB5b3UgY2FuIGxlYXJuIGFi + b3V0IGhvdyBjb250YWluZXJzIGNhbiBtYWtlIHlvdXIgb3JnYW5pemF0aW9u + IHJ1biBtb3JlIGVmZmljaWVudGx5LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9nb2NkLm9yZy9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jrc19nb19i + bGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlRob3Vn + aHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD0zMDAl + MkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYx + MiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1IHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMyMzAi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAlMkMy + MzAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0 + V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+U2ltcGxpZnkgY29udGludW91cyBkZWxpdmVyeSB3aXRoIEdvQ0QsIHRo + ZSBvbi1wcmVtaXNlLCBvcGVuIHNvdXJjZSwgY29udGludW91cyBkZWxpdmVy + eSB0b29sIGJ5IFRob3VnaHRXb3Jrcy4gV2l0aCBHb0NELCB5b3UgY2FuIGVh + c2lseSBtb2RlbCBjb21wbGV4IGRlcGxveW1lbnQgd29ya2Zsb3dzIHVzaW5n + IHBpcGVsaW5lcyBhbmQgdmlzdWFsaXplIHRoZW0gZW5kLXRvLWVuZCB3aXRo + IHRoZSBWYWx1ZSBTdHJlYW0gTWFwLiBZb3UgZ2V0IGNvbXBsZXRlIHZpc2li + aWxpdHkgaW50byBhbmQgY29udHJvbCBvZiB5b3VyIGNvbXBhbnnigJlzIGRl + cGxveW1lbnRzLiBBdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5 + Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4sIGZpbmQgb3V0IGhvdyB0byBicmlu + ZyBjb250aW51b3VzIGRlbGl2ZXJ5IHRvIHlvdXIgdGVhbXMuIFNheSBnb29k + YnllIHRvIGRlcGxveW1lbnQgcGFuaWMgYW5kIGhlbGxvIHRvIGNvbnNpc3Rl + bnQsIHByZWRpY3RhYmxlIGRlbGl2ZXJpZXMuIFZpc2l0PGEgaHJlZj0iaHR0 + cDovL2dvY2Qub3JnL3NlZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9hPiB0 + byBsZWFybiBtb3JlIGFib3V0IEdvQ0QuIENvbW1lcmNpYWwgc3VwcG9ydCBh + bmQgZW50ZXJwcmlzZSBhZGQtb25zLCBpbmNsdWRpbmcgZGlzYXN0ZXIgcmVj + b3ZlcnksIGFyZSBhdmFpbGFibGUuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2Nv + bnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFm + ZmljLmxpYnN5bi5jb20vc2VkYWlseS9RQVRlc3RpbmcubXAzIiBsZW5ndGg9 + IjUwODE4MTQ4IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+UXVhbGl0eSBhc3N1cmFuY2UgdGVzdGluZyBpcyBhIGZvcm0gb2Yg + dGVzdGluZyB0aGF0IGNsb3NlbHkgbWlycm9ycyB1c2VyIGJlaGF2aW9yLiBT + b21ldGltZXMgaXQgaXMgbWFudWFsLCBzb21ldGltZXMgaXQgaXMgYXV0b21h + dGVkLiBBdXRvbWF0ZWQgUUEgdGVzdHMgYXJlIHNjcmlwdHMgdGhhdCB2YWxp + ZGF0ZSBjb3JyZWN0IGRhdGEgcmVwcmVzZW50YXRpb24gYXMgdGhlIGFwcGxp + Y2F0aW9uIG1lY2hhbmljYWxseSBydW5zIHRocm91Z2ggLi4uPC9pdHVuZXM6 + c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlF1YWxpdHkgYXNzdXJhbmNl + IHRlc3RpbmcgaXMgYSBmb3JtIG9mIHRlc3RpbmcgdGhhdCBjbG9zZWx5IG1p + cnJvcnMgdXNlciBiZWhhdmlvci4gU29tZXRpbWVzIGl0IGlzIG1hbnVhbCwg + c29tZXRpbWVzIGl0IGlzIGF1dG9tYXRlZC4gQXV0b21hdGVkIFFBIHRlc3Rz + IGFyZSBzY3JpcHRzIHRoYXQgdmFsaWRhdGUgY29ycmVjdCBkYXRhIHJlcHJl + c2VudGF0aW9uIGFzIHRoZSBhcHBsaWNhdGlvbiBtZWNoYW5pY2FsbHkgcnVu + cyB0aHJvdWdoIGhpZ2gtbGV2ZWwgd29ya2Zsb3dz4oCTbGlrZSBhIGxvZ2lu + IHBhZ2UuIE1hbnVhbCBRQSB0ZXN0ZXJzIGFjdCBvdXQgdXNlIGNhc2VzIG9m + IGFuIGFwcGxpY2F0aW9uIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IGJ1Z3Mg + dGhhdCB3ZXJlIG1pc3NlZCBkdXJpbmcgYXV0b21hdGVkIHRlc3QgY2FzZXMu + IE1hbnVhbCBRQSB0ZXN0aW5nIGlzQ29udGludWUgcmVhZGluZy4uLjwvaXR1 + bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNp + dD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+ + NTI6NDI8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13 + b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzgzNTwvcG9zdC1pZD4JCTwv + aXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPk9wZW4gQ29tcHV0ZSBQcm9qZWN0 + IHdpdGggU3RldmUgSGVsdmllPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xNC9vcGVuLWNv + bXB1dGUtcHJvamVjdC13aXRoLXN0ZXZlLWhlbHZpZS88L2xpbms+DQoJCTxw + dWJEYXRlPk1vbiwgMTQgQXVnIDIwMTcgMDk6MDA6MTAgKzAwMDA8L3B1YkRh + dGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9MzgzNDwvZ3VpZD4NCgkJPGNv + bW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDgvMTQvb3Blbi1jb21wdXRlLXByb2plY3Qtd2l0aC1zdGV2ZS1oZWx2 + aWUvI3Jlc3BvbmQ8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xNC9v + cGVuLWNvbXB1dGUtcHJvamVjdC13aXRoLXN0ZXZlLWhlbHZpZS9mZWVkLzwv + d2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFzaDpj + b21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVuZ2lu + ZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9k + Y2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2RhdGEg + Y2VudGVyIGRlc2lnbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0ZhY2Vib29rXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbSW5mcmFzdHJ1Y3R1cmVdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtPcGVuIENvbXB1dGUgUHJvamVjdF1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW09wZW4gU291cmNlXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU3RldmUgSGVsdmllXV0+PC9jYXRlZ29y + eT4KCQk8ZGVzY3JpcHRpb24+RmFjZWJvb2sgd2FzIHJhcGlkbHkgb3V0Z3Jv + d2luZyBpdHMgaW5mcmFzdHJ1Y3R1cmUgaW4gMjAwOS4gQ2xhc3NpYyBkYXRh + IGNlbnRlciBkZXNpZ24gd2FzIG5vdCB1cCB0byB0aGUgdGFzayBvZiB0aGUg + cmFwaWQgaW5mbHV4IG9mIG5ldyB1c2VycyBhbmQgZGF0YSwgcGhvdG9zIGFu + ZCBzdHJlYW1pbmcgdmlkZW8gaGl0dGluZyBGYWNlYm9va+KAmXMgc2VydmVy + cy4gQSBzbWFsbCB0ZWFtIG9mIGVuZ2luZWVycyBzcGVudCB0aGUgbmV4dCB0 + d28geWVhcnMgZGVzaWduaW5nIGEgZGF0YSBjZW50ZXIgZnJvbSB0aGUgZ3Jv + dW5kIHVwIHRvIGJlIGNoZWFwZXIsIG1vcmUgZW5lcmd5IGVmZmljaWVudCwg + YW5kIG1vcmUgZXJnb25vbWljIGZvciB0aGUgZW5naW5lZXJzIHdobyB3b3Jr + ZWQgd2l0aGluLiBUaGF0IGRhdGEgY2VudGVyJmx0O3AmZ3Q7Jmx0O2EgY2xh + c3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTQv + b3Blbi1jb21wdXRlLXByb2plY3Qtd2l0aC1zdGV2ZS1oZWx2aWUvJnF1b3Q7 + Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0Ozwv + ZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0 + LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJu + cy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJu + cyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMu + anBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2Ut + MjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHgg + c29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDog + MTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL21lZGlhLmxpY2RuLmNv + bS9tcHIvbXByL3Nocmlua25wXzIwMF8yMDAvQUFFQUFRQUFBQUFBQUFPTUFB + QUFKREV4WWprek1URXhMVEJtTW1FdE5HRTBZUzA0TnpBM0xUbGtOR1F6TldO + a01qRTVOZy5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5GYWNlYm9vayB3YXMgcmFwaWRseSBvdXRncm93aW5n + IGl0cyBpbmZyYXN0cnVjdHVyZSBpbiAyMDA5LiBDbGFzc2ljIGRhdGEgY2Vu + dGVyIGRlc2lnbiB3YXMgbm90IHVwIHRvIHRoZSB0YXNrIG9mIHRoZSByYXBp + ZCBpbmZsdXggb2YgbmV3IHVzZXJzIGFuZCBkYXRhLCBwaG90b3MgYW5kIHN0 + cmVhbWluZyB2aWRlbyBoaXR0aW5nIEZhY2Vib29r4oCZcyBzZXJ2ZXJzLiBB + IHNtYWxsIHRlYW0gb2YgZW5naW5lZXJzIHNwZW50IHRoZSBuZXh0IHR3byB5 + ZWFycyBkZXNpZ25pbmcgYSBkYXRhIGNlbnRlciBmcm9tIHRoZSBncm91bmQg + dXAgdG8gYmUgY2hlYXBlciwgbW9yZSBlbmVyZ3kgZWZmaWNpZW50LCBhbmQg + bW9yZSBlcmdvbm9taWMgZm9yIHRoZSBlbmdpbmVlcnMgd2hvIHdvcmtlZCB3 + aXRoaW4uPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5UaGF0IGRhdGEgY2VudGVyIGRlc2lnbiB3YXMgb3BlbiBzb3Vy + Y2VkIGluIDIwMTEuIEludGVsLCBSYWNrc3BhY2UsIGFuZCBHb2xkbWFuIFNh + Y2hzIHdlcmUgdGhlIGZpcnN0IHRocmVlIGxhcmdlIG9yZ2FuaXphdGlvbnMg + dG8gam9pbiBGYWNlYm9vayBpbiB0aGUgT3BlbiBDb21wdXRlIFByb2plY3Qs + IGFuIGVmZm9ydCB0byBicmluZyB0aGUgYmVuZWZpdHMgb2Ygb3BlbiBzb3Vy + Y2UgY29sbGFib3JhdGlvbiB0byBkYXRhIGNlbnRlcnMuPC9zcGFuPjwvcD4K + PHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TdGV2ZSBIZWx2 + aWUgd29ya3Mgb24gdGhlIE9wZW4gQ29tcHV0ZSBQcm9qZWN0IGFuZCBoZSBq + b2lucyB0aGUgc2hvdyB0byBkZXNjcmliZSBob3cgdGhlIHByb2plY3QgaGFz + IGV2b2x2ZWQgaW4gdGhlIGxhc3Qgc2l4IHllYXJzJiM4MjExO2hvdyBpdCBo + YXMgYWZmZWN0ZWQgZGF0YSBjZW50ZXIgZGVzaWduIGFuZCB0aGUgaW1wbGlj + YXRpb25zIGZvciB0aGUgZnV0dXJlLjwvc3Bhbj48L3A+CjxoMj5TcG9uc29y + czwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vYnVnc25hZy5jb20vc2VkYWlseSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjAiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2J1 + Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP2ZpdD0z + MDEwJTJDODY2IiBkYXRhLW9yaWctc2l6ZT0iMzAxMCw4NjYiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQnVnc25h + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9maXQ9MzAwJTJDODYiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjAgc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9C + dWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28u + cG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTc2OCUyQzIyMSA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9n + by5wbmc/cmVzaXplPTEwMjQlMkMyOTUgMTAyNHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9NzIwJTJD + MjA3IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25h + Z19sb2dvLnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkJ1Z3NuYWcg + aW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJvdWJsZXNob290aW5nIGVycm9ycyBi + eSBtYWtpbmcgaXQgbW9yZSBlbmpveWFibGUgYW5kIGxlc3MgdGltZS1jb25z + dW1pbmcuIEZvciBleGFtcGxlLCB3aGVuIGFuIGVycm9yIG9jY3VycywgeW91 + ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlhIFNsYWNrLCBzZWUgZGlhZ25v + c3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJyb3IsIGFuZCBpZGVudGlmeSB0 + aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQgdGhlIGNvZGUuIEJ1Z3NuYWfi + gJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBhbmQgb3RoZXIgY29sbGFib3Jh + dGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRvIGFzc2lnbiBhbmQgdHJhY2sg + YnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhlZC7CoFRoZXJlIGlzIGEgc3Bl + Y2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlz + dGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYwIGRheXMgYXQg + PGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseSI+aHR0 + cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseTwvYT4uwqBEZXZlbG9wbWVu + dCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXByb3ZlIHNv + ZnR3YXJlIHF1YWxpdHkuwqBUbyBnZXQgc3RhcnRlZCwgZ28gdG8gPGEgaHJl + Zj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseS8iPmh0dHBzOi8v + d3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkvPC9hPi4gR2V0IHVwIGFuZCBydW5u + aW5nIGluIHRocmVlIG1pbnV0ZXMuIEFpcmJuYiwgTHlmdCwgYW5kIFNob3Bp + ZnkgYWxsIHVzZSBCdWdzbmFnIHRvIG1vbml0b3IgYXBwbGljYXRpb24gZXJy + b3JzLiDCoDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJy + b3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBj + bGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmluY2Fwc3Vs + YS5jb20vc2VkYWlseT91dG1fc291cmNlPXNlZGFpbHkmYW1wO3V0bV9tZWRp + dW09b3JnYW5pYyZhbXA7dXRtX2NhbXBhaWduPTIwMTdfUTNfcG9kY2FzdCI+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxMTYiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAx + LzA5L2N5YmVyLXdhcmZhcmUtd2l0aC1qYXJlZC1zbWl0aC9pbmNhcHN1bGEt + bG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBkYXRh + LW9yaWctc2l6ZT0iNTMzLDEyNiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmNhcHN1bGEtbG9nbyIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9 + MzAwJTJDNzEiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0PTUzMyUyQzEyNiIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTE2IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxv + Z28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVz + aXplPTMwMCUyQzcxIDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDEvaW5jYXBzdWxhLWxvZ28ucG5nP3c9NTMzIDUzM3ciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PkluY2Fwc3VsYSBpcyBhIGNsb3VkIHNlcnZpY2UgdGhhdCBwcm90ZWN0cyBh + cHBsaWNhdGlvbnMgZnJvbSBhdHRhY2tlcnMgYW5kIGltcHJvdmVzIHBlcmZv + cm1hbmNlLiDCoEJvdG5ldHMgYW5kIGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFj + a3MgYXJlIHJlY29nbml6ZWQgYnkgSW5jYXBzdWxhIGFuZCBibG9ja2VkLiBU + aGlzIHByb3RlY3RzIHlvdXIgQVBJIHNlcnZlcnMgYW5kIG1pY3Jvc2Vydmlj + ZXMgZnJvbSByZXNwb25kaW5nIHRvIHVud2FudGVkIHJlcXVlc3RzLiBUbyB0 + cnkgSW5jYXBzdWxhLCBnbyB0byA8YSBocmVmPSJodHRwczovL3d3dy5pbmNh + cHN1bGEuY29tL3NlZGFpbHk/dXRtX3NvdXJjZT1zZWRhaWx5JmFtcDt1dG1f + bWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9jYW1wYWlnbj0yMDE3X1EzX3BvZGNh + c3QiPmluY2Fwc3VsYS5jb20vc2VkYWlseTwvYT4gYW5kIGdldCBhIG1vbnRo + IGZyZWUgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVy + cy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0i + Y29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyODk4IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8x + MC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Utd2l0aC10b2RkLXNjaG5laWRl + ci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5 + NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmRlZWQtcHJpbWUiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2Zp + dD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4OTggc2l6ZS1tZWRpdW0iIHNy + Yz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUu + cG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUyQzYy + IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXBy + aW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgp + IDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9k + aXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5GbGlwIHRoZSB0cmFk + aXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQgSW5kZWVkIFByaW1lIHdvcmsg + Zm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5IHdpdGggb3RoZXIgZW5naW5l + ZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIgc2lkZSBwcm9qZWN0LiBVcGxv + YWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBjbGljaywgZ2FpbiBpbW1lZGlh + dGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxpa2UgRmFjZWJvb2ssIFViZXIs + IGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVtcGxveWVycyB3aWxsIHJlYWNo + IG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVrIHdpdGggc2FsYXJ5LCBwb3Np + dGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4gRG9u4oCZdCBsZXQgYXBwbHlp + bmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10aW1lIGpvYi4gV2l0aCBJbmRl + ZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3UuIFRoZSBhdmVyYWdlIHNvZnR3 + YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95ZXIgY29udGFjdHMgYW5kIGFu + IGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQxMjUsMDAwLiBJbmRlZWQgUHJp + bWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKAkyBubyBzdHJpbmdz + IGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdDxhIGhyZWY9Imh0dHA6Ly9pbmRl + ZWQuY29tL3NlZGFpbHkiPiBpbmRlZWQuY29tL3NlZGFpbHk8L2E+LiA8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjMxNzUiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NuYXBj + aS90aG91Z2h0d29ya3NfZ29fYmxhY2tfZWRpdC8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19H + b19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBkYXRhLW9yaWctc2l6 + ZT0iNjEyLDQ2OSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1h + Z2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28m + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRh + LWltYWdlLXRpdGxlPSJUaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdCIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFj + a19lZGl0LnBuZz9maXQ9MzAwJTJDMjMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2Js + YWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0NjkiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMzE3NSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz9yZXNpemU9MzAwJTJDMjMwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0 + LnBuZz9yZXNpemU9MzAwJTJDMjMwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3c9 + NjEyIDYxMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPlNpbXBsaWZ5IGNvbnRpbnVvdXMgZGVs + aXZlcnkgd2l0aCBHb0NELCB0aGUgb24tcHJlbWlzZSwgb3BlbiBzb3VyY2Us + IGNvbnRpbnVvdXMgZGVsaXZlcnkgdG9vbCBieSBUaG91Z2h0V29ya3MuIFdp + dGggR29DRCwgeW91IGNhbiBlYXNpbHkgbW9kZWwgY29tcGxleCBkZXBsb3lt + ZW50IHdvcmtmbG93cyB1c2luZyBwaXBlbGluZXMgYW5kIHZpc3VhbGl6ZSB0 + aGVtIGVuZC10by1lbmQgd2l0aCB0aGUgVmFsdWUgU3RyZWFtIE1hcC4gWW91 + IGdldCBjb21wbGV0ZSB2aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb2Yg + eW91ciBjb21wYW554oCZcyBkZXBsb3ltZW50cy4gQXQ8YSBocmVmPSJodHRw + Oi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8L2E+LCBm + aW5kIG91dCBob3cgdG8gYnJpbmcgY29udGludW91cyBkZWxpdmVyeSB0byB5 + b3VyIHRlYW1zLiBTYXkgZ29vZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmljIGFu + ZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVyaWVz + LiBWaXNpdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29j + ZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBD + b21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5j + bHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1d + PjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDov + L3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L09wZW5Db21wdXRlUHJvamVj + dC5tcDMiIGxlbmd0aD0iNTcwMTI4NTEiIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5GYWNlYm9vayB3YXMgcmFwaWRseSBvdXRn + cm93aW5nIGl0cyBpbmZyYXN0cnVjdHVyZSBpbiAyMDA5LiBDbGFzc2ljIGRh + dGEgY2VudGVyIGRlc2lnbiB3YXMgbm90IHVwIHRvIHRoZSB0YXNrIG9mIHRo + ZSByYXBpZCBpbmZsdXggb2YgbmV3IHVzZXJzIGFuZCBkYXRhLCBwaG90b3Mg + YW5kIHN0cmVhbWluZyB2aWRlbyBoaXR0aW5nIEZhY2Vib29r4oCZcyBzZXJ2 + ZXJzLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5GYWNl + Ym9vayB3YXMgcmFwaWRseSBvdXRncm93aW5nIGl0cyBpbmZyYXN0cnVjdHVy + ZSBpbiAyMDA5LiBDbGFzc2ljIGRhdGEgY2VudGVyIGRlc2lnbiB3YXMgbm90 + IHVwIHRvIHRoZSB0YXNrIG9mIHRoZSByYXBpZCBpbmZsdXggb2YgbmV3IHVz + ZXJzIGFuZCBkYXRhLCBwaG90b3MgYW5kIHN0cmVhbWluZyB2aWRlbyBoaXR0 + aW5nIEZhY2Vib29r4oCZcyBzZXJ2ZXJzLiBBIHNtYWxsIHRlYW0gb2YgZW5n + aW5lZXJzIHNwZW50IHRoZSBuZXh0IHR3byB5ZWFycyBkZXNpZ25pbmcgYSBk + YXRhIGNlbnRlciBmcm9tIHRoZSBncm91bmQgdXAgdG8gYmUgY2hlYXBlciwg + bW9yZSBlbmVyZ3kgZWZmaWNpZW50LCBhbmQgbW9yZSBlcmdvbm9taWMgZm9y + IHRoZSBlbmdpbmVlcnMgd2hvIHdvcmtlZCB3aXRoaW4uIFRoYXQgZGF0YSBj + ZW50ZXJDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8 + aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1 + bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6 + ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41OToxMDwvaXR1bmVzOmR1 + cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFk + ZGl0aW9uczoxIj4zODM0PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0K + CQk8dGl0bGU+VHlwZVNjcmlwdCBhdCBTbGFjayB3aXRoIEZlbGl4IFJpZXNl + YmVyZzwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDgvMTEvdHlwZXNjcmlwdC1hdC1zbGFjay13 + aXRoLWZlbGl4LXJpZXNlYmVyZy88L2xpbms+DQoJCTxwdWJEYXRlPkZyaSwg + MTEgQXVnIDIwMTcgMDk6MDA6MzQgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlk + IGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vP3A9MzgzMzwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMTEvdHlw + ZXNjcmlwdC1hdC1zbGFjay13aXRoLWZlbGl4LXJpZXNlYmVyZy8jY29tbWVu + dHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xMS90eXBlc2NyaXB0 + LWF0LXNsYWNrLXdpdGgtZmVsaXgtcmllc2ViZXJnL2ZlZWQvPC93Znc6Y29t + bWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRz + Pg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSmF2YVNjcmlwdF1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjaGF0IGFwcF1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0ZlbGl4IFJpZXNlYmVyZ11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NsYWNrXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbdHlwZXNjcmlwdF1dPjwvY2F0 + ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlNsYWNrIGlzIGFuIGFwcGxpY2F0aW9u + IGZvciB0ZWFtIGNvbW11bmljYXRpb24uIFVzZXJzIGNoYXQgYWNyb3NzIG1v + YmlsZSBkZXZpY2VzLCB3ZWIgYnJvd3NlcnMsIGFuZCBhIGRlc2t0b3AgYXBw + bGljYXRpb24sIHdoaWNoIG1lYW5zIFNsYWNrIGhhcyB0aHJlZSBwbGFjZXMg + dG8gZGVwbG95IG9uIHJhdGhlciB0aGFuIHR3by4gQW5kIHRoZSBkZXNrdG9w + IGFwcHMgb24gV2luZG93cywgTWFjLCBhbmQgTGludXggYXJlIG5vdCBpZGVu + dGljYWwsIHNvIFNsYWNrIGhhcyBldmVuIG1vcmUgcGxhY2VzIHRvIGRlcGxv + eS4gV2l0aCBzbyBtYW55IGRpZmZlcmVudCBydW50aW1lIGVudmlyb25tZW50 + cywgU2xhY2sgbmVlZHMgdG8gbWFrZSB0ZWNobm9sb2d5IGNob2ljZXMgdGhh + dCByZWR1Y2UgdGhlIGNoYW5jZSBvZiBlcnJvcnMuIFR5cGVTY3JpcHQgYWxs + b3dzJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGlu + ZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDgvMTEvdHlwZXNjcmlwdC1hdC1zbGFjay13aXRo + LWZlbGl4LXJpZXNlYmVyZy8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4u + LiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRl + bnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXIt + bWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0i + MTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJp + Z2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJh + ZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lk + dGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9p + MS53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9maWxlX2ltYWdlcy83NDQ5NTE0 + OTUzMDk4MTk5MDQvNG00cUY5bm8uanBnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAz + ODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2xhY2sgaXMgYW4gYXBwbGlj + YXRpb24gZm9yIHRlYW0gY29tbXVuaWNhdGlvbi4gVXNlcnMgY2hhdCBhY3Jv + c3MgbW9iaWxlIGRldmljZXMsIHdlYiBicm93c2VycywgYW5kIGEgZGVza3Rv + cCBhcHBsaWNhdGlvbiwgd2hpY2ggbWVhbnMgU2xhY2sgaGFzIHRocmVlIHBs + YWNlcyB0byBkZXBsb3kgb24gcmF0aGVyIHRoYW4gdHdvLiBBbmQgdGhlIGRl + c2t0b3AgYXBwcyBvbiBXaW5kb3dzLCBNYWMsIGFuZCBMaW51eCBhcmUgbm90 + IGlkZW50aWNhbCwgc28gU2xhY2sgaGFzIGV2ZW4gbW9yZSBwbGFjZXMgdG8g + ZGVwbG95Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+V2l0aCBzbyBtYW55IGRpZmZlcmVudCBydW50aW1lIGVudmly + b25tZW50cywgU2xhY2sgbmVlZHMgdG8gbWFrZSB0ZWNobm9sb2d5IGNob2lj + ZXMgdGhhdCByZWR1Y2UgdGhlIGNoYW5jZSBvZiBlcnJvcnMuIFR5cGVTY3Jp + cHQgYWxsb3dzIGZvciBzdGF0aWMgdHlwaW5nIG9mIEphdmFTY3JpcHQuIFRo + ZSBleHRyYSBjb21waWxhdGlvbiBzdGVwIGNoZWNrcyB0aGUgdHlwZXMgb2Yg + dmFyaWFibGVzIGJlaW5nIHBhc3NlZCBiZXR3ZWVuIGRpZmZlcmVudCBwbGFj + ZXMmIzgyMTE7c28gdGhlIGVycm9ycyB3aWxsIGJlIGRpc2NvdmVyZWQgYXQg + Y29tcGlsZSB0aW1lLiBJbiBhbiB1bnR5cGVkIHdvcmxkLCB0aG9zZSBlcnJv + cnMgbWlnaHQgb2NjdXIgYXQgcnVudGltZS4gVHlwZVNjcmlwdCBhbHNvIHVu + bG9ja3MgdGhlIGFiaWxpdHkgdG8gcHV0IEphdmFTY3JpcHQgY29kZSBpbiBh + biBJREUsIGFsbG93aW5nIGZvciBtb3JlIGVmZmljaWVudCBkZXZlbG9wbWVu + dC48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPkZlbGl4IFJpZXNlYmVyZyBpcyBhIGRlc2t0b3AgZW5naW5lZXIgYXQg + U2xhY2ssIGFuZCBpbiB0b2RheeKAmXMgZXBpc29kZSBoZSBleHBsYWlucyB0 + aGUgdW5pcXVlIGNoYWxsZW5nZXMgb2YgYnVpbGRpbmcgU2xhY2ssIGFuZCB3 + aHkgdGhlIHRlYW0gbW92ZWQgZnJvbSBKYXZhU2NyaXB0IHRvIFR5cGVTY3Jp + cHQuPC9zcGFuPjwvcD4KPGgyPlNob3cgTm90ZXM8L2gyPgo8cD48YSBocmVm + PSJodHRwczovL3NsYWNrLmVuZ2luZWVyaW5nL3R5cGVzY3JpcHQtYXQtc2xh + Y2stYTgxMzA3ZmEyODhkIj5UeXBlU2NyaXB0IGF0IFNsYWNrICYjODIxMTsg + ZW5naW5lZXJpbmcgYmxvZzwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+Cjxk + aXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vaGlyZWQuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2 + LzAxLzA0L2Rpc3RyaWJ1dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8tdmlkZWxh + L2hpcmVkLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBk + YXRhLW9yaWctc2l6ZT0iMjYwLDEzMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUy + QzEzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9yZXNpemU9 + MjYwJTJDMTMwIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkhhdmUgeW91IGJlZW4gdGhp + bmtpbmcgeW914oCZZCBiZSBoYXBwaWVyIGF0IGEgbmV3IGpvYj8gSWYgeW91 + 4oCZcmUgZHJlYW1pbmcgYWJvdXQgYSBuZXcgam9iIGFuZCBoYXZlIGJlZW4g + d2FpdGluZyBmb3IgdGhlIHJpZ2h0IHRpbWUgdG8gbWFrZSBhIG1vdmUsIGdv + IHRvwqA8YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVk + LmNvbS9zZWRhaWx5PC9hPi4gSGlyZWQgbWFrZXMgZmluZGluZyB3b3JrIGVu + am95YWJsZS4gSGlyZWQgdXNlcyBhbiBhbGdvcml0aG1pYyBqb2ItbWF0Y2hp + bmcgdG9vbCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgdGFsZW50IGFkdm9jYXRl + IHdobyB3aWxsIHdhbGsgeW91IHRocm91Z2ggdGhlIHByb2Nlc3Mgb2YgZmlu + ZGluZyBhIGJldHRlciBqb2IuIENoZWNrIG91dMKgPGEgaHJlZj0iaHR0cDov + L2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT7CoHRv + IGdldCBhIHNwZWNpYWwgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGxpc3RlbmVycyYjODIxMTthICQ2MDAgc2lnbmluZyBib251cyBm + cm9tIEhpcmVkIHdoZW4geW91IGZpbmQgdGhhdCBncmVhdCBqb2IgdGhhdCBn + aXZlcyB5b3UgdGhlIHJlc3BlY3QgYW5kIHNhbGFyeSB0aGF0IHlvdSBkZXNl + cnZlIGFzIGEgdGFsZW50ZWQgZW5naW5lZXIuwqA8L2Rpdj48YnIgLz4KPC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9n + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3MvZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2Zp + dD0xMDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0 + YWRvZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRv + Z19sb2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9m + aXQ9MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2 + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIg + c3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUy + QzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFk + b2dfbG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3 + MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0 + eSBpbnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1 + cyBBUE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztz + IHBlcmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9v + bHMsIGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtm + bG93IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4g + RGF0YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91 + ciBhcHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIg + U2VydmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRl + cy4gR28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9s + bG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0 + ZWQgd2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2 + PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9idWdzbmFnLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvYnVn + c25hZy9idWdzbmFnX2xvZ28tMi8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/Zml0PTMw + MTAlMkM4NjYiIGRhdGEtb3JpZy1zaXplPSIzMDEwLDg2NiIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJCdWdzbmFn + X2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xv + Z28ucG5nP2ZpdD0zMDAlMkM4NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/Zml0PTEw + MjQlMkMyOTUiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcyMCBzaXpl + LW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1 + Z3NuYWdfbG9nby5wbmc/cmVzaXplPTMwMCUyQzg2IiBhbHQ9IiIgc3Jjc2V0 + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5w + bmc/cmVzaXplPTMwMCUyQzg2IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9NzY4JTJDMjIxIDc2 + OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dv + LnBuZz9yZXNpemU9MTAyNCUyQzI5NSAxMDI0dywgaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMy + MDcgNzIwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFn + X2xvZ28ucG5nP3c9MjEwMCAyMTAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhlIHByb2Nl + c3Mgb2YgdHJvdWJsZXNob290aW5nIGJ1Z3MgY2FuIGJlIHRlZGlvdXMgYW5k + IGluZWZmaWNpZW50IGZvciBkZXZlbG9wZXJzLCBlc3BlY2lhbGx5IGFzIHRo + ZXkgcHVzaCBtb3JlIGFuZCBtb3JlIGNvZGUgdG8gcHJvZHVjdGlvbi4gVGhl + IHVubHVja3kgZGV2ZWxvcGVyIGFzc2lnbmVkIHRvIGJ1ZyBkdXR5IG1heSBn + ZXQgYm9tYmFyZGVkIHdpdGggZXJyb3IgYWxlcnRzIGFuZCBzcGVuZCBob3Vy + cyBmaWd1cmluZyBvdXQgd2hpY2ggZXJyb3JzIHRvIGFkZHJlc3MgZmlyc3Qu + IFRoZXkgbWlnaHQgaGF2ZSB0byBkZWFsIHdpdGggbG9ncyB0byBwaWVjZSB0 + b2dldGhlciB3aGF0IGhhcHBlbmVkLCBvciBldmVuIHNwZW5kIHRpbWUgcmVh + Y2hpbmcgb3V0IHRvIG90aGVyIGVuZ2luZWVycyBvbiB0aGVpciB0ZWFtIGZv + ciBoZWxwLiBCdWdzbmFnIGltcHJvdmVzIHRoZSB0YXNrIG9mIHRyb3VibGVz + aG9vdGluZyBlcnJvcnMgYnkgbWFraW5nIGl0IG1vcmUgZW5qb3lhYmxlIGFu + ZCBsZXNzIHRpbWUtY29uc3VtaW5nLiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBl + cnJvciBvY2N1cnMsIHlvdXIgdGVhbSBjYW4gZ2V0IG5vdGlmaWVkIHZpYSBT + bGFjaywgc2VlIGRpYWdub3N0aWMgaW5mb3JtYXRpb24gb24gdGhlIGVycm9y + LCBhbmQgaWRlbnRpZnkgdGhlIGRldmVsb3BlciB3aG8gY29tbWl0dGVkIHRo + ZSBjb2RlLiBCdWdzbmFn4oCZcyBpbnRlZ3JhdGlvbiB3aXRoIEppcmEgYW5k + IG90aGVyIGNvbGxhYm9yYXRpb24gdG9vbHMgbWFrZXMgaXQgZWFzeSB0byBh + c3NpZ24gYW5kIHRyYWNrIGJ1Z3MgYXMgdGhleSBhcmUgYmVpbmcgZml4ZWQu + wqBEZXZlbG9wbWVudCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFu + ZCBpbXByb3ZlIHNvZnR3YXJlIHF1YWxpdHkuwqBHZXQgdXAgYW5kIHJ1bm5p + bmcgaW4gdGhyZWUgbWludXRlcy4gQWlyYm5iLCBMeWZ0LCBhbmQgU2hvcGlm + eSBhbGwgdXNlIEJ1Z3NuYWcgdG8gbW9uaXRvciBhcHBsaWNhdGlvbiBlcnJv + cnMuwqBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYwIGRheXMgYXQgPGEg + aHJlZj0iaHR0cHM6Ly9idWdzbmFnLmNvbS9zZWRhaWx5Ij5idWdzbmFnLmNv + bS9zZWRhaWx5PC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+Cjxw + PjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5v + cmcvc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxNzUiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0d29ya3NfZ29fYmxhY2tfZWRp + dC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJD + NDY5IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJUaG91Z2h0V29ya3Nf + R29fYmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Ro + b3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9MzAwJTJDMjMwIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0Njki + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3NSBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jr + c19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIiBhbHQ9IiIg + c3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIDMwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dv + X2JsYWNrX2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNpbXBs + aWZ5IGNvbnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBHb0NELCB0aGUgb24tcHJl + bWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG9vbCBi + eSBUaG91Z2h0V29ya3MuIFdpdGggR29DRCwgeW91IGNhbiBlYXNpbHkgbW9k + ZWwgY29tcGxleCBkZXBsb3ltZW50IHdvcmtmbG93cyB1c2luZyBwaXBlbGlu + ZXMgYW5kIHZpc3VhbGl6ZSB0aGVtIGVuZC10by1lbmQgd2l0aCB0aGUgVmFs + dWUgU3RyZWFtIE1hcC4gWW91IGdldCBjb21wbGV0ZSB2aXNpYmlsaXR5IGlu + dG8gYW5kIGNvbnRyb2wgb2YgeW91ciBjb21wYW554oCZcyBkZXBsb3ltZW50 + cy4gQXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qu + b3JnL3NlZGFpbHk8L2E+LCBmaW5kIG91dCBob3cgdG8gYnJpbmcgY29udGlu + dW91cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkgZ29vZGJ5ZSB0byBk + ZXBsb3ltZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVk + aWN0YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhyZWY9Imh0dHA6Ly9nb2Nk + Lm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4g + bW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVy + cHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBh + cmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVu + Y29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJz + eW4uY29tL3NlZGFpbHkvVHlwZVNjcmlwdGF0U2xhY2subXAzIiBsZW5ndGg9 + IjU1NzE0NTY0IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+U2xhY2sgaXMgYW4gYXBwbGljYXRpb24gZm9yIHRlYW0gY29tbXVu + aWNhdGlvbi4gVXNlcnMgY2hhdCBhY3Jvc3MgbW9iaWxlIGRldmljZXMsIHdl + YiBicm93c2VycywgYW5kIGEgZGVza3RvcCBhcHBsaWNhdGlvbiwgd2hpY2gg + bWVhbnMgU2xhY2sgaGFzIHRocmVlIHBsYWNlcyB0byBkZXBsb3kgb24gcmF0 + aGVyIHRoYW4gdHdvLiBBbmQgdGhlIGRlc2t0b3AgYXBwcyBvbiBXaW5kb3dz + LCBNYWMsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlNs + YWNrIGlzIGFuIGFwcGxpY2F0aW9uIGZvciB0ZWFtIGNvbW11bmljYXRpb24u + IFVzZXJzIGNoYXQgYWNyb3NzIG1vYmlsZSBkZXZpY2VzLCB3ZWIgYnJvd3Nl + cnMsIGFuZCBhIGRlc2t0b3AgYXBwbGljYXRpb24sIHdoaWNoIG1lYW5zIFNs + YWNrIGhhcyB0aHJlZSBwbGFjZXMgdG8gZGVwbG95IG9uIHJhdGhlciB0aGFu + IHR3by4gQW5kIHRoZSBkZXNrdG9wIGFwcHMgb24gV2luZG93cywgTWFjLCBh + bmQgTGludXggYXJlIG5vdCBpZGVudGljYWwsIHNvIFNsYWNrIGhhcyBldmVu + IG1vcmUgcGxhY2VzIHRvIGRlcGxveS4gV2l0aCBzbyBtYW55IGRpZmZlcmVu + dCBydW50aW1lIGVudmlyb25tZW50cywgU2xhY2sgbmVlZHMgdG8gbWFrZSB0 + ZWNobm9sb2d5IGNob2ljZXMgdGhhdCByZWR1Y2UgdGhlIGNoYW5jZSBvZiBl + cnJvcnMuIFR5cGVTY3JpcHQgYWxsb3dzQ29udGludWUgcmVhZGluZy4uLjwv + aXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBs + aWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRp + b24+NTc6NDk8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNv + bS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzgzMzwvcG9zdC1pZD4J + CTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkxvdHRpZSBBbmltYXRpb24g + d2l0aCBCcmFuZG9uIFdpdGhyb3cgYW5kIEdhYnJpZWwgUGVhbDwvdGl0bGU+ + DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDgvMTAvbG90dGllLWFuaW1hdGlvbi13aXRoLWJyYW5kb24td2l0 + aHJvdy1hbmQtZ2FicmllbC1wZWFsLzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1 + LCAxMCBBdWcgMjAxNyAwOTowMDoxMCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1 + aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8/cD0zODMyPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8xMC9s + b3R0aWUtYW5pbWF0aW9uLXdpdGgtYnJhbmRvbi13aXRocm93LWFuZC1nYWJy + aWVsLXBlYWwvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDgvMTAvbG90dGllLWFuaW1hdGlvbi13aXRoLWJyYW5kb24td2l0aHJvdy1h + bmQtZ2FicmllbC1wZWFsL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNs + YXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbSmF2YVNjcmlwdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtBaXJibmJdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtCcmFuZG9uIFdpdGhyb3ddXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtjcm9zcy1kZXZpY2UgY29tcGF0aWJpbGl0eV1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dhYnJpZWwgUGVhbF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2ludGVyYWN0aXZl + IGFuaW1hdGlvbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0xvdHRpZSBBbmltYXRpb25dXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlv + bj5BbmltYXRpb25zIG1ha2UgYW4gYXBwbGljYXRpb24gbW9yZSBmdW4gYW5k + IGVuZ2FnaW5nLiBGb3IgbW9zdCBhcHBzLCBhbmltYXRpb24gaXMgYW4gYWZ0 + ZXJ0aG91Z2h0LiBEZXZlbG9wZXJzIGFyZSBjb25jZXJuZWQgd2l0aCBnZXR0 + aW5nIHRoZSBmdW5jdGlvbmFsaXR5IHJpZ2h0LCBhbmQgZGVzaWduZXJzIGhh + dmUgZW5vdWdoIHdvcmsgdG8gZG8gc2ltcGx5IGdldHRpbmcgaWNvbnMsIHRl + eHQgZm9ybWF0dGluZywgYW5kIHBhZ2UgbGF5b3V0IGNvcnJlY3QuIFRoZXJl + IGlzIGFsc28gdGhlIGlzc3VlIG9mIGNyb3NzLWRldmljZSBjb21wYXRpYmls + aXR5LiBpT1MsIEFuZHJvaWQsIGFuZCB3ZWIgaGF2ZSBkaWZmZXJlbnQgd2F5 + cyBvZiBkb2luZyBhbmltYXRpb24sIHdpdGggbm8gdW5pZnlpbmcgc3RhbmRh + cmTigJNleGNlcHQgZ2lmcywgYW5kIGdpZnMgYXJlIG5vdCBpbnRlcmFjdGl2 + ZSwgdGhleSBzaW1wbHkgcGxheSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90 + O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzEwL2xvdHRpZS1h + bmltYXRpb24td2l0aC1icmFuZG9uLXdpdGhyb3ctYW5kLWdhYnJpZWwtcGVh + bC8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7 + L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtD + REFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVu + ZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVu + ZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVk + aXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBn + P2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3 + cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3Jk + ZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgt + aGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vbWVkaWEu + bGljZG4uY29tL21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9wLzMvMDAwLzBi + MS8zMzUvMzNhNDE2OC5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0x + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BbmltYXRpb25zIG1ha2UgYW4gYXBwbGlj + YXRpb24gbW9yZSBmdW4gYW5kIGVuZ2FnaW5nLiBGb3IgbW9zdCBhcHBzLCBh + bmltYXRpb24gaXMgYW4gYWZ0ZXJ0aG91Z2h0LiBEZXZlbG9wZXJzIGFyZSBj + b25jZXJuZWQgd2l0aCBnZXR0aW5nIHRoZSBmdW5jdGlvbmFsaXR5IHJpZ2h0 + LCBhbmQgZGVzaWduZXJzIGhhdmUgZW5vdWdoIHdvcmsgdG8gZG8gc2ltcGx5 + IGdldHRpbmcgaWNvbnMsIHRleHQgZm9ybWF0dGluZywgYW5kIHBhZ2UgbGF5 + b3V0IGNvcnJlY3QuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+VGhlcmUgaXMgYWxzbyB0aGUgaXNzdWUgb2YgY3Jv + c3MtZGV2aWNlIGNvbXBhdGliaWxpdHkuIGlPUywgQW5kcm9pZCwgYW5kIHdl + YiBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIGRvaW5nIGFuaW1hdGlvbiwgd2l0 + aCBubyB1bmlmeWluZyBzdGFuZGFyZCYjODIxMTtleGNlcHQgZ2lmcywgYW5k + IGdpZnMgYXJlIG5vdCBpbnRlcmFjdGl2ZSwgdGhleSBzaW1wbHkgcGxheSBm + cm9tIHN0YXJ0IHRvIGZpbmlzaC48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFpcmJuYuKAmXMgZW1waGFzaXMgb24g + ZGVzaWduIG1ha2VzIGl0IHRoZSByaWdodCBjb21wYW55IHRvIHdvcmsgb24g + dGhlIHByb2JsZW0gb2YgY3Jvc3MtZGV2aWNlLCBpbnRlcmFjdGl2ZSBhbmlt + YXRpb25zLiBCcmFuZG9uIFdpdGhyb3cgYW5kIEdhYnJpZWwgUGVhbCBhcmUg + ZW5naW5lZXJzIHdobyB3b3JrIG9uIExvdHRpZSwgYSBsaWJyYXJ5IGZvciBh + bmltYXRpb25zIGluIGlPUywgQW5kcm9pZCwgd2ViLCBhbmQgUmVhY3QgTmF0 + aXZlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+VGhpcyBlcGlzb2RlIGlzIGFib3V0IGhvdyBhbmQgd2h5IExvdHRp + ZSB3YXMgYnVpbHQsIGFuZCBob3cgTG90dGllIGdldHMgdXNlZCB3aXRoaW4g + QWlyYm5iLjwvc3Bhbj48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xh + c3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwOi8va2luZXNpcy5hd3MiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NzIyIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20va3dsb2dvcy9hd3MvYW1hem9ud2Vic2VydmljZXNfbG9n + by1zdmdfLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9 + MjAwMCUyQzgwMCIgZGF0YS1vcmlnLXNpemU9IjIwMDAsODAwIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkFtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTMw + MCUyQzEyMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0 + PTEwMjQlMkM0MTAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcyMiBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUy + QzEyMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0z + MDAlMkMxMjAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9B + bWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMz + MDcgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25X + ZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0xMDI0JTJDNDEwIDEw + MjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNl + cnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTcyMCUyQzI4OCA3MjB3IiBz + aXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5JbiB0aGUgSW5mb3JtYXRpb24gQWdlLCBkYXRh4oCZcyB0 + aGUgbmV3IG9pbC4gV2hpY2ggaXMgd2h5IEFtYXpvbiBXZWIgU2VydmljZXMg + YnVpbHQgQW1hem9uIEtpbmVzaXPigJRhIHBvd2VyZnVsIG5ldyB3YXkgdG8g + Y29sbGVjdCwgcHJvY2VzcywgYW5kIGFuYWx5emUgc3RyZWFtaW5nIGRhdGHi + gJRzbyB5b3UgY2FuIGdldCB0aW1lbHkgaW5zaWdodHMgYW5kIHJlYWN0IHF1 + aWNrbHkuIFdlYiBzaXRlcywgbW9iaWxlIGFwcHMsIElvVCBzZW5zb3JzLCBh + bmQgdGhlIGxpa2UgY2FuIGdlbmVyYXRlIGEgaHVnZSBhbW91bnQgb2Ygc3Ry + ZWFtaW5nIGRhdGHigJRzb21ldGltZXMgdGVyYWJ5dGVzIGFuIGhvdXLigJR0 + aGF0IGlmIHByb2Nlc3NlZCBjb250aW51YWxseSwgY2FuIGhlbHAgeW91IGxl + YXJuIGFib3V0IHdoYXQgeW91ciBjdXN0b21lcnMsIHByb2R1Y3RzLCBhbmQg + YXBwbGljYXRpb25zIGFyZSBkb2luZyByaWdodCBub3cgYW5kIHRha2UgYWN0 + aW9ucyBpbiByZWFsLXRpbWUuIEFtYXpvbiBLaW5lc2lzIGZyb20gQVdTIGxl + dHMgeW91IGRvIHRoYXQgZWFzaWx5IGZvciBsZXNzLiBXaXRoIEtpbmVzaXMs + IHlvdSBvbmx5IHBheSBmb3IgdGhlIHJlc291cmNlcyB5b3UgdXNlLiBObyBt + aW5pbXVtcywgbm8gdXBmcm9udCBjb21taXRtZW50cy4gTGVhcm4gbW9yZSBh + dCA8YSBocmVmPSJodHRwOi8va2luZXNpcy5hd3MiPmtpbmVzaXMuYXdzPC9h + Pi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYnVnc25hZy5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjAiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL2J1Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5n + P2ZpdD0zMDEwJTJDODY2IiBkYXRhLW9yaWctc2l6ZT0iMzAxMCw4NjYiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + QnVnc25hZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVn + c25hZ19sb2dvLnBuZz9maXQ9MzAwJTJDODYiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5n + P2ZpdD0xMDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3 + MjAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFn + X2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTc2OCUy + QzIyMSA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3Nu + YWdfbG9nby5wbmc/cmVzaXplPTEwMjQlMkMyOTUgMTAyNHcsIGh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9 + NzIwJTJDMjA3IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QnVnc25hZ19sb2dvLnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIobWF4LXdp + ZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkJ1 + Z3NuYWcgaW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJvdWJsZXNob290aW5nIGVy + cm9ycyBieSBtYWtpbmcgaXQgbW9yZSBlbmpveWFibGUgYW5kIGxlc3MgdGlt + ZS1jb25zdW1pbmcuIEZvciBleGFtcGxlLCB3aGVuIGFuIGVycm9yIG9jY3Vy + cywgeW91ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlhIFNsYWNrLCBzZWUg + ZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJyb3IsIGFuZCBpZGVu + dGlmeSB0aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQgdGhlIGNvZGUuIEJ1 + Z3NuYWfigJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBhbmQgb3RoZXIgY29s + bGFib3JhdGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRvIGFzc2lnbiBhbmQg + dHJhY2sgYnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhlZC7CoFRoZXJlIGlz + IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgbGlzdGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYwIGRh + eXMgYXQgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWls + eSI+aHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseTwvYT4uwqBEZXZl + bG9wbWVudCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXBy + b3ZlIHNvZnR3YXJlIHF1YWxpdHkuwqBUbyBnZXQgc3RhcnRlZCwgZ28gdG8g + PGEgaHJlZj0iaHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseS8iPmh0 + dHBzOi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkvPC9hPi4gR2V0IHVwIGFu + ZCBydW5uaW5nIGluIHRocmVlIG1pbnV0ZXMuIEFpcmJuYiwgTHlmdCwgYW5k + IFNob3BpZnkgYWxsIHVzZSBCdWdzbmFnIHRvIG1vbml0b3IgYXBwbGljYXRp + b24gZXJyb3JzLiDCoDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQu + Y29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyODk4IiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Utd2l0aC10 + b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5n + P2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmRl + ZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQt + cHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0 + PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4OTggc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0PSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVz + aXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5G + bGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQgSW5kZWVk + IFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5IHdpdGgg + b3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIgc2lkZSBw + cm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBjbGljaywg + Z2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxpa2UgRmFj + ZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVtcGxveWVy + cyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVrIHdpdGgg + c2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4gRG9u4oCZ + dCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10aW1lIGpv + Yi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3UuIFRoZSBh + dmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95ZXIgY29u + dGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQxMjUsMDAw + LiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKA + kyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdDxhIGhyZWY9 + Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPiBpbmRlZWQuY29tL3NlZGFp + bHk8L2E+LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2Vk + YWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxNzUiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9r + d2xvZ29zL3NuYXBjaS90aG91Z2h0d29ya3NfZ29fYmxhY2tfZWRpdC8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Ro + b3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBk + YXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJUaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9MzAwJTJDMjMwIiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdo + dFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0NjkiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3NSBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19i + bGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIiBhbHQ9IiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19H + b19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIDMwMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNr + X2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNpbXBsaWZ5IGNv + bnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBHb0NELCB0aGUgb24tcHJlbWlzZSwg + b3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG9vbCBieSBUaG91 + Z2h0V29ya3MuIFdpdGggR29DRCwgeW91IGNhbiBlYXNpbHkgbW9kZWwgY29t + cGxleCBkZXBsb3ltZW50IHdvcmtmbG93cyB1c2luZyBwaXBlbGluZXMgYW5k + IHZpc3VhbGl6ZSB0aGVtIGVuZC10by1lbmQgd2l0aCB0aGUgVmFsdWUgU3Ry + ZWFtIE1hcC4gWW91IGdldCBjb21wbGV0ZSB2aXNpYmlsaXR5IGludG8gYW5k + IGNvbnRyb2wgb2YgeW91ciBjb21wYW554oCZcyBkZXBsb3ltZW50cy4gQXQ8 + YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3JnL3Nl + ZGFpbHk8L2E+LCBmaW5kIG91dCBob3cgdG8gYnJpbmcgY29udGludW91cyBk + ZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkgZ29vZGJ5ZSB0byBkZXBsb3lt + ZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVkaWN0YWJs + ZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9z + ZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9yZSBh + Ym91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJpc2Ug + YWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZh + aWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJl + IHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0xvdHRp + ZS5tcDMiIGxlbmd0aD0iNTc5NTg5NDMiIHR5cGU9ImF1ZGlvL21wZWciIC8+ + CgkJPGl0dW5lczpzdWJ0aXRsZT5BbmltYXRpb25zIG1ha2UgYW4gYXBwbGlj + YXRpb24gbW9yZSBmdW4gYW5kIGVuZ2FnaW5nLiBGb3IgbW9zdCBhcHBzLCBh + bmltYXRpb24gaXMgYW4gYWZ0ZXJ0aG91Z2h0LiBEZXZlbG9wZXJzIGFyZSBj + b25jZXJuZWQgd2l0aCBnZXR0aW5nIHRoZSBmdW5jdGlvbmFsaXR5IHJpZ2h0 + LCBhbmQgZGVzaWduZXJzIGhhdmUgZW5vdWdoIHdvcmsgdG8gZG8gc2ltcGx5 + IGdldHRpbmcgaWNvbnMsIHRleHQgZm9ybWF0dGluZyw8L2l0dW5lczpzdWJ0 + aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+QW5pbWF0aW9ucyBtYWtlIGFuIGFw + cGxpY2F0aW9uIG1vcmUgZnVuIGFuZCBlbmdhZ2luZy4gRm9yIG1vc3QgYXBw + cywgYW5pbWF0aW9uIGlzIGFuIGFmdGVydGhvdWdodC4gRGV2ZWxvcGVycyBh + cmUgY29uY2VybmVkIHdpdGggZ2V0dGluZyB0aGUgZnVuY3Rpb25hbGl0eSBy + aWdodCwgYW5kIGRlc2lnbmVycyBoYXZlIGVub3VnaCB3b3JrIHRvIGRvIHNp + bXBseSBnZXR0aW5nIGljb25zLCB0ZXh0IGZvcm1hdHRpbmcsIGFuZCBwYWdl + IGxheW91dCBjb3JyZWN0LiBUaGVyZSBpcyBhbHNvIHRoZSBpc3N1ZSBvZiBj + cm9zcy1kZXZpY2UgY29tcGF0aWJpbGl0eS4gaU9TLCBBbmRyb2lkLCBhbmQg + d2ViIGhhdmUgZGlmZmVyZW50IHdheXMgb2YgZG9pbmcgYW5pbWF0aW9uLCB3 + aXRoIG5vIHVuaWZ5aW5nIHN0YW5kYXJk4oCTZXhjZXB0IGdpZnMsIGFuZCBn + aWZzIGFyZSBub3QgaW50ZXJhY3RpdmUsIHRoZXkgc2ltcGx5IHBsYXlDb250 + aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1 + dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhv + cj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+ + CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAwOjA5PC9pdHVuZXM6ZHVyYXRpb24+ + Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25z + OjEiPjM4MzI8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRs + ZT5TdGF0ZSBvZiBKYXZhU2NyaXB0IHdpdGggU2FjaGEgR3JlaWY8L3RpdGxl + Pg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA4LzA5L3N0YXRlLW9mLWphdmFzY3JpcHQtd2l0aC1zYWNoYS1n + cmVpZi88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMDkgQXVnIDIwMTcgMDk6 + MDA6MzUgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJm + YWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9 + MzgzMTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMDkvc3RhdGUtb2YtamF2YXNjcmlw + dC13aXRoLXNhY2hhLWdyZWlmLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3 + Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA4LzA5L3N0YXRlLW9mLWphdmFzY3JpcHQtd2l0aC1zYWNo + YS1ncmVpZi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21t + ZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0phdmFTY3JpcHRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbRGlzY292ZXIgTWV0ZW9yXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbSmF2YVNjcmlwdCBmYXRpZ3VlXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbU2FjaGEgR3JlaWZdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtTZWFuIFdhbl1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW1N0YXRlIG9mIEphdmFTY3JpcHQgU3VydmV5 + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbVnVsY2FuSlNd + XT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5KYXZhU2NyaXB0IGlzIG1v + dmluZyBzbyBmYXN0LiBJdOKAmXMgbm90IGVhc3kgdG8ga2VlcCB1cCB3aXRo + IGFsbCBvZiB0aGUgZnJhbWV3b3JrcywgYnVpbGQgdG9vbHMsIGFuZCBwYWNr + YWdlcy4gTm8gb3RoZXIgbGFuZ3VhZ2Ugc3BhbnMgZnJvbnRlbmQgdG8gYmFj + a2VuZCwgbW9iaWxlIHRvIHdlYiB0byBzZXJ2ZXIuIFNhY2hhIEdyZWlmIGlz + IGFuIGluZGVwZW5kZW50IGRlc2lnbmVyIGFuZCBkZXZlbG9wZXIgbW9zdCBw + cm9taW5lbnQgaW4gaGlzIHJvbGVzIGFzIGNvLWF1dGhvciBvZiBEaXNjb3Zl + ciBNZXRlb3IgYW5kIGNvbW11bml0eSBidWlsZGVyIGF0IFNpZGViYXIuaW8s + IGEgZGVzaWduIG5ld3NsZXR0ZXIgd2l0aCBvdmVyIDM1LDAwMCBzdWJzY3Jp + YmVycywgYW5kIEhhY2tlciBOZXdzIEthbnNhaS4gSGUgaXMgY3VycmVudGx5 + IGJlc3QmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFk + aW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wOC8wOS9zdGF0ZS1vZi1qYXZhc2NyaXB0LXdp + dGgtc2FjaGEtZ3JlaWYvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4m + bHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1h + bmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3 + NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdo + dCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRp + dXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRo + OiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIu + d3AuY29tL3N0YXRlb2Zqcy5jb20vaW1hZ2VzL2F1dGhvcnMvc2FjaGEuanBn + P3Jlc2l6ZT0xNzUlMkMxNzUiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9w + Pgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkphdmFTY3Jp + cHQgaXMgbW92aW5nIHNvIGZhc3QuIEl04oCZcyBub3QgZWFzeSB0byBrZWVw + IHVwIHdpdGggYWxsIG9mIHRoZSBmcmFtZXdvcmtzLCBidWlsZCB0b29scywg + YW5kIHBhY2thZ2VzLiBObyBvdGhlciBsYW5ndWFnZSBzcGFucyBmcm9udGVu + ZCB0byBiYWNrZW5kLCBtb2JpbGUgdG8gd2ViIHRvIHNlcnZlci48L3NwYW4+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNhY2hh + IEdyZWlmIGlzIGFuIGluZGVwZW5kZW50IGRlc2lnbmVyIGFuZCBkZXZlbG9w + ZXIgbW9zdCBwcm9taW5lbnQgaW4gaGlzIHJvbGVzIGFzIGNvLWF1dGhvciBv + ZiBEaXNjb3ZlciBNZXRlb3IgYW5kIGNvbW11bml0eSBidWlsZGVyIGF0IFNp + ZGViYXIuaW8sIGEgZGVzaWduIG5ld3NsZXR0ZXIgd2l0aCBvdmVyIDM1LDAw + MCBzdWJzY3JpYmVycywgYW5kIEhhY2tlciBOZXdzIEthbnNhaS4gSGUgaXMg + Y3VycmVudGx5IGJlc3Qga25vd24gaW4gdGhlIEphdmFzY3JpcHQgY29tbXVu + aXR5IGFzIHRoZSBtYWludGFpbmVyIG9mIFZ1bGNhbkpTLCBhbmQgZm9yIGhp + cyBhbm51YWwgU3RhdGUgb2YgSmF2YXNjcmlwdCBzdXJ2ZXkgd2hpY2ggaXMg + bm93IG9wZW4gZm9yIDIwMTcuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbiB0aGlzIGVwaXNvZGUsIFNoYXduIFdh + bmcgZ3Vlc3RzIGhvc3RzIGEgZGlzY3Vzc2lvbiBhYm91dCBib3RoIHByb2pl + Y3RzIGFuZCBTYWNoYeKAmXMgdGhvdWdodHMgb24gaW5kZXBlbmRlbnQgd2Vi + IGRlc2lnbiBhbmQgZGV2ZWxvcG1lbnQuPC9zcGFuPjwvcD4KPGgyPlNwb25z + b3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTYvMDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFs + dmFyby12aWRlbGEvaGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0y + NjAlMkMxMzAiIGRhdGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxv + Z28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpw + Zz9maXQ9MjYwJTJDMTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEz + MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIg + c3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28u + anBnP3Jlc2l6ZT0yNjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5 + b3UgYmVlbiB0aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcg + am9iPyBJZiB5b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5k + IGhhdmUgYmVlbiB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtl + IGEgbW92ZSwgZ28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2Vk + YWlseSI+aGlyZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5k + aW5nIHdvcmsgZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWlj + IGpvYi1tYXRjaGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxl + bnQgYWR2b2NhdGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJv + Y2VzcyBvZiBmaW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBo + cmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRh + aWx5PC9hPsKgdG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWdu + aW5nIGJvbnVzIGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0 + IGpvYiB0aGF0IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRo + YXQgeW91IGRlc2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzEyNSIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEv + MTMvY29sdW1uYXItZGF0YS1hcGFjaGUtYXJyb3ctYW5kLXBhcnF1ZXQtd2l0 + aC1qdWxpZW4tbGUtZGVtLWFuZC1qYWNxdWVzLW5hZGVhdS92aXZpZGNvcnRl + eC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL1ZpdmlkQ29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgZGF0YS1vcmln + LXNpemU9IjEwMjIsMjU4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IlZpdmlkQ29ydGV4IiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP2ZpdD0zMDAlMkM3NiIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAx + L1ZpdmlkQ29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0zMTI1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT0z + MDAlMkM3NiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2IDMwMHcs + IGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5n + P3Jlc2l6ZT03NjglMkMxOTQgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTcyMCUyQzE4MiA3MjB3 + LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBu + Zz93PTEwMjIgMTAyMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlZpdmlkQ29ydGV4IGlzIHRo + ZSBiZXN0IHdheSB0byBpbXByb3ZlIHlvdXIgZGF0YWJhc2UgcGVyZm9ybWFu + Y2UsIGVmZmljaWVuY3ksIGFuZCB1cHRpbWUuIEl0JiM4MjE3O3MgYSBjbG91 + ZC1ob3N0ZWQgbW9uaXRvcmluZyBwbGF0Zm9ybSB0aGF0IGVsaW1pbmF0ZXMg + eW91ciBtb3N0IGNyaXRpY2FsIHZpc2liaWxpdHkgZ2FwLCBwcm92aWRpbmcg + aW5zaWdodHMgYXQgMS1zZWNvbmQgZ3JhbnVsYXJpdHkgaW50byBwcm9kdWN0 + aW9uIGRhdGFiYXNlIHdvcmtsb2FkIGFuZCBxdWVyeSBwZXJmb3JtYW5jZS4g + SXQgbWVhc3VyZXMgdGhlIGV4ZWN1dGlvbiBhbmQgcmVzb3VyY2UgY29uc3Vt + cHRpb24gb2YgZXZlcnkgc3RhdGVtZW50IGFuZCB0cmFuc2FjdGlvbiwgc28g + eW91IGNhbiBwcm9hY3RpdmVseSBmaXggZnV0dXJlIGRhdGFiYXNlIGlzc3Vl + cyBiZWZvcmUgdGhleSBpbXBhY3QgY3VzdG9tZXJzLiBUbyBsZWFybiBtb3Jl + LCB2aXNpdDxhIGhyZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWls + eSI+IHZpdmlkY29ydGV4LmNvbS9zZWRhaWx5PC9hPiBhbmQgZmluZCBvdXQg + d2h5IGNvbXBhbmllcyBsaWtlIEdpdGh1YiwgRGlnaXRhbE9jZWFuLCBhbmQg + WWVscCBhbGwgdXNlIFZpdmlkQ29ydGV4IHRvIHNlZSBkZWVwZXIgaW50byB0 + aGVpciBkYXRhYmFzZSBwZXJmb3JtYW5jZS4gTGVhcm4gbW9yZSBhdDxhIGhy + ZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IHZpdmlkY29y + dGV4LmNvbS9zZWRhaWx5PC9hPiwgYW5kIGdldCBzdGFydGVkIHRvZGF5ITwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2J1Z3NuYWcuY29tL3NlZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIwIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9i + dWdzbmFnL2J1Z3NuYWdfbG9nby0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9 + MzAxMCUyQzg2NiIgZGF0YS1vcmlnLXNpemU9IjMwMTAsODY2IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkJ1Z3Nu + YWdfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdf + bG9nby5wbmc/Zml0PTMwMCUyQzg2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9 + MTAyNCUyQzI5NSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIwIHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QnVnc25hZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDODYiIGFsdD0iIiBzcmNz + ZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dv + LnBuZz9yZXNpemU9MzAwJTJDODYgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyMjEg + NzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xv + Z28ucG5nP3Jlc2l6ZT0xMDI0JTJDMjk1IDEwMjR3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTcyMCUy + QzIwNyA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3Nu + YWdfbG9nby5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1heC13aWR0aDog + MzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUgcHJv + Y2VzcyBvZiB0cm91Ymxlc2hvb3RpbmcgYnVncyBjYW4gYmUgdGVkaW91cyBh + bmQgaW5lZmZpY2llbnQgZm9yIGRldmVsb3BlcnMsIGVzcGVjaWFsbHkgYXMg + dGhleSBwdXNoIG1vcmUgYW5kIG1vcmUgY29kZSB0byBwcm9kdWN0aW9uLiBU + aGUgdW5sdWNreSBkZXZlbG9wZXIgYXNzaWduZWQgdG8gYnVnIGR1dHkgbWF5 + IGdldCBib21iYXJkZWQgd2l0aCBlcnJvciBhbGVydHMgYW5kIHNwZW5kIGhv + dXJzIGZpZ3VyaW5nIG91dCB3aGljaCBlcnJvcnMgdG8gYWRkcmVzcyBmaXJz + dC4gVGhleSBtaWdodCBoYXZlIHRvIGRlYWwgd2l0aCBsb2dzIHRvIHBpZWNl + IHRvZ2V0aGVyIHdoYXQgaGFwcGVuZWQsIG9yIGV2ZW4gc3BlbmQgdGltZSBy + ZWFjaGluZyBvdXQgdG8gb3RoZXIgZW5naW5lZXJzIG9uIHRoZWlyIHRlYW0g + Zm9yIGhlbHAuIEJ1Z3NuYWcgaW1wcm92ZXMgdGhlIHRhc2sgb2YgdHJvdWJs + ZXNob290aW5nIGVycm9ycyBieSBtYWtpbmcgaXQgbW9yZSBlbmpveWFibGUg + YW5kIGxlc3MgdGltZS1jb25zdW1pbmcuIEZvciBleGFtcGxlLCB3aGVuIGFu + IGVycm9yIG9jY3VycywgeW91ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlh + IFNsYWNrLCBzZWUgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJy + b3IsIGFuZCBpZGVudGlmeSB0aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQg + dGhlIGNvZGUuIEJ1Z3NuYWfigJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBh + bmQgb3RoZXIgY29sbGFib3JhdGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRv + IGFzc2lnbiBhbmQgdHJhY2sgYnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhl + ZC7CoERldmVsb3BtZW50IHRlYW1zIGNhbiBub3cgaXRlcmF0ZSBmYXN0ZXIg + YW5kIGltcHJvdmUgc29mdHdhcmUgcXVhbGl0eS7CoEdldCB1cCBhbmQgcnVu + bmluZyBpbiB0aHJlZSBtaW51dGVzLiBBaXJibmIsIEx5ZnQsIGFuZCBTaG9w + aWZ5IGFsbCB1c2UgQnVnc25hZyB0byBtb25pdG9yIGFwcGxpY2F0aW9uIGVy + cm9ycy7CoFRyeSBhbGwgZmVhdHVyZXMgZnJlZSBmb3IgNjAgZGF5cyBhdCA8 + YSBocmVmPSJodHRwczovL3d3dy5idWdzbmFnLmNvbS9zZWRhaWx5Ij5odHRw + czovL3d3dy5idWdzbmFnLmNvbS9zZWRhaWx5PC9hPi48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjMxNzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0 + d29ya3NfZ29fYmxhY2tfZWRpdC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19l + ZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2 + OSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJUaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz9maXQ9MzAwJTJDMjMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQu + cG5nP2ZpdD02MTIlMkM0NjkiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzE3NSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9 + MzAwJTJDMjMwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNp + emU9MzAwJTJDMjMwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3c9NjEyIDYxMnci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPlNpbXBsaWZ5IGNvbnRpbnVvdXMgZGVsaXZlcnkgd2l0 + aCBHb0NELCB0aGUgb24tcHJlbWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRpbnVv + dXMgZGVsaXZlcnkgdG9vbCBieSBUaG91Z2h0V29ya3MuIFdpdGggR29DRCwg + eW91IGNhbiBlYXNpbHkgbW9kZWwgY29tcGxleCBkZXBsb3ltZW50IHdvcmtm + bG93cyB1c2luZyBwaXBlbGluZXMgYW5kIHZpc3VhbGl6ZSB0aGVtIGVuZC10 + by1lbmQgd2l0aCB0aGUgVmFsdWUgU3RyZWFtIE1hcC4gWW91IGdldCBjb21w + bGV0ZSB2aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb2YgeW91ciBjb21w + YW554oCZcyBkZXBsb3ltZW50cy4gQXQ8YSBocmVmPSJodHRwOi8vZ29jZC5v + cmcvc2VkYWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8L2E+LCBmaW5kIG91dCBo + b3cgdG8gYnJpbmcgY29udGludW91cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1z + LiBTYXkgZ29vZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmljIGFuZCBoZWxsbyB0 + byBjb25zaXN0ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDxh + IGhyZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2Vk + YWlseTwvYT4gdG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFs + IHN1cHBvcnQgYW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRp + c2FzdGVyIHJlY292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwv + cD4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJo + dHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU3RhdGVvZkphdmFz + Y3JpcHQubXAzIiBsZW5ndGg9IjUzNjI1MjMwIiB0eXBlPSJhdWRpby9tcGVn + IiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+SmF2YVNjcmlwdCBpcyBtb3Zpbmcg + c28gZmFzdC4gSXTigJlzIG5vdCBlYXN5IHRvIGtlZXAgdXAgd2l0aCBhbGwg + b2YgdGhlIGZyYW1ld29ya3MsIGJ1aWxkIHRvb2xzLCBhbmQgcGFja2FnZXMu + IE5vIG90aGVyIGxhbmd1YWdlIHNwYW5zIGZyb250ZW5kIHRvIGJhY2tlbmQs + IG1vYmlsZSB0byB3ZWIgdG8gc2VydmVyLiBTYWNoYSBHcmVpZiBpcyBhbiBp + bmRlcGVuZGVudCBkZXNpZ25lciBhbmQgZGV2ZWxvcGVyIG1vc3QgcHJvbWlu + ZW50IGluIGguLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1h + cnk+SmF2YVNjcmlwdCBpcyBtb3Zpbmcgc28gZmFzdC4gSXTigJlzIG5vdCBl + YXN5IHRvIGtlZXAgdXAgd2l0aCBhbGwgb2YgdGhlIGZyYW1ld29ya3MsIGJ1 + aWxkIHRvb2xzLCBhbmQgcGFja2FnZXMuIE5vIG90aGVyIGxhbmd1YWdlIHNw + YW5zIGZyb250ZW5kIHRvIGJhY2tlbmQsIG1vYmlsZSB0byB3ZWIgdG8gc2Vy + dmVyLiBTYWNoYSBHcmVpZiBpcyBhbiBpbmRlcGVuZGVudCBkZXNpZ25lciBh + bmQgZGV2ZWxvcGVyIG1vc3QgcHJvbWluZW50IGluIGhpcyByb2xlcyBhcyBj + by1hdXRob3Igb2YgRGlzY292ZXIgTWV0ZW9yIGFuZCBjb21tdW5pdHkgYnVp + bGRlciBhdCBTaWRlYmFyLmlvLCBhIGRlc2lnbiBuZXdzbGV0dGVyIHdpdGgg + b3ZlciAzNSwwMDAgc3Vic2NyaWJlcnMsIGFuZCBIYWNrZXIgTmV3cyBLYW5z + YWkuIEhlIGlzIGN1cnJlbnRseSBiZXN0Q29udGludWUgcmVhZGluZy4uLjwv + aXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBs + aWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRp + b24+NTU6Mzg8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNv + bS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzgzMTwvcG9zdC1pZD4J + CTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPklvVCBPdmVydmlldyB3aXRo + IEplcmVteSBGb3N0ZXI8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA4L2lvdC1vdmVydmll + dy13aXRoLWplcmVteS1mb3N0ZXIvPC9saW5rPg0KCQk8cHViRGF0ZT5UdWUs + IDA4IEF1ZyAyMDE3IDA5OjAwOjUzICswMDAwPC9wdWJEYXRlPg0KCQk8Z3Vp + ZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLz9wPTM4MzA8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA4L2lv + dC1vdmVydmlldy13aXRoLWplcmVteS1mb3N0ZXIvI2NvbW1lbnRzPC9jb21t + ZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMDgvaW90LW92ZXJ2aWV3LXdpdGgt + amVyZW15LWZvc3Rlci9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFz + aDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0ludGVybmV0IG9mIFRoaW5nc11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0phcmVkIFBvcmNlbmFsdWtdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtKZXJlbXkgRm9zdGVy + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWljcm9zb2Z0 + IEF6dXJlIElvVF1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlRoZSBJ + bnRlcm5ldCBvZiBUaGluZ3MgaXMgdGhlIGNvbmNlcHQgdGhhdCB0cmFkaXRp + b25hbGx5IGFuYWxvZyBvYmplY3RzLCBsaWtlIHRoZXJtb3N0YXRzIGFuZCBs + aWdodGJ1bGJzLCBjYW4gYmUgZ2l2ZW4gZGlnaXRhbCBndXRzIGFuZCBjb25u + ZWN0ZWQgdG8gdGhlIGludGVybmV0IHRvIGNyZWF0ZSBtb3JlIHZhbHVlIGZv + ciB1c2Vycy4gRnJvbSBOZXN0IHRoZXJtb3N0YXRzIHRvIFBoaWxsaXBzIEh1 + ZSBsaWdodGJ1bGJzLCB0aGVzZSBjb25uZWN0ZWQgdGhpbmdzIGFyZSBzdGFy + dGluZyB0byBlbnRlciB0aGUgbWFpbnN0cmVhbS4gQWNjb3JkaW5nIHRvIHJl + Y2VudCBlc3RpbWF0ZXMgYnkgR2FydG5lciwgb3ZlciBlaWdodCBiaWxsaW9u + IGNvbm5lY3RlZCDigJxUaGluZ3PigJ0gd2lsbCBiZSBpbiB1c2UgaW4gMjAx + Nywgd2l0aCB0aGF0IG51bWJlciBiYWxsb29uaW5nIHRvIG92ZXImbHQ7cCZn + dDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhy + ZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNy8wOC8wOC9pb3Qtb3ZlcnZpZXctd2l0aC1qZXJlbXktZm9zdGVyLyZx + dW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZn + dDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRB + WzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ni8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4t + YnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4t + YnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWlt + YWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjog + MXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWln + aHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS93d3cuY29kZWZv + c3Rlci5jb20vYXZhdGFyLnBuZz9yZXNpemU9MTc1JTJDMTc1IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5UaGUgSW50ZXJuZXQgb2YgVGhpbmdzIGlzIHRoZSBjb25j + ZXB0IHRoYXQgdHJhZGl0aW9uYWxseSBhbmFsb2cgb2JqZWN0cywgbGlrZSB0 + aGVybW9zdGF0cyBhbmQgbGlnaHRidWxicywgY2FuIGJlIGdpdmVuIGRpZ2l0 + YWwgZ3V0cyBhbmQgY29ubmVjdGVkIHRvIHRoZSBpbnRlcm5ldCB0byBjcmVh + dGUgbW9yZSB2YWx1ZSBmb3IgdXNlcnMuIEZyb20gTmVzdCB0aGVybW9zdGF0 + cyB0byBQaGlsbGlwcyBIdWUgbGlnaHRidWxicywgdGhlc2UgY29ubmVjdGVk + IHRoaW5ncyBhcmUgc3RhcnRpbmcgdG8gZW50ZXIgdGhlIG1haW5zdHJlYW0u + IDwvc3Bhbj48YSBocmVmPSJodHRwOi8vd3d3LmdhcnRuZXIuY29tL25ld3Ny + b29tL2lkLzM1OTg5MTciPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+QWNjb3JkaW5nIHRvIHJlY2VudCBlc3RpbWF0ZXMgYnkgR2FydG5lcjwv + c3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIG92 + ZXIgZWlnaHQgYmlsbGlvbiBjb25uZWN0ZWQg4oCcVGhpbmdz4oCdIHdpbGwg + YmUgaW4gdXNlIGluIDIwMTcsIHdpdGggdGhhdCBudW1iZXIgYmFsbG9vbmlu + ZyB0byBvdmVyIHR3ZW50eSBiaWxsaW9uIGJ5IDIwMjAuPC9zcGFuPjwvcD4K + PHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5KZXJlbXkgRm9z + dGVyIGlzIGEgVGVjaG5pY2FsIEV2YW5nZWxpc3QgYXQgTWljcm9zb2Z0IGFu + ZCB0aGUgaG9zdCBvZiBNaWNyb3NvZnQgVmlydHVhbCBBY2FkZW154oCZcyDi + gJxJbnRyb2R1Y3Rpb24gdG8gQXp1cmUgSW9U4oCdIGNvdXJzZS4gSW4gdGhp + cyBlcGlzb2RlLCBob3N0IEphcmVkIFBvcmNlbmFsdWsgam9pbnMgSmVyZW15 + IHRvIGRpc2N1c3MgZGV2ZWxvcGluZyBmb3IgdGhlIEludGVybmV0IG9mIFRo + aW5ncy48L3NwYW4+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNz + PSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vY29yZW9zIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzcxNyIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvY29y + ZW9zL2NvcmVvcy13b3JkbWFyay1ob3Jpei1jb2xvci8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0NvcmVvcy13b3Jk + bWFyay1ob3Jpei1jb2xvci5wbmc/Zml0PTc5MiUyQzMwNiIgZGF0YS1vcmln + LXNpemU9Ijc5MiwzMDYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9y + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJr + LWhvcml6LWNvbG9yLnBuZz9maXQ9MzAwJTJDMTE2IiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRt + YXJrLWhvcml6LWNvbG9yLnBuZz9maXQ9NzkyJTJDMzA2IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM3MTcgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXot + Y29sb3IucG5nP3Jlc2l6ZT0zMDAlMkMxMTYiIGFsdD0iIiBzcmNzZXQ9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhv + cml6LWNvbG9yLnBuZz9yZXNpemU9MzAwJTJDMTE2IDMwMHcsIGh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNv + bG9yLnBuZz9yZXNpemU9NzY4JTJDMjk3IDc2OHcsIGh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBu + Zz9yZXNpemU9NzIwJTJDMjc4IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz93PTc5 + MiA3OTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5Zb3VyIGVudGVycHJpc2Ugd2FudHMgdG8g + YWRvcHQgY29udGFpbmVycywgYnV0IHlvdSBhcmVu4oCZdCBzdXJlIGhvdy4g + Q29yZU9TIHdpbGwgaGVscCB5b3UgYWxvbmcgeW91ciBqb3VybmV5IHRvIGEg + Y29udGFpbmVyaXplZCBhcmNoaXRlY3R1cmUuIENvcmVPUyBhcmUgdGhlIGNv + bnRhaW5lciBleHBlcnRzIHRydXN0ZWQgYnkgU2FsZXNmb3JjZSwgZWJheSwg + VGlja2V0bWFzdGVyLCBhbmQgb3RoZXIgd29ybGQtY2xhc3Mgb3JnYW5pemF0 + aW9ucy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vY29yZW9zIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL2NvcmVvczwvYT4gdG8gZmluZCBvdXIgdG9wIDUgZXBpc29kZXMgYWJv + dXQgY29udGFpbmVycyBhbmQgS3ViZXJuZXRlcywgYXMgd2VsbCBhcyBhIHdo + aXRlIHBhcGVyIGFib3V0IG1pZ3JhdGluZyBhbiBlbnRlcnByaXNlIHRvIEt1 + YmVybmV0ZXMgd2l0aCBDb3JlT1MuIFRoZXkmIzgyMTc7dmUgaG9zdGVkLCBh + dHRlbmRlZCwgYW5kIHNwb2tlbiBhdCBtYW55IHNob3dzIGFib3V0IGNvbnRh + aW5lcnMgYW5kIEt1YmVybmV0ZXMgYmVjYXVzZSB0aG9zZSB0ZWNobm9sb2dp + ZXMgYXJlIHRoZSBmdXR1cmUgb2YgdGhlIHdlYi4gVGhhdOKAmXMgd2h5IENv + cmVPUyBidWlsdCBUZWN0b25pYywgYW4gZW50ZXJwcmlzZS1yZWFkeSBLdWJl + cm5ldGVzIHBsYXRmb3JtLiBBdCA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3MiPnNvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vY29yZW9zPC9hPiwgeW91IGNhbiBsZWFybiBhYm91dCBo + b3cgY29udGFpbmVycyBjYW4gbWFrZSB5b3VyIG9yZ2FuaXphdGlvbiBydW4g + bW9yZSBlZmZpY2llbnRseS48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZyI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjMyMzYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2RhdGFkb2cv + ZGF0YWRvZ19sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzUx + MiIgZGF0YS1vcmlnLXNpemU9IjEwMjQsNTEyIiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRhdGFkb2dfbG9nbyIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + Zml0PTMwMCUyQzE1MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTEwMjQlMkM1 + MTIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzIzNiBzaXplLW1lZGl1 + bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCIgYWx0PSIiIHNyY3NldD0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jl + c2l6ZT0zMDAlMkMxNTAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMzODQgNzY4dywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5n + P3c9MTAyNCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9k + YXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMzNjAgNzIwdyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+RGF0YWRvZyBicmluZ3MgeW91IHZpc2liaWxpdHkgaW50byBldmVy + eSBwYXJ0IG9mIHlvdXIgaW5mcmFzdHJ1Y3R1cmUsIHBsdXMgQVBNIGZvciBt + b25pdG9yaW5nIHlvdXIgYXBwbGljYXRpb24mIzgyMTc7cyBwZXJmb3JtYW5j + ZS4gRGFzaGJvYXJkaW5nLCBjb2xsYWJvcmF0aW9uIHRvb2xzLCBhbmQgYWxl + cnRzIGxldCB5b3UgZGV2ZWxvcCB5b3VyIG93biB3b3JrZmxvdyBmb3Igb2Jz + ZXJ2YWJpbGl0eSBhbmQgaW5jaWRlbnQgcmVzcG9uc2UuIERhdGFkb2cgaW50 + ZWdyYXRlcyBzZWFtbGVzc2x5IHdpdGggYWxsIG9mIHlvdXIgYXBwcyBhbmQg + c3lzdGVtcywgZnJvbSBTbGFjayB0byBBbWF6b24gV2ViIFNlcnZpY2VzLCBz + byB5b3UgY2FuIGdldCB2aXNpYmlsaXR5IGluIG1pbnV0ZXMuIEdvIHRvwqA8 + YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9k + YXRhZG9nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5l + ciBub3JlZmVycmVyIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuPHdicj48 + L3dicj5jb20vZGF0YWRvZzwvYT7CoHRvIGdldCBzdGFydGVkIHdpdGggRGF0 + YWRvZyBhbmQgZ2V0IGEgZnJlZSB0LXNoaXJ0LiA8L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vaGVyb2t1LmNvbS9mbG93Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMjkxMSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvaGVyb2t1LWthZmthL2hlcm9r + dS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9n + b3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9maXQ9MTQ0MCUyQzYw + OCIgZGF0YS1vcmlnLXNpemU9IjE0NDAsNjA4IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9Imhlcm9rdS1sb2dvdHlw + ZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0x + LnBuZz9maXQ9MzAwJTJDMTI3IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250 + YWwtcHVycGxlLTEtMS5wbmc/Zml0PTEwMjQlMkM0MzIiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMjkxMSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9u + dGFsLXB1cnBsZS0xLTEucG5nP3Jlc2l6ZT0zMDAlMkMxMjciIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxv + Z290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/cmVzaXplPTMwMCUy + QzEyNyAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9r + dS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP3Jlc2l6ZT03 + NjglMkMzMjQgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9o + ZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9yZXNp + emU9MTAyNCUyQzQzMiAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBu + Zz9yZXNpemU9NzIwJTJDMzA0IDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEt + MS5wbmc/dz0xNDQwIDE0NDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgp + IDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9k + aXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5EZXZlbG9wZXJzIGxv + dmUgSGVyb2t1LiBJdOKAmXMgdGhlIGZhc3Rlc3Qgd2F5IHRvIGRlcGxveSBh + biBhcHBsaWNhdGlvbiBvbiBzY2FsYWJsZSBpbmZyYXN0cnVjdHVyZS4gSSBr + bm93IHRoaXMgZnJvbSBleHBlcmllbmNlLCBhcyBJIGhhdmUgYnVpbHQgbW9y + ZSBzb2Z0d2FyZSBwcm9kdWN0cyBvbiBIZXJva3UgdGhhbiBJIGNhbiByZW1l + bWJlci4gV2hlbiBhIHByb2plY3QgSSBhbSBidWlsZGluZyB3aXRoIEhlcm9r + dSBzdGFydHMgdG8gZ2V0IG1vcmUgc2VyaW91cywgSSB1c2UgSGVyb2t1IEZs + b3cuIEhlcm9rdSBGbG93IGlzIGEgZnVsbCBjb250aW51b3VzIGRlbGl2ZXJ5 + IHNvbHV0aW9uIGZvciBIZXJva3UuIFdpdGggSGVyb2t1IEZsb3csIGEgcHVz + aCB0byBHaXRIdWIgc3BpbnMgdXAgYW4gaW5zdGFuY2Ugb2YgbXkgYXBwbGlj + YXRpb24mIzgyMTE7Y2FsbGVkIGEgJiM4MjIwO3JldmlldyBhcHAuJiM4MjIx + OyBJIGNhbiB0ZXN0IHRoZSByZXZpZXcgYXBwIGFuZCBkaXNjdXNzIGl0IHdp + dGggbXkgdGVhbSYjODIxMTthbmQgaWYgaXQgd29ya3MsIEkgY2FuIGFwcHJv + dmUgdGhlIGNoYW5nZXMgYW5kIHB1c2ggaXQgdG8gbWFzdGVyLCB3aGVyZSB0 + aGUgbmV3IHZlcnNpb24gb2YgbXkgYXBwIHdpbGwgcnVuIGFnYWluc3QgY29u + dGludW91cyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIGJlZm9yZSBiZWluZyBwcm9t + b3RlZCB0byBwcm9kdWN0aW9uLiBIZXJva3UgRmxvdyBicmluZ3MgdGhlIEhl + cm9rdSBkZXZlbG9wZXIgZXhwZXJpZW5jZSB0b2dldGhlciB3aXRoIGNvbnRp + bnVvdXMgZGVsaXZlcnkuIENoZWNrIGl0IG91dCBub3cgYXQgPGEgaHJlZj0i + aHR0cDovL2hlcm9rdS5jb20vZmxvdyI+SGVyb2t1LmNvbS9mbG93PC9hPi4g + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+Cjxw + PjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2luZGVlZC5jb20vc2VkYWlseSI+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI4OTgiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzEw + LzE4L3NpbXBzb25zLWRhdGEtc2NpZW5jZS13aXRoLXRvZGQtc2NobmVpZGVy + L2luZGVlZC1wcmltZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2 + IiBkYXRhLW9yaWctc2l6ZT0iNDYzLDk2IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImluZGVlZC1wcmltZSIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0 + PTMwMCUyQzYyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjg5OCBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/cmVzaXplPTMwMCUyQzYyIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9yZXNpemU9MzAwJTJDNjIg + MzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJp + bWUucG5nP3c9NDYzIDQ2M3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkZsaXAgdGhlIHRyYWRp + dGlvbmFsIGpvYiBzZWFyY2ggYW5kIGxldCBJbmRlZWQgUHJpbWUgd29yayBm + b3IgeW91IHdoaWxlIHlvdeKAmXJlIGJ1c3kgd2l0aCBvdGhlciBlbmdpbmVl + cmluZyB3b3JrLCBvciBjb2RpbmcgeW91ciBzaWRlIHByb2plY3QuIFVwbG9h + ZCB5b3VyIHJlc3VtZSBhbmQgaW4gb25lIGNsaWNrLCBnYWluIGltbWVkaWF0 + ZSBleHBvc3VyZSB0byBjb21wYW5pZXMgbGlrZSBGYWNlYm9vaywgVWJlciwg + YW5kIERyb3Bib3guIEludGVyZXN0ZWQgZW1wbG95ZXJzIHdpbGwgcmVhY2gg + b3V0IHRvIHlvdSB3aXRoaW4gb25lIHdlZWsgd2l0aCBzYWxhcnksIHBvc2l0 + aW9uLCBhbmQgZXF1aXR5IHVwIGZyb250LiBEb27igJl0IGxldCBhcHBseWlu + ZyBmb3Igam9icyBiZWNvbWUgYSBmdWxsLXRpbWUgam9iLiBXaXRoIEluZGVl + ZCBQcmltZSwgam9icyBjb21lIHRvIHlvdS4gVGhlIGF2ZXJhZ2Ugc29mdHdh + cmUgZGV2ZWxvcGVyIGdldHMgNSBlbXBsb3llciBjb250YWN0cyBhbmQgYW4g + YXZlcmFnZSBzYWxhcnkgb2ZmZXIgb2YgJDEyNSwwMDAuIEluZGVlZCBQcmlt + ZSBpcyAxMDAlIGZyZWUgZm9yIGNhbmRpZGF0ZXMg4oCTIG5vIHN0cmluZ3Mg + YXR0YWNoZWQuIFNpZ24gdXAgbm93IGF0IGluZGVlZC5jb20vc2VkYWlseS4g + VGhhbmtzIHRvIEluZGVlZCBQcmltZSBmb3IgYmVpbmcgYSBzcG9uc29yIG9m + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LjwvZGl2PjwvcD4KPHA+PC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRlbnQ6 + ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxp + YnN5bi5jb20vc2VkYWlseS9Jb1RKZXJlbXlGb3N0ZXIubXAzIiBsZW5ndGg9 + IjU4ODk0Mjc2IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+VGhlIEludGVybmV0IG9mIFRoaW5ncyBpcyB0aGUgY29uY2VwdCB0 + aGF0IHRyYWRpdGlvbmFsbHkgYW5hbG9nIG9iamVjdHMsIGxpa2UgdGhlcm1v + c3RhdHMgYW5kIGxpZ2h0YnVsYnMsIGNhbiBiZSBnaXZlbiBkaWdpdGFsIGd1 + dHMgYW5kIGNvbm5lY3RlZCB0byB0aGUgaW50ZXJuZXQgdG8gY3JlYXRlIG1v + cmUgdmFsdWUgZm9yIHVzZXJzLiBGcm9tIE5lc3QgdGhlcm1vc3RhdHMgdG8g + UGhpbGxpcHMgSHVlIGxpZ2h0YnVsYnMsPC9pdHVuZXM6c3VidGl0bGU+CgkJ + PGl0dW5lczpzdW1tYXJ5PlRoZSBJbnRlcm5ldCBvZiBUaGluZ3MgaXMgdGhl + IGNvbmNlcHQgdGhhdCB0cmFkaXRpb25hbGx5IGFuYWxvZyBvYmplY3RzLCBs + aWtlIHRoZXJtb3N0YXRzIGFuZCBsaWdodGJ1bGJzLCBjYW4gYmUgZ2l2ZW4g + ZGlnaXRhbCBndXRzIGFuZCBjb25uZWN0ZWQgdG8gdGhlIGludGVybmV0IHRv + IGNyZWF0ZSBtb3JlIHZhbHVlIGZvciB1c2Vycy4gRnJvbSBOZXN0IHRoZXJt + b3N0YXRzIHRvIFBoaWxsaXBzIEh1ZSBsaWdodGJ1bGJzLCB0aGVzZSBjb25u + ZWN0ZWQgdGhpbmdzIGFyZSBzdGFydGluZyB0byBlbnRlciB0aGUgbWFpbnN0 + cmVhbS4gQWNjb3JkaW5nIHRvIHJlY2VudCBlc3RpbWF0ZXMgYnkgR2FydG5l + ciwgb3ZlciBlaWdodCBiaWxsaW9uIGNvbm5lY3RlZCDigJxUaGluZ3PigJ0g + d2lsbCBiZSBpbiB1c2UgaW4gMjAxNywgd2l0aCB0aGF0IG51bWJlciBiYWxs + b29uaW5nIHRvIG92ZXJDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3Vt + bWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFu + PC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAxOjA4 + PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHBy + ZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM4MzA8L3Bvc3QtaWQ+CQk8L2l0ZW0+ + DQoJPGl0ZW0+DQoJCTx0aXRsZT5TZXJ2ZXJsZXNzIENvbnRpbnVvdXMgRGVs + aXZlcnkgd2l0aCBSb2JpbiBXZXN0b248L3RpdGxlPg0KCQk8bGluaz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA3L3Nl + cnZlcmxlc3MtY29udGludW91cy1kZWxpdmVyeS13aXRoLXJvYmluLXdlc3Rv + bi88L2xpbms+DQoJCTxwdWJEYXRlPk1vbiwgMDcgQXVnIDIwMTcgMDk6MDA6 + MzUgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxz + ZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzgy + OTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDgvMDcvc2VydmVybGVzcy1jb250aW51b3Vz + LWRlbGl2ZXJ5LXdpdGgtcm9iaW4td2VzdG9uLyNjb21tZW50czwvY29tbWVu + dHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA3L3NlcnZlcmxlc3MtY29udGludW91 + cy1kZWxpdmVyeS13aXRoLXJvYmluLXdlc3Rvbi9mZWVkLzwvd2Z3OmNvbW1l + bnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4N + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5nXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FXUyBMYW1iZGFdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjbG91ZCBlbmdpbmVl + cmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1JvYmlu + IFdlc3Rvbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3Nl + cnZlcmxlc3MgY29udGludW91cyBkZWxpdmVyeV1dPjwvY2F0ZWdvcnk+CgkJ + PGRlc2NyaXB0aW9uPlNlcnZlcmxlc3MgY29tcHV0aW5nIHJlZHVjZXMgdGhl + IGNvc3Qgb2YgdXNpbmcgdGhlIGNsb3VkLiBTZXJ2ZXJsZXNzIGFsc28gbWFr + ZXMgaXQgZWFzeSB0byBzY2FsZSBhcHBsaWNhdGlvbnMuIFRoZSBkb3duc2lk + ZTogYnVpbGRpbmcgc2VydmVybGVzcyBhcHBzIHJlcXVpcmVzIHNvbWUgbWlu + ZHNldCBzaGlmdC4gU2VydmVybGVzcyBmdW5jdGlvbnMgYXJlIGRlcGxveWVk + IHRvIHRyYW5zaWVudCB1bml0cyBvZiBjb21wdXRhdGlvbiB0aGF0IGFyZSBz + cHVuIHVwIG9uIGRlbWFuZC4gVGhpcyBpcyBpbiBjb250cmFzdCB0byB0aGUg + dHlwaWNhbCBtb2RlbCBvZiBhcHBsaWNhdGlvbiBkZWxpdmVyeeKAk3RoZSBk + ZXBsb3ltZW50IG9mIGFuIGFwcGxpY2F0aW9uIHRvIGEgc2VydmVyIG9yIGEg + Y29udGFpbmVyIHRoYXQgc3RheXMgcnVubmluZyB1bnRpbCB5b3Ugc2h1dCBp + dCBkb3duLiZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA3L3NlcnZlcmxlc3MtY29udGludW91 + cy1kZWxpdmVyeS13aXRoLXJvYmluLXdlc3Rvbi8mcXVvdDsmZ3Q7Q29udGlu + dWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlv + bj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xl + cy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4t + YnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNs + YXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHls + ZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAw + MDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNy + Yz0iaHR0cHM6Ly9pMS53cC5jb20vc2VjdXJlLm1lZXR1cHN0YXRpYy5jb20v + cGhvdG9zL2V2ZW50LzUvMi8zL2IvNjAwXzQ2MDcwMTA1MS5qcGVnP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2Vy + dmVybGVzcyBjb21wdXRpbmcgcmVkdWNlcyB0aGUgY29zdCBvZiB1c2luZyB0 + aGUgY2xvdWQuIFNlcnZlcmxlc3MgYWxzbyBtYWtlcyBpdCBlYXN5IHRvIHNj + YWxlIGFwcGxpY2F0aW9ucy4gVGhlIGRvd25zaWRlOiBidWlsZGluZyBzZXJ2 + ZXJsZXNzIGFwcHMgcmVxdWlyZXMgc29tZSBtaW5kc2V0IHNoaWZ0LiBTZXJ2 + ZXJsZXNzIGZ1bmN0aW9ucyBhcmUgZGVwbG95ZWQgdG8gdHJhbnNpZW50IHVu + aXRzIG9mIGNvbXB1dGF0aW9uIHRoYXQgYXJlIHNwdW4gdXAgb24gZGVtYW5k + LiBUaGlzIGlzIGluIGNvbnRyYXN0IHRvIHRoZSB0eXBpY2FsIG1vZGVsIG9m + IGFwcGxpY2F0aW9uIGRlbGl2ZXJ5JiM4MjExO3RoZSBkZXBsb3ltZW50IG9m + IGFuIGFwcGxpY2F0aW9uIHRvIGEgc2VydmVyIG9yIGEgY29udGFpbmVyIHRo + YXQgc3RheXMgcnVubmluZyB1bnRpbCB5b3Ugc2h1dCBpdCBkb3duLjwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Um9i + aW4gV2VzdG9uIGRldmVsb3BzIGxhcmdlIHByb2plY3RzIHdpdGggQVdTIExh + bWJkYSwgYW5kIGhlIGpvaW5lZCBtZSBmb3IgYSBkaXNjdXNzaW9uIG9mIGhv + dyB0byBidWlsZCBhcHBsaWNhdGlvbnMgZm9yIHNlcnZlcmxlc3MgZW52aXJv + bm1lbnRzIGFuZCBob3cgdG8gZG8gY29udGludW91cyBkZWxpdmVyeSB3aXRo + IHNlcnZlcmxlc3MgZnVuY3Rpb25zLiBPbmUgYmlnIGFwcGVhbCBmb3IgY29u + dGludW91cyBkZWxpdmVyeSBmYW5zIGlzIHRoYXQgc2VydmVybGVzcyBkZXBs + b3ltZW50cyBhcmUgb2Z0ZW4gc21hbGxlciYjODIxMTt0aGUgdXNlciBpcyBk + ZXBsb3lpbmcgc29tZXRoaW5nIGFzIHNtYWxsIGFzIGEgZnVuY3Rpb24uPC9z + cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5G + dWxsIGRpc2Nsb3N1cmU6IFRob3VnaHRXb3JrcyBHb0NEIGlzIGEgc3BvbnNv + ciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseS48L3NwYW4+PC9wPgo8 + cD4mbmJzcDs8L3A+CjxoMj5TaG93IE5vdGVzPC9oMj4KPHA+PGEgaHJlZj0i + aHR0cHM6Ly93d3cuZ29jZC5vcmcvMjAxNy8wNi8yNi9zZXJ2ZXJsZXNzLWFy + Y2hpdGVjdHVyZS1jb250aW51b3VzLWRlbGl2ZXJ5LyI+U2VydmVybGVzcyBB + cmNoaXRlY3R1cmVzIGFuZCBDb250aW51b3VzIERlbGl2ZXJ5IGJ5IFJvYmlu + IFdlc3RvbjwvYT48L3A+CjxwPjxhIGhyZWY9Imh0dHBzOi8vdmltZW8uY29t + L2NoYW5uZWxzL3BpcGVsaW5lY29uZi8yMDk2ODY0ODQiPlJvYmluIFdlc3Rv + biBhdCBQaXBlbGluZSBDb25mPC9hPjwvcD4KPHA+Jm5ic3A7PC9wPgo8aDI+ + U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2tpbmVzaXMuYXdzIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvYXdz + L2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3ZnXy8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZp + Y2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAlMkM4MDAiIGRhdGEtb3JpZy1z + aXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18i + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMxMjAiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDEwIiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAiIGFsdD0iIiBzcmNzZXQ9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNf + TG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5z + dmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2OHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBu + Zz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jl + c2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SW4gdGhlIEluZm9y + bWF0aW9uIEFnZSwgZGF0YeKAmXMgdGhlIG5ldyBvaWwuIFdoaWNoIGlzIHdo + eSBBbWF6b24gV2ViIFNlcnZpY2VzIGJ1aWx0IEFtYXpvbiBLaW5lc2lz4oCU + YSBwb3dlcmZ1bCBuZXcgd2F5IHRvIGNvbGxlY3QsIHByb2Nlc3MsIGFuZCBh + bmFseXplIHN0cmVhbWluZyBkYXRh4oCUc28geW91IGNhbiBnZXQgdGltZWx5 + IGluc2lnaHRzIGFuZCByZWFjdCBxdWlja2x5LiBXZWIgc2l0ZXMsIG1vYmls + ZSBhcHBzLCBJb1Qgc2Vuc29ycywgYW5kIHRoZSBsaWtlIGNhbiBnZW5lcmF0 + ZSBhIGh1Z2UgYW1vdW50IG9mIHN0cmVhbWluZyBkYXRh4oCUc29tZXRpbWVz + IHRlcmFieXRlcyBhbiBob3Vy4oCUdGhhdCBpZiBwcm9jZXNzZWQgY29udGlu + dWFsbHksIGNhbiBoZWxwIHlvdSBsZWFybiBhYm91dCB3aGF0IHlvdXIgY3Vz + dG9tZXJzLCBwcm9kdWN0cywgYW5kIGFwcGxpY2F0aW9ucyBhcmUgZG9pbmcg + cmlnaHQgbm93IGFuZCB0YWtlIGFjdGlvbnMgaW4gcmVhbC10aW1lLiBBbWF6 + b24gS2luZXNpcyBmcm9tIEFXUyBsZXRzIHlvdSBkbyB0aGF0IGVhc2lseSBm + b3IgbGVzcy4gV2l0aCBLaW5lc2lzLCB5b3Ugb25seSBwYXkgZm9yIHRoZSBy + ZXNvdXJjZXMgeW91IHVzZS4gTm8gbWluaW11bXMsIG5vIHVwZnJvbnQgY29t + bWl0bWVudHMuIExlYXJuIG1vcmUgYXQgPGEgaHJlZj0iaHR0cDovL2tpbmVz + aXMuYXdzIj5raW5lc2lzLmF3czwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL2J1Z3NuYWcuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzNzIwIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9idWdzbmFnL2J1Z3NuYWdfbG9n + by0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MzAxMCUyQzg2NiIgZGF0YS1v + cmlnLXNpemU9IjMwMTAsODY2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkJ1Z3NuYWdfbG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/Zml0PTMwMCUy + Qzg2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzI5NSIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIwIHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9y + ZXNpemU9MzAwJTJDODYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJD + ODYgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFn + X2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyMjEgNzY4dywgaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0xMDI0 + JTJDMjk1IDEwMjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1 + Z3NuYWdfbG9nby5wbmc/cmVzaXplPTcyMCUyQzIwNyA3MjB3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/dz0yMTAw + IDIxMDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5CdWdzbmFnIGltcHJvdmVzIHRoZSB0YXNr + IG9mIHRyb3VibGVzaG9vdGluZyBlcnJvcnMgYnkgbWFraW5nIGl0IG1vcmUg + ZW5qb3lhYmxlIGFuZCBsZXNzIHRpbWUtY29uc3VtaW5nPHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij4uIEZvciBleGFtcGxlLCB3aGVuIGFuIGVy + cm9yIG9jY3VycywgeW91ciB0ZWFtIGNhbiBnZXQgbm90aWZpZWQgdmlhIFNs + YWNrLCBzZWUgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBvbiB0aGUgZXJyb3Is + IGFuZCBpZGVudGlmeSB0aGUgZGV2ZWxvcGVyIHdobyBjb21taXR0ZWQgdGhl + IGNvZGUuIEJ1Z3NuYWfigJlzIGludGVncmF0aW9uIHdpdGggSmlyYSBhbmQg + b3RoZXIgY29sbGFib3JhdGlvbiB0b29scyBtYWtlcyBpdCBlYXN5IHRvIGFz + c2lnbiBhbmQgdHJhY2sgYnVncyBhcyB0aGV5IGFyZSBiZWluZyBmaXhlZC7C + oDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoZXJl + IGlzIGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbGlzdGVuZXJzLiBUcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9yIDYw + IGRheXMgYXQgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJ1Z3NuYWcu + Y29tL3NlZGFpbHkiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + aHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseTwvc3Bhbj48L2E+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4uwqA8L3NwYW4+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5EZXZlbG9wbWVudCB0ZWFtcyBj + YW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXByb3ZlIHNvZnR3YXJlIHF1 + YWxpdHkuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5UbyBnZXQgc3RhcnRlZCwgZ28gdG8gPC9zcGFuPjxhIGhyZWY9Imh0dHBz + Oi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFpbHkvIj48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPmh0dHBzOi8vd3d3LmJ1Z3NuYWcuY29tL3NlZGFp + bHkvPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + Pi4gR2V0IHVwIGFuZCBydW5uaW5nIGluIHRocmVlIG1pbnV0ZXMuIDwvc3Bh + bj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFpcmJuYiwgTHlm + dCwgYW5kIFNob3BpZnkgYWxsIHVzZSBCdWdzbmFnIHRvIG1vbml0b3IgYXBw + bGljYXRpb24gZXJyb3JzLiDCoDwvc3Bhbj48L2Rpdj48L3A+CjxwPjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3MiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzE3IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9j + b3Jlb3MvY29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdv + cmRtYXJrLWhvcml6LWNvbG9yLnBuZz9maXQ9NzkyJTJDMzA2IiBkYXRhLW9y + aWctc2l6ZT0iNzkyLDMwNiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRh + dGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVk + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9 + IiBkYXRhLWltYWdlLXRpdGxlPSJDb3Jlb3Mtd29yZG1hcmstaG9yaXotY29s + b3IiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1h + cmstaG9yaXotY29sb3IucG5nP2ZpdD0zMDAlMkMxMTYiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29y + ZG1hcmstaG9yaXotY29sb3IucG5nP2ZpdD03OTIlMkMzMDYiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzcxNyBzaXplLW1lZGl1bSIgc3JjPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0NvcmVvcy13b3JkbWFyay1ob3Jp + ei1jb2xvci5wbmc/cmVzaXplPTMwMCUyQzExNiIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmst + aG9yaXotY29sb3IucG5nP3Jlc2l6ZT0zMDAlMkMxMTYgMzAwdywgaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXot + Y29sb3IucG5nP3Jlc2l6ZT03NjglMkMyOTcgNzY4dywgaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXotY29sb3Iu + cG5nP3Jlc2l6ZT03MjAlMkMyNzggNzIwdywgaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXotY29sb3IucG5nP3c9 + NzkyIDc5MnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPllvdXIgZW50ZXJwcmlzZSB3YW50cyB0 + byBhZG9wdCBjb250YWluZXJzLCBidXQgeW91IGFyZW7igJl0IHN1cmUgaG93 + LiBDb3JlT1Mgd2lsbCBoZWxwIHlvdSBhbG9uZyB5b3VyIGpvdXJuZXkgdG8g + YSBjb250YWluZXJpemVkIGFyY2hpdGVjdHVyZS4gQ29yZU9TIGFyZSB0aGUg + Y29udGFpbmVyIGV4cGVydHMgdHJ1c3RlZCBieSBTYWxlc2ZvcmNlLCBlYmF5 + LCBUaWNrZXRtYXN0ZXIsIGFuZCBvdGhlciB3b3JsZC1jbGFzcyBvcmdhbml6 + YXRpb25zLiBHbyB0byA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9jb3Jlb3MiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vY29yZW9zPC9hPiB0byBmaW5kIG91ciB0b3AgNSBlcGlzb2RlcyBh + Ym91dCBjb250YWluZXJzIGFuZCBLdWJlcm5ldGVzLCBhcyB3ZWxsIGFzIGEg + d2hpdGUgcGFwZXIgYWJvdXQgbWlncmF0aW5nIGFuIGVudGVycHJpc2UgdG8g + S3ViZXJuZXRlcyB3aXRoIENvcmVPUy4gVGhleSYjODIxNzt2ZSBob3N0ZWQs + IGF0dGVuZGVkLCBhbmQgc3Bva2VuIGF0IG1hbnkgc2hvd3MgYWJvdXQgY29u + dGFpbmVycyBhbmQgS3ViZXJuZXRlcyBiZWNhdXNlIHRob3NlIHRlY2hub2xv + Z2llcyBhcmUgdGhlIGZ1dHVyZSBvZiB0aGUgd2ViLiBUaGF04oCZcyB3aHkg + Q29yZU9TIGJ1aWx0IFRlY3RvbmljLCBhbiBlbnRlcnByaXNlLXJlYWR5IEt1 + YmVybmV0ZXMgcGxhdGZvcm0uIEF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2NvcmVvcyI+c29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9jb3Jlb3M8L2E+LCB5b3UgY2FuIGxlYXJuIGFib3V0 + IGhvdyBjb250YWluZXJzIGNhbiBtYWtlIHlvdXIgb3JnYW5pemF0aW9uIHJ1 + biBtb3JlIGVmZmljaWVudGx5LjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9p + bmRlZWQuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + ODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8xMC8xOC9zaW1wc29ucy1kYXRhLXNjaWVuY2Ut + d2l0aC10b2RkLXNjaG5laWRlci9pbmRlZWQtcHJpbWUvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJp + bWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0YS1vcmlnLXNpemU9IjQ2Myw5NiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9p + bmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAlMkM2MiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTI4 + OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiIgc3Jjc2V0 + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/cmVzaXplPTMwMCUyQzYyIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz93PTQ2MyA0NjN3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5GbGlwIHRoZSB0cmFkaXRpb25hbCBqb2Igc2VhcmNoIGFuZCBsZXQg + SW5kZWVkIFByaW1lIHdvcmsgZm9yIHlvdSB3aGlsZSB5b3XigJlyZSBidXN5 + IHdpdGggb3RoZXIgZW5naW5lZXJpbmcgd29yaywgb3IgY29kaW5nIHlvdXIg + c2lkZSBwcm9qZWN0LiBVcGxvYWQgeW91ciByZXN1bWUgYW5kIGluIG9uZSBj + bGljaywgZ2FpbiBpbW1lZGlhdGUgZXhwb3N1cmUgdG8gY29tcGFuaWVzIGxp + a2UgRmFjZWJvb2ssIFViZXIsIGFuZCBEcm9wYm94LiBJbnRlcmVzdGVkIGVt + cGxveWVycyB3aWxsIHJlYWNoIG91dCB0byB5b3Ugd2l0aGluIG9uZSB3ZWVr + IHdpdGggc2FsYXJ5LCBwb3NpdGlvbiwgYW5kIGVxdWl0eSB1cCBmcm9udC4g + RG9u4oCZdCBsZXQgYXBwbHlpbmcgZm9yIGpvYnMgYmVjb21lIGEgZnVsbC10 + aW1lIGpvYi4gV2l0aCBJbmRlZWQgUHJpbWUsIGpvYnMgY29tZSB0byB5b3Uu + IFRoZSBhdmVyYWdlIHNvZnR3YXJlIGRldmVsb3BlciBnZXRzIDUgZW1wbG95 + ZXIgY29udGFjdHMgYW5kIGFuIGF2ZXJhZ2Ugc2FsYXJ5IG9mZmVyIG9mICQx + MjUsMDAwLiBJbmRlZWQgUHJpbWUgaXMgMTAwJSBmcmVlIGZvciBjYW5kaWRh + dGVzIOKAkyBubyBzdHJpbmdzIGF0dGFjaGVkLiBTaWduIHVwIG5vdyBhdCBp + bmRlZWQuY29tL3NlZGFpbHkuIFRoYW5rcyB0byBJbmRlZWQgUHJpbWUgZm9y + IGJlaW5nIGEgc3BvbnNvciBvZiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eS48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJ + PGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2Vk + YWlseS9TZXJ2ZXJsZXNzQ0QubXAzIiBsZW5ndGg9IjU5ODg4OTg5IiB0eXBl + PSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+U2VydmVybGVz + cyBjb21wdXRpbmcgcmVkdWNlcyB0aGUgY29zdCBvZiB1c2luZyB0aGUgY2xv + dWQuIFNlcnZlcmxlc3MgYWxzbyBtYWtlcyBpdCBlYXN5IHRvIHNjYWxlIGFw + cGxpY2F0aW9ucy4gVGhlIGRvd25zaWRlOiBidWlsZGluZyBzZXJ2ZXJsZXNz + IGFwcHMgcmVxdWlyZXMgc29tZSBtaW5kc2V0IHNoaWZ0LiBTZXJ2ZXJsZXNz + IGZ1bmN0aW9ucyBhcmUgZGVwbG95ZWQgdG8gdHJhbnNpZW50IHVuaXRzIG9m + IGNvbXB1dGF0aW9uIHRoYXQgLi4uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0 + dW5lczpzdW1tYXJ5PlNlcnZlcmxlc3MgY29tcHV0aW5nIHJlZHVjZXMgdGhl + IGNvc3Qgb2YgdXNpbmcgdGhlIGNsb3VkLiBTZXJ2ZXJsZXNzIGFsc28gbWFr + ZXMgaXQgZWFzeSB0byBzY2FsZSBhcHBsaWNhdGlvbnMuIFRoZSBkb3duc2lk + ZTogYnVpbGRpbmcgc2VydmVybGVzcyBhcHBzIHJlcXVpcmVzIHNvbWUgbWlu + ZHNldCBzaGlmdC4gU2VydmVybGVzcyBmdW5jdGlvbnMgYXJlIGRlcGxveWVk + IHRvIHRyYW5zaWVudCB1bml0cyBvZiBjb21wdXRhdGlvbiB0aGF0IGFyZSBz + cHVuIHVwIG9uIGRlbWFuZC4gVGhpcyBpcyBpbiBjb250cmFzdCB0byB0aGUg + dHlwaWNhbCBtb2RlbCBvZiBhcHBsaWNhdGlvbiBkZWxpdmVyeeKAk3RoZSBk + ZXBsb3ltZW50IG9mIGFuIGFwcGxpY2F0aW9uIHRvIGEgc2VydmVyIG9yIGEg + Y29udGFpbmVyIHRoYXQgc3RheXMgcnVubmluZyB1bnRpbCB5b3Ugc2h1dCBp + dCBkb3duLkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6MDI6MTA8L2l0dW5l + czpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVl + ZC1hZGRpdGlvbnM6MSI+MzgyOTwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRl + bT4NCgkJPHRpdGxlPlNlcnZlcmxlc3MgU3RhcnR1cCB3aXRoIFlhbiBDdWk8 + L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA4LzA0L3NlcnZlcmxlc3Mtc3RhcnR1cC13aXRoLXlh + bi1jdWkvPC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDA0IEF1ZyAyMDE3IDA5 + OjAwOjAzICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9w + PTM4Mjg8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzA0L3NlcnZlcmxlc3Mtc3RhcnR1 + cC13aXRoLXlhbi1jdWkvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpj + b21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDgvMDQvc2VydmVybGVzcy1zdGFydHVwLXdpdGgteWFuLWN1aS9m + ZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz41PC9z + bGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlz + b2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3Vk + IEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbR3JlYXRlc3QgSGl0c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtjbG91ZCBlbmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0luZnJhc3RydWN0dXJlXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbdHJhZmZpYyBzcGlrZV1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1lhbiBDdWldXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtZdWJsXV0+PC9jYXRlZ29yeT4KCQk8ZGVz + Y3JpcHRpb24+QWZ0ZXIgcmFpc2luZyAkMTggbWlsbGlvbiwgc29jaWFsIG5l + dHdvcmtpbmcgc3RhcnR1cCBZdWJsIG1hZGUgYSBzZXJpZXMgb2YgY29zdGx5 + IG1pc3Rha2VzLiBZdWJsIGhpcmVkIGFuIGFybXkgb2YgZXhwZW5zaXZlIGNv + bnRyYWN0b3JzIHRvIGJ1aWxkIG91dCBpdHMgaU9TIGFuZCBBbmRyb2lkIGFw + cHMuIERyYW1hIGF0IHRoZSBleGVjdXRpdmUgbGV2ZWwgaHVydCBtb3JhbGUg + Zm9yIHRoZSBmdWxsLXRpbWUgZW1wbG95ZWVzLiBNb3N0IHByb2JsZW1hdGlj + LCB0aGUgY29tcGFueSB3YXMgYmxlZWRpbmcgY2FzaCBkdWUgdG8gYSBtYXNz + aXZlIG92ZXItaW52ZXN0bWVudCBpbiBjbG91ZCBzZXJ2aWNlcy4gVGhpcyB3 + YXMgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFlhbiBDdWkgam9pbmVkIFl1 + YmwuIFRoZSBzdGFydHVwIGRpZCBoYXZlIHRyYWN0aW9uLiZsdDtwJmd0OyZs + dDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0m + cXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA4LzA0L3NlcnZlcmxlc3Mtc3RhcnR1cC13aXRoLXlhbi1jdWkvJnF1b3Q7 + Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0Ozwv + ZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0 + LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJu + cy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJu + cyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMu + anBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2Ut + MjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHgg + c29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDog + MTc1cHg7IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3Bicy50d2ltZy5jb20v + cHJvZmlsZV9pbWFnZXMvMTU5ODYzMjE2NC9tdWdzaG90LTIucG5nP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QWZ0 + ZXIgcmFpc2luZyAkMTggbWlsbGlvbiwgc29jaWFsIG5ldHdvcmtpbmcgc3Rh + cnR1cCBZdWJsIG1hZGUgYSBzZXJpZXMgb2YgY29zdGx5IG1pc3Rha2VzLiBZ + dWJsIGhpcmVkIGFuIGFybXkgb2YgZXhwZW5zaXZlIGNvbnRyYWN0b3JzIHRv + IGJ1aWxkIG91dCBpdHMgaU9TIGFuZCBBbmRyb2lkIGFwcHMuIERyYW1hIGF0 + IHRoZSBleGVjdXRpdmUgbGV2ZWwgaHVydCBtb3JhbGUgZm9yIHRoZSBmdWxs + LXRpbWUgZW1wbG95ZWVzLiBNb3N0IHByb2JsZW1hdGljLCB0aGUgY29tcGFu + eSB3YXMgYmxlZWRpbmcgY2FzaCBkdWUgdG8gYSBtYXNzaXZlIG92ZXItaW52 + ZXN0bWVudCBpbiBjbG91ZCBzZXJ2aWNlcy48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoaXMgd2FzIHRoZSBlbnZp + cm9ubWVudCBpbiB3aGljaCBZYW4gQ3VpIGpvaW5lZCBZdWJsLiBUaGUgc3Rh + cnR1cCBkaWQgaGF2ZSB0cmFjdGlvbi4gVGhlcmUgd2VyZSBzb2NpYWwgbWVk + aWEgc3RhcnMgd2hvIHdvdWxkIGFubm91bmNlIG9uIFR3aXR0ZXIgdGhhdCB0 + aGV5IHdlcmUgYWJvdXQgdG8gZ28gb24gWXVibCwgYW5kIFl1Ymwgd291bGQg + YmUgaGl0IGJ5IGFuIGF2YWxhbmNoZSBvZiB0cmFmZmljLiA1MCwwMDAgdXNl + cnMgc3VkZGVubHkgbG9nZ2luZyBvbiB0byBpbnRlcmFjdCB3aXRoIHRoZWly + IGZhdm9yaXRlIGNlbGVicml0eSB3YXMgYSBzaWduaWZpY2FudCB0cmFmZmlj + IHNwaWtlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+SG93IGRvIHlvdSBkZWFsIHdpdGggYSB0cmFmZmljIHBhdHRl + cm4gbGlrZSB0aGF0PyBTZXJ2ZXJsZXNzIGNvbXB1dGluZy4gQVdTIExhbWJk + YSBhbGxvd2VkIHRoZSBjb21wYW55IHRvIHNjYWxlIHVwIHF1aWNrbHkgaW4g + YSBjb3N0IGVmZmljaWVudCBtYW5uZXIuIFlhbiBiZWdhbiByZWZhY3Rvcmlu + ZyB0aGUgZW50aXJlIGJhY2tlbmQgaW5mcmFzdHJ1Y3R1cmUgdG8gYmUgbW9y + ZSBjb3N0IGVmZmljaWVudCwgaGVhdmlseSBsZXZlcmFnaW5nIEFXUyBMYW1i + ZGEuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5VbmZvcnR1bmF0ZWx5LCBZYW7igJlzIHZhbGlhbnQgZWZmb3J0IHdh + cyBub3QgZW5vdWdoIHRvIHNhdmUgdGhlIGNvbXBhbnkuIEJ1dCB0aGVyZSBh + cmUgc29tZSBpbmNyZWRpYmxlIGVuZ2luZWVyaW5nIGxlc3NvbnMgZnJvbSB0 + aGlzIGVwaXNvZGUmIzgyMTE7aG93IHRvIGJ1aWxkIGNvc3QtZWZmZWN0aXZl + LCBzY2FsYWJsZSBpbmZyYXN0cnVjdHVyZS4gSXTigJlzIGFsc28gYSBjYXNl + IHN0dWR5IHdvcnRoIGxvb2tpbmcgYXQgaWYgeW91IHdvcmsgYXQgYSBzdGFy + dHVwLCB3aGV0aGVyIG9yIG5vdCB5b3UgYXJlIGFuIGVuZ2luZWVyLjwvc3Bh + bj48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92 + aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczov + L3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9z + ZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBv + ZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBU + aGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRo + IFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + OC9TRUQzODgtU2VydmVybGVzcy1CdXJuaW5nTW9uay5wZGYiPmNsaWNrIGhl + cmUgdG8gdmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+ + CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8va2luZXNpcy5hd3Mi + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIyIiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9hd3MvYW1hem9ud2Vic2VydmljZXNfbG9nby1zdmdfLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MjAwMCUyQzgwMCIgZGF0YS1v + cmlnLXNpemU9IjIwMDAsODAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkFtYXpvbldlYnNlcnZpY2VzX0xvZ28u + c3ZnXyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNl + cnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTMwMCUyQzEyMCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldl + YnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTEwMjQlMkM0MTAiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcyMiBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2Vz + X0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEyMCIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAgMzAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19M + b2dvLnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMzMDcgNzY4dywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2 + Z18ucG5nP3Jlc2l6ZT0xMDI0JTJDNDEwIDEwMjR3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5w + bmc/cmVzaXplPTcyMCUyQzI4OCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDog + MzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JbiB0aGUg + SW5mb3JtYXRpb24gQWdlLCBkYXRh4oCZcyB0aGUgbmV3IG9pbC4gV2hpY2gg + aXMgd2h5IEFtYXpvbiBXZWIgU2VydmljZXMgYnVpbHQgQW1hem9uIEtpbmVz + aXPigJRhIHBvd2VyZnVsIG5ldyB3YXkgdG8gY29sbGVjdCwgcHJvY2Vzcywg + YW5kIGFuYWx5emUgc3RyZWFtaW5nIGRhdGHigJRzbyB5b3UgY2FuIGdldCB0 + aW1lbHkgaW5zaWdodHMgYW5kIHJlYWN0IHF1aWNrbHkuIFdlYiBzaXRlcywg + bW9iaWxlIGFwcHMsIElvVCBzZW5zb3JzLCBhbmQgdGhlIGxpa2UgY2FuIGdl + bmVyYXRlIGEgaHVnZSBhbW91bnQgb2Ygc3RyZWFtaW5nIGRhdGHigJRzb21l + dGltZXMgdGVyYWJ5dGVzIGFuIGhvdXLigJR0aGF0IGlmIHByb2Nlc3NlZCBj + b250aW51YWxseSwgY2FuIGhlbHAgeW91IGxlYXJuIGFib3V0IHdoYXQgeW91 + ciBjdXN0b21lcnMsIHByb2R1Y3RzLCBhbmQgYXBwbGljYXRpb25zIGFyZSBk + b2luZyByaWdodCBub3cgYW5kIHRha2UgYWN0aW9ucyBpbiByZWFsLXRpbWUu + IEFtYXpvbiBLaW5lc2lzIGZyb20gQVdTIGxldHMgeW91IGRvIHRoYXQgZWFz + aWx5IGZvciBsZXNzLiBXaXRoIEtpbmVzaXMsIHlvdSBvbmx5IHBheSBmb3Ig + dGhlIHJlc291cmNlcyB5b3UgdXNlLiBObyBtaW5pbXVtcywgbm8gdXBmcm9u + dCBjb21taXRtZW50cy4gTGVhcm4gbW9yZSBhdCA8YSBocmVmPSJodHRwOi8v + a2luZXNpcy5hd3MiPmtpbmVzaXMuYXdzPC9hPi48L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRv + ZyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMyMzYiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL2RhdGFkb2cvZGF0YWRvZ19sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9m + aXQ9MTAyNCUyQzUxMiIgZGF0YS1vcmlnLXNpemU9IjEwMjQsNTEyIiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRh + dGFkb2dfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFk + b2dfbG9nby5wbmc/Zml0PTMwMCUyQzE1MCIgZGF0YS1sYXJnZS1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + Zml0PTEwMjQlMkM1MTIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzIz + NiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9n + X2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAgMzAwdywgaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03Njgl + MkMzODQgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRh + ZG9nX2xvZ28ucG5nP3c9MTAyNCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMzNjAg + NzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+RGF0YWRvZyBicmluZ3MgeW91IHZpc2liaWxp + dHkgaW50byBldmVyeSBwYXJ0IG9mIHlvdXIgaW5mcmFzdHJ1Y3R1cmUsIHBs + dXMgQVBNIGZvciBtb25pdG9yaW5nIHlvdXIgYXBwbGljYXRpb24mIzgyMTc7 + cyBwZXJmb3JtYW5jZS4gRGFzaGJvYXJkaW5nLCBjb2xsYWJvcmF0aW9uIHRv + b2xzLCBhbmQgYWxlcnRzIGxldCB5b3UgZGV2ZWxvcCB5b3VyIG93biB3b3Jr + ZmxvdyBmb3Igb2JzZXJ2YWJpbGl0eSBhbmQgaW5jaWRlbnQgcmVzcG9uc2Uu + IERhdGFkb2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5IHdpdGggYWxsIG9mIHlv + dXIgYXBwcyBhbmQgc3lzdGVtcywgZnJvbSBTbGFjayB0byBBbWF6b24gV2Vi + IFNlcnZpY2VzLCBzbyB5b3UgY2FuIGdldCB2aXNpYmlsaXR5IGluIG1pbnV0 + ZXMuIEdvIHRvwqA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9kYXRhZG9nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2Zv + bGxvdyBub29wZW5lciBub3JlZmVycmVyIj5zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuPHdicj48L3dicj5jb20vZGF0YWRvZzwvYT7CoHRvIGdldCBzdGFy + dGVkIHdpdGggRGF0YWRvZyBhbmQgZ2V0IGEgZnJlZSB0LXNoaXJ0LiA8L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vaW5kZWVkLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjg5OCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMTAvMTgv + c2ltcHNvbnMtZGF0YS1zY2llbmNlLXdpdGgtdG9kZC1zY2huZWlkZXIvaW5k + ZWVkLXByaW1lLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9NDYzJTJDOTYiIGRh + dGEtb3JpZy1zaXplPSI0NjMsOTYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5kZWVkLXByaW1lIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9maXQ9MzAw + JTJDNjIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0yODk4IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBuZz9y + ZXNpemU9MzAwJTJDNjIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jlc2l6ZT0zMDAlMkM2MiAzMDB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2luZGVlZC1wcmltZS5w + bmc/dz00NjMgNDYzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RmxpcCB0aGUgdHJhZGl0aW9u + YWwgam9iIHNlYXJjaCBhbmQgbGV0IEluZGVlZCBQcmltZSB3b3JrIGZvciB5 + b3Ugd2hpbGUgeW914oCZcmUgYnVzeSB3aXRoIG90aGVyIGVuZ2luZWVyaW5n + IHdvcmssIG9yIGNvZGluZyB5b3VyIHNpZGUgcHJvamVjdC4gVXBsb2FkIHlv + dXIgcmVzdW1lIGFuZCBpbiBvbmUgY2xpY2ssIGdhaW4gaW1tZWRpYXRlIGV4 + cG9zdXJlIHRvIGNvbXBhbmllcyBsaWtlIEZhY2Vib29rLCBVYmVyLCBhbmQg + RHJvcGJveC4gSW50ZXJlc3RlZCBlbXBsb3llcnMgd2lsbCByZWFjaCBvdXQg + dG8geW91IHdpdGhpbiBvbmUgd2VlayB3aXRoIHNhbGFyeSwgcG9zaXRpb24s + IGFuZCBlcXVpdHkgdXAgZnJvbnQuIERvbuKAmXQgbGV0IGFwcGx5aW5nIGZv + ciBqb2JzIGJlY29tZSBhIGZ1bGwtdGltZSBqb2IuIFdpdGggSW5kZWVkIFBy + aW1lLCBqb2JzIGNvbWUgdG8geW91LiBUaGUgYXZlcmFnZSBzb2Z0d2FyZSBk + ZXZlbG9wZXIgZ2V0cyA1IGVtcGxveWVyIGNvbnRhY3RzIGFuZCBhbiBhdmVy + YWdlIHNhbGFyeSBvZmZlciBvZiAkMTI1LDAwMC4gSW5kZWVkIFByaW1lIGlz + IDEwMCUgZnJlZSBmb3IgY2FuZGlkYXRlcyDigJMgbm8gc3RyaW5ncyBhdHRh + Y2hlZC4gU2lnbiB1cCBub3cgYXQ8YSBocmVmPSJodHRwOi8vaW5kZWVkLmNv + bS9zZWRhaWx5Ij4gaW5kZWVkLmNvbS9zZWRhaWx5PC9hPi4gPC9kaXY+PC9w + Pgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zbmFwY2kvdGhv + dWdodHdvcmtzX2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1vcmlnLXNpemU9IjYx + Miw0NjkiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRp + dC5wbmc/Zml0PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19l + ZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTMxNzUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVz + aXplPTMwMCUyQzIzMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/ + cmVzaXplPTMwMCUyQzIzMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz93PTYxMiA2 + MTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5TaW1wbGlmeSBjb250aW51b3VzIGRlbGl2ZXJ5 + IHdpdGggR29DRCwgdGhlIG9uLXByZW1pc2UsIG9wZW4gc291cmNlLCBjb250 + aW51b3VzIGRlbGl2ZXJ5IHRvb2wgYnkgVGhvdWdodFdvcmtzLiBXaXRoIEdv + Q0QsIHlvdSBjYW4gZWFzaWx5IG1vZGVsIGNvbXBsZXggZGVwbG95bWVudCB3 + b3JrZmxvd3MgdXNpbmcgcGlwZWxpbmVzIGFuZCB2aXN1YWxpemUgdGhlbSBl + bmQtdG8tZW5kIHdpdGggdGhlIFZhbHVlIFN0cmVhbSBNYXAuIFlvdSBnZXQg + Y29tcGxldGUgdmlzaWJpbGl0eSBpbnRvIGFuZCBjb250cm9sIG9mIHlvdXIg + Y29tcGFueeKAmXMgZGVwbG95bWVudHMuIEF0PGEgaHJlZj0iaHR0cDovL2dv + Y2Qub3JnL3NlZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9hPiwgZmluZCBv + dXQgaG93IHRvIGJyaW5nIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG8geW91ciB0 + ZWFtcy4gU2F5IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5pYyBhbmQgaGVs + bG8gdG8gY29uc2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZlcmllcy4gVmlz + aXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3Jn + L3NlZGFpbHk8L2E+IHRvIGxlYXJuIG1vcmUgYWJvdXQgR29DRC4gQ29tbWVy + Y2lhbCBzdXBwb3J0IGFuZCBlbnRlcnByaXNlIGFkZC1vbnMsIGluY2x1ZGlu + ZyBkaXNhc3RlciByZWNvdmVyeSwgYXJlIGF2YWlsYWJsZS48L2Rpdj48YnIg + Lz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2Nv + bnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFm + ZmljLmxpYnN5bi5jb20vc2VkYWlseS9TZXJ2ZXJsZXNzQnVybmluZ01vbmsu + bXAzIiBsZW5ndGg9IjU1ODMyNjY0IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJ + CTxpdHVuZXM6c3VidGl0bGU+QWZ0ZXIgcmFpc2luZyAkMTggbWlsbGlvbiwg + c29jaWFsIG5ldHdvcmtpbmcgc3RhcnR1cCBZdWJsIG1hZGUgYSBzZXJpZXMg + b2YgY29zdGx5IG1pc3Rha2VzLiBZdWJsIGhpcmVkIGFuIGFybXkgb2YgZXhw + ZW5zaXZlIGNvbnRyYWN0b3JzIHRvIGJ1aWxkIG91dCBpdHMgaU9TIGFuZCBB + bmRyb2lkIGFwcHMuIERyYW1hIGF0IHRoZSBleGVjdXRpdmUgbGV2ZWwgaHVy + dCBtb3JhbGUgZm9yIHRoZSBmdWxsLXRpbWUgZW1wbG95ZWVzLjwvaXR1bmVz + OnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5BZnRlciByYWlzaW5nICQx + OCBtaWxsaW9uLCBzb2NpYWwgbmV0d29ya2luZyBzdGFydHVwIFl1YmwgbWFk + ZSBhIHNlcmllcyBvZiBjb3N0bHkgbWlzdGFrZXMuIFl1YmwgaGlyZWQgYW4g + YXJteSBvZiBleHBlbnNpdmUgY29udHJhY3RvcnMgdG8gYnVpbGQgb3V0IGl0 + cyBpT1MgYW5kIEFuZHJvaWQgYXBwcy4gRHJhbWEgYXQgdGhlIGV4ZWN1dGl2 + ZSBsZXZlbCBodXJ0IG1vcmFsZSBmb3IgdGhlIGZ1bGwtdGltZSBlbXBsb3ll + ZXMuIE1vc3QgcHJvYmxlbWF0aWMsIHRoZSBjb21wYW55IHdhcyBibGVlZGlu + ZyBjYXNoIGR1ZSB0byBhIG1hc3NpdmUgb3Zlci1pbnZlc3RtZW50IGluIGNs + b3VkIHNlcnZpY2VzLiBUaGlzIHdhcyB0aGUgZW52aXJvbm1lbnQgaW4gd2hp + Y2ggWWFuIEN1aSBqb2luZWQgWXVibC4gVGhlIHN0YXJ0dXAgZGlkIGhhdmUg + dHJhY3Rpb24uQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+ + CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8 + L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1 + bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTc6NTY8L2l0dW5l + czpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVl + ZC1hZGRpdGlvbnM6MSI+MzgyODwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRl + bT4NCgkJPHRpdGxlPlF1YW50dW0gQ29tcHV0aW5nIHdpdGggVmlqYXkgUGFu + ZGU8L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA4LzAzL3F1YW50dW0tY29tcHV0aW5nLXdpdGgt + dmlqYXktcGFuZGUvPC9saW5rPg0KCQk8cHViRGF0ZT5UaHUsIDAzIEF1ZyAy + MDE3IDA5OjAwOjI1ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1h + TGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLz9wPTM4Mjc8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzAzL3F1YW50dW0tY29t + cHV0aW5nLXdpdGgtdmlqYXktcGFuZGUvI2NvbW1lbnRzPC9jb21tZW50cz4N + CgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDgvMDMvcXVhbnR1bS1jb21wdXRpbmctd2l0aC12 + aWpheS1wYW5kZS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpj + b21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0J1c2luZXNzIGFuZCBQaGlsb3NvcGh5XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbR3JlYXRlc3QgSGl0c11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtBbmRyZWVzc2VuIEhvcm93aXR6XV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbcXVhbnR1bSBjb21w + dXRpbmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtSaWdl + dHRpIENvbXB1dGluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1ZpamF5IFBhbmRlXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+ + UXVhbnR1bSBjb21wdXRpbmcgaXMgYmFzZWQgb24gdGhlIHN5c3RlbSBvZiBx + dWFudHVtIG1lY2hhbmljcy4gSW4gcXVhbnR1bSBjb21wdXRpbmcsIHdlIHBl + cmZvcm0gb3BlcmF0aW9ucyBvdmVyIHF1Yml0cyBpbnN0ZWFkIG9mIGJpdHMu + IEEgcXViaXQgaXMgYSB2ZWN0b3IsIHdoaWNoIGNhbiB0YWtlIG9uIG1hbnkg + bW9yZSB2YWx1ZXMgdGhhbiAwIG9yIDEuIFRoZSB0ZWNobm9sb2d5IHVzZWQg + dG8gaW1wbGVtZW50IHF1YW50dW0gY29tcHV0ZXJzIGlzIGFkdmFuY2luZyBz + dWNoIHRoYXQgaXQgaGFzIGl0cyBvd24gTW9vcmXigJlzIExhdywgYnV0IGl0 + IGNhbiBhbHNvIGxldmVyYWdlIHRoZSBjbGFzc2ljYWwgYWR2YW5jZW1lbnRz + IG9mIE1vb3Jl4oCZcyBMYXcuIElmIGNsYXNzaWNhbCBjb21wdXRpbmcgYWR2 + YW5jZXMgYXQmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1y + ZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wOC8wMy9xdWFudHVtLWNvbXB1dGluZy13 + aXRoLXZpamF5LXBhbmRlLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4u + Jmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1t + YW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIx + NzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmln + aHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFk + aXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0 + aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kw + LndwLmNvbS9jb2RlZm9yaW5kaWEub3JnL2NmaS1oZ3Mvc2l0ZXMvZGVmYXVs + dC9maWxlcy9Eci1WaWpheS1QYW5kZS1Db2RlLUZvci1JbmRpYS1BZHZpc29y + LnBuZz9yZXNpemU9MTc1JTJDMTc1IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5RdWFu + dHVtIGNvbXB1dGluZyBpcyBiYXNlZCBvbiB0aGUgc3lzdGVtIG9mIHF1YW50 + dW0gbWVjaGFuaWNzLiBJbiBxdWFudHVtIGNvbXB1dGluZywgd2UgcGVyZm9y + bSBvcGVyYXRpb25zIG92ZXIgcXViaXRzIGluc3RlYWQgb2YgYml0cy4gQSBx + dWJpdCBpcyBhIHZlY3Rvciwgd2hpY2ggY2FuIHRha2Ugb24gbWFueSBtb3Jl + IHZhbHVlcyB0aGFuIDAgb3IgMS4gVGhlIHRlY2hub2xvZ3kgdXNlZCB0byBp + bXBsZW1lbnQgcXVhbnR1bSBjb21wdXRlcnMgaXMgYWR2YW5jaW5nIHN1Y2gg + dGhhdCBpdCBoYXMgaXRzIG93biBNb29yZeKAmXMgTGF3LCBidXQgaXQgY2Fu + IGFsc28gbGV2ZXJhZ2UgdGhlIGNsYXNzaWNhbCBhZHZhbmNlbWVudHMgb2Yg + TW9vcmXigJlzIExhdy4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5JZiBjbGFzc2ljYWwgY29tcHV0aW5nIGFkdmFu + Y2VzIGF0IHRoZSBleHBvbmVudGlhbCBwYWNlIG9mIDJebiwgcXVhbnR1bSBj + b21wdXRpbmcgYWR2YW5jZXMgYXQgdGhlIHBhY2Ugb2YgMl4yXm4uPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5RdWFu + dHVtIGNvbXB1dGluZyB3aWxsIGFkdmFuY2UgdGVjaG5vbG9neSBpbiB3YXlz + IHRoYXQgd2lsbCB0YWtlIHVzIGJ5IHN1cnByaXNlLiBJZiB0aGluZ3MgZmVl + bCBsaWtlIHRoZXkgYXJlIG1vdmluZyBmYXN0IG5vdywganVzdCB3YWl0IHVu + dGlsIGRldmVsb3BlcnMgaGF2ZSBhY2Nlc3MgdG8gcXVhbnR1bSBwcm9jZXNz + aW5nIHVuaXRzLiBNYWNoaW5lIGxlYXJuaW5nLCBzaW11bGF0ZWQgY2hlbWlj + YWwgc3ludGhlc2lzLCBhbmQgTlAtY29tcGxldGUgcHJvYmxlbXMgYXJlIHJp + cGUgZm9yIHF1YW50dW0gY29tcHV0ZXJzLjwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+VmlqYXkgUGFuZGUgaXMgYSBw + YXJ0bmVyIGF0IEFuZHJlZXNzZW4gSG9yb3dpdHogYW5kIGEgYm9hcmQgbWVt + YmVyIGF0IFJpZ2V0dGkgQ29tcHV0aW5nLCBhIHF1YW50dW0gY29tcHV0ZXIg + Y29tcGFueS4gSW4gdGhpcyBlcGlzb2RlLCB3ZSBleHBsb3JlZCB3aGF0IHNv + ZnR3YXJlIGVuZ2luZWVycyB0b2RheSBuZWVkIHRvIGtub3cgYWJvdXQgcXVh + bnR1bSBjb21wdXRlcnMgYW5kIHNvbWUgb2YgdGhlIGFwcGxpY2F0aW9uIGRv + bWFpbnMgdGhhdCBkZXZlbG9wZXJzIHdpbGwgYmUgd29ya2luZyBvbiBhcyBx + dWFudHVtIGNvbXB1dGVycyBiZWNvbWUgYXZhaWxhYmxlLjwvc3Bhbj48L3A+ + CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBi + eSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRp + dHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+ + wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRp + byBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3Mg + dG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERh + aWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9TRUQz + ODctVmlqYXktUGFuZGUtUXVhbnR1bS5wZGYiPmNsaWNrIGhlcmUgdG8gdmll + d8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9u + c29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGVyb2t1LmNvbS9mbG93Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjkxMSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvaGVy + b2t1LWthZmthL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0x + LTEvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBu + Zz9maXQ9MTQ0MCUyQzYwOCIgZGF0YS1vcmlnLXNpemU9IjE0NDAsNjA4IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + Imhlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEiIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpv + bnRhbC1wdXJwbGUtMS0xLnBuZz9maXQ9MzAwJTJDMTI3IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxv + Z290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/Zml0PTEwMjQlMkM0 + MzIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjkxMSBzaXplLW1lZGl1 + bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1s + b2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP3Jlc2l6ZT0zMDAl + MkMxMjciIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5w + bmc/cmVzaXplPTMwMCUyQzEyNyAzMDB3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0x + LTEucG5nP3Jlc2l6ZT03NjglMkMzMjQgNzY4dywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJw + bGUtMS0xLnBuZz9yZXNpemU9MTAyNCUyQzQzMiAxMDI0dywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRh + bC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9NzIwJTJDMzA0IDcyMHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6 + b250YWwtcHVycGxlLTEtMS5wbmc/dz0xNDQwIDE0NDB3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5EZXZlbG9wZXJzIGxvdmUgSGVyb2t1LiBJdOKAmXMgdGhlIGZhc3Rlc3Qg + d2F5IHRvIGRlcGxveSBhbiBhcHBsaWNhdGlvbiBvbiBzY2FsYWJsZSBpbmZy + YXN0cnVjdHVyZS4gSSBrbm93IHRoaXMgZnJvbSBleHBlcmllbmNlLCBhcyBJ + IGhhdmUgYnVpbHQgbW9yZSBzb2Z0d2FyZSBwcm9kdWN0cyBvbiBIZXJva3Ug + dGhhbiBJIGNhbiByZW1lbWJlci4gV2hlbiBhIHByb2plY3QgSSBhbSBidWls + ZGluZyB3aXRoIEhlcm9rdSBzdGFydHMgdG8gZ2V0IG1vcmUgc2VyaW91cywg + SSB1c2UgSGVyb2t1IEZsb3cuIEhlcm9rdSBGbG93IGlzIGEgZnVsbCBjb250 + aW51b3VzIGRlbGl2ZXJ5IHNvbHV0aW9uIGZvciBIZXJva3UuIFdpdGggSGVy + b2t1IEZsb3csIGEgcHVzaCB0byBHaXRIdWIgc3BpbnMgdXAgYW4gaW5zdGFu + Y2Ugb2YgbXkgYXBwbGljYXRpb24mIzgyMTE7Y2FsbGVkIGEgJiM4MjIwO3Jl + dmlldyBhcHAuJiM4MjIxOyBJIGNhbiB0ZXN0IHRoZSByZXZpZXcgYXBwIGFu + ZCBkaXNjdXNzIGl0IHdpdGggbXkgdGVhbSYjODIxMTthbmQgaWYgaXQgd29y + a3MsIEkgY2FuIGFwcHJvdmUgdGhlIGNoYW5nZXMgYW5kIHB1c2ggaXQgdG8g + bWFzdGVyLCB3aGVyZSB0aGUgbmV3IHZlcnNpb24gb2YgbXkgYXBwIHdpbGwg + cnVuIGFnYWluc3QgY29udGludW91cyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIGJl + Zm9yZSBiZWluZyBwcm9tb3RlZCB0byBwcm9kdWN0aW9uLiBIZXJva3UgRmxv + dyBicmluZ3MgdGhlIEhlcm9rdSBkZXZlbG9wZXIgZXhwZXJpZW5jZSB0b2dl + dGhlciB3aXRoIGNvbnRpbnVvdXMgZGVsaXZlcnkuIENoZWNrIGl0IG91dCBu + b3cgYXQgPGEgaHJlZj0iaHR0cDovL2hlcm9rdS5jb20vZmxvdyI+SGVyb2t1 + LmNvbS9mbG93PC9hPi4gPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vY29yZW9zIj48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMzcxNyIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvY29yZW9zL2NvcmVv + cy13b3JkbWFyay1ob3Jpei1jb2xvci8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0NvcmVvcy13b3JkbWFyay1ob3Jp + ei1jb2xvci5wbmc/Zml0PTc5MiUyQzMwNiIgZGF0YS1vcmlnLXNpemU9Ijc5 + MiwzMDYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNv + bG9yLnBuZz9maXQ9MzAwJTJDMTE2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6 + LWNvbG9yLnBuZz9maXQ9NzkyJTJDMzA2IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTM3MTcgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXotY29sb3IucG5n + P3Jlc2l6ZT0zMDAlMkMxMTYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9y + LnBuZz9yZXNpemU9MzAwJTJDMTE2IDMwMHcsIGh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz9y + ZXNpemU9NzY4JTJDMjk3IDc2OHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz9yZXNpemU9 + NzIwJTJDMjc4IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + Q29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz93PTc5MiA3OTJ3IiBz + aXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5Zb3VyIGVudGVycHJpc2Ugd2FudHMgdG8gYWRvcHQgY29u + dGFpbmVycywgYnV0IHlvdSBhcmVu4oCZdCBzdXJlIGhvdy4gQ29yZU9TIHdp + bGwgaGVscCB5b3UgYWxvbmcgeW91ciBqb3VybmV5IHRvIGEgY29udGFpbmVy + aXplZCBhcmNoaXRlY3R1cmUuIENvcmVPUyBhcmUgdGhlIGNvbnRhaW5lciBl + eHBlcnRzIHRydXN0ZWQgYnkgU2FsZXNmb3JjZSwgZWJheSwgVGlja2V0bWFz + dGVyLCBhbmQgb3RoZXIgd29ybGQtY2xhc3Mgb3JnYW5pemF0aW9ucy4gR28g + dG8gPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vY29yZW9zIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2NvcmVv + czwvYT4gdG8gZmluZCBvdXIgdG9wIDUgZXBpc29kZXMgYWJvdXQgY29udGFp + bmVycyBhbmQgS3ViZXJuZXRlcywgYXMgd2VsbCBhcyBhIHdoaXRlIHBhcGVy + IGFib3V0IG1pZ3JhdGluZyBhbiBlbnRlcnByaXNlIHRvIEt1YmVybmV0ZXMg + d2l0aCBDb3JlT1MuIFRoZXkmIzgyMTc7dmUgaG9zdGVkLCBhdHRlbmRlZCwg + YW5kIHNwb2tlbiBhdCBtYW55IHNob3dzIGFib3V0IGNvbnRhaW5lcnMgYW5k + IEt1YmVybmV0ZXMgYmVjYXVzZSB0aG9zZSB0ZWNobm9sb2dpZXMgYXJlIHRo + ZSBmdXR1cmUgb2YgdGhlIHdlYi4gVGhhdOKAmXMgd2h5IENvcmVPUyBidWls + dCBUZWN0b25pYywgYW4gZW50ZXJwcmlzZS1yZWFkeSBLdWJlcm5ldGVzIHBs + YXRmb3JtLiBBdCA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9jb3Jlb3MiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vY29yZW9zPC9hPiwgeW91IGNhbiBsZWFybiBhYm91dCBob3cgY29udGFp + bmVycyBjYW4gbWFrZSB5b3VyIG9yZ2FuaXphdGlvbiBydW4gbW9yZSBlZmZp + Y2llbnRseS48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vYnVnc25hZy5jb20v + c2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjAiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9rd2xvZ29zL2J1Z3NuYWcvYnVnc25hZ19sb2dvLTIvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xv + Z28ucG5nP2ZpdD0zMDEwJTJDODY2IiBkYXRhLW9yaWctc2l6ZT0iMzAxMCw4 + NjYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iQnVnc25hZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MzAwJTJDODYiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xv + Z28ucG5nP2ZpdD0xMDI0JTJDMjk1IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTM3MjAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiIg + YWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9C + dWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM4NiAzMDB3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXpl + PTc2OCUyQzIyMSA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTEwMjQlMkMyOTUgMTAyNHcsIGh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9y + ZXNpemU9NzIwJTJDMjA3IDcyMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQnVnc25hZ19sb2dvLnBuZz93PTIxMDAgMjEwMHciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+VGhlIHByb2Nl + c3Mgb2YgdHJvdWJsZXNob290aW5nIGJ1Z3MgY2FuIGJlIHRlZGlvdXMgYW5k + IGluZWZmaWNpZW50IGZvciBkZXZlbG9wZXJzLCBlc3BlY2lhbGx5IGFzIHRo + ZXkgcHVzaCBtb3JlIGFuZCBtb3JlIGNvZGUgdG8gcHJvZHVjdGlvbi4gVGhl + IHVubHVja3kgZGV2ZWxvcGVyIGFzc2lnbmVkIHRvIGJ1ZyBkdXR5IG1heSBn + ZXQgYm9tYmFyZGVkIHdpdGggZXJyb3IgYWxlcnRzIGFuZCBzcGVuZCBob3Vy + cyBmaWd1cmluZyBvdXQgd2hpY2ggZXJyb3JzIHRvIGFkZHJlc3MgZmlyc3Qu + IFRoZXkgbWlnaHQgaGF2ZSB0byBkZWFsIHdpdGggbG9ncyB0byBwaWVjZSB0 + b2dldGhlciB3aGF0IGhhcHBlbmVkLCBvciBldmVuIHNwZW5kIHRpbWUgcmVh + Y2hpbmcgb3V0IHRvIG90aGVyIGVuZ2luZWVycyBvbiB0aGVpciB0ZWFtIGZv + ciBoZWxwLiA8L3NwYW4+QnVnc25hZyBpbXByb3ZlcyB0aGUgdGFzayBvZiB0 + cm91Ymxlc2hvb3RpbmcgZXJyb3JzIGJ5IG1ha2luZyBpdCBtb3JlIGVuam95 + YWJsZSBhbmQgbGVzcyB0aW1lLWNvbnN1bWluZzxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+LiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBlcnJvciBv + Y2N1cnMsIHlvdXIgdGVhbSBjYW4gZ2V0IG5vdGlmaWVkIHZpYSBTbGFjaywg + c2VlIGRpYWdub3N0aWMgaW5mb3JtYXRpb24gb24gdGhlIGVycm9yLCBhbmQg + aWRlbnRpZnkgdGhlIGRldmVsb3BlciB3aG8gY29tbWl0dGVkIHRoZSBjb2Rl + LiBCdWdzbmFn4oCZcyBpbnRlZ3JhdGlvbiB3aXRoIEppcmEgYW5kIG90aGVy + IGNvbGxhYm9yYXRpb24gdG9vbHMgbWFrZXMgaXQgZWFzeSB0byBhc3NpZ24g + YW5kIHRyYWNrIGJ1Z3MgYXMgdGhleSBhcmUgYmVpbmcgZml4ZWQuwqA8L3Nw + YW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5EZXZlbG9wbWVu + dCB0ZWFtcyBjYW4gbm93IGl0ZXJhdGUgZmFzdGVyIGFuZCBpbXByb3ZlIHNv + ZnR3YXJlIHF1YWxpdHkuwqA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5HZXQgdXAgYW5kIHJ1bm5pbmcgaW4gdGhyZWUgbWludXRl + cy4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QWly + Ym5iLCBMeWZ0LCBhbmQgU2hvcGlmeSBhbGwgdXNlIEJ1Z3NuYWcgdG8gbW9u + aXRvciBhcHBsaWNhdGlvbiBlcnJvcnMuwqA8L3NwYW4+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UcnkgYWxsIGZlYXR1cmVzIGZyZWUgZm9y + IDYwIGRheXMgYXQgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJ1Z3Nu + YWcuY29tL3NlZGFpbHkiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+aHR0cHM6Ly93d3cuYnVnc25hZy5jb20vc2VkYWlseTwvc3Bhbj48L2E+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4uPC9zcGFuPjwvZGl2 + PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9pbmRlZWQuY29tL3NlZGFpbHkiPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIyODk4IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8xMC8xOC9z + aW1wc29ucy1kYXRhLXNjaWVuY2Utd2l0aC10b2RkLXNjaG5laWRlci9pbmRl + ZWQtcHJpbWUvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD00NjMlMkM5NiIgZGF0 + YS1vcmlnLXNpemU9IjQ2Myw5NiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmRlZWQtcHJpbWUiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP2ZpdD0zMDAl + MkM2MiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzEwL2luZGVlZC1wcmltZS5wbmc/Zml0PTQ2MyUyQzk2IiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTI4OTggc2l6ZS1tZWRpdW0iIHNyYz0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9pbmRlZWQtcHJpbWUucG5nP3Jl + c2l6ZT0zMDAlMkM2MiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzEwL2luZGVlZC1wcmltZS5wbmc/cmVzaXplPTMwMCUyQzYyIDMwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaW5kZWVkLXByaW1lLnBu + Zz93PTQ2MyA0NjN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5GbGlwIHRoZSB0cmFkaXRpb25h + bCBqb2Igc2VhcmNoIGFuZCBsZXQgSW5kZWVkIFByaW1lIHdvcmsgZm9yIHlv + dSB3aGlsZSB5b3XigJlyZSBidXN5IHdpdGggb3RoZXIgZW5naW5lZXJpbmcg + d29yaywgb3IgY29kaW5nIHlvdXIgc2lkZSBwcm9qZWN0LiBVcGxvYWQgeW91 + ciByZXN1bWUgYW5kIGluIG9uZSBjbGljaywgZ2FpbiBpbW1lZGlhdGUgZXhw + b3N1cmUgdG8gY29tcGFuaWVzIGxpa2UgRmFjZWJvb2ssIFViZXIsIGFuZCBE + cm9wYm94LiBJbnRlcmVzdGVkIGVtcGxveWVycyB3aWxsIHJlYWNoIG91dCB0 + byB5b3Ugd2l0aGluIG9uZSB3ZWVrIHdpdGggc2FsYXJ5LCBwb3NpdGlvbiwg + YW5kIGVxdWl0eSB1cCBmcm9udC4gRG9u4oCZdCBsZXQgYXBwbHlpbmcgZm9y + IGpvYnMgYmVjb21lIGEgZnVsbC10aW1lIGpvYi4gV2l0aCBJbmRlZWQgUHJp + bWUsIGpvYnMgY29tZSB0byB5b3UuIFRoZSBhdmVyYWdlIHNvZnR3YXJlIGRl + dmVsb3BlciBnZXRzIDUgZW1wbG95ZXIgY29udGFjdHMgYW5kIGFuIGF2ZXJh + Z2Ugc2FsYXJ5IG9mZmVyIG9mICQxMjUsMDAwLiBJbmRlZWQgUHJpbWUgaXMg + MTAwJSBmcmVlIGZvciBjYW5kaWRhdGVzIOKAkyBubyBzdHJpbmdzIGF0dGFj + aGVkLiBTaWduIHVwIG5vdyBhdCBpbmRlZWQuY29tL3NlZGFpbHkuIFRoYW5r + cyB0byBJbmRlZWQgUHJpbWUgZm9yIGJlaW5nIGEgc3BvbnNvciBvZiBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseS48L2Rpdj48L3A+CjxwPjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29k + ZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4u + Y29tL3NlZGFpbHkvVmlqYXlQYW5kZVF1YW50dW0ubXAzIiBsZW5ndGg9IjUz + NjY1NzY2IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0 + bGU+UXVhbnR1bSBjb21wdXRpbmcgaXMgYmFzZWQgb24gdGhlIHN5c3RlbSBv + ZiBxdWFudHVtIG1lY2hhbmljcy4gSW4gcXVhbnR1bSBjb21wdXRpbmcsIHdl + IHBlcmZvcm0gb3BlcmF0aW9ucyBvdmVyIHF1Yml0cyBpbnN0ZWFkIG9mIGJp + dHMuIEEgcXViaXQgaXMgYSB2ZWN0b3IsIHdoaWNoIGNhbiB0YWtlIG9uIG1h + bnkgbW9yZSB2YWx1ZXMgdGhhbiAwIG9yIDEuIFRoZSB0ZWNobm9sb2d5IHVz + ZWQgdG8gaW1wbGVtZW50IHF1YW50dW0gY29tcHV0Li4uPC9pdHVuZXM6c3Vi + dGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlF1YW50dW0gY29tcHV0aW5nIGlz + IGJhc2VkIG9uIHRoZSBzeXN0ZW0gb2YgcXVhbnR1bSBtZWNoYW5pY3MuIElu + IHF1YW50dW0gY29tcHV0aW5nLCB3ZSBwZXJmb3JtIG9wZXJhdGlvbnMgb3Zl + ciBxdWJpdHMgaW5zdGVhZCBvZiBiaXRzLiBBIHF1Yml0IGlzIGEgdmVjdG9y + LCB3aGljaCBjYW4gdGFrZSBvbiBtYW55IG1vcmUgdmFsdWVzIHRoYW4gMCBv + ciAxLiBUaGUgdGVjaG5vbG9neSB1c2VkIHRvIGltcGxlbWVudCBxdWFudHVt + IGNvbXB1dGVycyBpcyBhZHZhbmNpbmcgc3VjaCB0aGF0IGl0IGhhcyBpdHMg + b3duIE1vb3Jl4oCZcyBMYXcsIGJ1dCBpdCBjYW4gYWxzbyBsZXZlcmFnZSB0 + aGUgY2xhc3NpY2FsIGFkdmFuY2VtZW50cyBvZiBNb29yZeKAmXMgTGF3LiBJ + ZiBjbGFzc2ljYWwgY29tcHV0aW5nIGFkdmFuY2VzIGF0Q29udGludWUgcmVh + ZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0 + dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVu + ZXM6ZHVyYXRpb24+NTU6NDE8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQg + eG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzgyNzwv + cG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPlBsYXRmb3Jt + IENvbnRpbnVvdXMgRGVsaXZlcnkgd2l0aCBBbmR5IEFwcGxldG9uPC90aXRs + ZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wOC8wMi9wbGF0Zm9ybS1jb250aW51b3VzLWRlbGl2ZXJ5LXdp + dGgtYW5keS1hcHBsZXRvbi88L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMDIg + QXVnIDIwMTcgMTI6MjY6MTYgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlz + UGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vP3A9MzgyMDwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDgvMDIvcGxhdGZv + cm0tY29udGludW91cy1kZWxpdmVyeS13aXRoLWFuZHktYXBwbGV0b24vI3Jl + c3BvbmQ8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8wMi9wbGF0Zm9y + bS1jb250aW51b3VzLWRlbGl2ZXJ5LXdpdGgtYW5keS1hcHBsZXRvbi9mZWVk + Lzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFz + aDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rl + c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVu + Z2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Fu + ZHkgQXBwbGV0b25dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVtDb250aW51b3VzIGRlbGl2ZXJ5IHBsYXRmb3JtXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSGVyb2t1IEZsb3ddXT48L2NhdGVnb3J5 + PgoJCTxkZXNjcmlwdGlvbj5Db250aW51b3VzIGRlbGl2ZXJ5IGlzIGEgbW9k + ZWwgZm9yIGRlcGxveWluZyBzbWFsbCwgZnJlcXVlbnQgY2hhbmdlcyB0byBh + biBhcHBsaWNhdGlvbi4gSW4gYSBjb250aW51b3VzIGRlbGl2ZXJ5IHdvcmtm + bG93LCBjb2RlIGNoYW5nZXMgdGhhdCBhcmUgcHVzaGVkIHRvIGEgcmVwb3Np + dG9yeSBzZXQgb2ZmIGEgYnVpbGQgcHJvY2VzcyB0aGF0IHNwaW5zIHVwIGEg + bmV3IHZlcnNpb24gb2YgdGhlIGFwcGxpY2F0aW9uLiBUZXN0aW5nIGlzIHBl + cmZvcm1lZCBhZ2FpbnN0IHRoYXQgbmV3IGJ1aWxkIGJlZm9yZSBhZHZhbmNp + bmcgaXQgdG8gcHJvZHVjdGlvbiwgbWVyZ2luZyBpdCB3aXRoIHRoZSBleGlz + dGluZyBjb2RlYmFzZS4gTWFueSBjb250aW51b3VzIGRlbGl2ZXJ5IHByb2R1 + Y3RzIGFyZSBnZXR0aW5nIGJ1aWx0IHRvZGF5IGJlY2F1c2UgaXQgaXMgYSZs + dDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVv + dDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA4LzAyL3BsYXRmb3JtLWNvbnRpbnVvdXMtZGVsaXZlcnkt + d2l0aC1hbmR5LWFwcGxldG9uLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5n + Li4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29u + dGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5l + ci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXpl + PSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQv + YnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWdu + cmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXIt + cmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13 + aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczov + L2kwLndwLmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzg1MTA2 + MTYyNjk3MTI3OTM2MC9KWFBDME5OMi5qcGc/cmVzaXplPTE3NSUyQzE3NSYj + MDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Db250aW51b3VzIGRlbGl2 + ZXJ5IGlzIGEgbW9kZWwgZm9yIGRlcGxveWluZyBzbWFsbCwgZnJlcXVlbnQg + Y2hhbmdlcyB0byBhbiBhcHBsaWNhdGlvbi4gSW4gYSBjb250aW51b3VzIGRl + bGl2ZXJ5IHdvcmtmbG93LCBjb2RlIGNoYW5nZXMgdGhhdCBhcmUgcHVzaGVk + IHRvIGEgcmVwb3NpdG9yeSBzZXQgb2ZmIGEgYnVpbGQgcHJvY2VzcyB0aGF0 + IHNwaW5zIHVwIGEgbmV3IHZlcnNpb24gb2YgdGhlIGFwcGxpY2F0aW9uLiBU + ZXN0aW5nIGlzIHBlcmZvcm1lZCBhZ2FpbnN0IHRoYXQgbmV3IGJ1aWxkIGJl + Zm9yZSBhZHZhbmNpbmcgaXQgdG8gcHJvZHVjdGlvbiwgbWVyZ2luZyBpdCB3 + aXRoIHRoZSBleGlzdGluZyBjb2RlYmFzZS48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk1hbnkgY29udGludW91cyBk + ZWxpdmVyeSBwcm9kdWN0cyBhcmUgZ2V0dGluZyBidWlsdCB0b2RheSBiZWNh + dXNlIGl0IGlzIGEgd2lkZSBvcGVuIHNwYWNlJiM4MjExO211Y2ggbGlrZSBj + bG91ZCBwcm92aWRlcnMgb3IgbW9uaXRvcmluZyB0b29scy4gVGhlcmUgYXJl + IHN1YmplY3RpdmUgcHJvZHVjdCBhbmQgZW5naW5lZXJpbmcgZGVjaXNpb25z + IHRvIGJlIG1hZGUgZGVwZW5kaW5nIG9uIHRoZSBhdWRpZW5jZSBmb3IgdGhl + IHByb2R1Y3QuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5IZXJva3UgRmxvdyBpcyBhIGNvbnRpbnVvdXMgZGVsaXZl + cnkgcGxhdGZvcm0gYnVpbHQgb24gdG9wIG9mIEhlcm9rdSwgYSBwbGF0Zm9y + bSBhcyBhIHNlcnZpY2UuIEFuZHkgQXBwbGV0b24gaXMgYW4gZW5naW5lZXIg + YXQgSGVyb2t1IGFuZCBoZSBqb2lucyB0aGUgc2hvdyB0byBkZXNjcmliZSBo + b3cgSGVyb2t1IEZsb3cgd2FzIGJ1aWx0LiBUd28geWVhcnMgb2Ygd29yayB3 + ZW50IGludG8gdGhlIHByb2plY3QgZnJvbSBpbml0aWFsIGNvbmNlcHRpb24g + dG8gbGF1bmNoLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+RnVsbCBkaXNjbG9zdXJlOiBIZXJva3UgaXMgYSBzcG9u + c29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5Ljwvc3Bhbj48L3A+ + CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBi + eSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRp + dHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+ + wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRp + byBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3Mg + dG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERh + aWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wOC9TRUQz + ODYtSGVyb2t1LUNJLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNo + b3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxh + IGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTYvMDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12aWRl + bGEvaGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAi + IGRhdGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYw + JTJDMTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jlc2l6 + ZT0yNjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVlbiB0 + aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJZiB5 + b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUgYmVl + biB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92ZSwg + Z28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGly + ZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdvcmsg + ZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1tYXRj + aGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2b2Nh + dGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBm + aW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJodHRw + Oi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPsKg + dG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJvbnVz + IGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0aGF0 + IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91IGRl + c2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9zZWRhaWx5P3V0bV9zb3Vy + Y2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdhbmljJmFtcDt1dG1fY2Ft + cGFpZ249MjAxN19RM19wb2RjYXN0Ij48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMzExNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3liZXItd2FyZmFyZS13aXRo + LWphcmVkLXNtaXRoL2luY2Fwc3VsYS1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28u + cG5nP2ZpdD01MzMlMkMxMjYiIGRhdGEtb3JpZy1zaXplPSI1MzMsMTI2IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + ImluY2Fwc3VsYS1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEv + aW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD0zMDAlMkM3MSIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1s + b2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTMxMTYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVzaXplPTMwMCUyQzcx + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAx + L2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJDNzEgMzAwdywgaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/ + dz01MzMgNTMzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywg + MzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAv + Pgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SW5jYXBzdWxhIGlzIGEgY2xvdWQg + c2VydmljZSB0aGF0IHByb3RlY3RzIGFwcGxpY2F0aW9ucyBmcm9tIGF0dGFj + a2VycyBhbmQgaW1wcm92ZXMgcGVyZm9ybWFuY2UuIMKgQm90bmV0cyBhbmQg + ZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcyBhcmUgcmVjb2duaXplZCBieSBJ + bmNhcHN1bGEgYW5kIGJsb2NrZWQuIFRoaXMgcHJvdGVjdHMgeW91ciBBUEkg + c2VydmVycyBhbmQgbWljcm9zZXJ2aWNlcyBmcm9tIHJlc3BvbmRpbmcgdG8g + dW53YW50ZWQgcmVxdWVzdHMuIFRvIHRyeSBJbmNhcHN1bGEsIGdvIHRvIDxh + IGhyZWY9Imh0dHBzOi8vd3d3LmluY2Fwc3VsYS5jb20vc2VkYWlseT91dG1f + c291cmNlPXNlZGFpbHkmYW1wO3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRt + X2NhbXBhaWduPTIwMTdfUTNfcG9kY2FzdCI+aW5jYXBzdWxhLmNvbS9zZWRh + aWx5PC9hPiBhbmQgZ2V0IGEgbW9udGggZnJlZSBmb3IgU29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzLjwvZGl2PjxiciAvPgo8L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vY29yZW9zIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzcxNyIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvY29y + ZW9zL2NvcmVvcy13b3JkbWFyay1ob3Jpei1jb2xvci8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0NvcmVvcy13b3Jk + bWFyay1ob3Jpei1jb2xvci5wbmc/Zml0PTc5MiUyQzMwNiIgZGF0YS1vcmln + LXNpemU9Ijc5MiwzMDYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9y + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJr + LWhvcml6LWNvbG9yLnBuZz9maXQ9MzAwJTJDMTE2IiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRt + YXJrLWhvcml6LWNvbG9yLnBuZz9maXQ9NzkyJTJDMzA2IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM3MTcgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9Db3Jlb3Mtd29yZG1hcmstaG9yaXot + Y29sb3IucG5nP3Jlc2l6ZT0zMDAlMkMxMTYiIGFsdD0iIiBzcmNzZXQ9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhv + cml6LWNvbG9yLnBuZz9yZXNpemU9MzAwJTJDMTE2IDMwMHcsIGh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNv + bG9yLnBuZz9yZXNpemU9NzY4JTJDMjk3IDc2OHcsIGh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBu + Zz9yZXNpemU9NzIwJTJDMjc4IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQ29yZW9zLXdvcmRtYXJrLWhvcml6LWNvbG9yLnBuZz93PTc5 + MiA3OTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPllvdXIgZW50ZXJwcmlzZSB3YW50cyB0byBhZG9wdCBjb250YWlu + ZXJzLCBidXQgeW91IGFyZW7igJl0IHN1cmUgaG93LiBDb3JlT1Mgd2lsbCBo + ZWxwIHlvdSBhbG9uZyB5b3VyIGpvdXJuZXkgdG8gYSBjb250YWluZXJpemVk + IGFyY2hpdGVjdHVyZS4gQ29yZU9TIGFyZSB0aGUgY29udGFpbmVyIGV4cGVy + dHMgdHJ1c3RlZCBieSBTYWxlc2ZvcmNlLCBlYmF5LCBUaWNrZXRtYXN0ZXIs + IGFuZCBvdGhlciB3b3JsZC1jbGFzcyBvcmdhbml6YXRpb25zLiBHbyB0byA8 + L3NwYW4+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vY29yZW9zIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vY29yZW9zPC9zcGFuPjwv + YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiB0byBmaW5kIG91 + ciB0b3AgNSBlcGlzb2RlcyBhYm91dCBjb250YWluZXJzIGFuZCBLdWJlcm5l + dGVzLCBhcyB3ZWxsIGFzIGEgd2hpdGUgcGFwZXIgYWJvdXQgbWlncmF0aW5n + IGFuIGVudGVycHJpc2UgdG8gS3ViZXJuZXRlcyB3aXRoIENvcmVPUy4gVGhl + eSYjODIxNzt2ZSBob3N0ZWQsIGF0dGVuZGVkLCBhbmQgc3Bva2VuIGF0IG1h + bnkgc2hvd3MgYWJvdXQgY29udGFpbmVycyBhbmQgS3ViZXJuZXRlcyBiZWNh + dXNlIHRob3NlIHRlY2hub2xvZ2llcyBhcmUgdGhlIGZ1dHVyZSBvZiB0aGUg + d2ViLiBUaGF04oCZcyB3aHkgQ29yZU9TIGJ1aWx0IFRlY3RvbmljLCBhbiBl + bnRlcnByaXNlLXJlYWR5IEt1YmVybmV0ZXMgcGxhdGZvcm0uIEF0IDwvc3Bh + bj48YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9jb3Jlb3MiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+c29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9jb3Jlb3M8L3NwYW4+PC9hPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCB5b3UgY2FuIGxlYXJu + IGFib3V0IGhvdyBjb250YWluZXJzIGNhbiBtYWtlIHlvdXIgb3JnYW5pemF0 + aW9uIHJ1biBtb3JlIGVmZmljaWVudGx5Ljwvc3Bhbj48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzMTI1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8xMy9jb2x1 + bW5hci1kYXRhLWFwYWNoZS1hcnJvdy1hbmQtcGFycXVldC13aXRoLWp1bGll + bi1sZS1kZW0tYW5kLWphY3F1ZXMtbmFkZWF1L3ZpdmlkY29ydGV4LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2 + aWRDb3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBkYXRhLW9yaWctc2l6ZT0i + MTAyMiwyNTgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0iVml2aWRDb3J0ZXgiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMS9WaXZpZENvcnRleC5wbmc/Zml0PTMwMCUyQzc2IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRD + b3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTMxMjUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2 + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAx + L1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAwJTJDNzYgMzAwdywgaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXpl + PTc2OCUyQzE5NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAx + L1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9NzIwJTJDMTgyIDcyMHcsIGh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3c9MTAy + MiAxMDIydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAw + cHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+Vml2aWRDb3J0ZXggaXMgdGhlIGJlc3Qg + d2F5IHRvIGltcHJvdmUgeW91ciBkYXRhYmFzZSBwZXJmb3JtYW5jZSwgZWZm + aWNpZW5jeSwgYW5kIHVwdGltZS4gSXQmIzgyMTc7cyBhIGNsb3VkLWhvc3Rl + ZCBtb25pdG9yaW5nIHBsYXRmb3JtIHRoYXQgZWxpbWluYXRlcyB5b3VyIG1v + c3QgY3JpdGljYWwgdmlzaWJpbGl0eSBnYXAsIHByb3ZpZGluZyBpbnNpZ2h0 + cyBhdCAxLXNlY29uZCBncmFudWxhcml0eSBpbnRvIHByb2R1Y3Rpb24gZGF0 + YWJhc2Ugd29ya2xvYWQgYW5kIHF1ZXJ5IHBlcmZvcm1hbmNlLiBJdCBtZWFz + dXJlcyB0aGUgZXhlY3V0aW9uIGFuZCByZXNvdXJjZSBjb25zdW1wdGlvbiBv + ZiBldmVyeSBzdGF0ZW1lbnQgYW5kIHRyYW5zYWN0aW9uLCBzbyB5b3UgY2Fu + IHByb2FjdGl2ZWx5IGZpeCBmdXR1cmUgZGF0YWJhc2UgaXNzdWVzIGJlZm9y + ZSB0aGV5IGltcGFjdCBjdXN0b21lcnMuIFRvIGxlYXJuIG1vcmUsIHZpc2l0 + PGEgaHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2 + aWRjb3J0ZXguY29tL3NlZGFpbHk8L2E+IGFuZCBmaW5kIG91dCB3aHkgY29t + cGFuaWVzIGxpa2UgR2l0aHViLCBEaWdpdGFsT2NlYW4sIGFuZCBZZWxwIGFs + bCB1c2UgVml2aWRDb3J0ZXggdG8gc2VlIGRlZXBlciBpbnRvIHRoZWlyIGRh + dGFiYXNlIHBlcmZvcm1hbmNlLiBMZWFybiBtb3JlIGF0PGEgaHJlZj0iaHR0 + cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2aWRjb3J0ZXguY29t + L3NlZGFpbHk8L2E+LCBhbmQgZ2V0IHN0YXJ0ZWQgdG9kYXkhPC9kaXY+PGJy + IC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5i + c3A7PC9wPgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0K + CQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9z + ZWRhaWx5L0hlcm9rdUNJLm1wMyIgbGVuZ3RoPSI1NDM2MDIzOSIgdHlwZT0i + YXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkNvbnRpbnVvdXMg + ZGVsaXZlcnkgaXMgYSBtb2RlbCBmb3IgZGVwbG95aW5nIHNtYWxsLCBmcmVx + dWVudCBjaGFuZ2VzIHRvIGFuIGFwcGxpY2F0aW9uLiBJbiBhIGNvbnRpbnVv + dXMgZGVsaXZlcnkgd29ya2Zsb3csIGNvZGUgY2hhbmdlcyB0aGF0IGFyZSBw + dXNoZWQgdG8gYSByZXBvc2l0b3J5IHNldCBvZmYgYSBidWlsZCBwcm9jZXNz + IHRoYXQgc3BpbnMgdXAgYSBuZXcgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRp + b24uPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkNvbnRp + bnVvdXMgZGVsaXZlcnkgaXMgYSBtb2RlbCBmb3IgZGVwbG95aW5nIHNtYWxs + LCBmcmVxdWVudCBjaGFuZ2VzIHRvIGFuIGFwcGxpY2F0aW9uLiBJbiBhIGNv + bnRpbnVvdXMgZGVsaXZlcnkgd29ya2Zsb3csIGNvZGUgY2hhbmdlcyB0aGF0 + IGFyZSBwdXNoZWQgdG8gYSByZXBvc2l0b3J5IHNldCBvZmYgYSBidWlsZCBw + cm9jZXNzIHRoYXQgc3BpbnMgdXAgYSBuZXcgdmVyc2lvbiBvZiB0aGUgYXBw + bGljYXRpb24uIFRlc3RpbmcgaXMgcGVyZm9ybWVkIGFnYWluc3QgdGhhdCBu + ZXcgYnVpbGQgYmVmb3JlIGFkdmFuY2luZyBpdCB0byBwcm9kdWN0aW9uLCBt + ZXJnaW5nIGl0IHdpdGggdGhlIGV4aXN0aW5nIGNvZGViYXNlLiBNYW55IGNv + bnRpbnVvdXMgZGVsaXZlcnkgcHJvZHVjdHMgYXJlIGdldHRpbmcgYnVpbHQg + dG9kYXkgYmVjYXVzZSBpdCBpcyBhQ29udGludWUgcmVhZGluZy4uLjwvaXR1 + bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNp + dD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+ + NTY6MjQ8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13 + b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzgyMDwvcG9zdC1pZD4JCTwv + aXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPlBhdGVudHMgd2l0aCBOaWNvbGUg + U2hhbmFoYW48L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzAxL3BhdGVudHMtd2l0aC1uaWNv + bGUtc2hhbmFoYW4vPC9saW5rPg0KCQk8cHViRGF0ZT5UdWUsIDAxIEF1ZyAy + MDE3IDA5OjAwOjQ0ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1h + TGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLz9wPTM3ODc8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA4LzAxL3BhdGVudHMtd2l0 + aC1uaWNvbGUtc2hhbmFoYW4vI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdm + dzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDgvMDEvcGF0ZW50cy13aXRoLW5pY29sZS1zaGFuYWhhbi9m + ZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9z + bGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlz + b2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1c2lu + ZXNzIGFuZCBQaGlsb3NvcGh5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0NsZWFyQWNjZXNzSVBdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtpbmRleGluZyBwYXRlbnRzXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbTmljb2xlIFNoYW5haGFuXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbcGF0ZW50IG1hY2hpbmUgbGVhcm5p + bmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtzb2Z0d2Fy + ZSBwYXRlbnRzXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+UGF0ZW50 + cyBhbGxvdyBpbmRpdmlkdWFscyBhbmQgY29tcGFueSB0byBsYXkgY3JlYXRp + dmUgY2xhaW0gZm9yIGFuIGludmVudGlvbi4gQSBwYXRlbnQgY2FuIHByb3Zp + ZGUgcHJvdGVjdGlvbiBmcm9tIGhhdmluZyBpdHMgaWRlYSBiZWluZyB1c2Vk + IHdpdGhvdXQgZ2l2aW5nIGNyZWRpdCB0byBpdHMgY3JlYXRvcnMuIE9mIGNv + dXJzZSwgaXMgdGhhdCBwYXRlbnRzIGNhbiBiZSBmaWxlZCBhbmQgbm90IHR1 + cm5lZCBpbnRvIHByb2R1Y3RzLCBpbmhpYml0aW5nIGlubm92YXRpb24uIFBh + dGVudHMgY2FuIGFsc28gYmUgdXNlZCBvZmZlbnNpdmVseSBpbiBhIHByYWN0 + aWNlIGtub3duIGFzIHBhdGVudCB0cm9sbGluZy4gTGFyZ2UgY29tcGFuaWVz + IGxpa2UgSUJNIGFuZCBHb29nbGUgaGF2ZSBzbyBtYW55IHBhdGVudHMgdGhh + dCB0aGV5IGhhdmUmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wOC8wMS9wYXRlbnRzLXdpdGgtbmlj + b2xlLXNoYW5haGFuLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0 + Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDpl + bmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIy + NDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5h + Z2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUs + MTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxh + cmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQg + c2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVz + OiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDog + MTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndw + LmNvbS9tZWRpYS5saWNkbi5jb20vbXByL21wci9zaHJpbmtucF8yMDBfMjAw + L3AvOC8wMDUvMGEyLzMxNS8xZmM0M2EyLmpwZz9yZXNpemU9MTc1JTJDMTc1 + JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlBhdGVudHMgYWxsb3cg + aW5kaXZpZHVhbHMgYW5kIGNvbXBhbnkgdG8gbGF5IGNyZWF0aXZlIGNsYWlt + IGZvciBhbiBpbnZlbnRpb24uIEEgcGF0ZW50IGNhbiBwcm92aWRlIHByb3Rl + Y3Rpb24gZnJvbSBoYXZpbmcgaXRzIGlkZWEgYmVpbmcgdXNlZCB3aXRob3V0 + IGdpdmluZyBjcmVkaXQgdG8gaXRzIGNyZWF0b3JzLiBPZiBjb3Vyc2UsIGlz + IHRoYXQgcGF0ZW50cyBjYW4gYmUgZmlsZWQgYW5kIG5vdCB0dXJuZWQgaW50 + byBwcm9kdWN0cywgaW5oaWJpdGluZyBpbm5vdmF0aW9uLiBQYXRlbnRzIGNh + biBhbHNvIGJlIHVzZWQgb2ZmZW5zaXZlbHkgaW4gYSBwcmFjdGljZSBrbm93 + biBhcyBwYXRlbnQgdHJvbGxpbmcuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5MYXJnZSBjb21wYW5pZXMgbGlrZSBJ + Qk0gYW5kIEdvb2dsZSBoYXZlIHNvIG1hbnkgcGF0ZW50cyB0aGF0IHRoZXkg + aGF2ZSB0cm91YmxlIGtlZXBpbmcgdHJhY2sgb2YgdGhlbSBhbGwuIEFuZCBp + ZiB5b3VyIGNvbXBhbnkgaGFzIG1hbnkgZGlmZmVyZW50IGhhcmR3YXJlIGFu + ZCBzb2Z0d2FyZSBwcm9kdWN0cywgaG93IGNhbiB5b3UgYmUgc3VyZSB0aGF0 + IHlvdXIgcGF0ZW50IGNvbGxlY3Rpb24gcHJvdGVjdHMgeW91IGZyb20gYSBw + YXRlbnQgdHJvbGw/PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5OaWNvbGUgU2hhbmFoYW4gaXMgdGhlIENFTyBvZiBD + bGVhckFjY2Vzc0lQLCBhIHByb2R1Y3QgdGhhdCBpbmRleGVzIHBhdGVudHMs + IGxvb2tzIGZvciB2dWxuZXJhYmlsaXRpZXMgaW4gYSBjb3Jwb3JhdGlvbuKA + mXMgcGF0ZW50IHN0cmF0ZWd5LCBhbmQgZmluZHMgb3Bwb3J0dW5pdGllcyBp + biBhIHBhdGVudCBjb2xsZWN0aW9uIGZvciBmdXJ0aGVyIHZhbHVlLiBUaGUg + bGFyZ2UgdGV4dCBjb3JwdXMgb2YgYSBwYXRlbnQgY29sbGVjdGlvbiBpcyB0 + aGUgcGVyZmVjdCBwbGFjZSB0byBhcHBseSBtYWNoaW5lIGxlYXJuaW5nLiA8 + L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PldlIGRpc2N1c3NlZCB0aGUgbmF0dXJlIG9mIHBhdGVudHMsIHRoZSBpbnRl + cnNlY3Rpb24gYmV0d2VlbiBsYXcgYW5kIHNvZnR3YXJlLCBhbmQgdGhlIHBy + b2R1Y3QgZGV2ZWxvcG1lbnQgcHJvY2VzcyBvZiBDbGVhckFjY2Vzc0lQLjwv + c3Bhbj48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBw + cm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRw + czovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNv + bS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRo + cyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2Vz + LiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3 + aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9TRUQzODUtUGF0ZW50cy5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8Kg + dGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29y + czwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8va2luZXNpcy5hd3MiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzNzIyIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9hd3MvYW1hem9u + d2Vic2VydmljZXNfbG9nby1zdmdfLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9n + by5zdmdfLnBuZz9maXQ9MjAwMCUyQzgwMCIgZGF0YS1vcmlnLXNpemU9IjIw + MDAsODAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9IkFtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXyIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28u + c3ZnXy5wbmc/Zml0PTMwMCUyQzEyMCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xv + Z28uc3ZnXy5wbmc/Zml0PTEwMjQlMkM0MTAiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMzcyMiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5w + bmc/cmVzaXplPTMwMCUyQzEyMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2 + Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAgMzAwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5n + P3Jlc2l6ZT03NjglMkMzMDcgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6 + ZT0xMDI0JTJDNDEwIDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTcy + MCUyQzI4OCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JbiB0aGUgSW5mb3JtYXRpb24g + QWdlLCBkYXRh4oCZcyB0aGUgbmV3IG9pbC4gV2hpY2ggaXMgd2h5IEFtYXpv + biBXZWIgU2VydmljZXMgYnVpbHQgQW1hem9uIEtpbmVzaXPigJRhIHBvd2Vy + ZnVsIG5ldyB3YXkgdG8gY29sbGVjdCwgcHJvY2VzcywgYW5kIGFuYWx5emUg + c3RyZWFtaW5nIGRhdGHigJRzbyB5b3UgY2FuIGdldCB0aW1lbHkgaW5zaWdo + dHMgYW5kIHJlYWN0IHF1aWNrbHkuIFdlYiBzaXRlcywgbW9iaWxlIGFwcHMs + IElvVCBzZW5zb3JzLCBhbmQgdGhlIGxpa2UgY2FuIGdlbmVyYXRlIGEgaHVn + ZSBhbW91bnQgb2Ygc3RyZWFtaW5nIGRhdGHigJRzb21ldGltZXMgdGVyYWJ5 + dGVzIGFuIGhvdXLigJR0aGF0IGlmIHByb2Nlc3NlZCBjb250aW51YWxseSwg + Y2FuIGhlbHAgeW91IGxlYXJuIGFib3V0IHdoYXQgeW91ciBjdXN0b21lcnMs + IHByb2R1Y3RzLCBhbmQgYXBwbGljYXRpb25zIGFyZSBkb2luZyByaWdodCBu + b3cgYW5kIHRha2UgYWN0aW9ucyBpbiByZWFsLXRpbWUuIEFtYXpvbiBLaW5l + c2lzIGZyb20gQVdTIGxldHMgeW91IGRvIHRoYXQgZWFzaWx5IGZvciBsZXNz + LiBXaXRoIEtpbmVzaXMsIHlvdSBvbmx5IHBheSBmb3IgdGhlIHJlc291cmNl + cyB5b3UgdXNlLiBObyBtaW5pbXVtcywgbm8gdXBmcm9udCBjb21taXRtZW50 + cy4gTGVhcm4gbW9yZSBhdCA8YSBocmVmPSJodHRwOi8va2luZXNpcy5hd3Mi + PmtpbmVzaXMuYXdzPC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGVy + b2t1LmNvbS9mbG93Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjkxMSIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2t3bG9nb3MvaGVyb2t1LWthZmthL2hlcm9rdS1sb2dvdHlwZS1o + b3Jpem9udGFsLXB1cnBsZS0xLTEvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpv + bnRhbC1wdXJwbGUtMS0xLnBuZz9maXQ9MTQ0MCUyQzYwOCIgZGF0YS1vcmln + LXNpemU9IjE0NDAsNjA4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9Imhlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFs + LXB1cnBsZS0xLTEiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJv + a3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9maXQ9MzAw + JTJDMTI3IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEt + MS5wbmc/Zml0PTEwMjQlMkM0MzIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMjkxMSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0x + LTEucG5nP3Jlc2l6ZT0zMDAlMkMxMjciIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6 + b250YWwtcHVycGxlLTEtMS5wbmc/cmVzaXplPTMwMCUyQzEyNyAzMDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1o + b3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP3Jlc2l6ZT03NjglMkMzMjQgNzY4 + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5 + cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9MTAyNCUyQzQz + MiAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3Ut + bG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9NzIw + JTJDMzA0IDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVy + b2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/dz0xNDQw + IDE0NDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5EZXZlbG9wZXJzIGxvdmUgSGVyb2t1LiBJ + dOKAmXMgdGhlIGZhc3Rlc3Qgd2F5IHRvIGRlcGxveSBhbiBhcHBsaWNhdGlv + biBvbiBzY2FsYWJsZSBpbmZyYXN0cnVjdHVyZS4gSSBrbm93IHRoaXMgZnJv + bSBleHBlcmllbmNlLCBhcyBJIGhhdmUgYnVpbHQgbW9yZSBzb2Z0d2FyZSBw + cm9kdWN0cyBvbiBIZXJva3UgdGhhbiBJIGNhbiByZW1lbWJlci4gV2hlbiBh + IHByb2plY3QgSSBhbSBidWlsZGluZyB3aXRoIEhlcm9rdSBzdGFydHMgdG8g + Z2V0IG1vcmUgc2VyaW91cywgSSB1c2UgSGVyb2t1IEZsb3cuIEhlcm9rdSBG + bG93IGlzIGEgZnVsbCBjb250aW51b3VzIGRlbGl2ZXJ5IHNvbHV0aW9uIGZv + ciBIZXJva3UuIFdpdGggSGVyb2t1IEZsb3csIGEgcHVzaCB0byBHaXRIdWIg + c3BpbnMgdXAgYW4gaW5zdGFuY2Ugb2YgbXkgYXBwbGljYXRpb24mIzgyMTE7 + Y2FsbGVkIGEgJiM4MjIwO3JldmlldyBhcHAuJiM4MjIxOyBJIGNhbiB0ZXN0 + IHRoZSByZXZpZXcgYXBwIGFuZCBkaXNjdXNzIGl0IHdpdGggbXkgdGVhbSYj + ODIxMTthbmQgaWYgaXQgd29ya3MsIEkgY2FuIGFwcHJvdmUgdGhlIGNoYW5n + ZXMgYW5kIHB1c2ggaXQgdG8gbWFzdGVyLCB3aGVyZSB0aGUgbmV3IHZlcnNp + b24gb2YgbXkgYXBwIHdpbGwgcnVuIGFnYWluc3QgY29udGludW91cyBpbnRl + Z3JhdGlvbiB0ZXN0aW5nIGJlZm9yZSBiZWluZyBwcm9tb3RlZCB0byBwcm9k + dWN0aW9uLiBIZXJva3UgRmxvdyBicmluZ3MgdGhlIEhlcm9rdSBkZXZlbG9w + ZXIgZXhwZXJpZW5jZSB0b2dldGhlciB3aXRoIGNvbnRpbnVvdXMgZGVsaXZl + cnkuIENoZWNrIGl0IG91dCBub3cgYXQgPGEgaHJlZj0iaHR0cDovL2hlcm9r + dS5jb20vZmxvdyI+SGVyb2t1LmNvbS9mbG93PC9hPi4gPC9kaXY+PC9wPgo8 + cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmthLWlu + LXRoZS1jbG91ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP2ZpdD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5NzgsNTIy + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9InRvcHRhbCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRh + bC5wbmc/Zml0PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUy + MiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBu + Zz9yZXNpemU9MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2 + MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5w + bmc/cmVzaXplPTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05Nzgg + OTc4dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+VG9wdGFsIGlzIHRoZSBiZXN0IHBsYWNlIHRv + IGZpbmQgcmVhc29uYWJseSBwcmljZWQsIGV4dHJlbWVseSB0YWxlbnRlZCBz + b2Z0d2FyZSBlbmdpbmVlcnMgdG8gYnVpbGQgeW91ciBwcm9qZWN0cyBmcm9t + IHNjcmF0Y2ggb3Igc2NhbGUgeW91ciB3b3JrZm9yY2UuIDxhIGhyZWY9Imh0 + dHA6Ly90b3B0YWwuY29tL3NlZGFpbHkiPkdldCBhIGZyZWUgcGFpciBvZiBB + cHBsZSBBaXJwb2RzIHdoZW4geW91IHVzZSBUb3B0YWwuY29tL3NlZGFpbHk8 + L2E+IHRvIHdvcmsgd2l0aCBhbiBlbmdpbmVlciBmb3IgYXQgbGVhc3QgMjAg + aG91cnMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3d3dy5pbmNhcHN1bGEu + Y29tL3NlZGFpbHk/dXRtX3NvdXJjZT1zZWRhaWx5JmFtcDt1dG1fbWVkaXVt + PW9yZ2FuaWMmYW1wO3V0bV9jYW1wYWlnbj0yMDE3X1EzX3BvZGNhc3QiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMTE2IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8w + OS9jeWJlci13YXJmYXJlLXdpdGgtamFyZWQtc21pdGgvaW5jYXBzdWxhLWxv + Z28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0PTUzMyUyQzEyNiIgZGF0YS1v + cmlnLXNpemU9IjUzMywxMjYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5jYXBzdWxhLWxvZ28iIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0PTMw + MCUyQzcxIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD01MzMlMkMxMjYiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzExNiBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dv + LnBuZz9yZXNpemU9MzAwJTJDNzEiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6 + ZT0zMDAlMkM3MSAzMDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAx + L2luY2Fwc3VsYS1sb2dvLnBuZz93PTUzMyA1MzN3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5J + bmNhcHN1bGEgaXMgYSBjbG91ZCBzZXJ2aWNlIHRoYXQgcHJvdGVjdHMgYXBw + bGljYXRpb25zIGZyb20gYXR0YWNrZXJzIGFuZCBpbXByb3ZlcyBwZXJmb3Jt + YW5jZS4gwqBCb3RuZXRzIGFuZCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tz + IGFyZSByZWNvZ25pemVkIGJ5IEluY2Fwc3VsYSBhbmQgYmxvY2tlZC4gVGhp + cyBwcm90ZWN0cyB5b3VyIEFQSSBzZXJ2ZXJzIGFuZCBtaWNyb3NlcnZpY2Vz + IGZyb20gcmVzcG9uZGluZyB0byB1bndhbnRlZCByZXF1ZXN0cy4gVG8gdHJ5 + IEluY2Fwc3VsYSwgZ28gdG8gPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBz + dWxhLmNvbS9zZWRhaWx5P3V0bV9zb3VyY2U9c2VkYWlseSZhbXA7dXRtX21l + ZGl1bT1vcmdhbmljJmFtcDt1dG1fY2FtcGFpZ249MjAxN19RM19wb2RjYXN0 + Ij5pbmNhcHN1bGEuY29tL3NlZGFpbHk8L2E+IGFuZCBnZXQgYSBtb250aCBm + cmVlIGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMu + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rp + dj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVu + Y2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWls + eS9QYXRlbnRzLm1wMyIgbGVuZ3RoPSI1NTA5MzE1OSIgdHlwZT0iYXVkaW8v + bXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPlBhdGVudHMgYWxsb3cgaW5k + aXZpZHVhbHMgYW5kIGNvbXBhbnkgdG8gbGF5IGNyZWF0aXZlIGNsYWltIGZv + ciBhbiBpbnZlbnRpb24uIEEgcGF0ZW50IGNhbiBwcm92aWRlIHByb3RlY3Rp + b24gZnJvbSBoYXZpbmcgaXRzIGlkZWEgYmVpbmcgdXNlZCB3aXRob3V0IGdp + dmluZyBjcmVkaXQgdG8gaXRzIGNyZWF0b3JzLiBPZiBjb3Vyc2UsIGlzIHRo + YXQgcGF0ZW50cyBjYW4gYmUgZmlsZWQgYW5kIG5vdCB0dXJuZWQgaW50byBw + cm9kdWN0cyw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+ + UGF0ZW50cyBhbGxvdyBpbmRpdmlkdWFscyBhbmQgY29tcGFueSB0byBsYXkg + Y3JlYXRpdmUgY2xhaW0gZm9yIGFuIGludmVudGlvbi4gQSBwYXRlbnQgY2Fu + IHByb3ZpZGUgcHJvdGVjdGlvbiBmcm9tIGhhdmluZyBpdHMgaWRlYSBiZWlu + ZyB1c2VkIHdpdGhvdXQgZ2l2aW5nIGNyZWRpdCB0byBpdHMgY3JlYXRvcnMu + IE9mIGNvdXJzZSwgaXMgdGhhdCBwYXRlbnRzIGNhbiBiZSBmaWxlZCBhbmQg + bm90IHR1cm5lZCBpbnRvIHByb2R1Y3RzLCBpbmhpYml0aW5nIGlubm92YXRp + b24uIFBhdGVudHMgY2FuIGFsc28gYmUgdXNlZCBvZmZlbnNpdmVseSBpbiBh + IHByYWN0aWNlIGtub3duIGFzIHBhdGVudCB0cm9sbGluZy4gTGFyZ2UgY29t + cGFuaWVzIGxpa2UgSUJNIGFuZCBHb29nbGUgaGF2ZSBzbyBtYW55IHBhdGVu + dHMgdGhhdCB0aGV5IGhhdmVDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41Nzox + MDwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRw + cmVzczpmZWVkLWFkZGl0aW9uczoxIj4zNzg3PC9wb3N0LWlkPgkJPC9pdGVt + Pg0KCTxpdGVtPg0KCQk8dGl0bGU+SGVhbHRoIFdlYXJhYmxlcyB3aXRoIEhh + aXlhbiBaaGFuZzwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMzEvaGVhbHRoLXdlYXJhYmxl + cy13aXRoLWhhaXlhbi16aGFuZy88L2xpbms+DQoJCTxwdWJEYXRlPk1vbiwg + MzEgSnVsIDIwMTcgMDk6MDA6MTMgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlk + IGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vP3A9Mzc4NjwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMzEvaGVh + bHRoLXdlYXJhYmxlcy13aXRoLWhhaXlhbi16aGFuZy8jY29tbWVudHM8L2Nv + bW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8zMS9oZWFsdGgtd2VhcmFibGVz + LXdpdGgtaGFpeWFuLXpoYW5nL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJ + PHNsYXNoOmNvbW1lbnRzPjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbSGFja2Vyc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtFZGFlbmEgU2FsaW5hc11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0VtbWFdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtIYWl5YW4gWmhhbmddXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtoZWFsdGggd2VhcmFibGVzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSU9UXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbUGFya2luc29uJ3MgYnJhY2VsZXRdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtXb21lbiBpbiBUZWNoIFNob3dd + XT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5XZWFyYWJsZXMgYXJlIGV2 + ZXJ5d2hlcmUuIEluIHRoZSBtZWRpY2FsIGZpZWxkIHRoZXkgYXJlIHRyYW5z + Zm9ybWluZyBsaXZlcy4gSGFpeWFuIFpoYW5nLCBJbm5vdmF0aW9uIERpcmVj + dG9yIGF0IE1pY3Jvc29mdCBSZXNlYXJjaCwgY3JlYXRlZCBhIHdlYXJhYmxl + IGZvciBhIHlvdW5nIGdyYXBoaWMgZGVzaWduZXIgdGhhdCBkZXZlbG9wZWQg + UGFya2luc29u4oCZcy4gUGFya2luc29u4oCZcyBpcyBhIGNvbmRpdGlvbiB0 + aGF0IGluaGliaXRzIG1vdmVtZW50LCBhbmQgdGhpcyB3ZWFyYWJsZSBhbGxv + d3MgdGhlIFBhcmtpbnNvbuKAmXMgcGF0aWVudCB0byB3cml0ZSBhbmQgZHJh + dyBhZ2Fpbi4gSGFpeWFuIGV4cGxhaW5lZCB0aGUgcmVzZWFyY2ggcHJvY2Vz + cyBhbmQgdGhlIHRlY2huaWNhbCBhc3BlY3RzIG9mIGhvdyBpdCB3b3Jrcy4g + RWRhZW5hIFNhbGluYXMgb2YgVGhlIFdvbWVuIGluIFRlY2ggU2hvdyBpbnRl + cnZpZXdlZCZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA3LzMxL2hlYWx0aC13ZWFyYWJsZXMtd2l0 + aC1oYWl5YW4temhhbmcvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4m + bHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1h + bmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3 + NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdo + dCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRp + dXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRo + OiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvODgyNzA2Nzcx + OTk0OTgwMzUzL1U1MXhXbENsXzQwMHg0MDAuanBnP3Jlc2l6ZT0xNzUlMkMx + NzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+Cjxw + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2VhcmFibGVzIGFy + ZSBldmVyeXdoZXJlLiBJbiB0aGUgbWVkaWNhbCBmaWVsZCB0aGV5IGFyZSB0 + cmFuc2Zvcm1pbmcgbGl2ZXMuIEhhaXlhbiBaaGFuZywgSW5ub3ZhdGlvbiBE + aXJlY3RvciBhdCBNaWNyb3NvZnQgUmVzZWFyY2gsIGNyZWF0ZWQgYSB3ZWFy + YWJsZSBmb3IgYSB5b3VuZyBncmFwaGljIGRlc2lnbmVyIHRoYXQgZGV2ZWxv + cGVkIFBhcmtpbnNvbuKAmXMuIFBhcmtpbnNvbuKAmXMgaXMgYSBjb25kaXRp + b24gdGhhdCBpbmhpYml0cyBtb3ZlbWVudCwgYW5kIHRoaXMgd2VhcmFibGUg + YWxsb3dzIHRoZSBQYXJraW5zb27igJlzIHBhdGllbnQgdG8gd3JpdGUgYW5k + IGRyYXcgYWdhaW4uIEhhaXlhbiBleHBsYWluZWQgdGhlIHJlc2VhcmNoIHBy + b2Nlc3MgYW5kIHRoZSB0ZWNobmljYWwgYXNwZWN0cyBvZiBob3cgaXQgd29y + a3MuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5FZGFlbmEgU2FsaW5hcyBvZiA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6 + Ly90aGV3b21lbmludGVjaHNob3cuY29tLyI+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5UaGUgV29tZW4gaW4gVGVjaCBTaG93PC9zcGFuPjwv + YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiBpbnRlcnZpZXdl + ZCBIYWl5YW4gZm9yIHRoaXMgZXBpc29kZS4gVGhleSB0YWxrZWQgYWJvdXQg + dGhlIEludGVybmV0IG9mIFRoaW5ncywgdGhlIGNvbXBvbmVudHMgb2YgdGhl + c2Ugc3lzdGVtcyBhbmQgdGhlIHRlY2huaWNhbCBjaGFsbGVuZ2VzLiBIYWl5 + YW4gYWxzbyBleHBsYWluZWQgaGVyIHBhdGggZnJvbSBzb2Z0d2FyZSBlbmdp + bmVlcmluZyB0byBkZXNpZ24gYW5kIHRoZSBwcm9jZXNzIG9mIGNvbW1lcmNp + YWxpemluZyBwcm9kdWN0cyB0aGF0IGNvbWUgZnJvbSByZXNlYXJjaC48L3Nw + YW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJv + dmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6 + Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20v + c2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMg + b2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4g + VGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0 + aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvU0VEMzg0LUhlYWx0aC1XZWFyYWJsZXMucGRmIj5jbGljayBoZXJlIHRv + IHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+ + U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9z + ZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzEyNSIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDEvMTMvY29sdW1uYXItZGF0YS1hcGFjaGUtYXJyb3ctYW5kLXBh + cnF1ZXQtd2l0aC1qdWxpZW4tbGUtZGVtLWFuZC1qYWNxdWVzLW5hZGVhdS92 + aXZpZGNvcnRleC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIg + ZGF0YS1vcmlnLXNpemU9IjEwMjIsMjU4IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IlZpdmlkQ29ydGV4IiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP2ZpdD0z + MDAlMkM3NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTI1IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5n + P3Jlc2l6ZT0zMDAlMkM3NiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAwJTJDNzYgMzAw + dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5w + bmc/cmVzaXplPTc2OCUyQzE5NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9NzIwJTJDMTgyIDcy + MHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgu + cG5nP3c9MTAyMiAxMDIydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+Vml2aWRDb3J0ZXggaXMg + dGhlIGJlc3Qgd2F5IHRvIGltcHJvdmUgeW91ciBkYXRhYmFzZSBwZXJmb3Jt + YW5jZSwgZWZmaWNpZW5jeSwgYW5kIHVwdGltZS4gSXQmIzgyMTc7cyBhIGNs + b3VkLWhvc3RlZCBtb25pdG9yaW5nIHBsYXRmb3JtIHRoYXQgZWxpbWluYXRl + cyB5b3VyIG1vc3QgY3JpdGljYWwgdmlzaWJpbGl0eSBnYXAsIHByb3ZpZGlu + ZyBpbnNpZ2h0cyBhdCAxLXNlY29uZCBncmFudWxhcml0eSBpbnRvIHByb2R1 + Y3Rpb24gZGF0YWJhc2Ugd29ya2xvYWQgYW5kIHF1ZXJ5IHBlcmZvcm1hbmNl + LiBJdCBtZWFzdXJlcyB0aGUgZXhlY3V0aW9uIGFuZCByZXNvdXJjZSBjb25z + dW1wdGlvbiBvZiBldmVyeSBzdGF0ZW1lbnQgYW5kIHRyYW5zYWN0aW9uLCBz + byB5b3UgY2FuIHByb2FjdGl2ZWx5IGZpeCBmdXR1cmUgZGF0YWJhc2UgaXNz + dWVzIGJlZm9yZSB0aGV5IGltcGFjdCBjdXN0b21lcnMuIFRvIGxlYXJuIG1v + cmUsIHZpc2l0PGEgaHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRh + aWx5Ij4gdml2aWRjb3J0ZXguY29tL3NlZGFpbHk8L2E+IGFuZCBmaW5kIG91 + dCB3aHkgY29tcGFuaWVzIGxpa2UgR2l0aHViLCBEaWdpdGFsT2NlYW4sIGFu + ZCBZZWxwIGFsbCB1c2UgVml2aWRDb3J0ZXggdG8gc2VlIGRlZXBlciBpbnRv + IHRoZWlyIGRhdGFiYXNlIHBlcmZvcm1hbmNlLiBMZWFybiBtb3JlIGF0PGEg + aHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2aWRj + b3J0ZXguY29tL3NlZGFpbHk8L2E+LCBhbmQgZ2V0IHN0YXJ0ZWQgdG9kYXkh + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vZGF0YWRvZyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMy + MzYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9rd2xvZ29zL2RhdGFkb2cvZGF0YWRvZ19sb2dvLyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0 + YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgZGF0YS1vcmlnLXNpemU9 + IjEwMjQsNTEyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImRhdGFkb2dfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTMwMCUyQzE1MCIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2Rh + dGFkb2dfbG9nby5wbmc/Zml0PTEwMjQlMkM1MTIiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzIzNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMw + MCUyQzE1MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAgMzAw + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28u + cG5nP3Jlc2l6ZT03NjglMkMzODQgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3c9MTAyNCAxMDI0dywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jl + c2l6ZT03MjAlMkMzNjAgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGF0YWRvZyBicmlu + Z3MgeW91IHZpc2liaWxpdHkgaW50byBldmVyeSBwYXJ0IG9mIHlvdXIgaW5m + cmFzdHJ1Y3R1cmUsIHBsdXMgQVBNIGZvciBtb25pdG9yaW5nIHlvdXIgYXBw + bGljYXRpb24mIzgyMTc7cyBwZXJmb3JtYW5jZS4gRGFzaGJvYXJkaW5nLCBj + b2xsYWJvcmF0aW9uIHRvb2xzLCBhbmQgYWxlcnRzIGxldCB5b3UgZGV2ZWxv + cCB5b3VyIG93biB3b3JrZmxvdyBmb3Igb2JzZXJ2YWJpbGl0eSBhbmQgaW5j + aWRlbnQgcmVzcG9uc2UuIERhdGFkb2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5 + IHdpdGggYWxsIG9mIHlvdXIgYXBwcyBhbmQgc3lzdGVtcywgZnJvbSBTbGFj + ayB0byBBbWF6b24gV2ViIFNlcnZpY2VzLCBzbyB5b3UgY2FuIGdldCB2aXNp + YmlsaXR5IGluIG1pbnV0ZXMuIEdvIHRvwqA8YSBocmVmPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIiB0YXJnZXQ9Il9i + bGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIj5zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuPHdicj48L3dicj5jb20vZGF0YWRvZzwv + YT7CoHRvIGdldCBzdGFydGVkIHdpdGggRGF0YWRvZyBhbmQgZ2V0IGEgZnJl + ZSB0LXNoaXJ0LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5vcmcv + c2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxNzUiIGRhdGEt + cGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0d29ya3NfZ29fYmxhY2tfZWRpdC8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3 + L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5 + IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJUaG91Z2h0V29ya3NfR29f + YmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3Vn + aHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9MzAwJTJDMjMwIiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2ZpdD02MTIlMkM0NjkiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3NSBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19H + b19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jr + c19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJDMjMwIDMwMHcsIGh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2Js + YWNrX2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlNpbXBsaWZ5 + IGNvbnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBHb0NELCB0aGUgb24tcHJlbWlz + ZSwgb3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG9vbCBieSBU + aG91Z2h0V29ya3MuIFdpdGggR29DRCwgeW91IGNhbiBlYXNpbHkgbW9kZWwg + Y29tcGxleCBkZXBsb3ltZW50IHdvcmtmbG93cyB1c2luZyBwaXBlbGluZXMg + YW5kIHZpc3VhbGl6ZSB0aGVtIGVuZC10by1lbmQgd2l0aCB0aGUgVmFsdWUg + U3RyZWFtIE1hcC4gWW91IGdldCBjb21wbGV0ZSB2aXNpYmlsaXR5IGludG8g + YW5kIGNvbnRyb2wgb2YgeW91ciBjb21wYW554oCZcyBkZXBsb3ltZW50cy4g + QXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3Jn + L3NlZGFpbHk8L2E+LCBmaW5kIG91dCBob3cgdG8gYnJpbmcgY29udGludW91 + cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkgZ29vZGJ5ZSB0byBkZXBs + b3ltZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVkaWN0 + YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhyZWY9Imh0dHA6Ly9nb2NkLm9y + Zy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwvYT4gdG8gbGVhcm4gbW9y + ZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJp + c2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUg + YXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29k + ZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4u + Y29tL3NlZGFpbHkvSGVhbHRoV2VhcmFibGVzLm1wMyIgbGVuZ3RoPSIyODc4 + ODU1MCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxl + PldlYXJhYmxlcyBhcmUgZXZlcnl3aGVyZS4gSW4gdGhlIG1lZGljYWwgZmll + bGQgdGhleSBhcmUgdHJhbnNmb3JtaW5nIGxpdmVzLiBIYWl5YW4gWmhhbmcs + IElubm92YXRpb24gRGlyZWN0b3IgYXQgTWljcm9zb2Z0IFJlc2VhcmNoLCBj + cmVhdGVkIGEgd2VhcmFibGUgZm9yIGEgeW91bmcgZ3JhcGhpYyBkZXNpZ25l + ciB0aGF0IGRldmVsb3BlZCBQYXJraW5zb27igJlzLjwvaXR1bmVzOnN1YnRp + dGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5XZWFyYWJsZXMgYXJlIGV2ZXJ5d2hl + cmUuIEluIHRoZSBtZWRpY2FsIGZpZWxkIHRoZXkgYXJlIHRyYW5zZm9ybWlu + ZyBsaXZlcy4gSGFpeWFuIFpoYW5nLCBJbm5vdmF0aW9uIERpcmVjdG9yIGF0 + IE1pY3Jvc29mdCBSZXNlYXJjaCwgY3JlYXRlZCBhIHdlYXJhYmxlIGZvciBh + IHlvdW5nIGdyYXBoaWMgZGVzaWduZXIgdGhhdCBkZXZlbG9wZWQgUGFya2lu + c29u4oCZcy4gUGFya2luc29u4oCZcyBpcyBhIGNvbmRpdGlvbiB0aGF0IGlu + aGliaXRzIG1vdmVtZW50LCBhbmQgdGhpcyB3ZWFyYWJsZSBhbGxvd3MgdGhl + IFBhcmtpbnNvbuKAmXMgcGF0aWVudCB0byB3cml0ZSBhbmQgZHJhdyBhZ2Fp + bi4gSGFpeWFuIGV4cGxhaW5lZCB0aGUgcmVzZWFyY2ggcHJvY2VzcyBhbmQg + dGhlIHRlY2huaWNhbCBhc3BlY3RzIG9mIGhvdyBpdCB3b3Jrcy4gRWRhZW5h + IFNhbGluYXMgb2YgVGhlIFdvbWVuIGluIFRlY2ggU2hvdyBpbnRlcnZpZXdl + ZENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVu + ZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6 + YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBs + aWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjI5OjQ2PC9pdHVuZXM6ZHVyYXRp + b24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRp + b25zOjEiPjM3ODY8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0 + aXRsZT5TZWxmLURyaXZpbmcgRGVlcCBMZWFybmluZyB3aXRoIExleCBGcmlk + bWFuPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wNy8yOC9zZWxmLWRyaXZpbmctZGVlcC1sZWFy + bmluZy13aXRoLWxleC1mcmlkbWFuLzwvbGluaz4NCgkJPHB1YkRhdGU+RnJp + LCAyOCBKdWwgMjAxNyAwOTowMDo1MyArMDAwMDwvcHViRGF0ZT4NCgkJPGd1 + aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8/cD0zNzg1PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yOC9z + ZWxmLWRyaXZpbmctZGVlcC1sZWFybmluZy13aXRoLWxleC1mcmlkbWFuLyNj + b21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzI4L3NlbGYt + ZHJpdmluZy1kZWVwLWxlYXJuaW5nLXdpdGgtbGV4LWZyaWRtYW4vZmVlZC88 + L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MTwvc2xhc2g6 + Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtHcmVhdGVzdCBI + aXRzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWFjaGlu + ZSBMZWFybmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVth + dXRvbW9iaWxlIHNvZnR3YXJlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbYXV0b25vbW91cyB2ZWhpY2xlc11dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW0xleCBGcmlkbWFuXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTUlUXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbc2VsZi1kcml2aW5nIGNhcnNdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtUZXNsYSBBdXRvcGlsb3RdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtXYXltb11dPjwvY2F0ZWdv + cnk+CgkJPGRlc2NyaXB0aW9uPlNlbGYtZHJpdmluZyBjYXJzIGFyZSBoZXJl + LiBGdWxseSBhdXRvbm9tb3VzIHN5c3RlbXMgbGlrZSBXYXltbyBhcmUgYmVp + bmcgcGlsb3RlZCBpbiBsZXNzIGNvbXBsZXggY2lyY3Vtc3RhbmNlcy4gSHVt + YW4taW4tdGhlLWxvb3Agc3lzdGVtcyBsaWtlIFRlc2xhIEF1dG9waWxvdCBu + YXZpZ2F0ZSBkcml2ZXJzIHdoZW4gaXQgaXMgc2FmZSB0byBkbyBzbywgYW5k + IGxldHMgdGhlIGh1bWFuIHRha2UgY29udHJvbCBpbiBhbWJpZ3VvdXMgY2ly + Y3Vtc3RhbmNlcy4gQ29tcHV0ZXJzIGFyZSBncmVhdCBhdCBtZW1vcml6YXRp + b24sIGJ1dCBub3QgeWV0IGdyZWF0IGF0IHJlYXNvbmluZy4gV2UgY2Fubm90 + IGVudW1lcmF0ZSB0byBhIGNvbXB1dGVyIGV2ZXJ5IHNpbmdsZSBjaXJjdW1z + dGFuY2UgdGhhdCBhIGNhciBtaWdodCBmaW5kIGl0c2VsZiBpbi4gVGhlIGNv + bXB1dGVyIG5lZWRzIHRvJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29u + dGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMjgvc2VsZi1kcml2aW5n + LWRlZXAtbGVhcm5pbmctd2l0aC1sZXgtZnJpZG1hbi8mcXVvdDsmZ3Q7Q29u + dGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlw + dGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29v + Z2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5k + YW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBz + dHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAj + MDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsi + IHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc2VsZmRyaXZpbmdjYXJzLm1pdC5l + ZHUvZmlsZXMvcGVvcGxlL2xleC5qcGc/cmVzaXplPTE3NSUyQzE3NSIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+U2VsZi1kcml2aW5nIGNhcnMgYXJlIGhlcmUuIEZ1 + bGx5IGF1dG9ub21vdXMgc3lzdGVtcyBsaWtlIFdheW1vIGFyZSBiZWluZyBw + aWxvdGVkIGluIGxlc3MgY29tcGxleCBjaXJjdW1zdGFuY2VzLiBIdW1hbi1p + bi10aGUtbG9vcCBzeXN0ZW1zIGxpa2UgVGVzbGEgQXV0b3BpbG90IG5hdmln + YXRlIGRyaXZlcnMgd2hlbiBpdCBpcyBzYWZlIHRvIGRvIHNvLCBhbmQgbGV0 + cyB0aGUgaHVtYW4gdGFrZSBjb250cm9sIGluIGFtYmlndW91cyBjaXJjdW1z + dGFuY2VzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+Q29tcHV0ZXJzIGFyZSBncmVhdCBhdCBtZW1vcml6YXRpb24s + IGJ1dCBub3QgeWV0IGdyZWF0IGF0IHJlYXNvbmluZy4gV2UgY2Fubm90IGVu + dW1lcmF0ZSB0byBhIGNvbXB1dGVyIGV2ZXJ5IHNpbmdsZSBjaXJjdW1zdGFu + Y2UgdGhhdCBhIGNhciBtaWdodCBmaW5kIGl0c2VsZiBpbi4gVGhlIGNvbXB1 + dGVyIG5lZWRzIHRvIHBlcmNlaXZlIGl0cyBzdXJyb3VuZGluZ3MsIHBsYW4g + aG93IHRvIHRha2UgYWN0aW9uLCBleGVjdXRlIGNvbnRyb2wgb3ZlciB0aGUg + c2l0dWF0aW9uLCBhbmQgcmVzcG9uZCB0byBjaGFuZ2luZyBjaXJjdW1zdGFu + Y2VzIGluc2lkZSBhbmQgb3V0c2lkZSBvZiB0aGUgY2FyLjwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+TGV4IEZyaWRt + YW4gaGFzIHdvcmtlZCBvbiBhdXRvbm9tb3VzIHZlaGljbGVzIHdpdGggY29t + cGFuaWVzIGxpa2UgR29vZ2xlIGFuZCBUZXNsYS4gSGUgcmVjZW50bHkgdGF1 + Z2h0IGEgY2xhc3Mgb24gZGVlcCBsZWFybmluZyBmb3Igc2VtaS1hdXRvbm9t + b3VzIHZlaGljbGVzIGF0IE1JVCwgd2hpY2ggaXMgZnJlZWx5IGF2YWlsYWJs + ZSBvbmxpbmUuIFRoZXJlIHdhcyBzbyBtdWNoIGdyb3VuZCB0byBjb3ZlciBp + biB0aGlzIGNvbnZlcnNhdGlvbi4gTW9zdCBvZiB0aGUgY29udmVyc2F0aW9u + IHdhcyBoaWdoZXIgbGV2ZWwuIEhvdyBkbyB5b3UgZXZlbiBhcHByb2FjaCB0 + aGUgcHJvYmxlbT8gV2hhdCBpcyB0aGUgaGFyZHdhcmUgYW5kIHNvZnR3YXJl + IGFyY2hpdGVjdHVyZSBvZiBhIGNhcj88L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkkgZW5qb3llZCB0YWxraW5nIHRv + IExleCwgYW5kIGlmIHlvdSB3YW50IHRvIGhlYXIgbW9yZSBmcm9tIGhpbSBj + aGVjayBvdXQgaGlzIHBvZGNhc3QgPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly90 + YWtlaXR1bmVhc3kuY29tLyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5UYWtlIEl0IFVuZWFzeTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij4sIHdoaWNoIGlzIGFib3V0IGppdSBqaXRzdSwg + anVkbywgd3Jlc3RsaW5nLCBhbmQgbGVhcm5pbmcuPC9zcGFuPjwvcD4KPGgy + PlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdl + IEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxp + c3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9k + Y2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRv + IGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVk + aXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBX + ZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHku + IFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1NFRDM4My1T + ZWxmLURyaXZpbmctRGVlcC1MZWFybmluZy5wZGYiPmNsaWNrIGhlcmUgdG8g + dmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5T + cG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIxNTgzIiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8w + MS8wNC9kaXN0cmlidXRlZC1zeXN0ZW1zLXdpdGgtYWx2YXJvLXZpZGVsYS9o + aXJlZC1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0 + YS1vcmlnLXNpemU9IjI2MCwxMzAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaGlyZWQtbG9nbyIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMx + MzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTE1ODMgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/cmVzaXplPTI2 + MCUyQzEzMCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVl + biB0aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJ + ZiB5b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUg + YmVlbiB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92 + ZSwgZ28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+ + aGlyZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdv + cmsgZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1t + YXRjaGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2 + b2NhdGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBv + ZiBmaW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJo + dHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9h + PsKgdG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJv + bnVzIGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0 + aGF0IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91 + IGRlc2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAv + Pgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL2J1Z3NuYWcuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzNzIwIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9idWdzbmFnL2J1 + Z3NuYWdfbG9nby0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MzAxMCUyQzg2 + NiIgZGF0YS1vcmlnLXNpemU9IjMwMTAsODY2IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkJ1Z3NuYWdfbG9nbyIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/ + Zml0PTMwMCUyQzg2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzI5 + NSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIwIHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9yZXNpemU9MzAwJTJDODYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNp + emU9MzAwJTJDODYgMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMyMjEgNzY4dywgaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jl + c2l6ZT0xMDI0JTJDMjk1IDEwMjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/cmVzaXplPTcyMCUyQzIwNyA3MjB3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5w + bmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEw + MHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5CdWdzbmFnIGlzIGFuIGF1 + dG9tYXRpYyBlcnJvci1tb25pdG9yaW5nIHBsYXRmb3JtIHRoYXQgaGVscHMg + ZGV2ZWxvcGVycyB1bmRlcnN0YW5kIHRoZSBpbXBhY3Qgb2YgYXBwbGljYXRp + b24gZXJyb3JzIGFuZCBmaXggdGhlIG9uZXMgdGhhdCBtYXR0ZXIgaW4gYSB0 + aW1lLWVmZmljaWVudCBhbmQgZW5qb3lhYmxlIHdheS7CoEJ1Z3NuYWfigJlz + IG9wZW4gc291cmNlIGVycm9yIHJlcG9ydGluZyBsaWJyYXJpZXMgYXV0b21h + dGljYWxseSBjYXB0dXJlIGVycm9ycyBhbmQgcHJvdmlkZSBpbi1kZXB0aCBk + aWFnbm9zdGljIHJlcG9ydHMgYWNyb3NzIGFsbCBtYWpvciBwcm9ncmFtbWlu + ZyBsYW5ndWFnZXMgYW5kIGZyYW1ld29ya3MuIERpYWdub3N0aWMgcmVwb3J0 + cyBjb25zb2xpZGF0ZSB0aGUgaW5mb3JtYXRpb24geW91IG5lZWQgdG8gcmVw + cm9kdWNlIGVycm9ycyBpbiBvbmUgcGxhY2UsIGluY2x1ZGluZyB0aGUgc3Rh + Y2t0cmFjZS4gRXJyb3JzIGFyZSBncm91cGVkIGJ5IHJvb3QgY2F1c2UgYW5k + IG1hcHBlZCB0byB1c2VycyBzbyB5b3UgY2FuIGVhc2lseSBpZGVudGlmeSB3 + aGljaCBlcnJvcnMgYXJlIHRoZSBtb3N0IHdpZGVzcHJlYWQgYW5kIGFmZmVj + dCB0aGUgZ3JlYXRlc3QgYW1vdW50IG9mIHVzZXJzLiBJbnRlZ3JhdGUgd2l0 + aCBTbGFjayBhbmQgUGFnZXJEdXR5IHRvIGdldCBub3RpZmllZCBpbiByZWFs + LXRpbWUgb2YgbmV3IGVycm9ycyBhbmQgc3Bpa2VzIGluIHlvdXIgZXJyb3Ig + cmF0ZS4gVGhlbiwgaW50ZWdyYXRlIHdpdGggeW91ciBpc3N1ZSB0cmFja2Vy + IG9yIHVzZSBCdWdzbmFn4oCZcyB3b3JrZmxvdyB0byBoZWxwIHlvdSBtb3Zl + IGVycm9ycyB0aHJvdWdoIHlvdXIgZGVidWdnaW5nIHByb2Nlc3MgYW5kIGdl + dCB0aGVtIGZpeGVkIGZvciB5b3VyIHVzZXJzLiDCoEFpcmJuYiwgTHlmdCwg + YW5kIFNob3BpZnkgYWxsIHVzZSBCdWdzbmFnIGZvciBlcnJvci1tb25pdG9y + aW5nLiBHZXQgdXAgYW5kIHJ1bm5pbmcgaW4gdGhyZWUgbWludXRlcy4gVHJ5 + wqBhbGwgZmVhdHVyZXMgZnJlZSBmb3IgMTQgZGF5cyBhdCA8YSBocmVmPSJo + dHRwczovL3d3dy5idWdzbmFnLmNvbS9zZWRhaWx5Ij5idWdzbmFnLmNvbS9z + ZWRhaWx5PC9hPi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vdG9wdGFsLmNv + bS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzczOSIgZGF0 + YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDcvMTAva2Fma2EtaW4tdGhlLWNsb3VkLXdpdGgtbmVoYS1u + YXJraGVkZS90b3B0YWwtMi8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIg + ZGF0YS1vcmlnLXNpemU9Ijk3OCw1MjIiIGRhdGEtY29tbWVudHMtb3BlbmVk + PSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9u + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRl + cl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsw + JnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0idG9wdGFsIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9MzAwJTJDMTYwIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + dG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTM3Mzkgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9w + dGFsLnBuZz9yZXNpemU9MzAwJTJDMTYwIDMwMHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9NzY4JTJDNDEwIDc2 + OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9y + ZXNpemU9NzIwJTJDMzg0IDcyMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvdG9wdGFsLnBuZz93PTk3OCA5Nzh3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5Ub3B0 + YWwgaXMgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCByZWFzb25hYmx5IHByaWNl + ZCwgZXh0cmVtZWx5IHRhbGVudGVkIHNvZnR3YXJlIGVuZ2luZWVycyB0byBi + dWlsZCB5b3VyIHByb2plY3RzIGZyb20gc2NyYXRjaCBvciBzY2FsZSB5b3Vy + IHdvcmtmb3JjZS4gPGEgaHJlZj0iaHR0cDovL3RvcHRhbC5jb20vc2VkYWls + eSI+R2V0IGEgZnJlZSBwYWlyIG9mIEFwcGxlIEFpcnBvZHMgd2hlbiB5b3Ug + dXNlIFRvcHRhbC5jb20vc2VkYWlseTwvYT4gdG8gd29yayB3aXRoIGFuIGVu + Z2luZWVyIGZvciBhdCBsZWFzdCAyMCBob3Vycy48L2Rpdj48YnIgLz4KPC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ci + PjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjMxMjUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAxLzEzL2NvbHVtbmFy + LWRhdGEtYXBhY2hlLWFycm93LWFuZC1wYXJxdWV0LXdpdGgtanVsaWVuLWxl + LWRlbS1hbmQtamFjcXVlcy1uYWRlYXUvdml2aWRjb3J0ZXgvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENv + cnRleC5wbmc/Zml0PTEwMjIlMkMyNTgiIGRhdGEtb3JpZy1zaXplPSIxMDIy + LDI1OCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJWaXZpZENvcnRleCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL1ZpdmlkQ29ydGV4LnBuZz9maXQ9MzAwJTJDNzYiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRl + eC5wbmc/Zml0PTEwMjIlMkMyNTgiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMzEyNSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAwJTJDNzYiIHNy + Y3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRl + eC5wbmc/cmVzaXplPTMwMCUyQzc2IDMwMHcsIGh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT03NjglMkMxOTQg + NzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRl + eC5wbmc/cmVzaXplPTcyMCUyQzE4MiA3MjB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz93PTEwMjIgMTAyMnciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPlZpdmlkQ29ydGV4IGlzIHRoZSBiZXN0IHdheSB0byBpbXBy + b3ZlIHlvdXIgZGF0YWJhc2UgcGVyZm9ybWFuY2UsIGVmZmljaWVuY3ksIGFu + ZCB1cHRpbWUuIEl0JiM4MjE3O3MgYSBjbG91ZC1ob3N0ZWQgbW9uaXRvcmlu + ZyBwbGF0Zm9ybSB0aGF0IGVsaW1pbmF0ZXMgeW91ciBtb3N0IGNyaXRpY2Fs + IHZpc2liaWxpdHkgZ2FwLCBwcm92aWRpbmcgaW5zaWdodHMgYXQgMS1zZWNv + bmQgZ3JhbnVsYXJpdHkgaW50byBwcm9kdWN0aW9uIGRhdGFiYXNlIHdvcmts + b2FkIGFuZCBxdWVyeSBwZXJmb3JtYW5jZS4gSXQgbWVhc3VyZXMgdGhlIGV4 + ZWN1dGlvbiBhbmQgcmVzb3VyY2UgY29uc3VtcHRpb24gb2YgZXZlcnkgc3Rh + dGVtZW50IGFuZCB0cmFuc2FjdGlvbiwgc28geW91IGNhbiBwcm9hY3RpdmVs + eSBmaXggZnV0dXJlIGRhdGFiYXNlIGlzc3VlcyBiZWZvcmUgdGhleSBpbXBh + Y3QgY3VzdG9tZXJzLiBUbyBsZWFybiBtb3JlLCB2aXNpdDxhIGhyZWY9Imh0 + dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IHZpdmlkY29ydGV4LmNv + bS9zZWRhaWx5PC9hPiBhbmQgZmluZCBvdXQgd2h5IGNvbXBhbmllcyBsaWtl + IEdpdGh1YiwgRGlnaXRhbE9jZWFuLCBhbmQgWWVscCBhbGwgdXNlIFZpdmlk + Q29ydGV4IHRvIHNlZSBkZWVwZXIgaW50byB0aGVpciBkYXRhYmFzZSBwZXJm + b3JtYW5jZS4gTGVhcm4gbW9yZSBhdDxhIGhyZWY9Imh0dHA6Ly92aXZpZGNv + cnRleC5jb20vc2VkYWlseSI+IHZpdmlkY29ydGV4LmNvbS9zZWRhaWx5PC9h + PiwgYW5kIGdldCBzdGFydGVkIHRvZGF5ITwvZGl2PjxiciAvPgo8L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNv + ZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3lu + LmNvbS9zZWRhaWx5L1NlbGZEcml2aW5nRGVlcExlYXJuaW5nLm1wMyIgbGVu + Z3RoPSI1NjkyMDAzOCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVz + OnN1YnRpdGxlPlNlbGYtZHJpdmluZyBjYXJzIGFyZSBoZXJlLiBGdWxseSBh + dXRvbm9tb3VzIHN5c3RlbXMgbGlrZSBXYXltbyBhcmUgYmVpbmcgcGlsb3Rl + ZCBpbiBsZXNzIGNvbXBsZXggY2lyY3Vtc3RhbmNlcy4gSHVtYW4taW4tdGhl + LWxvb3Agc3lzdGVtcyBsaWtlIFRlc2xhIEF1dG9waWxvdCBuYXZpZ2F0ZSBk + cml2ZXJzIHdoZW4gaXQgaXMgc2FmZSB0byBkbyBzbywgYW5kIGxldHMgdGhl + IGh1bWFuIHRha2UgY29udHJvbCBpbiBhbWJpZ3VvdXMgY2lyYy4uLjwvaXR1 + bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5TZWxmLWRyaXZpbmcg + Y2FycyBhcmUgaGVyZS4gRnVsbHkgYXV0b25vbW91cyBzeXN0ZW1zIGxpa2Ug + V2F5bW8gYXJlIGJlaW5nIHBpbG90ZWQgaW4gbGVzcyBjb21wbGV4IGNpcmN1 + bXN0YW5jZXMuIEh1bWFuLWluLXRoZS1sb29wIHN5c3RlbXMgbGlrZSBUZXNs + YSBBdXRvcGlsb3QgbmF2aWdhdGUgZHJpdmVycyB3aGVuIGl0IGlzIHNhZmUg + dG8gZG8gc28sIGFuZCBsZXRzIHRoZSBodW1hbiB0YWtlIGNvbnRyb2wgaW4g + YW1iaWd1b3VzIGNpcmN1bXN0YW5jZXMuIENvbXB1dGVycyBhcmUgZ3JlYXQg + YXQgbWVtb3JpemF0aW9uLCBidXQgbm90IHlldCBncmVhdCBhdCByZWFzb25p + bmcuIFdlIGNhbm5vdCBlbnVtZXJhdGUgdG8gYSBjb21wdXRlciBldmVyeSBz + aW5nbGUgY2lyY3Vtc3RhbmNlIHRoYXQgYSBjYXIgbWlnaHQgZmluZCBpdHNl + bGYgaW4uIFRoZSBjb21wdXRlciBuZWVkcyB0b0NvbnRpbnVlIHJlYWRpbmcu + Li48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6 + ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1 + cmF0aW9uPjU5OjA1PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5z + PSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3ODU8L3Bvc3Qt + aWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5NaWNyb3NvZnQgRGV2 + ZWxvcGVycyB3aXRoIEphc29uIFlvdW5nIGFuZCBDYXJsIFNjaHdlaXR6ZXI8 + L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA3LzI3L21pY3Jvc29mdC1kZXZlbG9wZXJzLXdpdGgt + amFzb24teW91bmctYW5kLWNhcmwtc2Nod2VpdHplci88L2xpbms+DQoJCTxw + dWJEYXRlPlRodSwgMjcgSnVsIDIwMTcgMDk6MDA6MDggKzAwMDA8L3B1YkRh + dGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzc4MzwvZ3VpZD4NCgkJPGNv + bW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDcvMjcvbWljcm9zb2Z0LWRldmVsb3BlcnMtd2l0aC1qYXNvbi15b3Vu + Zy1hbmQtY2FybC1zY2h3ZWl0emVyLyNjb21tZW50czwvY29tbWVudHM+DQoJ + CTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA3LzI3L21pY3Jvc29mdC1kZXZlbG9wZXJzLXdpdGgt + amFzb24teW91bmctYW5kLWNhcmwtc2Nod2VpdHplci9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50 + cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5n + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0F6dXJlXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2FyayBTY2h3ZWl0emVy + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWQgQ29t + cHV0aW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSmFz + b24gWW91bmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtN + aWNyb3NvZnQgc3RhY2tdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtNUyBEZXYgU2hvd11dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9u + PkEgZGVjYWRlIGFnbywgYSBNaWNyb3NvZnQgZGV2ZWxvcGVyIG1pZ2h0IGhh + dmUgYmVlbiBkZWZpbmVkIGJ5IHRoZSBmYWN0IHRoYXQgdGhleSBidWlsdCBD + IyBhcHBsaWNhdGlvbnMgb24gV2luZG93cy4gVG9kYXksIGEgTWljcm9zb2Z0 + IGRldmVsb3BlciBpcyBqdXN0IGFzIGxpa2VseSB0byBiZSB3cml0aW5nIEph + dmFTY3JpcHQgZm9yIExpbnV4LiBUaGUgY29tcGFueSBoYXMgcmVwb3NpdGlv + bmVkIGl0c2VsZiB0byBmb2N1cyBvbiBjbG91ZCBzZXJ2aWNlcywgU2FhUyBw + cm9kdWN0cywgYW5kIGVudGVycHJpc2UgYXJ0aWZpY2lhbCBpbnRlbGxpZ2Vu + Y2UuIEphc29uIFlvdW5nIGFuZCBDYXJsIFNjaHdlaXR6ZXIgaG9zdCB0aGUg + TVMgRGV2IFNob3csIGEgcG9wdWxhciBwb2RjYXN0IGFib3V0IE1pY3Jvc29m + dCBkZXZlbG9wZXJzIGFuZCB0ZWNobm9sb2dpZXMuIE9uIHRoZWlyJmx0O3Am + Z3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBo + cmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDcvMjcvbWljcm9zb2Z0LWRldmVsb3BlcnMtd2l0aC1qYXNvbi15 + b3VuZy1hbmQtY2FybC1zY2h3ZWl0emVyLyZxdW90OyZndDtDb250aW51ZSBy + ZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0K + CQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRh + Y2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNv + bnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJu + cy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3Jp + Zy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9 + ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJi + b3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7 + IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1lvdW5nU2Nod2VpdHplci5w + bmc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5BIGRlY2FkZSBhZ28sIGEgTWljcm9zb2Z0IGRldmVsb3BlciBtaWdo + dCBoYXZlIGJlZW4gZGVmaW5lZCBieSB0aGUgZmFjdCB0aGF0IHRoZXkgYnVp + bHQgQyMgYXBwbGljYXRpb25zIG9uIFdpbmRvd3MuIFRvZGF5LCBhIE1pY3Jv + c29mdCBkZXZlbG9wZXIgaXMganVzdCBhcyBsaWtlbHkgdG8gYmUgd3JpdGlu + ZyBKYXZhU2NyaXB0IGZvciBMaW51eC4gVGhlIGNvbXBhbnkgaGFzIHJlcG9z + aXRpb25lZCBpdHNlbGYgdG8gZm9jdXMgb24gY2xvdWQgc2VydmljZXMsIFNh + YVMgcHJvZHVjdHMsIGFuZCBlbnRlcnByaXNlIGFydGlmaWNpYWwgaW50ZWxs + aWdlbmNlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+SmFzb24gWW91bmcgYW5kIENhcmwgU2Nod2VpdHplciBob3N0 + IHRoZSBNUyBEZXYgU2hvdywgYSBwb3B1bGFyIHBvZGNhc3QgYWJvdXQgTWlj + cm9zb2Z0IGRldmVsb3BlcnMgYW5kIHRlY2hub2xvZ2llcy4gT24gdGhlaXIg + c2hvdywgdGhleSBleHBsb3JlIHRoZSByYXBpZGx5IGV4cGFuZGluZyBtYXJr + ZXRwbGFjZSBvZiBzZXJ2aWNlcyBvbiBNaWNyb3NvZnQgQXp1cmUgYW5kIHRh + bGsgdG8gZXhwZXJ0cyBhYm91dCBob3cgdGhlc2Ugc2VydmljZXMgYXJlIGJ1 + aWx0IGFuZCB3aGF0IHRoZXkgYXJlIHVzZWQgZm9yLjwvc3Bhbj48L3A+Cjxo + Mj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBX + ZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBs + aXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBv + ZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0 + byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBl + ZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8g + V2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5 + LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9TRUQzODIt + TVMtRGV2LVNob3cucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hv + d+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL2tpbmVzaXMuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzcyMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZp + Y2VzX2xvZ28tc3ZnXy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5w + bmc/Zml0PTIwMDAlMkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJBbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5n + P2ZpdD0zMDAlMkMxMjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18u + cG5nP2ZpdD0xMDI0JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTM3MjIgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6 + ZT0zMDAlMkMxMjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9y + ZXNpemU9MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9 + NzY4JTJDMzA3IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUy + QzQxMCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODgg + NzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+SW4gdGhlIEluZm9ybWF0aW9uIEFnZSwgZGF0 + YeKAmXMgdGhlIG5ldyBvaWwuIFdoaWNoIGlzIHdoeSBBbWF6b24gV2ViIFNl + cnZpY2VzIGJ1aWx0IEFtYXpvbiBLaW5lc2lz4oCUYSBwb3dlcmZ1bCBuZXcg + d2F5IHRvIGNvbGxlY3QsIHByb2Nlc3MsIGFuZCBhbmFseXplIHN0cmVhbWlu + ZyBkYXRh4oCUc28geW91IGNhbiBnZXQgdGltZWx5IGluc2lnaHRzIGFuZCBy + ZWFjdCBxdWlja2x5LiBXZWIgc2l0ZXMsIG1vYmlsZSBhcHBzLCBJb1Qgc2Vu + c29ycywgYW5kIHRoZSBsaWtlIGNhbiBnZW5lcmF0ZSBhIGh1Z2UgYW1vdW50 + IG9mIHN0cmVhbWluZyBkYXRh4oCUc29tZXRpbWVzIHRlcmFieXRlcyBhbiBo + b3Vy4oCUdGhhdCBpZiBwcm9jZXNzZWQgY29udGludWFsbHksIGNhbiBoZWxw + IHlvdSBsZWFybiBhYm91dCB3aGF0IHlvdXIgY3VzdG9tZXJzLCBwcm9kdWN0 + cywgYW5kIGFwcGxpY2F0aW9ucyBhcmUgZG9pbmcgcmlnaHQgbm93IGFuZCB0 + YWtlIGFjdGlvbnMgaW4gcmVhbC10aW1lLiBBbWF6b24gS2luZXNpcyBmcm9t + IEFXUyBsZXRzIHlvdSBkbyB0aGF0IGVhc2lseSBmb3IgbGVzcy4gV2l0aCBL + aW5lc2lzLCB5b3Ugb25seSBwYXkgZm9yIHRoZSByZXNvdXJjZXMgeW91IHVz + ZS4gTm8gbWluaW11bXMsIG5vIHVwZnJvbnQgY29tbWl0bWVudHMuIExlYXJu + IG1vcmUgYXQgPGEgaHJlZj0iaHR0cDovL2tpbmVzaXMuYXdzIj5raW5lc2lz + LmF3czwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2J1Z3NuYWcuY29t + L3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIwIiBkYXRh + LXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20va3dsb2dvcy9idWdzbmFnL2J1Z3NuYWdfbG9nby0yLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9maXQ9MzAxMCUyQzg2NiIgZGF0YS1vcmlnLXNpemU9IjMwMTAs + ODY2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9IkJ1Z3NuYWdfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L0J1Z3NuYWdfbG9nby5wbmc/Zml0PTMwMCUyQzg2IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQnVnc25hZ19s + b2dvLnBuZz9maXQ9MTAyNCUyQzI5NSIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS0zNzIwIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDcvQnVnc25hZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDODYi + IGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcv + QnVnc25hZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDODYgMzAwdywgaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6 + ZT03NjglMkMyMjEgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9CdWdzbmFnX2xvZ28ucG5nP3Jlc2l6ZT0xMDI0JTJDMjk1IDEwMjR3LCBo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/ + cmVzaXplPTcyMCUyQzIwNyA3MjB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0J1Z3NuYWdfbG9nby5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkJ1Z3NuYWcg + aXMgYW4gYXV0b21hdGljIGVycm9yLW1vbml0b3JpbmcgcGxhdGZvcm0gdGhh + dCBoZWxwcyBkZXZlbG9wZXJzIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiBh + cHBsaWNhdGlvbiBlcnJvcnMgYW5kIGZpeCB0aGUgb25lcyB0aGF0IG1hdHRl + ciBpbiBhIHRpbWUtZWZmaWNpZW50IGFuZCBlbmpveWFibGUgd2F5LsKgPC9z + cGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QnVnc25hZ+KA + mXMgb3BlbiBzb3VyY2UgZXJyb3IgcmVwb3J0aW5nIGxpYnJhcmllcyBhdXRv + bWF0aWNhbGx5IGNhcHR1cmUgZXJyb3JzIGFuZCBwcm92aWRlIGluLWRlcHRo + IGRpYWdub3N0aWMgcmVwb3J0cyBhY3Jvc3MgYWxsIG1ham9yIHByb2dyYW1t + aW5nIGxhbmd1YWdlcyBhbmQgZnJhbWV3b3Jrcy4gRGlhZ25vc3RpYyByZXBv + cnRzIGNvbnNvbGlkYXRlIHRoZSBpbmZvcm1hdGlvbiB5b3UgbmVlZCB0byBy + ZXByb2R1Y2UgZXJyb3JzIGluIG9uZSBwbGFjZSwgaW5jbHVkaW5nIHRoZSBz + dGFja3RyYWNlLiBFcnJvcnMgYXJlIGdyb3VwZWQgYnkgcm9vdCBjYXVzZSBh + bmQgbWFwcGVkIHRvIHVzZXJzIHNvIHlvdSBjYW4gZWFzaWx5IGlkZW50aWZ5 + IHdoaWNoIGVycm9ycyBhcmUgdGhlIG1vc3Qgd2lkZXNwcmVhZCBhbmQgYWZm + ZWN0IHRoZSBncmVhdGVzdCBhbW91bnQgb2YgdXNlcnMuIDwvc3Bhbj48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkludGVncmF0ZSB3aXRoIFNs + YWNrIGFuZCBQYWdlckR1dHkgdG8gZ2V0IG5vdGlmaWVkIGluIHJlYWwtdGlt + ZSBvZiBuZXcgZXJyb3JzIGFuZCBzcGlrZXMgaW4geW91ciBlcnJvciByYXRl + LiBUaGVuLCBpbnRlZ3JhdGUgd2l0aCB5b3VyIGlzc3VlIHRyYWNrZXIgb3Ig + dXNlIEJ1Z3NuYWfigJlzIHdvcmtmbG93IHRvIGhlbHAgeW91IG1vdmUgZXJy + b3JzIHRocm91Z2ggeW91ciBkZWJ1Z2dpbmcgcHJvY2VzcyBhbmQgZ2V0IHRo + ZW0gZml4ZWQgZm9yIHlvdXIgdXNlcnMuIDwvc3Bhbj48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPsKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+QWlyYm5iLCBMeWZ0LCBhbmQgU2hvcGlmeSBhbGwg + dXNlIEJ1Z3NuYWcgZm9yIGVycm9yLW1vbml0b3JpbmcuIEdldCB1cCBhbmQg + cnVubmluZyBpbiB0aHJlZSBtaW51dGVzLiBUcnk8L3NwYW4+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij7CoGFsbCBmZWF0dXJlcyBmcmVlIGZv + ciAxNCBkYXlzIGF0IDwvc3Bhbj48YSBocmVmPSJodHRwczovL3d3dy5idWdz + bmFnLmNvbS9zZWRhaWx5Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPmJ1Z3NuYWcuY29tL3NlZGFpbHk8L3NwYW4+PC9hPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+Ljwvc3Bhbj48L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjMxNzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0d29y + a3NfZ29fYmxhY2tfZWRpdC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0 + LnBuZz9maXQ9NjEyJTJDNDY5IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJUaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9m + aXQ9MzAwJTJDMjMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5n + P2ZpdD02MTIlMkM0NjkiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3 + NSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAw + JTJDMjMwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9 + MzAwJTJDMjMwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcv + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3c9NjEyIDYxMnciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPlNpbXBsaWZ5IGNvbnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBH + b0NELCB0aGUgb24tcHJlbWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMg + ZGVsaXZlcnkgdG9vbCBieSBUaG91Z2h0V29ya3MuIFdpdGggR29DRCwgeW91 + IGNhbiBlYXNpbHkgbW9kZWwgY29tcGxleCBkZXBsb3ltZW50IHdvcmtmbG93 + cyB1c2luZyBwaXBlbGluZXMgYW5kIHZpc3VhbGl6ZSB0aGVtIGVuZC10by1l + bmQgd2l0aCB0aGUgVmFsdWUgU3RyZWFtIE1hcC4gWW91IGdldCBjb21wbGV0 + ZSB2aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb2YgeW91ciBjb21wYW55 + 4oCZcyBkZXBsb3ltZW50cy4gQXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcv + c2VkYWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8L2E+LCBmaW5kIG91dCBob3cg + dG8gYnJpbmcgY29udGludW91cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBT + YXkgZ29vZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmljIGFuZCBoZWxsbyB0byBj + b25zaXN0ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhy + ZWY9Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWls + eTwvYT4gdG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1 + cHBvcnQgYW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2Fz + dGVyIHJlY292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cDovL2hlcm9rdS5jb20vZmxvdyI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjI5MTEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2hlcm9rdS1rYWZrYS9oZXJva3Ut + bG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxvZ290 + eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/Zml0PTE0NDAlMkM2MDgi + IGRhdGEtb3JpZy1zaXplPSIxNDQwLDYwOCIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJoZXJva3UtbG9nb3R5cGUt + aG9yaXpvbnRhbC1wdXJwbGUtMS0xIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5w + bmc/Zml0PTMwMCUyQzEyNyIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFs + LXB1cnBsZS0xLTEucG5nP2ZpdD0xMDI0JTJDNDMyIiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTI5MTEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRh + bC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9MzAwJTJDMTI3IiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1sb2dv + dHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP3Jlc2l6ZT0zMDAlMkMx + MjcgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3Ut + bG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9NzY4 + JTJDMzI0IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVy + b2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/cmVzaXpl + PTEwMjQlMkM0MzIgMTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTAvaGVyb2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/ + cmVzaXplPTcyMCUyQzMwNCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEu + cG5nP3c9MTQ0MCAxNDQwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGV2ZWxvcGVycyBsb3Zl + IEhlcm9rdS4gSXTigJlzIHRoZSBmYXN0ZXN0IHdheSB0byBkZXBsb3kgYW4g + YXBwbGljYXRpb24gb24gc2NhbGFibGUgaW5mcmFzdHJ1Y3R1cmUuIEkga25v + dyB0aGlzIGZyb20gZXhwZXJpZW5jZSwgYXMgSSBoYXZlIGJ1aWx0IG1vcmUg + c29mdHdhcmUgcHJvZHVjdHMgb24gSGVyb2t1IHRoYW4gSSBjYW4gcmVtZW1i + ZXIuIFdoZW4gYSBwcm9qZWN0IEkgYW0gYnVpbGRpbmcgd2l0aCBIZXJva3Ug + c3RhcnRzIHRvIGdldCBtb3JlIHNlcmlvdXMsIEkgdXNlIEhlcm9rdSBGbG93 + LiBIZXJva3UgRmxvdyBpcyBhIGZ1bGwgY29udGludW91cyBkZWxpdmVyeSBz + b2x1dGlvbiBmb3IgSGVyb2t1LiBXaXRoIEhlcm9rdSBGbG93LCBhIHB1c2gg + dG8gR2l0SHViIHNwaW5zIHVwIGFuIGluc3RhbmNlIG9mIG15IGFwcGxpY2F0 + aW9uJiM4MjExO2NhbGxlZCBhICYjODIyMDtyZXZpZXcgYXBwLiYjODIyMTsg + SSBjYW4gdGVzdCB0aGUgcmV2aWV3IGFwcCBhbmQgZGlzY3VzcyBpdCB3aXRo + IG15IHRlYW0mIzgyMTE7YW5kIGlmIGl0IHdvcmtzLCBJIGNhbiBhcHByb3Zl + IHRoZSBjaGFuZ2VzIGFuZCBwdXNoIGl0IHRvIG1hc3Rlciwgd2hlcmUgdGhl + IG5ldyB2ZXJzaW9uIG9mIG15IGFwcCB3aWxsIHJ1biBhZ2FpbnN0IGNvbnRp + bnVvdXMgaW50ZWdyYXRpb24gdGVzdGluZyBiZWZvcmUgYmVpbmcgcHJvbW90 + ZWQgdG8gcHJvZHVjdGlvbi4gSGVyb2t1IEZsb3cgYnJpbmdzIHRoZSBIZXJv + a3UgZGV2ZWxvcGVyIGV4cGVyaWVuY2UgdG9nZXRoZXIgd2l0aCBjb250aW51 + b3VzIGRlbGl2ZXJ5LiBDaGVjayBpdCBvdXQgbm93IGF0IDxhIGhyZWY9Imh0 + dHA6Ly9oZXJva3UuY29tL2Zsb3ciPkhlcm9rdS5jb20vZmxvdzwvYT4uIDwv + ZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5j + bG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5 + L01TRGV2U2hvdy5tcDMiIGxlbmd0aD0iNTE2MDUyMDciIHR5cGU9ImF1ZGlv + L21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5BIGRlY2FkZSBhZ28sIGEg + TWljcm9zb2Z0IGRldmVsb3BlciBtaWdodCBoYXZlIGJlZW4gZGVmaW5lZCBi + eSB0aGUgZmFjdCB0aGF0IHRoZXkgYnVpbHQgQyMgYXBwbGljYXRpb25zIG9u + IFdpbmRvd3MuIFRvZGF5LCBhIE1pY3Jvc29mdCBkZXZlbG9wZXIgaXMganVz + dCBhcyBsaWtlbHkgdG8gYmUgd3JpdGluZyBKYXZhU2NyaXB0IGZvciBMaW51 + eC4gVGhlIGNvbXBhbnkgaGFzIHJlcG9zaXRpb25lZCBpdHNlbGYgdG8gZm9j + dXMgb24gY2xvdWQuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1 + bW1hcnk+QSBkZWNhZGUgYWdvLCBhIE1pY3Jvc29mdCBkZXZlbG9wZXIgbWln + aHQgaGF2ZSBiZWVuIGRlZmluZWQgYnkgdGhlIGZhY3QgdGhhdCB0aGV5IGJ1 + aWx0IEMjIGFwcGxpY2F0aW9ucyBvbiBXaW5kb3dzLiBUb2RheSwgYSBNaWNy + b3NvZnQgZGV2ZWxvcGVyIGlzIGp1c3QgYXMgbGlrZWx5IHRvIGJlIHdyaXRp + bmcgSmF2YVNjcmlwdCBmb3IgTGludXguIFRoZSBjb21wYW55IGhhcyByZXBv + c2l0aW9uZWQgaXRzZWxmIHRvIGZvY3VzIG9uIGNsb3VkIHNlcnZpY2VzLCBT + YWFTIHByb2R1Y3RzLCBhbmQgZW50ZXJwcmlzZSBhcnRpZmljaWFsIGludGVs + bGlnZW5jZS4gSmFzb24gWW91bmcgYW5kIENhcmwgU2Nod2VpdHplciBob3N0 + IHRoZSBNUyBEZXYgU2hvdywgYSBwb3B1bGFyIHBvZGNhc3QgYWJvdXQgTWlj + cm9zb2Z0IGRldmVsb3BlcnMgYW5kIHRlY2hub2xvZ2llcy4gT24gdGhlaXJD + b250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVz + OmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1 + dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGlj + aXQ+CgkJPGl0dW5lczpkdXJhdGlvbj41MzozMzwvaXR1bmVzOmR1cmF0aW9u + Pgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9u + czoxIj4zNzgzPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0 + bGU+U3RhcnR1cCBSb3VuZHRhYmxlIHdpdGggSm9zZXBoIEphY2tzIGFuZCBH + cmVnb3J5IEtvYmVyZ2VyPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yNi9zdGFydHVwLXJv + dW5kdGFibGUtd2l0aC1qb3NlcGgtamFja3MtYW5kLWdyZWdvcnkta29iZXJn + ZXIvPC9saW5rPg0KCQk8cHViRGF0ZT5XZWQsIDI2IEp1bCAyMDE3IDA5OjAw + OjUwICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFs + c2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM3 + ODI8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA3LzI2L3N0YXJ0dXAtcm91bmR0YWJsZS13 + aXRoLWpvc2VwaC1qYWNrcy1hbmQtZ3JlZ29yeS1rb2Jlcmdlci8jY29tbWVu + dHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yNi9zdGFydHVwLXJv + dW5kdGFibGUtd2l0aC1qb3NlcGgtamFja3MtYW5kLWdyZWdvcnkta29iZXJn + ZXIvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + MTwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtC + dXNpbmVzcyBhbmQgUGhpbG9zb3BoeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtBcHByZW5kYV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0dyZWcgS29iZXJnZXJdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtKb3NlcGggSmFja3NdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtLaXNtYXRpY11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW1JlYWRtZS5pb11dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW1NjYWxhYmlsaXR5XV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbc3RhcnR1cF1dPjwvY2F0ZWdvcnk+CgkJPGRl + c2NyaXB0aW9uPkJ1aWxkaW5nIGEgc3RhcnR1cCByZXF1aXJlcyBjb25zdGFu + dCBldmFsdWF0aW9uIG9mIHRyYWRlb2Zmcy4gQXQgdGhlIGVhcmxpZXN0IHN0 + YWdlLCB0aGUgZm91bmRlcnMgZXZhbHVhdGUgZGlmZmVyZW50IGlkZWFzLiBP + bmNlIGFuIGlkZWEgaXMgc2V0dGxlZCBvbiwgdGhlIGNvbXBhbnkgZGV2ZWxv + cHMgc3RyYXRlZ2llcyBmb3IgZmluZGluZyBlYXJseSBjdXN0b21lcnMgYW5k + IGdyb3dpbmcuIEFzIHRoZSBjb21wYW55IGRldmVsb3BzIHRyYWN0aW9uLCB0 + aGUgb3BlcmF0b3JzIGNvbnNpZGVyIHdheXMgdG8gc2NhbGUgZnVydGhlciBv + ciBwYXJ0bmVyIHdpdGggYW4gYWNxdWlyZXIuIEpvc2VwaCBKYWNrcyBhbmQg + R3JlZyBLb2JlcmdlciBhcmUgdHdvIGZvdW5kZXJzIHdobyBoYXZlIGJlZW4g + b24gdGhlIHNob3cgcHJldmlvdXNseS4gSkogc3RhcnRlZCBLaXNtYXRpYywg + dGhlIGVhcmxpZXN0Jmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGlu + dWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMjYvc3RhcnR1cC1yb3VuZHRh + YmxlLXdpdGgtam9zZXBoLWphY2tzLWFuZC1ncmVnb3J5LWtvYmVyZ2VyLyZx + dW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZn + dDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRB + WzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ni8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4t + YnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4t + YnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWlt + YWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjog + MXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWln + aHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9wYnMudHdpbWcu + Y29tL3Byb2ZpbGVfaW1hZ2VzLzc1ODYwMjE2Njg0NDE5ODkxMi9vaE1HQU5h + SC5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5CdWlsZGluZyBhIHN0YXJ0dXAgcmVxdWlyZXMgY29uc3RhbnQg + ZXZhbHVhdGlvbiBvZiB0cmFkZW9mZnMuIEF0IHRoZSBlYXJsaWVzdCBzdGFn + ZSwgdGhlIGZvdW5kZXJzIGV2YWx1YXRlIGRpZmZlcmVudCBpZGVhcy4gT25j + ZSBhbiBpZGVhIGlzIHNldHRsZWQgb24sIHRoZSBjb21wYW55IGRldmVsb3Bz + IHN0cmF0ZWdpZXMgZm9yIGZpbmRpbmcgZWFybHkgY3VzdG9tZXJzIGFuZCBn + cm93aW5nLiBBcyB0aGUgY29tcGFueSBkZXZlbG9wcyB0cmFjdGlvbiwgdGhl + IG9wZXJhdG9ycyBjb25zaWRlciB3YXlzIHRvIHNjYWxlIGZ1cnRoZXIgb3Ig + cGFydG5lciB3aXRoIGFuIGFjcXVpcmVyLjwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Sm9zZXBoIEphY2tzIGFuZCBH + cmVnIEtvYmVyZ2VyIGFyZSB0d28gZm91bmRlcnMgd2hvIGhhdmUgYmVlbiBv + biB0aGUgc2hvdyBwcmV2aW91c2x5LiBKSiBzdGFydGVkIEtpc21hdGljLCB0 + aGUgZWFybGllc3QgY29tcGFueSBjb21wbGV0ZWx5IGZvY3VzZWQgb24gS3Vi + ZXJuZXRlcy4gS2lzbWF0aWMgd2FzIGFjcXVpcmVkIGJ5IEFwcHJlbmRhIGxh + c3QgeWVhci4gR3JlZyBydW5zIFJlYWRtZS5pbywgYSBjb21wYW55IHRoYXQg + cHJvdmlkZXMgYmVhdXRpZnVsIGRvY3VtZW50YXRpb24gYXMgYSBzZXJ2aWNl + Ljwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+SW4gdGhpcyBlcGlzb2RlLCBHcmVnIGFuZCBKb2Ugc2hhcmUgdGhlaXIg + dGhvdWdodHMgb24gcnVubmluZyBhbmQgc2NhbGluZyBzdGFydHVwcyYjODIx + MTtlbmdpbmVlcmluZyBjb25jZXJucywgc2NhbGluZyBzdHJhdGVnaWVzLCBh + bmQgZGlzY3Vzc2lvbnMgb2Ygd2hhdCB0byBidWlsZCBhbmQgd2hhdCB0byBi + dXkuPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2Ny + aXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVu + Z2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9 + Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2Fz + dHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28g + bW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2Vy + dmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVy + aW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L1NFRDM4MS1Sb3VuZHRhYmxlLUpKLUdLLnBkZiI+Y2xpY2sg + aGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwv + cD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29t + L3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzM5IiBkYXRh + LXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1uZWhhLW5h + cmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4JTJDNTIyIiBk + YXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAlMkMxNjAiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90 + b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03NjglMkM0MTAgNzY4 + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jl + c2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRvcHRh + bCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFibHkgcHJpY2Vk + LCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5lZXJzIHRvIGJ1 + aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNjYWxlIHlvdXIg + d29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNvbS9zZWRhaWx5 + Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3aGVuIHlvdSB1 + c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdpdGggYW4gZW5n + aW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zbmFwY2kvdGhvdWdodHdvcmtz + X2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5w + bmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1vcmlnLXNpemU9IjYxMiw0NjkiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + VGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0 + PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9m + aXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMxNzUg + c2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ny9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMwMCUy + QzIzMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMw + MCUyQzIzMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Ro + b3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz93PTYxMiA2MTJ3IiBzaXpl + cz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5TaW1wbGlmeSBjb250aW51b3VzIGRlbGl2ZXJ5IHdpdGggR29D + RCwgdGhlIG9uLXByZW1pc2UsIG9wZW4gc291cmNlLCBjb250aW51b3VzIGRl + bGl2ZXJ5IHRvb2wgYnkgVGhvdWdodFdvcmtzLiBXaXRoIEdvQ0QsIHlvdSBj + YW4gZWFzaWx5IG1vZGVsIGNvbXBsZXggZGVwbG95bWVudCB3b3JrZmxvd3Mg + dXNpbmcgcGlwZWxpbmVzIGFuZCB2aXN1YWxpemUgdGhlbSBlbmQtdG8tZW5k + IHdpdGggdGhlIFZhbHVlIFN0cmVhbSBNYXAuIFlvdSBnZXQgY29tcGxldGUg + dmlzaWJpbGl0eSBpbnRvIGFuZCBjb250cm9sIG9mIHlvdXIgY29tcGFueeKA + mXMgZGVwbG95bWVudHMuIEF0PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3Nl + ZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9hPiwgZmluZCBvdXQgaG93IHRv + IGJyaW5nIGNvbnRpbnVvdXMgZGVsaXZlcnkgdG8geW91ciB0ZWFtcy4gU2F5 + IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5pYyBhbmQgaGVsbG8gdG8gY29u + c2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZlcmllcy4gVmlzaXQ8YSBocmVm + PSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8 + L2E+IHRvIGxlYXJuIG1vcmUgYWJvdXQgR29DRC4gQ29tbWVyY2lhbCBzdXBw + b3J0IGFuZCBlbnRlcnByaXNlIGFkZC1vbnMsIGluY2x1ZGluZyBkaXNhc3Rl + ciByZWNvdmVyeSwgYXJlIGF2YWlsYWJsZS48L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mv + ZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRv + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19s + b2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9 + MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4 + NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBp + bnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBB + UE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBl + cmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMs + IGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93 + IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0 + YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBh + cHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2Vy + dmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4g + R28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93 + IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQg + d2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzAxLzA0L2Rpc3Ry + aWJ1dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8tdmlkZWxhL2hpcmVkLWxvZ28v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + MS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBkYXRhLW9yaWctc2l6 + ZT0iMjYwLDEzMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1h + Z2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28m + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRh + LWltYWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVk + LWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9yZXNpemU9MjYwJTJDMTMwIiBh + bHQ9IiIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5IYXZlIHlvdSBiZWVuIHRoaW5raW5n + IHlvdeKAmWQgYmUgaGFwcGllciBhdCBhIG5ldyBqb2I/IElmIHlvdeKAmXJl + IGRyZWFtaW5nIGFib3V0IGEgbmV3IGpvYiBhbmQgaGF2ZSBiZWVuIHdhaXRp + bmcgZm9yIHRoZSByaWdodCB0aW1lIHRvIG1ha2UgYSBtb3ZlLCBnbyB0b8Kg + PGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20v + c2VkYWlseTwvYT4uIEhpcmVkIG1ha2VzIGZpbmRpbmcgd29yayBlbmpveWFi + bGUuIEhpcmVkIHVzZXMgYW4gYWxnb3JpdGhtaWMgam9iLW1hdGNoaW5nIHRv + b2wgaW4gY29tYmluYXRpb24gd2l0aCBhIHRhbGVudCBhZHZvY2F0ZSB3aG8g + d2lsbCB3YWxrIHlvdSB0aHJvdWdoIHRoZSBwcm9jZXNzIG9mIGZpbmRpbmcg + YSBiZXR0ZXIgam9iLiBDaGVjayBvdXTCoDxhIGhyZWY9Imh0dHA6Ly9oaXJl + ZC5jb20vc2VkYWlseSI+aGlyZWQuY29tL3NlZGFpbHk8L2E+wqB0byBnZXQg + YSBzcGVjaWFsIG9mZmVyIGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnMmIzgyMTE7YSAkNjAwIHNpZ25pbmcgYm9udXMgZnJvbSBI + aXJlZCB3aGVuIHlvdSBmaW5kIHRoYXQgZ3JlYXQgam9iIHRoYXQgZ2l2ZXMg + eW91IHRoZSByZXNwZWN0IGFuZCBzYWxhcnkgdGhhdCB5b3UgZGVzZXJ2ZSBh + cyBhIHRhbGVudGVkIGVuZ2luZWVyLsKgPC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48 + L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90 + cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9Sb3VuZHRhYmxlSkpHSy5tcDMi + IGxlbmd0aD0iNTAwNzU4MTkiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0 + dW5lczpzdWJ0aXRsZT5CdWlsZGluZyBhIHN0YXJ0dXAgcmVxdWlyZXMgY29u + c3RhbnQgZXZhbHVhdGlvbiBvZiB0cmFkZW9mZnMuIEF0IHRoZSBlYXJsaWVz + dCBzdGFnZSwgdGhlIGZvdW5kZXJzIGV2YWx1YXRlIGRpZmZlcmVudCBpZGVh + cy4gT25jZSBhbiBpZGVhIGlzIHNldHRsZWQgb24sIHRoZSBjb21wYW55IGRl + dmVsb3BzIHN0cmF0ZWdpZXMgZm9yIGZpbmRpbmcgZWFybHkgY3VzdG9tZXJz + IGFuZCBncm93aW5nLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3Vt + bWFyeT5CdWlsZGluZyBhIHN0YXJ0dXAgcmVxdWlyZXMgY29uc3RhbnQgZXZh + bHVhdGlvbiBvZiB0cmFkZW9mZnMuIEF0IHRoZSBlYXJsaWVzdCBzdGFnZSwg + dGhlIGZvdW5kZXJzIGV2YWx1YXRlIGRpZmZlcmVudCBpZGVhcy4gT25jZSBh + biBpZGVhIGlzIHNldHRsZWQgb24sIHRoZSBjb21wYW55IGRldmVsb3BzIHN0 + cmF0ZWdpZXMgZm9yIGZpbmRpbmcgZWFybHkgY3VzdG9tZXJzIGFuZCBncm93 + aW5nLiBBcyB0aGUgY29tcGFueSBkZXZlbG9wcyB0cmFjdGlvbiwgdGhlIG9w + ZXJhdG9ycyBjb25zaWRlciB3YXlzIHRvIHNjYWxlIGZ1cnRoZXIgb3IgcGFy + dG5lciB3aXRoIGFuIGFjcXVpcmVyLiBKb3NlcGggSmFja3MgYW5kIEdyZWcg + S29iZXJnZXIgYXJlIHR3byBmb3VuZGVycyB3aG8gaGF2ZSBiZWVuIG9uIHRo + ZSBzaG93IHByZXZpb3VzbHkuIEpKIHN0YXJ0ZWQgS2lzbWF0aWMsIHRoZSBl + YXJsaWVzdENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjUxOjU3PC9pdHVuZXM6 + ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQt + YWRkaXRpb25zOjEiPjM3ODI8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+ + DQoJCTx0aXRsZT5Tb2Z0d2FyZSBpbiBMYXRpbiBBbWVyaWNhIHdpdGggTWFy + aWFuYSBDb3N0YTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMjUvc29mdHdhcmUtaW4tbGF0 + aW4tYW1lcmljYS13aXRoLW1hcmlhbmEtY29zdGEvPC9saW5rPg0KCQk8cHVi + RGF0ZT5UdWUsIDI1IEp1bCAyMDE3IDA5OjAwOjQzICswMDAwPC9wdWJEYXRl + Pg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM3ODE8L2d1aWQ+DQoJCTxjb21t + ZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA3LzI1L3NvZnR3YXJlLWluLWxhdGluLWFtZXJpY2Etd2l0aC1tYXJpYW5h + LWNvc3RhLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJz + cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3 + LzI1L3NvZnR3YXJlLWluLWxhdGluLWFtZXJpY2Etd2l0aC1tYXJpYW5hLWNv + c3RhL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRz + PjE8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxs + IEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + QnVzaW5lc3MgYW5kIFBoaWxvc29waHldXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbQ2FybCBNdW5nYXppXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbY29kaW5nIGJvb3RjYW1wXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTGFib3JhdG9yaWFdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYXJpYW5hIENvc3RhXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbd29tZW4gaW4gdGVjaF1dPjwv + Y2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkFjY2VzcyB0byBlZHVjYXRpb24g + aXMgc29tZXRoaW5nIGV2ZXJ5b25lIHN0cml2ZXMgZm9yIGJ1dCBub3QgYWxs + IGFjaGlldmXigJNlc3BlY2lhbGx5IGVkdWNhdGlvbiB0aGF0IGxlYWRzIHRv + IG1lYW5pbmdmdWwgYW5kIHdlbGwtcGF5aW5nIHdvcmsuIEluIHRvZGF54oCZ + cyB3b3JsZCB3aGVyZSBzb2Z0d2FyZSBpcyBlYXRpbmcgYWxsIHNvcnRzIG9m + IGluZHVzdHJpZXMsIGFjY2VzcyB0byBhIGdvb2QgdGVjaG5pY2FsIGVkdWNh + dGlvbiBpcyBzdGlsbCBvdXQgb2YgdGhlIHJlYWNoIG9mIG1hbnkgcGVvcGxl + LiBMYWJvcmF0b3JpYSBpcyBhIHNvY2lhbCBlbnRlcnByaXNlIHdoaWNoIHRl + YWNoZXMgd29tZW4gZnJvbSBsb3ctaW5jb21lIGJhY2tncm91bmRzIGluIFBl + cnUsIE1leGljbyBhbmQgQ2hpbGUgaG93IHRvIGNvZGUgYW5kIGhlbHBzIHBs + YWNlIHRoZW0gaW4mbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yNS9zb2Z0d2FyZS1pbi1sYXRp + bi1hbWVyaWNhLXdpdGgtbWFyaWFuYS1jb3N0YS8mcXVvdDsmZ3Q7Q29udGlu + dWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlv + bj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xl + cy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4t + YnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNs + YXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHls + ZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAw + MDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNy + Yz0iaHR0cHM6Ly9pMS53cC5jb20vbGFib3JhdG9yaWEubGEvaW1hZ2VzL3Rl + YW0vMzQxL21hcnkxX19zbWFsbF9fc3VwZXItc21hbGwuanBnP3Jlc2l6ZT0x + NzUlMkMxNzUiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkFjY2VzcyB0byBlZHVjYXRp + b24gaXMgc29tZXRoaW5nIGV2ZXJ5b25lIHN0cml2ZXMgZm9yIGJ1dCBub3Qg + YWxsIGFjaGlldmUmIzgyMTE7ZXNwZWNpYWxseSBlZHVjYXRpb24gdGhhdCBs + ZWFkcyB0byBtZWFuaW5nZnVsIGFuZCB3ZWxsLXBheWluZyB3b3JrLiBJbiB0 + b2RheSYjODIxNztzIHdvcmxkIHdoZXJlIHNvZnR3YXJlIGlzIGVhdGluZyBh + bGwgc29ydHMgb2YgaW5kdXN0cmllcywgYWNjZXNzIHRvIGEgZ29vZCB0ZWNo + bmljYWwgZWR1Y2F0aW9uIGlzIHN0aWxsIG91dCBvZiB0aGUgcmVhY2ggb2Yg + bWFueSBwZW9wbGUuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+TGFib3JhdG9yaWEgaXMgYSBzb2NpYWwgZW50ZXJw + cmlzZSB3aGljaCB0ZWFjaGVzIHdvbWVuIGZyb20gbG93LWluY29tZSBiYWNr + Z3JvdW5kcyBpbiBQZXJ1LCBNZXhpY28gYW5kIENoaWxlIGhvdyB0byBjb2Rl + IGFuZCBoZWxwcyBwbGFjZSB0aGVtIGluIGNvZGluZyBqb2JzLiBJdCB3YXMg + c3RhcnRlZCBpbiBQZXJ1IGJ5IGNvdXBsZSBNYXJpYW5hIENvc3RhIChDRU8p + IGFuZCBIZXJtYW4gTWFyaW4gKENUTykgYWxvbmcgd2l0aCBhIGZyaWVuZCBh + ZnRlciB0aGV5IGZvdW5kIGl0IGRpZmZpY3VsdCB0byBoaXJlIGRldmVsb3Bl + cnMgZm9yIGEgd2ViIGFnZW5jeSB0aGV5IGhhZCBzdGFydGVkLjwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gdG9k + YXkmIzgyMTc7cyBlcGlzb2RlLCBNYXJpYW5hIHRhbGtzIHRvIENhcmwgTXVu + Z2F6aSBhYm91dCBob3cgTGFib3JhdG9yaWEgaXMgdXNpbmcgc29mdHdhcmUg + ZW5naW5lZXJpbmcgdG8gY2hhbmdlIHRoZSBsaXZlcyBvZiB0aGUgd29tZW4g + aW4gTGF0aW4gQW1lcmljYSB3aGlsc3QgYWxzbyBtZWV0aW5nIGEgZGVtYW5k + IGZvciBnb29kIHRlY2huaWNhbCB0YWxlbnQuIFNoZSBkaXNjdXNzZXMgdGhl + IGNoYWxsZW5nZXMgZmFjZWQgYnkgaGVyIHN0dWRlbnRzLCB3aG8gc29tZXRp + bWVzIHNwZW5kIGhvdXJzIHRyYXZlbGluZyB0byB0aGUgc2Nob29sLCBhbmQg + aGVyIHBsYW5zIGZvciB0cmFpbmluZyAxMCwwMDAgZGV2ZWxvcGVycyBvdmVy + IHRoZSBuZXh0IGZpdmUgeWVhcnMuPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3Jp + cHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9k + Y2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBj + YW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29t + L3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUg + b2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5k + IHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBv + ZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKg + PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1NFRDM4MC1TVy1pbi1MYXRp + bi1BbWVyaWNhLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3fi + gJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9oZXJva3UuY29tL2Zsb3ciPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIyOTExIiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9oZXJva3Uta2Fma2EvaGVy + b2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEwL2hlcm9rdS1s + b2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP2ZpdD0xNDQwJTJD + NjA4IiBkYXRhLW9yaWctc2l6ZT0iMTQ0MCw2MDgiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaGVyb2t1LWxvZ290 + eXBlLWhvcml6b250YWwtcHVycGxlLTEtMSIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0x + LTEucG5nP2ZpdD0zMDAlMkMxMjciIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpv + bnRhbC1wdXJwbGUtMS0xLnBuZz9maXQ9MTAyNCUyQzQzMiIgY2xhc3M9ImFs + aWdubGVmdCB3cC1pbWFnZS0yOTExIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVyb2t1LWxvZ290eXBlLWhvcml6 + b250YWwtcHVycGxlLTEtMS5wbmc/cmVzaXplPTMwMCUyQzEyNyIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMC9oZXJva3Ut + bG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUtMS0xLnBuZz9yZXNpemU9MzAw + JTJDMTI3IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTAvaGVy + b2t1LWxvZ290eXBlLWhvcml6b250YWwtcHVycGxlLTEtMS5wbmc/cmVzaXpl + PTc2OCUyQzMyNCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEw + L2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEucG5nP3Jl + c2l6ZT0xMDI0JTJDNDMyIDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzEwL2hlcm9rdS1sb2dvdHlwZS1ob3Jpem9udGFsLXB1cnBsZS0xLTEu + cG5nP3Jlc2l6ZT03MjAlMkMzMDQgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8xMC9oZXJva3UtbG9nb3R5cGUtaG9yaXpvbnRhbC1wdXJwbGUt + MS0xLnBuZz93PTE0NDAgMTQ0MHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+RGV2ZWxvcGVycyBsb3ZlIEhlcm9rdS4g + SXTigJlzIHRoZSBmYXN0ZXN0IHdheSB0byBkZXBsb3kgYW4gYXBwbGljYXRp + b24gb24gc2NhbGFibGUgaW5mcmFzdHJ1Y3R1cmUuIEkga25vdyB0aGlzIGZy + b20gZXhwZXJpZW5jZSwgYXMgSSBoYXZlIGJ1aWx0IG1vcmUgc29mdHdhcmUg + cHJvZHVjdHMgb24gSGVyb2t1IHRoYW4gSSBjYW4gcmVtZW1iZXIuIFdoZW4g + YSBwcm9qZWN0IEkgYW0gYnVpbGRpbmcgd2l0aCBIZXJva3Ugc3RhcnRzIHRv + IGdldCBtb3JlIHNlcmlvdXMsIEkgdXNlIEhlcm9rdSBGbG93LiBIZXJva3Ug + RmxvdyBpcyBhIGZ1bGwgY29udGludW91cyBkZWxpdmVyeSBzb2x1dGlvbiBm + b3IgSGVyb2t1LiBXaXRoIEhlcm9rdSBGbG93LCBhIHB1c2ggdG8gR2l0SHVi + IHNwaW5zIHVwIGFuIGluc3RhbmNlIG9mIG15IGFwcGxpY2F0aW9uJiM4MjEx + O2NhbGxlZCBhICYjODIyMDtyZXZpZXcgYXBwLiYjODIyMTsgSSBjYW4gdGVz + dCB0aGUgcmV2aWV3IGFwcCBhbmQgZGlzY3VzcyBpdCB3aXRoIG15IHRlYW0m + IzgyMTE7YW5kIGlmIGl0IHdvcmtzLCBJIGNhbiBhcHByb3ZlIHRoZSBjaGFu + Z2VzIGFuZCBwdXNoIGl0IHRvIG1hc3Rlciwgd2hlcmUgdGhlIG5ldyB2ZXJz + aW9uIG9mIG15IGFwcCB3aWxsIHJ1biBhZ2FpbnN0IGNvbnRpbnVvdXMgaW50 + ZWdyYXRpb24gdGVzdGluZyBiZWZvcmUgYmVpbmcgcHJvbW90ZWQgdG8gcHJv + ZHVjdGlvbi4gSGVyb2t1IEZsb3cgYnJpbmdzIHRoZSBIZXJva3UgZGV2ZWxv + cGVyIGV4cGVyaWVuY2UgdG9nZXRoZXIgd2l0aCBjb250aW51b3VzIGRlbGl2 + ZXJ5LiBDaGVjayBpdCBvdXQgbm93IGF0IDxhIGhyZWY9Imh0dHA6Ly9oZXJv + a3UuY29tL2Zsb3ciPkhlcm9rdS5jb20vZmxvdzwvYT4uIDwvc3Bhbj48L2Rp + dj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+Jm5i + c3A7PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRp + diBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZGF0YWRvZy9kYXRhZG9n + X2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0xMDI0JTJDNTEyIiBkYXRh + LW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRvZ19sb2dvIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MzAw + JTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBu + Zz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMw + MCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2Rh + dGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/dz0xMDI0 + IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5E + YXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBpbnRvIGV2ZXJ5IHBhcnQg + b2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBBUE0gZm9yIG1vbml0b3Jp + bmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBlcmZvcm1hbmNlLiBEYXNo + Ym9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMsIGFuZCBhbGVydHMgbGV0 + IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93IGZvciBvYnNlcnZhYmls + aXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0YWRvZyBpbnRlZ3JhdGVz + IHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBhcHBzIGFuZCBzeXN0ZW1z + LCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2VydmljZXMsIHNvIHlvdSBj + YW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4gR28gdG/CoDxhIGhyZWY9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2RhdGFkb2ci + IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVm + ZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS48d2JyPjwvd2JyPmNv + bS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQgd2l0aCBEYXRhZG9nIGFu + ZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjMxMjUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAxLzEzL2NvbHVtbmFyLWRhdGEt + YXBhY2hlLWFycm93LWFuZC1wYXJxdWV0LXdpdGgtanVsaWVuLWxlLWRlbS1h + bmQtamFjcXVlcy1uYWRlYXUvdml2aWRjb3J0ZXgvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5w + bmc/Zml0PTEwMjIlMkMyNTgiIGRhdGEtb3JpZy1zaXplPSIxMDIyLDI1OCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJWaXZpZENvcnRleCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRh + LW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1Zp + dmlkQ29ydGV4LnBuZz9maXQ9MzAwJTJDNzYiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/ + Zml0PTEwMjIlMkMyNTgiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzEy + NSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAwJTJDNzYiIHNyY3NldD0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/ + cmVzaXplPTMwMCUyQzc2IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT03NjglMkMxOTQgNzY4dywg + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/ + cmVzaXplPTcyMCUyQzE4MiA3MjB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz93PTEwMjIgMTAyMnciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPlZpdmlkQ29ydGV4IGlzIHRoZSBiZXN0IHdheSB0byBpbXByb3ZlIHlv + dXIgZGF0YWJhc2UgcGVyZm9ybWFuY2UsIGVmZmljaWVuY3ksIGFuZCB1cHRp + bWUuIEl0JiM4MjE3O3MgYSBjbG91ZC1ob3N0ZWQgbW9uaXRvcmluZyBwbGF0 + Zm9ybSB0aGF0IGVsaW1pbmF0ZXMgeW91ciBtb3N0IGNyaXRpY2FsIHZpc2li + aWxpdHkgZ2FwLCBwcm92aWRpbmcgaW5zaWdodHMgYXQgMS1zZWNvbmQgZ3Jh + bnVsYXJpdHkgaW50byBwcm9kdWN0aW9uIGRhdGFiYXNlIHdvcmtsb2FkIGFu + ZCBxdWVyeSBwZXJmb3JtYW5jZS4gSXQgbWVhc3VyZXMgdGhlIGV4ZWN1dGlv + biBhbmQgcmVzb3VyY2UgY29uc3VtcHRpb24gb2YgZXZlcnkgc3RhdGVtZW50 + IGFuZCB0cmFuc2FjdGlvbiwgc28geW91IGNhbiBwcm9hY3RpdmVseSBmaXgg + ZnV0dXJlIGRhdGFiYXNlIGlzc3VlcyBiZWZvcmUgdGhleSBpbXBhY3QgY3Vz + dG9tZXJzLiBUbyBsZWFybiBtb3JlLCB2aXNpdDxhIGhyZWY9Imh0dHA6Ly92 + aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IHZpdmlkY29ydGV4LmNvbS9zZWRh + aWx5PC9hPiBhbmQgZmluZCBvdXQgd2h5IGNvbXBhbmllcyBsaWtlIEdpdGh1 + YiwgRGlnaXRhbE9jZWFuLCBhbmQgWWVscCBhbGwgdXNlIFZpdmlkQ29ydGV4 + IHRvIHNlZSBkZWVwZXIgaW50byB0aGVpciBkYXRhYmFzZSBwZXJmb3JtYW5j + ZS4gTGVhcm4gbW9yZSBhdDxhIGhyZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5j + b20vc2VkYWlseSI+IHZpdmlkY29ydGV4LmNvbS9zZWRhaWx5PC9hPiwgYW5k + IGdldCBzdGFydGVkIHRvZGF5ITwvZGl2PjxiciAvPgo8L3A+PC9kaXY+Cjxk + aXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9w + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3N5 + bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8vIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1w + aG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0iMjcyLDg0 + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDYvc3lt + cGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9Mjcy + JTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBzaXplLWZ1 + bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9u + by5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9tIGVuZ2lu + ZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNrbGUgYmln + IHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVhY2ggb3Ro + ZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3ltcGhvbm8u + Y29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4gVGhhbmtz + IHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93LiBZb3Vy + IGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVyIGNvbnRl + bnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMuPC9kaXY+ + PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+ + Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3Vy + ZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9TV2lu + TGF0aW5BbWVyaWNhLm1wMyIgbGVuZ3RoPSI1MTQxODgwNyIgdHlwZT0iYXVk + aW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkFjY2VzcyB0byBlZHVj + YXRpb24gaXMgc29tZXRoaW5nIGV2ZXJ5b25lIHN0cml2ZXMgZm9yIGJ1dCBu + b3QgYWxsIGFjaGlldmXigJNlc3BlY2lhbGx5IGVkdWNhdGlvbiB0aGF0IGxl + YWRzIHRvIG1lYW5pbmdmdWwgYW5kIHdlbGwtcGF5aW5nIHdvcmsuIEluIHRv + ZGF54oCZcyB3b3JsZCB3aGVyZSBzb2Z0d2FyZSBpcyBlYXRpbmcgYWxsIHNv + cnRzIG9mIGluZHVzdHJpZXMsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5l + czpzdW1tYXJ5PkFjY2VzcyB0byBlZHVjYXRpb24gaXMgc29tZXRoaW5nIGV2 + ZXJ5b25lIHN0cml2ZXMgZm9yIGJ1dCBub3QgYWxsIGFjaGlldmXigJNlc3Bl + Y2lhbGx5IGVkdWNhdGlvbiB0aGF0IGxlYWRzIHRvIG1lYW5pbmdmdWwgYW5k + IHdlbGwtcGF5aW5nIHdvcmsuIEluIHRvZGF54oCZcyB3b3JsZCB3aGVyZSBz + b2Z0d2FyZSBpcyBlYXRpbmcgYWxsIHNvcnRzIG9mIGluZHVzdHJpZXMsIGFj + Y2VzcyB0byBhIGdvb2QgdGVjaG5pY2FsIGVkdWNhdGlvbiBpcyBzdGlsbCBv + dXQgb2YgdGhlIHJlYWNoIG9mIG1hbnkgcGVvcGxlLiBMYWJvcmF0b3JpYSBp + cyBhIHNvY2lhbCBlbnRlcnByaXNlIHdoaWNoIHRlYWNoZXMgd29tZW4gZnJv + bSBsb3ctaW5jb21lIGJhY2tncm91bmRzIGluIFBlcnUsIE1leGljbyBhbmQg + Q2hpbGUgaG93IHRvIGNvZGUgYW5kIGhlbHBzIHBsYWNlIHRoZW0gaW5Db250 + aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1 + dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhv + cj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+ + CgkJPGl0dW5lczpkdXJhdGlvbj41MzoyMTwvaXR1bmVzOmR1cmF0aW9uPgo8 + cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczox + Ij4zNzgxPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+ + Q29udGFpbmVyIE5ldHdvcmtpbmcgd2l0aCBEYW4gV2lsbGlhbXM8L3RpdGxl + Pg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA3LzI0L2NvbnRhaW5lci1uZXR3b3JraW5nLXdpdGgtZGFuLXdp + bGxpYW1zLzwvbGluaz4NCgkJPHB1YkRhdGU+TW9uLCAyNCBKdWwgMjAxNyAw + OTowMDoyMCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/ + cD0zNzg0PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yNC9jb250YWluZXItbmV0d29y + a2luZy13aXRoLWRhbi13aWxsaWFtcy8jY29tbWVudHM8L2NvbW1lbnRzPg0K + CQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNy8yNC9jb250YWluZXItbmV0d29ya2luZy13aXRo + LWRhbi13aWxsaWFtcy9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFz + aDpjb21tZW50cz4yPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW09wZW4gU291cmNlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW2NvbnRhaW5lciBuZXR3b3JraW5nIGludGVyZmFjZV1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0RhbiBXaWxsaWFtc11d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0t1YmVybmV0ZXNd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtSZWQgSGF0XV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2NhbGFiaWxpdHld + XT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5Db250YWluZXJzIGFyZSB3 + aWRlbHkgdXNlZCBpbiBwcm9qZWN0cyB0aGF0IGhhdmUgYWRvcHRlZCBEb2Nr + ZXIsIEt1YmVybmV0ZXMsIG9yIE1lc29zLiBDb250YWluZXJzIGFsbG93IGZv + ciBiZXR0ZXIgcmVzb3VyY2UgaXNvbGF0aW9uIGFuZCBzY2FsYWJpbGl0eS4g + V2l0aCBhbGwgb2YgdGhlIGFkb3B0aW9uIG9mIGNvbnRhaW5lcnMsIGNvbXBh + bmllcyBsaWtlIFJlZCBIYXQsIEdvb2dsZSwgYW5kIENvcmVPUyBhcmUgd29y + a2luZyBvbiBpbXByb3ZlZCBzdGFuZGFyZHMgd2l0aGluIHRoZSBjb21tdW5p + dHkuIFN0YW5kYXJkcyBhcmUgaW1wb3J0YW50IHRvIHRoaXMgY29tbXVuaXR5 + IGJlY2F1c2Ugb2YgaXRzIHBhY2Ugb2YgZ3Jvd3RoIGFuZCB0aGUgbnVtYmVy + IG9mIGNvbmN1cnJlbnQgcHJvamVjdHMuIElmIHlvdSBoZWFyZCBvdXIgcmVj + ZW50IGVwaXNvZGUgYWJvdXQgdGhlIExpbnV4Jmx0O3AmZ3Q7Jmx0O2EgY2xh + c3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMjQv + Y29udGFpbmVyLW5ldHdvcmtpbmctd2l0aC1kYW4td2lsbGlhbXMvJnF1b3Q7 + Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0Ozwv + ZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+ + PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5r + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0 + LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJu + cy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJu + cyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMu + anBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2Ut + MjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHgg + c29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDog + MTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvRGFu + V2lsbGlhbXNSZWRIYXQucG5nP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9 + MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+Q29udGFpbmVycyBhcmUgd2lkZWx5IHVz + ZWQgaW4gcHJvamVjdHMgdGhhdCBoYXZlIGFkb3B0ZWQgRG9ja2VyLCBLdWJl + cm5ldGVzLCBvciBNZXNvcy4gQ29udGFpbmVycyBhbGxvdyBmb3IgYmV0dGVy + IHJlc291cmNlIGlzb2xhdGlvbiBhbmQgc2NhbGFiaWxpdHkuIFdpdGggYWxs + IG9mIHRoZSBhZG9wdGlvbiBvZiBjb250YWluZXJzLCBjb21wYW5pZXMgbGlr + ZSBSZWQgSGF0LCBHb29nbGUsIGFuZCBDb3JlT1MgYXJlIHdvcmtpbmcgb24g + aW1wcm92ZWQgc3RhbmRhcmRzIHdpdGhpbiB0aGUgY29tbXVuaXR5Ljwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U3Rh + bmRhcmRzIGFyZSBpbXBvcnRhbnQgdG8gdGhpcyBjb21tdW5pdHkgYmVjYXVz + ZSBvZiBpdHMgcGFjZSBvZiBncm93dGggYW5kIHRoZSBudW1iZXIgb2YgY29u + Y3VycmVudCBwcm9qZWN0cy4gSWYgeW91IGhlYXJkIG91ciByZWNlbnQgZXBp + c29kZSBhYm91dCA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMjgvbGludXgta2VybmVsLWdv + dmVybmFuY2Utd2l0aC1ncmVnLWtyb2FoLWhhcnRtYW4vIj48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnRoZSBMaW51eCBLZXJuZWzigJlzIG9w + ZW4gc291cmNlIGdvdmVybmFuY2U8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+LCB5b3Uga25vdyB0aGF0IGhhdmluZyBzb21l + IHJ1bGVzIGluIHBsYWNlIHdpbGwgaGVscCBlbmNvdXJhZ2UgdGhlIHJpZ2h0 + IGtpbmQgb2YgY3JlYXRpdml0eSB0byB0aHJpdmUuPC9zcGFuPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbiB0aGUgd29ybGQg + b2YgY29udGFpbmVycywgbmV0d29ya2luZyBpcyBub3Qgd2VsbCBhZGRyZXNz + ZWQgYXMgaXQgaXMgaGlnaGx5IGVudmlyb25tZW50IHNwZWNpZmljLiBUaGUg + Q29udGFpbmVyIE5ldHdvcmtpbmcgSW50ZXJmYWNlIGlzIGFuIGVmZm9ydCB0 + byBhZGQgc3BlY2lmaWNhdGlvbnMgYXJvdW5kIGhvdyBuZXR3b3JrcyBvZiBj + b250YWluZXJzIGNhbiBmb3JtLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkRhbiBXaWxsaWFtcyBpcyBhbiBlbmdp + bmVlciBhdCBSZWQgSGF0LiBJbiB0b2RheeKAmXMgZXBpc29kZSwgaGUgZXhw + bG9yZXMgdGhlIGlkZWFzIGJlaGluZCB0aGUgY29udGFpbmVyIG5ldHdvcmtp + bmcgaW50ZXJmYWNlLCB3aGljaCBnaXZlcyBpbnNpZ2h0cyBpbnRvIGhvdyB0 + aGUgYnJvYWRlciBjb21tdW5pdHkgb2YgY2xvdWQgbmF0aXZlIHRlY2hub2xv + Z2llcyBpcyBldm9sdmluZyBhcyBhIHdob2xlLjwvc3Bhbj48L3A+CjxoMj5U + cmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBF + ZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0 + ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNh + c3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBn + ZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0 + aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2Ug + RWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQ + bGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9TRUQzNzktQ05J + LnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5z + Y3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9raW5lc2lzLmF3cyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MjIi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9rd2xvZ29zL2F3cy9hbWF6b253ZWJzZXJ2aWNlc19sb2dvLXN2 + Z18vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0yMDAw + JTJDODAwIiBkYXRhLW9yaWctc2l6ZT0iMjAwMCw4MDAiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MzAwJTJD + MTIwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MTAy + NCUyQzQxMCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzIyIHNpemUt + bWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1h + em9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTIw + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUy + QzEyMCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTc2OCUyQzMwNyA3 + Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNl + cnZpY2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTEwMjQlMkM0MTAgMTAyNHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vydmlj + ZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjg4IDcyMHciIHNpemVz + PSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SW4gdGhl + IEluZm9ybWF0aW9uIEFnZSwgZGF0YeKAmXMgdGhlIG5ldyBvaWwuIFdoaWNo + IGlzIHdoeSBBbWF6b24gV2ViIFNlcnZpY2VzIGJ1aWx0IEFtYXpvbiBLaW5l + c2lz4oCUYSBwb3dlcmZ1bCBuZXcgd2F5IHRvIGNvbGxlY3QsIHByb2Nlc3Ms + IGFuZCBhbmFseXplIHN0cmVhbWluZyBkYXRh4oCUc28geW91IGNhbiBnZXQg + dGltZWx5IGluc2lnaHRzIGFuZCByZWFjdCBxdWlja2x5LiBXZWIgc2l0ZXMs + IG1vYmlsZSBhcHBzLCBJb1Qgc2Vuc29ycywgYW5kIHRoZSBsaWtlIGNhbiBn + ZW5lcmF0ZSBhIGh1Z2UgYW1vdW50IG9mIHN0cmVhbWluZyBkYXRh4oCUc29t + ZXRpbWVzIHRlcmFieXRlcyBhbiBob3Vy4oCUdGhhdCBpZiBwcm9jZXNzZWQg + Y29udGludWFsbHksIGNhbiBoZWxwIHlvdSBsZWFybiBhYm91dCB3aGF0IHlv + dXIgY3VzdG9tZXJzLCBwcm9kdWN0cywgYW5kIGFwcGxpY2F0aW9ucyBhcmUg + ZG9pbmcgcmlnaHQgbm93IGFuZCB0YWtlIGFjdGlvbnMgaW4gcmVhbC10aW1l + LiBBbWF6b24gS2luZXNpcyBmcm9tIEFXUyBsZXRzIHlvdSBkbyB0aGF0IGVh + c2lseSBmb3IgbGVzcy4gV2l0aCBLaW5lc2lzLCB5b3Ugb25seSBwYXkgZm9y + IHRoZSByZXNvdXJjZXMgeW91IHVzZS4gTm8gbWluaW11bXMsIG5vIHVwZnJv + bnQgY29tbWl0bWVudHMuIExlYXJuIG1vcmUgYXQgPGEgaHJlZj0iaHR0cDov + L2tpbmVzaXMuYXdzIj5raW5lc2lzLmF3czwvYT4uPC9zcGFuPjwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxMjUiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzAxLzEz + L2NvbHVtbmFyLWRhdGEtYXBhY2hlLWFycm93LWFuZC1wYXJxdWV0LXdpdGgt + anVsaWVuLWxlLWRlbS1hbmQtamFjcXVlcy1uYWRlYXUvdml2aWRjb3J0ZXgv + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + MS9WaXZpZENvcnRleC5wbmc/Zml0PTEwMjIlMkMyNTgiIGRhdGEtb3JpZy1z + aXplPSIxMDIyLDI1OCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJWaXZpZENvcnRleCIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9maXQ9MzAwJTJDNzYiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9W + aXZpZENvcnRleC5wbmc/Zml0PTEwMjIlMkMyNTgiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzEyNSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAw + JTJDNzYiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9W + aXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2IDMwMHcsIGh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT03 + NjglMkMxOTQgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9W + aXZpZENvcnRleC5wbmc/cmVzaXplPTcyMCUyQzE4MiA3MjB3LCBodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz93PTEwMjIg + MTAyMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4 + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPlZpdmlkQ29ydGV4IGlzIHRoZSBiZXN0IHdh + eSB0byBpbXByb3ZlIHlvdXIgZGF0YWJhc2UgcGVyZm9ybWFuY2UsIGVmZmlj + aWVuY3ksIGFuZCB1cHRpbWUuIEl0JiM4MjE3O3MgYSBjbG91ZC1ob3N0ZWQg + bW9uaXRvcmluZyBwbGF0Zm9ybSB0aGF0IGVsaW1pbmF0ZXMgeW91ciBtb3N0 + IGNyaXRpY2FsIHZpc2liaWxpdHkgZ2FwLCBwcm92aWRpbmcgaW5zaWdodHMg + YXQgMS1zZWNvbmQgZ3JhbnVsYXJpdHkgaW50byBwcm9kdWN0aW9uIGRhdGFi + YXNlIHdvcmtsb2FkIGFuZCBxdWVyeSBwZXJmb3JtYW5jZS4gSXQgbWVhc3Vy + ZXMgdGhlIGV4ZWN1dGlvbiBhbmQgcmVzb3VyY2UgY29uc3VtcHRpb24gb2Yg + ZXZlcnkgc3RhdGVtZW50IGFuZCB0cmFuc2FjdGlvbiwgc28geW91IGNhbiBw + cm9hY3RpdmVseSBmaXggZnV0dXJlIGRhdGFiYXNlIGlzc3VlcyBiZWZvcmUg + dGhleSBpbXBhY3QgY3VzdG9tZXJzLiBUbyBsZWFybiBtb3JlLCB2aXNpdDxh + IGhyZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IHZpdmlk + Y29ydGV4LmNvbS9zZWRhaWx5PC9hPiBhbmQgZmluZCBvdXQgd2h5IGNvbXBh + bmllcyBsaWtlIEdpdGh1YiwgRGlnaXRhbE9jZWFuLCBhbmQgWWVscCBhbGwg + dXNlIFZpdmlkQ29ydGV4IHRvIHNlZSBkZWVwZXIgaW50byB0aGVpciBkYXRh + YmFzZSBwZXJmb3JtYW5jZS4gTGVhcm4gbW9yZSBhdDxhIGhyZWY9Imh0dHA6 + Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IHZpdmlkY29ydGV4LmNvbS9z + ZWRhaWx5PC9hPiwgYW5kIGdldCBzdGFydGVkIHRvZGF5ITwvZGl2PjxiciAv + Pgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Rh + dGFkb2ciPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMjM2IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + a3dsb2dvcy9kYXRhZG9nL2RhdGFkb2dfbG9nby8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5w + bmc/Zml0PTEwMjQlMkM1MTIiIGRhdGEtb3JpZy1zaXplPSIxMDI0LDUxMiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJkYXRhZG9nX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9k + YXRhZG9nX2xvZ28ucG5nP2ZpdD0zMDAlMkMxNTAiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28u + cG5nP2ZpdD0xMDI0JTJDNTEyIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTMyMzYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0 + YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIDMwMHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9 + NzY4JTJDMzg0IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz93PTEwMjQgMTAyNHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9NzIwJTJD + MzYwIDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPkRhdGFkb2cgYnJpbmdzIHlvdSB2aXNp + YmlsaXR5IGludG8gZXZlcnkgcGFydCBvZiB5b3VyIGluZnJhc3RydWN0dXJl + LCBwbHVzIEFQTSBmb3IgbW9uaXRvcmluZyB5b3VyIGFwcGxpY2F0aW9uJiM4 + MjE3O3MgcGVyZm9ybWFuY2UuIERhc2hib2FyZGluZywgY29sbGFib3JhdGlv + biB0b29scywgYW5kIGFsZXJ0cyBsZXQgeW91IGRldmVsb3AgeW91ciBvd24g + d29ya2Zsb3cgZm9yIG9ic2VydmFiaWxpdHkgYW5kIGluY2lkZW50IHJlc3Bv + bnNlLiBEYXRhZG9nIGludGVncmF0ZXMgc2VhbWxlc3NseSB3aXRoIGFsbCBv + ZiB5b3VyIGFwcHMgYW5kIHN5c3RlbXMsIGZyb20gU2xhY2sgdG8gQW1hem9u + IFdlYiBTZXJ2aWNlcywgc28geW91IGNhbiBnZXQgdmlzaWJpbGl0eSBpbiBt + aW51dGVzLiBHbyB0b8KgPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vZGF0YWRvZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0i + bm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciI+c29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5Ljx3YnI+PC93YnI+Y29tL2RhdGFkb2c8L2E+wqB0byBnZXQg + c3RhcnRlZCB3aXRoIERhdGFkb2cgYW5kIGdldCBhIGZyZWUgdC1zaGlydC4g + PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+Cjxw + PjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9z + bmFwY2kvdGhvdWdodHdvcmtzX2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29y + a3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1vcmln + LXNpemU9IjYxMiw0NjkiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29f + YmxhY2tfZWRpdC5wbmc/Zml0PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19H + b19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTMxNzUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRp + dC5wbmc/cmVzaXplPTMwMCUyQzIzMCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tf + ZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIzMCAzMDB3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz93PTYxMiA2MTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5TaW1wbGlmeSBjb250aW51b3Vz + IGRlbGl2ZXJ5IHdpdGggR29DRCwgdGhlIG9uLXByZW1pc2UsIG9wZW4gc291 + cmNlLCBjb250aW51b3VzIGRlbGl2ZXJ5IHRvb2wgYnkgVGhvdWdodFdvcmtz + LiBXaXRoIEdvQ0QsIHlvdSBjYW4gZWFzaWx5IG1vZGVsIGNvbXBsZXggZGVw + bG95bWVudCB3b3JrZmxvd3MgdXNpbmcgcGlwZWxpbmVzIGFuZCB2aXN1YWxp + emUgdGhlbSBlbmQtdG8tZW5kIHdpdGggdGhlIFZhbHVlIFN0cmVhbSBNYXAu + IFlvdSBnZXQgY29tcGxldGUgdmlzaWJpbGl0eSBpbnRvIGFuZCBjb250cm9s + IG9mIHlvdXIgY29tcGFueeKAmXMgZGVwbG95bWVudHMuIEF0PGEgaHJlZj0i + aHR0cDovL2dvY2Qub3JnL3NlZGFpbHkiPiBnb2NkLm9yZy9zZWRhaWx5PC9h + PiwgZmluZCBvdXQgaG93IHRvIGJyaW5nIGNvbnRpbnVvdXMgZGVsaXZlcnkg + dG8geW91ciB0ZWFtcy4gU2F5IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5p + YyBhbmQgaGVsbG8gdG8gY29uc2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZl + cmllcy4gVmlzaXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+ + IGdvY2Qub3JnL3NlZGFpbHk8L2E+IHRvIGxlYXJuIG1vcmUgYWJvdXQgR29D + RC4gQ29tbWVyY2lhbCBzdXBwb3J0IGFuZCBlbnRlcnByaXNlIGFkZC1vbnMs + IGluY2x1ZGluZyBkaXNhc3RlciByZWNvdmVyeSwgYXJlIGF2YWlsYWJsZS48 + L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5j + bG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5 + L0NOSS5tcDMiIGxlbmd0aD0iNTY2MzIzMTIiIHR5cGU9ImF1ZGlvL21wZWci + IC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5Db250YWluZXJzIGFyZSB3aWRlbHkg + dXNlZCBpbiBwcm9qZWN0cyB0aGF0IGhhdmUgYWRvcHRlZCBEb2NrZXIsIEt1 + YmVybmV0ZXMsIG9yIE1lc29zLiBDb250YWluZXJzIGFsbG93IGZvciBiZXR0 + ZXIgcmVzb3VyY2UgaXNvbGF0aW9uIGFuZCBzY2FsYWJpbGl0eS4gV2l0aCBh + bGwgb2YgdGhlIGFkb3B0aW9uIG9mIGNvbnRhaW5lcnMsIGNvbXBhbmllcyBs + aWtlIFJlZCBIYXQsIEdvb2dsZSw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1 + bmVzOnN1bW1hcnk+Q29udGFpbmVycyBhcmUgd2lkZWx5IHVzZWQgaW4gcHJv + amVjdHMgdGhhdCBoYXZlIGFkb3B0ZWQgRG9ja2VyLCBLdWJlcm5ldGVzLCBv + ciBNZXNvcy4gQ29udGFpbmVycyBhbGxvdyBmb3IgYmV0dGVyIHJlc291cmNl + IGlzb2xhdGlvbiBhbmQgc2NhbGFiaWxpdHkuIFdpdGggYWxsIG9mIHRoZSBh + ZG9wdGlvbiBvZiBjb250YWluZXJzLCBjb21wYW5pZXMgbGlrZSBSZWQgSGF0 + LCBHb29nbGUsIGFuZCBDb3JlT1MgYXJlIHdvcmtpbmcgb24gaW1wcm92ZWQg + c3RhbmRhcmRzIHdpdGhpbiB0aGUgY29tbXVuaXR5LiBTdGFuZGFyZHMgYXJl + IGltcG9ydGFudCB0byB0aGlzIGNvbW11bml0eSBiZWNhdXNlIG9mIGl0cyBw + YWNlIG9mIGdyb3d0aCBhbmQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IHBy + b2plY3RzLiBJZiB5b3UgaGVhcmQgb3VyIHJlY2VudCBlcGlzb2RlIGFib3V0 + IHRoZSBMaW51eENvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5 + PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0 + dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU4OjQ3PC9pdHVu + ZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZl + ZWQtYWRkaXRpb25zOjEiPjM3ODQ8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0 + ZW0+DQoJCTx0aXRsZT5SZWluZm9yY2VtZW50IExlYXJuaW5nIHdpdGggTWlj + aGFsIEtlbXBhPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yMS9yZWluZm9yY2VtZW50LWxl + YXJuaW5nLXdpdGgtbWljaGFsLWtlbXBhLzwvbGluaz4NCgkJPHB1YkRhdGU+ + RnJpLCAyMSBKdWwgMjAxNyAwOTowMDozOCArMDAwMDwvcHViRGF0ZT4NCgkJ + PGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8/cD0zNzc2PC9ndWlkPg0KCQk8Y29tbWVudHM+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8y + MS9yZWluZm9yY2VtZW50LWxlYXJuaW5nLXdpdGgtbWljaGFsLWtlbXBhLyNj + b21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzIxL3JlaW5m + b3JjZW1lbnQtbGVhcm5pbmctd2l0aC1taWNoYWwta2VtcGEvZmVlZC88L3dm + dzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mjwvc2xhc2g6Y29t + bWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91ZCBFbmdpbmVl + cmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNh + c3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtBSSBnYW1p + bmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYWNoaW5l + IExlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + TWljaGFsIEtlbXBhXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbVml6RG9vbV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlJlaW5m + b3JjZW1lbnQgbGVhcm5pbmcgaXMgYSB0eXBlIG9mIG1hY2hpbmUgbGVhcm5p + bmcgd2hlcmUgYSBwcm9ncmFtIGxlYXJucyBob3cgdG8gdGFrZSBhY3Rpb25z + IGluIGFuIGVudmlyb25tZW50IGJhc2VkIG9uIGhvdyB0aGF0IHByb2dyYW0g + aGFzIGJlZW4gcmV3YXJkZWQgZm9yIGFjdGlvbnMgaXQgdG9vayBpbiB0aGUg + cGFzdC4gV2hlbiBwcm9ncmFtIHRha2VzIGFuIGFjdGlvbiwgYW5kIGl0IHJl + Y2VpdmVzIGEgcmV3YXJkIGZvciB0aGF0IGFjdGlvbiwgaXQgaXMgbGlrZWx5 + IHRvIHRha2UgdGhhdCBhY3Rpb24gYWdhaW4gaW4gdGhlIGZ1dHVyZSBiZWNh + dXNlIGl0IHdhcyBwb3NpdGl2ZWx5IHJlaW5mb3JjZWQuIE1pY2hhbCBLZW1w + a2EgaXMgYSBjb21wdXRlciBzY2llbnRpc3Qgd29yayZsdDtwJmd0OyZsdDth + IGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVv + dDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3 + LzIxL3JlaW5mb3JjZW1lbnQtbGVhcm5pbmctd2l0aC1taWNoYWwta2VtcGEv + JnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9w + Jmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RB + VEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRh + bi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRh + bi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3At + aW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVy + OiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhl + aWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvdml6ZG9vbS5wbmc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+UmVpbmZvcmNlbWVudCBs + ZWFybmluZyBpcyBhIHR5cGUgb2YgbWFjaGluZSBsZWFybmluZyB3aGVyZSBh + IHByb2dyYW0gbGVhcm5zIGhvdyB0byB0YWtlIGFjdGlvbnMgaW4gYW4gZW52 + aXJvbm1lbnQgYmFzZWQgb24gaG93IHRoYXQgcHJvZ3JhbSBoYXMgYmVlbiBy + ZXdhcmRlZCBmb3IgYWN0aW9ucyBpdCB0b29rIGluIHRoZSBwYXN0LiBXaGVu + IHByb2dyYW0gdGFrZXMgYW4gYWN0aW9uLCBhbmQgaXQgcmVjZWl2ZXMgYSBy + ZXdhcmQgZm9yIHRoYXQgYWN0aW9uLCBpdCBpcyBsaWtlbHkgdG8gdGFrZSB0 + aGF0IGFjdGlvbiBhZ2FpbiBpbiB0aGUgZnV0dXJlIGJlY2F1c2UgaXQgd2Fz + IHBvc2l0aXZlbHkgcmVpbmZvcmNlZC48L3A+CjxwPk1pY2hhbCBLZW1wa2Eg + aXMgYSBjb21wdXRlciBzY2llbnRpc3Qgd29yayB3b3JrcyBvbiBWaXpEb29t + LCBhbiBBSSByZXNlYXJjaCBwbGF0Zm9ybSBmb3IgcmVpbmZvcmNlbWVudCBs + ZWFybmluZywgd2l0aCBjby1jcmVhdG9yc8KgTWFyZWsgV3lkbXVjaCzCoEdy + emVnb3J6IFJ1bmMswqBKYWt1YiBUb2N6ZWsswqBXb2pjaWVjaCBKYcWba293 + c2tpLiBWaXpEb29tIGlzIGJhc2VkIG9uIHRoZSBmaXJzdC1wZXJzb24gZHVu + Z2VvbiBnYW1lIERvb20uIEluIFZpekRvb20sIGFuIGF1dG9ub21vdXMgYWdl + bnQgbmF2aWdhdGVzIHRocm91Z2ggYSBtYXplIGF2b2lkaW5nIGVuZW1pZXMu + PC9wPgo8cD5SZWluZm9yY2VtZW50IGxlYXJuaW5nIGlzIGEgd2lkZWx5IHVz + ZWQgdG9vbCBmb3IgbWFjaGluZSBsZWFybmluZywgYW5kIHdlIHdpbGwgYmUg + ZG9pbmcgbW9yZSBzaG93cyBpbiB0aGUgZnV0dXJlIHRoYXQgZXhwbGFpbiBo + b3cgaXQgd29ya3MgaW4gZnVydGhlciBkZXRhaWwuPC9wPgo8aDI+U2hvdyBO + b3RlczwvaDI+CjxwPkNvcm5lbGwgVW5pdmVyc2l0eSBMaWJyYXJ5OiA8YSBo + cmVmPSJodHRwczovL2FyeGl2Lm9yZy9hYnMvMTYwNS4wMjA5NyI+Vml6RG9v + bTwvYT48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBw + cm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRw + czovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNv + bS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRo + cyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2Vz + LiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3 + aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9TRUQzNzgtUmVpbmZvcmNlbWVudC1MZWFybmluZy5wZGYiPmNsaWNr + IGhlcmUgdG8gdmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48 + L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGlyZWQuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjE1ODMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzAxLzA0L2Rpc3RyaWJ1dGVkLXN5 + c3RlbXMtd2l0aC1hbHZhcm8tdmlkZWxhL2hpcmVkLWxvZ28vIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1s + b2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBkYXRhLW9yaWctc2l6ZT0iMjYwLDEz + MCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJoaXJlZC1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDEv + aGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBn + P2ZpdD0yNjAlMkMxMzAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMTU4 + MyBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + MS9oaXJlZC1sb2dvLmpwZz9yZXNpemU9MjYwJTJDMTMwIiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29s + LXNtLTYiPkhhdmUgeW91IGJlZW4gdGhpbmtpbmcgeW914oCZZCBiZSBoYXBw + aWVyIGF0IGEgbmV3IGpvYj8gSWYgeW914oCZcmUgZHJlYW1pbmcgYWJvdXQg + YSBuZXcgam9iIGFuZCBoYXZlIGJlZW4gd2FpdGluZyBmb3IgdGhlIHJpZ2h0 + IHRpbWUgdG8gbWFrZSBhIG1vdmUsIGdvIHRvwqA8YSBocmVmPSJodHRwOi8v + aGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPi4gSGly + ZWQgbWFrZXMgZmluZGluZyB3b3JrIGVuam95YWJsZS4gSGlyZWQgdXNlcyBh + biBhbGdvcml0aG1pYyBqb2ItbWF0Y2hpbmcgdG9vbCBpbiBjb21iaW5hdGlv + biB3aXRoIGEgdGFsZW50IGFkdm9jYXRlIHdobyB3aWxsIHdhbGsgeW91IHRo + cm91Z2ggdGhlIHByb2Nlc3Mgb2YgZmluZGluZyBhIGJldHRlciBqb2IuIENo + ZWNrIG91dMKgPGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij5o + aXJlZC5jb20vc2VkYWlseTwvYT7CoHRvIGdldCBhIHNwZWNpYWwgb2ZmZXIg + Zm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyYjODIx + MTthICQ2MDAgc2lnbmluZyBib251cyBmcm9tIEhpcmVkIHdoZW4geW91IGZp + bmQgdGhhdCBncmVhdCBqb2IgdGhhdCBnaXZlcyB5b3UgdGhlIHJlc3BlY3Qg + YW5kIHNhbGFyeSB0aGF0IHlvdSBkZXNlcnZlIGFzIGEgdGFsZW50ZWQgZW5n + aW5lZXIuwqA8L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJy + b3ciPgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+ + PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDov + L2dvY2Qub3JnL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + MTc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20va3dsb2dvcy9zbmFwY2kvdGhvdWdodHdvcmtzX2dvX2Js + YWNrX2VkaXQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0 + PTYxMiUyQzQ2OSIgZGF0YS1vcmlnLXNpemU9IjYxMiw0NjkiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iVGhvdWdo + dFdvcmtzX0dvX2JsYWNrX2VkaXQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTMwMCUy + QzIzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEy + JTJDNDY5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMxNzUgc2l6ZS1t + ZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91 + Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIzMCIg + YWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9U + aG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIz + MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz93PTYxMiA2MTJ3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5TaW1wbGlmeSBjb250aW51b3VzIGRlbGl2ZXJ5IHdpdGggR29DRCwgdGhl + IG9uLXByZW1pc2UsIG9wZW4gc291cmNlLCBjb250aW51b3VzIGRlbGl2ZXJ5 + IHRvb2wgYnkgVGhvdWdodFdvcmtzLiBXaXRoIEdvQ0QsIHlvdSBjYW4gZWFz + aWx5IG1vZGVsIGNvbXBsZXggZGVwbG95bWVudCB3b3JrZmxvd3MgdXNpbmcg + cGlwZWxpbmVzIGFuZCB2aXN1YWxpemUgdGhlbSBlbmQtdG8tZW5kIHdpdGgg + dGhlIFZhbHVlIFN0cmVhbSBNYXAuIFlvdSBnZXQgY29tcGxldGUgdmlzaWJp + bGl0eSBpbnRvIGFuZCBjb250cm9sIG9mIHlvdXIgY29tcGFueeKAmXMgZGVw + bG95bWVudHMuIEF0PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHki + PiBnb2NkLm9yZy9zZWRhaWx5PC9hPiwgZmluZCBvdXQgaG93IHRvIGJyaW5n + IGNvbnRpbnVvdXMgZGVsaXZlcnkgdG8geW91ciB0ZWFtcy4gU2F5IGdvb2Ri + eWUgdG8gZGVwbG95bWVudCBwYW5pYyBhbmQgaGVsbG8gdG8gY29uc2lzdGVu + dCwgcHJlZGljdGFibGUgZGVsaXZlcmllcy4gVmlzaXQ8YSBocmVmPSJodHRw + Oi8vZ29jZC5vcmcvc2VkYWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8L2E+IHRv + IGxlYXJuIG1vcmUgYWJvdXQgR29DRC4gQ29tbWVyY2lhbCBzdXBwb3J0IGFu + ZCBlbnRlcnByaXNlIGFkZC1vbnMsIGluY2x1ZGluZyBkaXNhc3RlciByZWNv + dmVyeSwgYXJlIGF2YWlsYWJsZS48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly90 + b3B0YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NzM5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0 + aC1uZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9maXQ9OTc4 + JTJDNTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJ0b3B0YWwiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD0zMDAl + MkMxNjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUy + QzE2MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAgMzAwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03Njgl + MkM0MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0 + YWwucG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3OHciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBmaW5kIHJlYXNvbmFi + bHkgcHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29mdHdhcmUgZW5naW5l + ZXJzIHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBzY3JhdGNoIG9yIHNj + YWxlIHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRwOi8vdG9wdGFsLmNv + bS9zZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBwbGUgQWlycG9kcyB3 + aGVuIHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9hPiB0byB3b3JrIHdp + dGggYW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhvdXJzLjwvZGl2Pjxi + ciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+ + PGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9zZWRhaWx5P3V0 + bV9zb3VyY2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdhbmljJmFtcDt1 + dG1fY2FtcGFpZ249MjAxN19RM19wb2RjYXN0Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzExNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3liZXItd2FyZmFy + ZS13aXRoLWphcmVkLXNtaXRoL2luY2Fwc3VsYS1sb2dvLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxh + LWxvZ28ucG5nP2ZpdD01MzMlMkMxMjYiIGRhdGEtb3JpZy1zaXplPSI1MzMs + MTI2IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9ImluY2Fwc3VsYS1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD0zMDAlMkM3MSIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fw + c3VsYS1sb2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTMxMTYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVzaXplPTMw + MCUyQzcxIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJDNzEgMzAw + dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9n + by5wbmc/dz01MzMgNTMzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SW5jYXBzdWxhIGlzIGEg + Y2xvdWQgc2VydmljZSB0aGF0IHByb3RlY3RzIGFwcGxpY2F0aW9ucyBmcm9t + IGF0dGFja2VycyBhbmQgaW1wcm92ZXMgcGVyZm9ybWFuY2UuIMKgQm90bmV0 + cyBhbmQgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcyBhcmUgcmVjb2duaXpl + ZCBieSBJbmNhcHN1bGEgYW5kIGJsb2NrZWQuIFRoaXMgcHJvdGVjdHMgeW91 + ciBBUEkgc2VydmVycyBhbmQgbWljcm9zZXJ2aWNlcyBmcm9tIHJlc3BvbmRp + bmcgdG8gdW53YW50ZWQgcmVxdWVzdHMuIFRvIHRyeSBJbmNhcHN1bGEsIGdv + IHRvIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmluY2Fwc3VsYS5jb20vc2VkYWls + eT91dG1fc291cmNlPXNlZGFpbHkmYW1wO3V0bV9tZWRpdW09b3JnYW5pYyZh + bXA7dXRtX2NhbXBhaWduPTIwMTdfUTNfcG9kY2FzdCI+aW5jYXBzdWxhLmNv + bS9zZWRhaWx5PC9hPiBhbmQgZ2V0IGEgbW9udGggZnJlZSBmb3IgU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzLjwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVu + dDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMu + bGlic3luLmNvbS9zZWRhaWx5L1JlaW5mb3JjZW1lbnRMZWFybmluZy5tcDMi + IGxlbmd0aD0iNDM3MDc1NzEiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0 + dW5lczpzdWJ0aXRsZT5SZWluZm9yY2VtZW50IGxlYXJuaW5nIGlzIGEgdHlw + ZSBvZiBtYWNoaW5lIGxlYXJuaW5nIHdoZXJlIGEgcHJvZ3JhbSBsZWFybnMg + aG93IHRvIHRha2UgYWN0aW9ucyBpbiBhbiBlbnZpcm9ubWVudCBiYXNlZCBv + biBob3cgdGhhdCBwcm9ncmFtIGhhcyBiZWVuIHJld2FyZGVkIGZvciBhY3Rp + b25zIGl0IHRvb2sgaW4gdGhlIHBhc3QuIFdoZW4gcHJvZ3JhbSB0YWtlcyBh + biBhY3Rpb24sPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5 + PlJlaW5mb3JjZW1lbnQgbGVhcm5pbmcgaXMgYSB0eXBlIG9mIG1hY2hpbmUg + bGVhcm5pbmcgd2hlcmUgYSBwcm9ncmFtIGxlYXJucyBob3cgdG8gdGFrZSBh + Y3Rpb25zIGluIGFuIGVudmlyb25tZW50IGJhc2VkIG9uIGhvdyB0aGF0IHBy + b2dyYW0gaGFzIGJlZW4gcmV3YXJkZWQgZm9yIGFjdGlvbnMgaXQgdG9vayBp + biB0aGUgcGFzdC4gV2hlbiBwcm9ncmFtIHRha2VzIGFuIGFjdGlvbiwgYW5k + IGl0IHJlY2VpdmVzIGEgcmV3YXJkIGZvciB0aGF0IGFjdGlvbiwgaXQgaXMg + bGlrZWx5IHRvIHRha2UgdGhhdCBhY3Rpb24gYWdhaW4gaW4gdGhlIGZ1dHVy + ZSBiZWNhdXNlIGl0IHdhcyBwb3NpdGl2ZWx5IHJlaW5mb3JjZWQuIE1pY2hh + bCBLZW1wa2EgaXMgYSBjb21wdXRlciBzY2llbnRpc3Qgd29ya0NvbnRpbnVl + IHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9y + PlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJ + CTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8 + aXR1bmVzOmR1cmF0aW9uPjQ1OjE5PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0 + LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3 + NzY8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5BcHBh + cmVsIE1hY2hpbmUgTGVhcm5pbmcgd2l0aCBDb2xhbiBDb25ub24gYW5kIFRo + b21hcyBCZWxsPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8yMC9hcHBhcmVsLW1hY2hpbmUt + bGVhcm5pbmctd2l0aC1jb2xhbi1jb25ub24tYW5kLXRob21hcy1iZWxsLzwv + bGluaz4NCgkJPHB1YkRhdGU+VGh1LCAyMCBKdWwgMjAxNyAwOTowMDowNCAr + MDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zNzcxPC9n + dWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNy8yMC9hcHBhcmVsLW1hY2hpbmUtbGVhcm5pbmct + d2l0aC1jb2xhbi1jb25ub24tYW5kLXRob21hcy1iZWxsLyNjb21tZW50czwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzIwL2FwcGFyZWwtbWFjaGlu + ZS1sZWFybmluZy13aXRoLWNvbGFuLWNvbm5vbi1hbmQtdGhvbWFzLWJlbGwv + ZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MTwv + c2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBp + c29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91 + ZCBFbmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFU + QVthcHBhcmVsIG1hY2hpbmUgbGVhcm5pbmddXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtjbG90aGluZyBhbGdvcml0aG1zXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ29sYW4gQ29ubm9uXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbR2VuZXJhdGlvbiBUdXhd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtUaG9tYXMgQmVs + bF1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkluIGl0cyBtb3N0IGJh + c2ljIGRlZmluaXRpb24sIG1hY2hpbmUgbGVhcm5pbmcgaXMgYSB0b29sIHRo + YXQgbWFrZXMgdGFrZXMgYSBkYXRhIHNldCwgZmluZHMgYSBjb3JyZWxhdGlv + biBpbiB0aGF0IGRhdGEgc2V0LCBhbmQgdXNlcyB0aGF0IGNvcnJlbGF0aW9u + IHRvIGltcHJvdmUgYSBzeXN0ZW0uIEFueSBjb21wbGV4IHN5c3RlbSB3aXRo + IHdlbGwtZGVmaW5lZCBiZWhhdmlvciBhbmQgY2xlYW4gZGF0YSBjYW4gYmUg + aW1wcm92ZWQgd2l0aCBtYWNoaW5lIGxlYXJuaW5nLiBTZXZlcmFsIHByZWNp + cGl0YXRpbmcgZm9yY2VzIGhhdmUgY2F1c2VkIG1hY2hpbmUgbGVhcm5pbmcg + dG8gYmVjb21lIHdpZGVseSB1c2VkOiBtb3JlIGRhdGEsIGNoZWFwZXIgc3Rv + cmFnZSwgYW5kIGJldHRlciB0b29saW5nLiBUd28gcGllY2VzIG9mIHRvb2xp + bmcgdGhhdCBoYXZlJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGlu + dWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMjAvYXBwYXJlbC1tYWNoaW5l + LWxlYXJuaW5nLXdpdGgtY29sYW4tY29ubm9uLWFuZC10aG9tYXMtYmVsbC8m + cXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3Am + Z3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFU + QVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFu + LWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9 + MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFu + LWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1i + dXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1p + bWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6 + IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVp + Z2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny90aG9tYXNiZWxsLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkluIGl0cyBtb3N0IGJhc2ljIGRlZmluaXRp + b24sIG1hY2hpbmUgbGVhcm5pbmcgaXMgYSB0b29sIHRoYXQgbWFrZXMgdGFr + ZXMgYSBkYXRhIHNldCwgZmluZHMgYSBjb3JyZWxhdGlvbiBpbiB0aGF0IGRh + dGEgc2V0LCBhbmQgdXNlcyB0aGF0IGNvcnJlbGF0aW9uIHRvIGltcHJvdmUg + YSBzeXN0ZW0uIEFueSBjb21wbGV4IHN5c3RlbSB3aXRoIHdlbGwtZGVmaW5l + ZCBiZWhhdmlvciBhbmQgY2xlYW4gZGF0YSBjYW4gYmUgaW1wcm92ZWQgd2l0 + aCBtYWNoaW5lIGxlYXJuaW5nLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+U2V2ZXJhbCBwcmVjaXBpdGF0aW5nIGZv + cmNlcyBoYXZlIGNhdXNlZCBtYWNoaW5lIGxlYXJuaW5nIHRvIGJlY29tZSB3 + aWRlbHkgdXNlZDogbW9yZSBkYXRhLCBjaGVhcGVyIHN0b3JhZ2UsIGFuZCBi + ZXR0ZXIgdG9vbGluZy4gVHdvIHBpZWNlcyBvZiB0b29saW5nIHRoYXQgaGF2 + ZSBiZWVuIG9wZW4gc291cmNlZCBmcm9tIEdvb2dsZSBoZWxwIHRyZW1lbmRv + dXNseTogS3ViZXJuZXRlcyBhbmQgVGVuc29yRmxvdy4gPC9zcGFuPjwvcD4K + PHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5LdWJlcm5ldGVz + IGlzIG5vdCBhIHRvb2wgZm9yIG1hY2hpbmUgbGVhcm5pbmcsIGJ1dCBpdCBz + aW1wbGlmaWVzIGRpc3RyaWJ1dGVkIHN5c3RlbXMgb3BlcmF0aW9ucywgdW5s + b2NraW5nIG1vcmUgdGltZSBmb3IgZW5naW5lZXJzIHRvIGZvY3VzIG9uIHRo + aW5ncyB0aGF0IGFyZSBub3QgYXMgY29tbW9kaWZpYWJsZSYjODIxMTtsaWtl + IHR3ZWFraW5nIG1hY2hpbmUgbGVhcm5pbmcgcGFyYW1ldGVycy4gVGVuc29y + RmxvdyBpcyBhIGZyYW1ld29yayBmb3Igc2V0dGluZyB1cCBtYWNoaW5lIGxl + YXJuaW5nIHN5c3RlbXMuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5NYWNoaW5lIGxlYXJuaW5nIHNob3VsZCBhZmZl + Y3QgZXZlcnkgYXNwZWN0IG9mIG91ciBsaXZlcyYjODIxMTtpbmNsdWRpbmcg + dHV4ZWRvIGZpdHRpbmcuIEdlbmVyYXRpb24gVHV4IGlzIGEgY29tcGFueSB0 + aGF0IGFsbG93cyBjdXN0b21lcnMgdG8gcmVudCBhcHBhcmVsIHRoYXQgaGlz + dG9yaWNhbGx5IGhhcyByZXF1aXJlZCBpbi1wZXJzb24gZml0dGluZy4gVXNp + bmcgbWFjaGluZSBsZWFybmluZywgdGhleSBoYXZlIGRldmVsb3BlZCBhIHN5 + c3RlbSB0aGF0IGFsbG93cyBjdXN0b21lcnMgdG8gZ2V0IGZpdCBmb3IgYW4g + b3V0Zml0IHdpdGhvdXQgZW50ZXJpbmcgYSBicmljay1hbmQtbW9ydGFyIHN0 + b3JlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+SW4gdGhpcyBlcGlzb2RlLCBDb2xhbiBDb25ub24gYW5kIFRob21h + cyBCZWxsIGZyb20gR2VuZXJhdGlvbiBUdXggam9pbiB0byBleHBsYWluIGhv + dyBHZW5lcmF0aW9uIFR1eCBhZG9wdGVkIEt1YmVybmV0ZXMgYW5kIFRlbnNv + ckZsb3csIGFuZCBob3cgdGhlIGNvbXBhbnnigJlzIGluZnJhc3RydWN0dXJl + IGFuZCBtYWNoaW5lIGxlYXJuaW5nIHBpcGVsaW5lIHdvcmsuPC9zcGFuPjwv + cD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVk + IGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERh + aWx5IGxpc3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2Vl + ZGl0cG9kY2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwv + YT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1 + ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5r + cyB0byBXZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0Ug + RGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1NF + RDM3Ny1BcHBhcmVsLU1hY2hpbmUtTGVhcm5pbmcucGRmIj5jbGljayBoZXJl + IHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8 + aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2F1cm9yYS5hd3MiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIyIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9h + d3MvYW1hem9ud2Vic2VydmljZXNfbG9nby1zdmdfLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vy + dmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MjAwMCUyQzgwMCIgZGF0YS1vcmln + LXNpemU9IjIwMDAsODAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IkFtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3Zn + XyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZp + Y2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTMwMCUyQzEyMCIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNl + cnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTEwMjQlMkM0MTAiIGNsYXNzPSJh + bGlnbmxlZnQgd3AtaW1hZ2UtMzcyMiBzaXplLW1lZGl1bSIgc3JjPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xv + Z28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEyMCIgYWx0PSIiIHNyY3NldD0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAgMzAwdywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMzMDcgNzY4dywgaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18u + cG5nP3Jlc2l6ZT0xMDI0JTJDNDEwIDEwMjR3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/ + cmVzaXplPTcyMCUyQzI4OCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UbyBidWlsZCB0 + aGUga2luZHMgb2YgdGhpbmdzIGRldmVsb3BlcnMgd2FudCB0byBidWlsZCB0 + b2RheSwgdGhleSBuZWVkIGJldHRlciB0b29scy4gwqBBbWF6b24gQXVyb3Jh + IGZyb20gQW1hem9uIFdlYiBTZXJ2aWNlcyBpcyBhIHJlbGF0aW9uYWwgZGF0 + YWJhc2UgZW5naW5lIHRoYXTigJlzIGNvbXBhdGlibGUgd2l0aCBNeVNRTCBh + bmQgUG9zdGdyZVNRTCwgYW5kIHByb3ZpZGVzIHVwIHRvIGZpdmUgdGltZXMg + dGhlIHBlcmZvcm1hbmNlIG9uIHRoZSBzYW1lIGhhcmR3YXJl4oCUYXQgYSB0 + ZW50aCBvZiB0aGUgY29zdC4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9Imh0 + dHA6Ly9hdXJvcmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBo + cmVmPSJodHRwczovL3d3dy5pbmNhcHN1bGEuY29tL3NlZGFpbHk/dXRtX3Nv + dXJjZT1zZWRhaWx5JmFtcDt1dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9j + YW1wYWlnbj0yMDE3X1EzX3BvZGNhc3QiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzMTE2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8wOS9jeWJlci13YXJmYXJlLXdp + dGgtamFyZWQtc21pdGgvaW5jYXBzdWxhLWxvZ28vIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9n + by5wbmc/Zml0PTUzMyUyQzEyNiIgZGF0YS1vcmlnLXNpemU9IjUzMywxMjYi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iaW5jYXBzdWxhLWxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIg + ZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + MS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0PTMwMCUyQzcxIiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxh + LWxvZ28ucG5nP2ZpdD01MzMlMkMxMjYiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzExNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJD + NzEiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSAzMDB3LCBo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBu + Zz93PTUzMyA1MzN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JbmNhcHN1bGEgaXMgYSBjbG91 + ZCBzZXJ2aWNlIHRoYXQgcHJvdGVjdHMgYXBwbGljYXRpb25zIGZyb20gYXR0 + YWNrZXJzIGFuZCBpbXByb3ZlcyBwZXJmb3JtYW5jZS4gwqBCb3RuZXRzIGFu + ZCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzIGFyZSByZWNvZ25pemVkIGJ5 + IEluY2Fwc3VsYSBhbmQgYmxvY2tlZC4gVGhpcyBwcm90ZWN0cyB5b3VyIEFQ + SSBzZXJ2ZXJzIGFuZCBtaWNyb3NlcnZpY2VzIGZyb20gcmVzcG9uZGluZyB0 + byB1bndhbnRlZCByZXF1ZXN0cy4gVG8gdHJ5IEluY2Fwc3VsYSwgZ28gdG8g + PGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9zZWRhaWx5P3V0 + bV9zb3VyY2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdhbmljJmFtcDt1 + dG1fY2FtcGFpZ249MjAxN19RM19wb2RjYXN0Ij5pbmNhcHN1bGEuY29tL3Nl + ZGFpbHk8L2E+IGFuZCBnZXQgYSBtb250aCBmcmVlIGZvciBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMuPC9kaXY+PGJyIC8+CjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjMxNzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0d29ya3Nf + Z29fYmxhY2tfZWRpdC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz9maXQ9NjEyJTJDNDY5IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2OSIgZGF0 + YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90 + O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Ny + ZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29w + eXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0 + aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJU + aG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9maXQ9 + MzAwJTJDMjMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD02MTIlMkM0NjkiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzE3NSBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3 + L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJD + MjMwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAw + JTJDMjMwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhv + dWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVz + PSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29s + LXNtLTYiPlNpbXBsaWZ5IGNvbnRpbnVvdXMgZGVsaXZlcnkgd2l0aCBHb0NE + LCB0aGUgb24tcHJlbWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRpbnVvdXMgZGVs + aXZlcnkgdG9vbCBieSBUaG91Z2h0V29ya3MuIFdpdGggR29DRCwgeW91IGNh + biBlYXNpbHkgbW9kZWwgY29tcGxleCBkZXBsb3ltZW50IHdvcmtmbG93cyB1 + c2luZyBwaXBlbGluZXMgYW5kIHZpc3VhbGl6ZSB0aGVtIGVuZC10by1lbmQg + d2l0aCB0aGUgVmFsdWUgU3RyZWFtIE1hcC4gWW91IGdldCBjb21wbGV0ZSB2 + aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb2YgeW91ciBjb21wYW554oCZ + cyBkZXBsb3ltZW50cy4gQXQ8YSBocmVmPSJodHRwOi8vZ29jZC5vcmcvc2Vk + YWlseSI+IGdvY2Qub3JnL3NlZGFpbHk8L2E+LCBmaW5kIG91dCBob3cgdG8g + YnJpbmcgY29udGludW91cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkg + Z29vZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25z + aXN0ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDxhIGhyZWY9 + Imh0dHA6Ly9nb2NkLm9yZy9zZWRhaWx5Ij4gZ29jZC5vcmcvc2VkYWlseTwv + YT4gdG8gbGVhcm4gbW9yZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBv + cnQgYW5kIGVudGVycHJpc2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVy + IHJlY292ZXJ5LCBhcmUgYXZhaWxhYmxlLjwvZGl2PjxiciAvPgo8L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMjY2OCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc3ltcGhvbm8vc3ltcGhvbm8v + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + Ni9zeW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBkYXRhLW9yaWctc2l6ZT0i + MjcyLDg0IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9InN5bXBob25vIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9m + aXQ9MjcyJTJDODQiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMjY2OCBz + aXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9z + eW1waG9uby5wbmc/cmVzaXplPTI3MiUyQzg0IiBhbHQ9IiIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5UaGFua3MgdG8gU3ltcGhvbm8gZm9yIHNwb25zb3JpbmcgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkuIFN5bXBob25vIGlzIGEgY3VzdG9t + IGVuZ2luZWVyaW5nIHNob3Agd2hlcmUgc2VuaW9yIGVuZ2luZWVycyB0YWNr + bGUgYmlnIHRlY2ggY2hhbGxlbmdlcyB3aGlsZSBsZWFybmluZyBmcm9tIGVh + Y2ggb3RoZXIuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8vc3lt + cGhvbm8uY29tL3NlZGFpbHkiPnN5bXBob25vLmNvbS9zZWRhaWx5PC9hPi4g + VGhhbmtzIHRvIFN5bXBob25vIGZvciBiZWluZyBhIHNwb25zb3Igb2YgU29m + dHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIGFsbW9zdCBhIHllYXIgbm93 + LiBZb3VyIGNvbnRpbnVlZCBzdXBwb3J0IGFsbG93cyB1cyB0byBkZWxpdmVy + IGNvbnRlbnQgdG8gdGhlIGxpc3RlbmVycyBvbiBhIHJlZ3VsYXIgYmFzaXMu + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rp + dj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJsPSJo + dHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvQXBwYXJlbE1hY2hp + bmVMZWFybmluZy5tcDMiIGxlbmd0aD0iNTM4NDI5MjQiIHR5cGU9ImF1ZGlv + L21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5JbiBpdHMgbW9zdCBiYXNp + YyBkZWZpbml0aW9uLCBtYWNoaW5lIGxlYXJuaW5nIGlzIGEgdG9vbCB0aGF0 + IG1ha2VzIHRha2VzIGEgZGF0YSBzZXQsIGZpbmRzIGEgY29ycmVsYXRpb24g + aW4gdGhhdCBkYXRhIHNldCwgYW5kIHVzZXMgdGhhdCBjb3JyZWxhdGlvbiB0 + byBpbXByb3ZlIGEgc3lzdGVtLiBBbnkgY29tcGxleCBzeXN0ZW0gd2l0aCB3 + ZWxsLWRlZmluZWQgYmVoYXZpb3IgYW5kIGNsZWFuIGRhdGEgY2FuIGJlIGlt + cHJvdmVkIHdpdGguLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1 + bW1hcnk+SW4gaXRzIG1vc3QgYmFzaWMgZGVmaW5pdGlvbiwgbWFjaGluZSBs + ZWFybmluZyBpcyBhIHRvb2wgdGhhdCBtYWtlcyB0YWtlcyBhIGRhdGEgc2V0 + LCBmaW5kcyBhIGNvcnJlbGF0aW9uIGluIHRoYXQgZGF0YSBzZXQsIGFuZCB1 + c2VzIHRoYXQgY29ycmVsYXRpb24gdG8gaW1wcm92ZSBhIHN5c3RlbS4gQW55 + IGNvbXBsZXggc3lzdGVtIHdpdGggd2VsbC1kZWZpbmVkIGJlaGF2aW9yIGFu + ZCBjbGVhbiBkYXRhIGNhbiBiZSBpbXByb3ZlZCB3aXRoIG1hY2hpbmUgbGVh + cm5pbmcuIFNldmVyYWwgcHJlY2lwaXRhdGluZyBmb3JjZXMgaGF2ZSBjYXVz + ZWQgbWFjaGluZSBsZWFybmluZyB0byBiZWNvbWUgd2lkZWx5IHVzZWQ6IG1v + cmUgZGF0YSwgY2hlYXBlciBzdG9yYWdlLCBhbmQgYmV0dGVyIHRvb2xpbmcu + IFR3byBwaWVjZXMgb2YgdG9vbGluZyB0aGF0IGhhdmVDb250aW51ZSByZWFk + aW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1 + bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5l + czpkdXJhdGlvbj41NTo1MzwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4 + bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zNzcxPC9w + b3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+U2ltcGxlIFBy + b2dyYW1tZXIgd2l0aCBKb2huIFNvbm1lejwvdGl0bGU+DQoJCTxsaW5rPmh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTkv + c2ltcGxlLXByb2dyYW1tZXItd2l0aC1qb2huLXNvbm1lei88L2xpbms+DQoJ + CTxwdWJEYXRlPldlZCwgMTkgSnVsIDIwMTcgMDk6MDA6MTUgKzAwMDA8L3B1 + YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9Mzc2NzwvZ3VpZD4NCgkJ + PGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDcvMTkvc2ltcGxlLXByb2dyYW1tZXItd2l0aC1qb2huLXNvbm1l + ei8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xOS9z + aW1wbGUtcHJvZ3JhbW1lci13aXRoLWpvaG4tc29ubWV6L2ZlZWQvPC93Znc6 + Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjI8L3NsYXNoOmNvbW1l + bnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQnVzaW5lc3MgYW5kIFBo + aWxvc29waHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQ + b2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbZGV2 + ZWxvcGVyIGxpZmVzdHlsZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0pvaG4gU29ubWV6XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbcHJvZmVzc2lvbmFsIGRldmVsb3BtZW50XV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2ltcGxlIFByb2dyYW1tZXJdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtUaGUgQ29tcGxldGUg + U29mdHdhcmUgRGV2ZWxvcGVyJ3MgQ2FyZWVyIEd1aWRlXV0+PC9jYXRlZ29y + eT4KCQk8ZGVzY3JpcHRpb24+U29mdHdhcmUgZW5naW5lZXJzIGhhdmUgYSBz + a2lsbCBzZXQgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBzb2x2ZSBwcm9ibGVt + cyBvdXRzaWRlIG9mIGEgY29kZWJhc2UuIEFuYWx5dGljYWwgc2tpbGxzIGNh + biBiZSB1c2VkIHRvIGV2YWx1YXRlIGludmVzdG1lbnQgb3Bwb3J0dW5pdGll + cy4gQ3JlYXRpdmUgdGhpbmtpbmcgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYnVz + aW5lc3Nlcy4gQ29tbXVuaWNhdGlvbiBza2lsbHMgY2FuIGJlIHVzZWQgdG8g + YnVpbGQgYW5kIGVuaGFuY2UgcmVsYXRpb25zaGlwcy4gSm9obiBTb25tZXog + aXMgYSBzb2Z0d2FyZSBlbmdpbmVlciB3aG8gY3JlYXRlZCB0aGUgU2ltcGxl + IFByb2dyYW1tZXIsIGEgY29tbXVuaXR5IG9mIGRldmVsb3BlcnMgd2hvIGRp + c2N1c3Mgc3RyYXRlZ2llcyBhcm91bmQgc29mdHdhcmUsIGJ1c2luZXNzLCBh + bmQgbGlmZS4gSGUgam9pbmVkIG1lJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1 + b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTkvc2ltcGxl + LXByb2dyYW1tZXItd2l0aC1qb2huLXNvbm1lei8mcXVvdDsmZ3Q7Q29udGlu + dWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlv + bj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xl + cy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4t + YnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNs + YXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHls + ZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAw + MDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNy + Yz0iaHR0cHM6Ly9pMC53cC5jb20vc2ltcGxlcHJvZ3JhbW1lci5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTUvMDkvSm9obi1Tb25tZXotU21hbGwuanBn + P3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+U29mdHdhcmUgZW5naW5lZXJzIGhhdmUgYSBza2lsbCBzZXQgdGhhdCBj + YW4gYmUgYXBwbGllZCB0byBzb2x2ZSBwcm9ibGVtcyBvdXRzaWRlIG9mIGEg + Y29kZWJhc2UuIEFuYWx5dGljYWwgc2tpbGxzIGNhbiBiZSB1c2VkIHRvIGV2 + YWx1YXRlIGludmVzdG1lbnQgb3Bwb3J0dW5pdGllcy4gQ3JlYXRpdmUgdGhp + bmtpbmcgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYnVzaW5lc3Nlcy4gQ29tbXVu + aWNhdGlvbiBza2lsbHMgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYW5kIGVuaGFu + Y2UgcmVsYXRpb25zaGlwcy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkpvaG4gU29ubWV6IGlzIGEgc29mdHdhcmUg + ZW5naW5lZXIgd2hvIGNyZWF0ZWQgdGhlIFNpbXBsZSBQcm9ncmFtbWVyLCBh + IGNvbW11bml0eSBvZiBkZXZlbG9wZXJzIHdobyBkaXNjdXNzIHN0cmF0ZWdp + ZXMgYXJvdW5kIHNvZnR3YXJlLCBidXNpbmVzcywgYW5kIGxpZmUuIEhlIGpv + aW5lZCBtZSBvbiB0aGUgc2hvdyB0byBkaXNjdXNzIHRoZXNlIHRvcGljcyBh + bmQgb3RoZXJzLCBhcyB3ZWxsIGFzIGhpcyBuZXcgYm9vayA8L3NwYW4+PGEg + aHJlZj0iaHR0cHM6Ly9zaW1wbGVwcm9ncmFtbWVyLmNvbS9wcm9kdWN0cy9j + YXJlZXJndWlkZS8iPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + VGhlIENvbXBsZXRlIFNvZnR3YXJlIERldmVsb3BlcuKAmXMgQ2FyZWVyIEd1 + aWRlPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + Pi48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGlzIGxvb2tpbmcgZm9y + IHNwb25zb3JzIGZvciBRMy4gSWYgeW91ciBjb21wYW55IGhhcyBhIHByb2R1 + Y3Qgb3Igc2VydmljZSwgb3IgaWYgeW91IGFyZSBoaXJpbmcsIFNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5IHJlYWNoZXMgMjMsMDAwIGRldmVsb3BlcnMg + bGlzdGVuaW5nIGRhaWx5LiBTZW5kIG1lIGFuIGVtYWlsOiA8L3NwYW4+PGEg + aHJlZj0ibWFpbHRvOmplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5qZWZmQHNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb208L3NwYW4+PC9hPjwvcD4KPGgyPlNo + b3cgTm90ZXM8L2gyPgo8cD48YSBocmVmPSJodHRwOi8vd3d3LnNlLXJhZGlv + Lm5ldC8yMDE1LzEyL3NlLXJhZGlvLWVwaXNvZGUtMjQ1LWpvaG4tc29ubWV6 + LW9uLW1hcmtldGluZy15b3Vyc2VsZi1hbmQtbWFuYWdpbmcteW91ci1jYXJl + ZXIvIj5TRSBSYWRpbzogSm9obiBTb25tZXosIE1hcmtldGluZyBZb3Vyc2Vs + ZiBhbmQgTWFuYWdpbmcgWW91ciBDYXJlZXI8L2E+PC9wPgo8aDI+VHJhbnNj + cmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQ + b2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJz + IGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5j + b20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIw + JSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBh + bmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQg + UG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNl + wqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvU0VEMzc2LVNpbXBsZS1Q + cm9ncmFtbWVyLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3fi + gJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRp + diBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRh + Y2htZW50LWlkPSIzNzM5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10 + aGUtY2xvdWQtd2l0aC1uZWhhLW5hcmtoZWRlL3RvcHRhbC0yLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFs + LnBuZz9maXQ9OTc4JTJDNTIyIiBkYXRhLW9yaWctc2l6ZT0iOTc4LDUyMiIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJ0b3B0YWwiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwu + cG5nP2ZpdD0zMDAlMkMxNjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIi + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzczOSBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/ + cmVzaXplPTMwMCUyQzE2MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT0zMDAlMkMxNjAg + MzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5n + P3Jlc2l6ZT03NjglMkM0MTAgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy90b3B0YWwucG5nP3Jlc2l6ZT03MjAlMkMzODQgNzIwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP3c9OTc4IDk3 + OHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPlRvcHRhbCBpcyB0aGUgYmVzdCBwbGFjZSB0byBm + aW5kIHJlYXNvbmFibHkgcHJpY2VkLCBleHRyZW1lbHkgdGFsZW50ZWQgc29m + dHdhcmUgZW5naW5lZXJzIHRvIGJ1aWxkIHlvdXIgcHJvamVjdHMgZnJvbSBz + Y3JhdGNoIG9yIHNjYWxlIHlvdXIgd29ya2ZvcmNlLiA8YSBocmVmPSJodHRw + Oi8vdG9wdGFsLmNvbS9zZWRhaWx5Ij5HZXQgYSBmcmVlIHBhaXIgb2YgQXBw + bGUgQWlycG9kcyB3aGVuIHlvdSB1c2UgVG9wdGFsLmNvbS9zZWRhaWx5PC9h + PiB0byB3b3JrIHdpdGggYW4gZW5naW5lZXIgZm9yIGF0IGxlYXN0IDIwIGhv + dXJzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+ + CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2dvY2Qub3JnL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9zbmFwY2kvdGhvdWdodHdvcmtzX2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9y + aWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0 + V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1v + cmlnLXNpemU9IjYxMiw0NjkiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iVGhvdWdodFdvcmtzX0dvX2JsYWNrX2Vk + aXQiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3Nf + R29fYmxhY2tfZWRpdC5wbmc/Zml0PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jr + c19Hb19ibGFja19lZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTMxNzUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tf + ZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIzMCIgYWx0PSIiIHNyY3NldD0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxh + Y2tfZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIzMCAzMDB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0 + LnBuZz93PTYxMiA2MTJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEw + MHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPlNpbXBsaWZ5IGNvbnRpbnVvdXMgZGVsaXZlcnkg + d2l0aCBHb0NELCB0aGUgb24tcHJlbWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRp + bnVvdXMgZGVsaXZlcnkgdG9vbCBieSBUaG91Z2h0V29ya3MuIFdpdGggR29D + RCwgeW91IGNhbiBlYXNpbHkgbW9kZWwgY29tcGxleCBkZXBsb3ltZW50IHdv + cmtmbG93cyB1c2luZyBwaXBlbGluZXMgYW5kIHZpc3VhbGl6ZSB0aGVtIGVu + ZC10by1lbmQgd2l0aCB0aGUgVmFsdWUgU3RyZWFtIE1hcC4gWW91IGdldCBj + b21wbGV0ZSB2aXNpYmlsaXR5IGludG8gYW5kIGNvbnRyb2wgb2YgeW91ciBj + b21wYW554oCZcyBkZXBsb3ltZW50cy4gQXQ8L3NwYW4+PGEgaHJlZj0iaHR0 + cDovL2dvY2Qub3JnL3NlZGFpbHkiPiA8c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPmdvY2Qub3JnL3NlZGFpbHk8L3NwYW4+PC9hPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCBmaW5kIG91dCBob3cgdG8gYnJp + bmcgY29udGludW91cyBkZWxpdmVyeSB0byB5b3VyIHRlYW1zLiBTYXkgZ29v + ZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmljIGFuZCBoZWxsbyB0byBjb25zaXN0 + ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVyaWVzLiBWaXNpdDwvc3Bhbj48YSBo + cmVmPSJodHRwOi8vZ29jZC5vcmcvc2VkYWlseSI+IDxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+Z29jZC5vcmcvc2VkYWlseTwvc3Bhbj48L2E+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4gdG8gbGVhcm4gbW9y + ZSBhYm91dCBHb0NELiBDb21tZXJjaWFsIHN1cHBvcnQgYW5kIGVudGVycHJp + c2UgYWRkLW9ucywgaW5jbHVkaW5nIGRpc2FzdGVyIHJlY292ZXJ5LCBhcmUg + YXZhaWxhYmxlLjwvc3Bhbj48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2 + IGNsYXNzPSJyb3ciPgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMzEyNSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMTMvY29sdW1u + YXItZGF0YS1hcGFjaGUtYXJyb3ctYW5kLXBhcnF1ZXQtd2l0aC1qdWxpZW4t + bGUtZGVtLWFuZC1qYWNxdWVzLW5hZGVhdS92aXZpZGNvcnRleC8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1Zpdmlk + Q29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgZGF0YS1vcmlnLXNpemU9IjEw + MjIsMjU4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9IlZpdmlkQ29ydGV4IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDEvVml2aWRDb3J0ZXgucG5nP2ZpdD0zMDAlMkM3NiIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29y + dGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1p + bWFnZS0zMTI1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT0zMDAlMkM3NiIg + c3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29y + dGV4LnBuZz9yZXNpemU9MzAwJTJDNzYgMzAwdywgaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTc2OCUyQzE5 + NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29y + dGV4LnBuZz9yZXNpemU9NzIwJTJDMTgyIDcyMHcsIGh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3c9MTAyMiAxMDIydyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+Vml2aWRDb3J0ZXggaXMgdGhlIGJlc3Qgd2F5IHRvIGlt + cHJvdmUgeW91ciBkYXRhYmFzZSBwZXJmb3JtYW5jZSwgZWZmaWNpZW5jeSwg + YW5kIHVwdGltZS4gSXQmIzgyMTc7cyBhIGNsb3VkLWhvc3RlZCBtb25pdG9y + aW5nIHBsYXRmb3JtIHRoYXQgZWxpbWluYXRlcyB5b3VyIG1vc3QgY3JpdGlj + YWwgdmlzaWJpbGl0eSBnYXAsIHByb3ZpZGluZyBpbnNpZ2h0cyBhdCAxLXNl + Y29uZCBncmFudWxhcml0eSBpbnRvIHByb2R1Y3Rpb24gZGF0YWJhc2Ugd29y + a2xvYWQgYW5kIHF1ZXJ5IHBlcmZvcm1hbmNlLiBJdCBtZWFzdXJlcyB0aGUg + ZXhlY3V0aW9uIGFuZCByZXNvdXJjZSBjb25zdW1wdGlvbiBvZiBldmVyeSBz + dGF0ZW1lbnQgYW5kIHRyYW5zYWN0aW9uLCBzbyB5b3UgY2FuIHByb2FjdGl2 + ZWx5IGZpeCBmdXR1cmUgZGF0YWJhc2UgaXNzdWVzIGJlZm9yZSB0aGV5IGlt + cGFjdCBjdXN0b21lcnMuIFRvIGxlYXJuIG1vcmUsIHZpc2l0PGEgaHJlZj0i + aHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2aWRjb3J0ZXgu + Y29tL3NlZGFpbHk8L2E+IGFuZCBmaW5kIG91dCB3aHkgY29tcGFuaWVzIGxp + a2UgR2l0aHViLCBEaWdpdGFsT2NlYW4sIGFuZCBZZWxwIGFsbCB1c2UgVml2 + aWRDb3J0ZXggdG8gc2VlIGRlZXBlciBpbnRvIHRoZWlyIGRhdGFiYXNlIHBl + cmZvcm1hbmNlLiBMZWFybiBtb3JlIGF0PGEgaHJlZj0iaHR0cDovL3Zpdmlk + Y29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2aWRjb3J0ZXguY29tL3NlZGFpbHk8 + L2E+LCBhbmQgZ2V0IHN0YXJ0ZWQgdG9kYXkhPC9kaXY+PGJyIC8+CjwvcD48 + L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJo + dHRwczovL3d3dy5pbmNhcHN1bGEuY29tL3NlZGFpbHk/dXRtX3NvdXJjZT1z + ZWRhaWx5JmFtcDt1dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9jYW1wYWln + bj0yMDE3X1EzX3BvZGNhc3QiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + MTE2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wMS8wOS9jeWJlci13YXJmYXJlLXdpdGgtamFy + ZWQtc21pdGgvaW5jYXBzdWxhLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/ + Zml0PTUzMyUyQzEyNiIgZGF0YS1vcmlnLXNpemU9IjUzMywxMjYiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaW5j + YXBzdWxhLWxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/Zml0PTMwMCUyQzcxIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28u + cG5nP2ZpdD01MzMlMkMxMjYiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzExNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJDNzEiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5j + YXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSAzMDB3LCBodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz93PTUz + MyA1MzN3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5JbmNhcHN1bGEgaXMgYSBjbG91ZCBzZXJ2 + aWNlIHRoYXQgcHJvdGVjdHMgYXBwbGljYXRpb25zIGZyb20gYXR0YWNrZXJz + IGFuZCBpbXByb3ZlcyBwZXJmb3JtYW5jZS4gwqBCb3RuZXRzIGFuZCBkZW5p + YWwtb2Ytc2VydmljZSBhdHRhY2tzIGFyZSByZWNvZ25pemVkIGJ5IEluY2Fw + c3VsYSBhbmQgYmxvY2tlZC4gVGhpcyBwcm90ZWN0cyB5b3VyIEFQSSBzZXJ2 + ZXJzIGFuZCBtaWNyb3NlcnZpY2VzIGZyb20gcmVzcG9uZGluZyB0byB1bndh + bnRlZCByZXF1ZXN0cy4gVG8gdHJ5IEluY2Fwc3VsYSwgZ28gdG8gPGEgaHJl + Zj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9zZWRhaWx5P3V0bV9zb3Vy + Y2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdhbmljJmFtcDt1dG1fY2Ft + cGFpZ249MjAxN19RM19wb2RjYXN0Ij5pbmNhcHN1bGEuY29tL3NlZGFpbHk8 + L2E+IGFuZCBnZXQgYSBtb250aCBmcmVlIGZvciBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSBsaXN0ZW5lcnMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+ + DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29t + L3NlZGFpbHkvU2ltcGxlUHJvZ3JhbW1lci5tcDMiIGxlbmd0aD0iNjk4MDUw + MTgiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5T + b2Z0d2FyZSBlbmdpbmVlcnMgaGF2ZSBhIHNraWxsIHNldCB0aGF0IGNhbiBi + ZSBhcHBsaWVkIHRvIHNvbHZlIHByb2JsZW1zIG91dHNpZGUgb2YgYSBjb2Rl + YmFzZS4gQW5hbHl0aWNhbCBza2lsbHMgY2FuIGJlIHVzZWQgdG8gZXZhbHVh + dGUgaW52ZXN0bWVudCBvcHBvcnR1bml0aWVzLiBDcmVhdGl2ZSB0aGlua2lu + ZyBjYW4gYmUgdXNlZCB0byBidWlsZCBidXNpbmVzc2VzLjwvaXR1bmVzOnN1 + YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5Tb2Z0d2FyZSBlbmdpbmVlcnMg + aGF2ZSBhIHNraWxsIHNldCB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIHNvbHZl + IHByb2JsZW1zIG91dHNpZGUgb2YgYSBjb2RlYmFzZS4gQW5hbHl0aWNhbCBz + a2lsbHMgY2FuIGJlIHVzZWQgdG8gZXZhbHVhdGUgaW52ZXN0bWVudCBvcHBv + cnR1bml0aWVzLiBDcmVhdGl2ZSB0aGlua2luZyBjYW4gYmUgdXNlZCB0byBi + dWlsZCBidXNpbmVzc2VzLiBDb21tdW5pY2F0aW9uIHNraWxscyBjYW4gYmUg + dXNlZCB0byBidWlsZCBhbmQgZW5oYW5jZSByZWxhdGlvbnNoaXBzLiBKb2hu + IFNvbm1leiBpcyBhIHNvZnR3YXJlIGVuZ2luZWVyIHdobyBjcmVhdGVkIHRo + ZSBTaW1wbGUgUHJvZ3JhbW1lciwgYSBjb21tdW5pdHkgb2YgZGV2ZWxvcGVy + cyB3aG8gZGlzY3VzcyBzdHJhdGVnaWVzIGFyb3VuZCBzb2Z0d2FyZSwgYnVz + aW5lc3MsIGFuZCBsaWZlLiBIZSBqb2luZWQgbWVDb250aW51ZSByZWFkaW5n + Li4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVz + OmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpk + dXJhdGlvbj4xOjEyOjMxPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHht + bG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3Njc8L3Bv + c3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5CYWNrdXBzIHdp + dGggS2VubnkgVG88L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzE4L2JhY2t1cHMtd2l0aC1r + ZW5ueS10by88L2xpbms+DQoJCTxwdWJEYXRlPlR1ZSwgMTggSnVsIDIwMTcg + MDk6MDA6MTEgKzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5r + PSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + P3A9MzcxNTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTgvYmFja3Vwcy13aXRoLWtl + bm55LXRvLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcv + MTgvYmFja3Vwcy13aXRoLWtlbm55LXRvL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4NCgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPg0KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWQgRW5naW5lZXJpbmddXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWRdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtLZW5ueSBUb11dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1J1YnJpa11dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW3ZpcnR1YWwgbWFjaGluZSBiYWNrdXBdXT48 + L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5FdmVyeSBzb2Z0d2FyZSBjb21w + YW55IGJhY2tzIHVwIGNyaXRpY2FsIGRhdGEgc291cmNlcy4gQmFja2luZyB1 + cCBkYXRhYmFzZXMgaXMgYSBjb21tb24gcHJvY2VkdXJlLCB3aGV0aGVyIGEg + Y29tcGFueSBpcyBpbiB0aGUgY2xvdWQgb3Igb24tcHJlbS4gQmFja2luZyB1 + cCB2aXJ0dWFsIG1hY2hpbmUgaW5zdGFuY2VzIGlzIGxlc3MgY29tbW9uLiBS + dWJyaWsgaXMgYSBjb21wYW55IHRoYXQgaXMga25vd24gZm9yIGJ1aWxkaW5n + IGJhY2t1cCBpbmZyYXN0cnVjdHVyZSBmb3IgZW50ZXJwcmlzZXMuIFRoZWly + IG1haW4gcHJvZHVjdCBpcyBhbiBhcHBsaWFuY2UgdGhhdCBzaXRzIG9uIHBy + ZW0gYXQgYW4gZW50ZXJwcmlzZSBhbmQgc3RvcmVzIHNuYXBzaG90cyBvZiB2 + aXJ0dWFsIG1hY2hpbmVzIHJ1bm5pbmcgd2l0aGluIHRoZSBlbnRlcnByaXNl + LiBJZiBhJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVh + ZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDcvMTgvYmFja3Vwcy13aXRoLWtlbm55LXRv + LyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsv + cCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NE + QVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBl + cm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + MjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5k + YW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2Zp + dD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5k + YW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFu + LWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdw + LWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRl + cjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1o + ZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kxLndwLmNvbS9tZWRpYS5s + aWNkbi5jb20vbXByL21wci9zaHJpbmtucF8yMDBfMjAwL3AvNy8wMDUvMGEx + LzMxMS8yZDU4YzNmLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkV2ZXJ5IHNvZnR3YXJlIGNvbXBhbnkgYmFj + a3MgdXAgY3JpdGljYWwgZGF0YSBzb3VyY2VzLiBCYWNraW5nIHVwIGRhdGFi + YXNlcyBpcyBhIGNvbW1vbiBwcm9jZWR1cmUsIHdoZXRoZXIgYSBjb21wYW55 + IGlzIGluIHRoZSBjbG91ZCBvciBvbi1wcmVtLiBCYWNraW5nIHVwIHZpcnR1 + YWwgbWFjaGluZSBpbnN0YW5jZXMgaXMgbGVzcyBjb21tb24uIDwvc3Bhbj48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+UnVicmlr + IGlzIGEgY29tcGFueSB0aGF0IGlzIGtub3duIGZvciBidWlsZGluZyBiYWNr + dXAgaW5mcmFzdHJ1Y3R1cmUgZm9yIGVudGVycHJpc2VzLiBUaGVpciBtYWlu + IHByb2R1Y3QgaXMgYW4gYXBwbGlhbmNlIHRoYXQgc2l0cyBvbiBwcmVtIGF0 + IGFuIGVudGVycHJpc2UgYW5kIHN0b3JlcyBzbmFwc2hvdHMgb2YgdmlydHVh + bCBtYWNoaW5lcyBydW5uaW5nIHdpdGhpbiB0aGUgZW50ZXJwcmlzZS4gSWYg + YSB2aXJ0dWFsIG1hY2hpbmUgZGllcywgUnVicmlrIGNhbiBxdWlja2x5IHJl + c3RvcmUgdGhlIFZNIHNuYXBzaG90LiBUaGUgYXBwbGlhbmNlIGFsc28gYmFj + a3MgdXAgdG8gdGhlIGNsb3VkLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+S2VubnkgVG8gaXMgYSBmb3VuZGluZyBl + bmdpbmVlciBhdCBSdWJyaWssIGFuZCBoZSBqb2lucyB0aGUgc2hvdyB0byBk + aXNjdXNzIGJhY2t1cHMgYW5kIGhvdyBSdWJyaWsgaXMgZW5naW5lZXJlZC4g + RW50ZXJwcmlzZXMgdGhhdCBzdGFydCBiYWNraW5nIHVwIHRvIHRoZSBjbG91 + ZCB0aHJvdWdoIFJ1YnJpayBzdGFydCBhIHBhdGggdG93YXJkcyBwb3RlbnRp + YWxseSBtb3JlIGNsb3VkIHNlcnZpY2VzLiBGb3IgZW50ZXJwcmlzZXMgdGhh + dCBoYXZlIG5vdCBiZWVuIGFibGUgdG8gbW92ZSB0byB0aGUgY2xvdWQgeWV0 + LCB0aGlzIGNhbiBiZSBhbiBhcHBlYWxpbmcgb3Bwb3J0dW5pdHkuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSBpcyBsb29raW5nIGZvciBzcG9uc29y + cyBmb3IgUTMuIElmIHlvdXIgY29tcGFueSBoYXMgYSBwcm9kdWN0IG9yIHNl + cnZpY2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5nLCBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSByZWFjaGVzIDIzLDAwMCBkZXZlbG9wZXJzIGxpc3Rlbmlu + ZyBkYWlseS4gU2VuZCBtZSBhbiBlbWFpbDogamVmZkBzb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gy + Pgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMu + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28g + dG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+ + d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRo + ZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5z + Y3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3Rz + IGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJl + Zj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L1NFRDM3NS1SdWJyaWsucGRmIj5jbGlj + ayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+ + PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2F1cm9yYS5h + d3MiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNzIyIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3ds + b2dvcy9hd3MvYW1hem9ud2Vic2VydmljZXNfbG9nby1zdmdfLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9u + V2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9maXQ9MjAwMCUyQzgwMCIgZGF0 + YS1vcmlnLXNpemU9IjIwMDAsODAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkFtYXpvbldlYnNlcnZpY2VzX0xv + Z28uc3ZnXyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldl + YnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTMwMCUyQzEyMCIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTEwMjQlMkM0MTAiIGNs + YXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzcyMiBzaXplLW1lZGl1bSIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZp + Y2VzX0xvZ28uc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzEyMCIgYWx0PSIiIHNy + Y3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJz + ZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAgMzAwdywg + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNl + c19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMzMDcgNzY4dywgaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP3Jlc2l6ZT0xMDI0JTJDNDEwIDEwMjR3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3Zn + Xy5wbmc/cmVzaXplPTcyMCUyQzI4OCA3MjB3IiBzaXplcz0iKG1heC13aWR0 + aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UbyBi + dWlsZCB0aGUga2luZHMgb2YgdGhpbmdzIGRldmVsb3BlcnMgd2FudCB0byBi + dWlsZCB0b2RheSwgdGhleSBuZWVkIGJldHRlciB0b29scy4gwqBBbWF6b24g + QXVyb3JhIGZyb20gQW1hem9uIFdlYiBTZXJ2aWNlcyBpcyBhIHJlbGF0aW9u + YWwgZGF0YWJhc2UgZW5naW5lIHRoYXTigJlzIGNvbXBhdGlibGUgd2l0aCBN + eVNRTCBhbmQgUG9zdGdyZVNRTCwgYW5kIHByb3ZpZGVzIHVwIHRvIGZpdmUg + dGltZXMgdGhlIHBlcmZvcm1hbmNlIG9uIHRoZSBzYW1lIGhhcmR3YXJl4oCU + YXQgYSB0ZW50aCBvZiB0aGUgY29zdC4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhy + ZWY9Imh0dHA6Ly9hdXJvcmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L2Rpdj48 + L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij48YSBocmVmPSJodHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMTI1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8x + My9jb2x1bW5hci1kYXRhLWFwYWNoZS1hcnJvdy1hbmQtcGFycXVldC13aXRo + LWp1bGllbi1sZS1kZW0tYW5kLWphY3F1ZXMtbmFkZWF1L3ZpdmlkY29ydGV4 + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDEvVml2aWRDb3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBkYXRhLW9yaWct + c2l6ZT0iMTAyMiwyNTgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iVml2aWRDb3J0ZXgiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/Zml0PTMwMCUyQzc2IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEv + Vml2aWRDb3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTMxMjUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMw + MCUyQzc2IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9MzAwJTJDNzYgMzAwdywg + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/ + cmVzaXplPTc2OCUyQzE5NCA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9NzIwJTJDMTgyIDcyMHcs + IGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5n + P3c9MTAyMiAxMDIydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+Vml2aWRDb3J0ZXggaXMgdGhl + IGJlc3Qgd2F5IHRvIGltcHJvdmUgeW91ciBkYXRhYmFzZSBwZXJmb3JtYW5j + ZSwgZWZmaWNpZW5jeSwgYW5kIHVwdGltZS4gSXQmIzgyMTc7cyBhIGNsb3Vk + LWhvc3RlZCBtb25pdG9yaW5nIHBsYXRmb3JtIHRoYXQgZWxpbWluYXRlcyB5 + b3VyIG1vc3QgY3JpdGljYWwgdmlzaWJpbGl0eSBnYXAsIHByb3ZpZGluZyBp + bnNpZ2h0cyBhdCAxLXNlY29uZCBncmFudWxhcml0eSBpbnRvIHByb2R1Y3Rp + b24gZGF0YWJhc2Ugd29ya2xvYWQgYW5kIHF1ZXJ5IHBlcmZvcm1hbmNlLiBJ + dCBtZWFzdXJlcyB0aGUgZXhlY3V0aW9uIGFuZCByZXNvdXJjZSBjb25zdW1w + dGlvbiBvZiBldmVyeSBzdGF0ZW1lbnQgYW5kIHRyYW5zYWN0aW9uLCBzbyB5 + b3UgY2FuIHByb2FjdGl2ZWx5IGZpeCBmdXR1cmUgZGF0YWJhc2UgaXNzdWVz + IGJlZm9yZSB0aGV5IGltcGFjdCBjdXN0b21lcnMuIFRvIGxlYXJuIG1vcmUs + IHZpc2l0PGEgaHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5 + Ij4gdml2aWRjb3J0ZXguY29tL3NlZGFpbHk8L2E+IGFuZCBmaW5kIG91dCB3 + aHkgY29tcGFuaWVzIGxpa2UgR2l0aHViLCBEaWdpdGFsT2NlYW4sIGFuZCBZ + ZWxwIGFsbCB1c2UgVml2aWRDb3J0ZXggdG8gc2VlIGRlZXBlciBpbnRvIHRo + ZWlyIGRhdGFiYXNlIHBlcmZvcm1hbmNlLiBMZWFybiBtb3JlIGF0PGEgaHJl + Zj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij4gdml2aWRjb3J0 + ZXguY29tL3NlZGFpbHk8L2E+LCBhbmQgZ2V0IHN0YXJ0ZWQgdG9kYXkhPC9k + aXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwczovL3d3dy5pbmNhcHN1bGEuY29tL3NlZGFp + bHk/dXRtX3NvdXJjZT1zZWRhaWx5JmFtcDt1dG1fbWVkaXVtPW9yZ2FuaWMm + YW1wO3V0bV9jYW1wYWlnbj0yMDE3X1EzX3BvZGNhc3QiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzMTE2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8wOS9jeWJlci13 + YXJmYXJlLXdpdGgtamFyZWQtc21pdGgvaW5jYXBzdWxhLWxvZ28vIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/Zml0PTUzMyUyQzEyNiIgZGF0YS1vcmlnLXNpemU9 + IjUzMywxMjYiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0iaW5jYXBzdWxhLWxvZ28iIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0PTMwMCUyQzcxIiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEv + aW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD01MzMlMkMxMjYiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMzExNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNp + emU9MzAwJTJDNzEiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3 + MSAzMDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3Vs + YS1sb2dvLnBuZz93PTUzMyA1MzN3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5JbmNhcHN1bGEg + aXMgYSBjbG91ZCBzZXJ2aWNlIHRoYXQgcHJvdGVjdHMgYXBwbGljYXRpb25z + IGZyb20gYXR0YWNrZXJzIGFuZCBpbXByb3ZlcyBwZXJmb3JtYW5jZS4gwqBC + b3RuZXRzIGFuZCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzIGFyZSByZWNv + Z25pemVkIGJ5IEluY2Fwc3VsYSBhbmQgYmxvY2tlZC4gVGhpcyBwcm90ZWN0 + cyB5b3VyIEFQSSBzZXJ2ZXJzIGFuZCBtaWNyb3NlcnZpY2VzIGZyb20gcmVz + cG9uZGluZyB0byB1bndhbnRlZCByZXF1ZXN0cy4gVG8gdHJ5IEluY2Fwc3Vs + YSwgZ28gdG8gPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9z + ZWRhaWx5P3V0bV9zb3VyY2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdh + bmljJmFtcDt1dG1fY2FtcGFpZ249MjAxN19RM19wb2RjYXN0Ij5pbmNhcHN1 + bGEuY29tL3NlZGFpbHk8L2E+IGFuZCBnZXQgYSBtb250aCBmcmVlIGZvciBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMuPC9kaXY+PGJy + IC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFz + cz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48 + YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE2LzAxLzA0L2Rpc3RyaWJ1dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8tdmlk + ZWxhL2hpcmVkLWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMw + IiBkYXRhLW9yaWctc2l6ZT0iMjYwLDEzMCIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2 + MCUyQzEzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9yZXNp + emU9MjYwJTJDMTMwIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkhhdmUgeW91IGJlZW4g + dGhpbmtpbmcgeW914oCZZCBiZSBoYXBwaWVyIGF0IGEgbmV3IGpvYj8gSWYg + eW914oCZcmUgZHJlYW1pbmcgYWJvdXQgYSBuZXcgam9iIGFuZCBoYXZlIGJl + ZW4gd2FpdGluZyBmb3IgdGhlIHJpZ2h0IHRpbWUgdG8gbWFrZSBhIG1vdmUs + IGdvIHRvwqA8YSBocmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhp + cmVkLmNvbS9zZWRhaWx5PC9hPi4gSGlyZWQgbWFrZXMgZmluZGluZyB3b3Jr + IGVuam95YWJsZS4gSGlyZWQgdXNlcyBhbiBhbGdvcml0aG1pYyBqb2ItbWF0 + Y2hpbmcgdG9vbCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgdGFsZW50IGFkdm9j + YXRlIHdobyB3aWxsIHdhbGsgeW91IHRocm91Z2ggdGhlIHByb2Nlc3Mgb2Yg + ZmluZGluZyBhIGJldHRlciBqb2IuIENoZWNrIG91dMKgPGEgaHJlZj0iaHR0 + cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT7C + oHRvIGdldCBhIHNwZWNpYWwgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVy + aW5nIERhaWx5IGxpc3RlbmVycyYjODIxMTthICQ2MDAgc2lnbmluZyBib251 + cyBmcm9tIEhpcmVkIHdoZW4geW91IGZpbmQgdGhhdCBncmVhdCBqb2IgdGhh + dCBnaXZlcyB5b3UgdGhlIHJlc3BlY3QgYW5kIHNhbGFyeSB0aGF0IHlvdSBk + ZXNlcnZlIGFzIGEgdGFsZW50ZWQgZW5naW5lZXIuwqA8L2Rpdj48YnIgLz4K + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRl + bnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmlj + LmxpYnN5bi5jb20vc2VkYWlseS9SdWJyaWsubXAzIiBsZW5ndGg9IjYwMDEw + MTkwIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+ + RXZlcnkgc29mdHdhcmUgY29tcGFueSBiYWNrcyB1cCBjcml0aWNhbCBkYXRh + IHNvdXJjZXMuIEJhY2tpbmcgdXAgZGF0YWJhc2VzIGlzIGEgY29tbW9uIHBy + b2NlZHVyZSwgd2hldGhlciBhIGNvbXBhbnkgaXMgaW4gdGhlIGNsb3VkIG9y + IG9uLXByZW0uIEJhY2tpbmcgdXAgdmlydHVhbCBtYWNoaW5lIGluc3RhbmNl + cyBpcyBsZXNzIGNvbW1vbi4gUnVicmlrIGlzIGEgY29tcGFueSB0aGF0IGlz + IGtub3duIGZvciBidWlsZGluZyBiYWNrdXAgLi4uPC9pdHVuZXM6c3VidGl0 + bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkV2ZXJ5IHNvZnR3YXJlIGNvbXBhbnkg + YmFja3MgdXAgY3JpdGljYWwgZGF0YSBzb3VyY2VzLiBCYWNraW5nIHVwIGRh + dGFiYXNlcyBpcyBhIGNvbW1vbiBwcm9jZWR1cmUsIHdoZXRoZXIgYSBjb21w + YW55IGlzIGluIHRoZSBjbG91ZCBvciBvbi1wcmVtLiBCYWNraW5nIHVwIHZp + cnR1YWwgbWFjaGluZSBpbnN0YW5jZXMgaXMgbGVzcyBjb21tb24uIFJ1YnJp + ayBpcyBhIGNvbXBhbnkgdGhhdCBpcyBrbm93biBmb3IgYnVpbGRpbmcgYmFj + a3VwIGluZnJhc3RydWN0dXJlIGZvciBlbnRlcnByaXNlcy4gVGhlaXIgbWFp + biBwcm9kdWN0IGlzIGFuIGFwcGxpYW5jZSB0aGF0IHNpdHMgb24gcHJlbSBh + dCBhbiBlbnRlcnByaXNlIGFuZCBzdG9yZXMgc25hcHNob3RzIG9mIHZpcnR1 + YWwgbWFjaGluZXMgcnVubmluZyB3aXRoaW4gdGhlIGVudGVycHJpc2UuIElm + IGFDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1 + bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVz + OmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhw + bGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAyOjE5PC9pdHVuZXM6ZHVy + YXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRk + aXRpb25zOjEiPjM3MTU8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJ + CTx0aXRsZT5NUnVieSBhbmQgTGFuZ3VhZ2UgU2VjdXJpdHkgd2l0aCBEYW5p + ZWwgQm92ZW5zaWVwZW48L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzE3L21ydWJ5LWFuZC1s + YW5ndWFnZS1zZWN1cml0eS13aXRoLWRhbmllbC1ib3ZlbnNpZXBlbi88L2xp + bms+DQoJCTxwdWJEYXRlPk1vbiwgMTcgSnVsIDIwMTcgMDk6MDA6NTggKzAw + MDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9MzcxNDwvZ3Vp + ZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTcvMDcvMTcvbXJ1YnktYW5kLWxhbmd1YWdlLXNlY3VyaXR5 + LXdpdGgtZGFuaWVsLWJvdmVuc2llcGVuLyNyZXNwb25kPC9jb21tZW50cz4N + CgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDcvMTcvbXJ1YnktYW5kLWxhbmd1YWdlLXNlY3Vy + aXR5LXdpdGgtZGFuaWVsLWJvdmVuc2llcGVuL2ZlZWQvPC93Znc6Y29tbWVu + dFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPg0K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NlY3VyaXR5XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbYnVnIGJvdW50eV1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0RhbmllbCBCb3ZlbnNpZXBlbl1dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0plcmVteSBKdW5nXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbbXJ1YnldXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtSdWJ5IG9uIFJhaWxzIHNl + Y3VyaXR5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2hv + cGlmeV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlNob3BpZnkgaXMg + YSBjb21wYW55IHRoYXQgaGVscHMgY3VzdG9tZXJzIGJ1aWxkIGN1c3RvbSBv + bmxpbmUgc3RvcmVmcm9udHMuIFNob3BpZnkgaGFzIGJ1aWx0IHVwb24gdGhl + IHNhbWUgUnVieSBvbiBSYWlscyBhcHBsaWNhdGlvbiBzaW5jZSB0aGUgZm91 + bmRpbmcgb2YgdGhlaXIgYnVzaW5lc3MgMTIgeWVhcnMgYWdvIHN0YXJ0aW5n + IHdpdGggUmFpbHMgMC41IGFuZCBtb3ZpbmcgYWxsIHRoZSB3YXkgdG8gUmFp + bHMgNS4gwqAgTVJ1YnkgaXMgYSBsaWdodHdlaWdodCBpbXBsZW1lbnRhdGlv + biBvZiB0aGUgUnVieSBsYW5ndWFnZS4gU2hvcGlmeSBtYWRlIHRoZSBkZWNp + c2lvbiB0byB1c2UgbXJ1YnkgdG8gYWxsb3cgY3VzdG9tZXJzIHRvIGNyZWF0 + ZSBjdXN0b20gc2NyaXB0cyB0aGF0IGFyZSBydW4gZXZlcnkmbHQ7cCZndDsm + bHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9 + JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wNy8xNy9tcnVieS1hbmQtbGFuZ3VhZ2Utc2VjdXJpdHktd2l0aC1kYW5p + ZWwtYm92ZW5zaWVwZW4vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4m + bHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50 + OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1h + bmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRh + bi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3 + NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVu + ZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdo + dCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRp + dXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRo + OiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvMzI0NzA0MTE5 + OS84YTI4M2M2M2RiYThkMWJmMmI0OGMzMTJiOWI5MTUyNF80MDB4NDAwLmpw + ZWc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5TaG9waWZ5IGlzIGEgY29tcGFueSB0aGF0IGhlbHBzIGN1c3RvbWVy + cyBidWlsZCBjdXN0b20gb25saW5lIHN0b3JlZnJvbnRzLiBTaG9waWZ5IGhh + cyBidWlsdCB1cG9uIHRoZSBzYW1lIFJ1Ynkgb24gUmFpbHMgYXBwbGljYXRp + b24gc2luY2UgdGhlIGZvdW5kaW5nIG9mIHRoZWlyIGJ1c2luZXNzIDEyIHll + YXJzIGFnbyBzdGFydGluZyB3aXRoIFJhaWxzIDAuNSBhbmQgbW92aW5nIGFs + bCB0aGUgd2F5IHRvIFJhaWxzIDUuIMKgPC9zcGFuPjwvcD4KPHA+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4gTVJ1YnkgaXMgYSBsaWdodHdl + aWdodCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBsYW5ndWFnZS4gU2hv + cGlmeSBtYWRlIHRoZSBkZWNpc2lvbiB0byB1c2UgbXJ1YnkgdG8gYWxsb3cg + Y3VzdG9tZXJzIHRvIGNyZWF0ZSBjdXN0b20gc2NyaXB0cyB0aGF0IGFyZSBy + dW4gZXZlcnkgdGltZSBhIGN1c3RvbWVyIGFkZHMgaXRlbXMgdG8gdGhlaXIg + Y2FydC4gSG93ZXZlciwgc2luY2UgbXJ1Ynkgd2FzIGEgbGFuZ3VhZ2UgaW1w + bGVtZW50YXRpb24gdGhhdCB3YXMgbm90IHdpZGVseSB1c2VkLCBTaG9waWZ5 + IG9wdGVkIHRvIHBvc3QgYSBCdWcgQm91bnR5IHRvIHRoZSBIYWNrZXJPbmUg + YnVnIGJvdW50eSBwbGF0Zm9ybSB0byBmaW5kIHNlY3VyaXR5IHZ1bG5lcmFi + aWxpdGllcyBpbiB0aGVpciB1c2Ugb2YgbXJ1YnkuIFdoYXQgZm9sbG93ZWQg + d2FzIGEgcGF5b3V0IG9mIG92ZXIgJDUwMCwwMDAgYXMgcmVwb3J0IGFmdGVy + IHJlcG9ydCBmbG9vZGVkIGluIG9mIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGll + cyBpbnNpZGUgbXJ1YnkgaXRzZWxmLiBUaGVyZSB3YXMgc28gbWFueSByZXBv + cnRzIHRoYXQgU2hvcGlmeSBtYWRlIHRoZSBkZWNpc2lvbiB0byBzYW5kYm94 + IHRoZSBtcnVieSBleGVjdXRpb24gaW50byBzZXBhcmF0ZSBwcm9jZXNzZXMg + YW5kIGRlY3JlYXNlZCB0aGUgYm91bnR5IGF3YXJkcyBieSA5MCUuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbiB0 + aGlzIGVwaXNvZGUsIEplcmVteSBKdW5nIGludGVydmlld3MgRGFuaWVsIEJv + dmVuc2llcGVuIChCT0gtdmVuLXNlZS1wZW4pIGFib3V0IG1ydWJ5IGFuZCB0 + aGUgU2hvcGlmeSBidWcgYm91bnR5Ljwvc3Bhbj48L3A+CjxoMj5TaG93IE5v + dGVzPC9oMj4KPHA+TXJ1Ynk6PGEgaHJlZj0iaHR0cDovL21ydWJ5Lm9yZy8i + PiBodHRwOi8vbXJ1Ynkub3JnLzwvYT48L3A+CjxwPlRoZSAkNTAwLDAwMCBy + ZWxlYXNlOjxhIGhyZWY9Imh0dHA6Ly9tcnVieS5zaC8yMDE3MDMyNzAxMjYu + aHRtbCI+IGh0dHA6Ly9tcnVieS5zaC8yMDE3MDMyNzAxMjYuaHRtbDwvYT48 + L3A+CjxwPkhhY2tlck9uZSBib3VudHkgcGFnZTo8YSBocmVmPSJodHRwczov + L2hhY2tlcm9uZS5jb20vc2hvcGlmeS1zY3JpcHRzIj4gaHR0cHM6Ly9oYWNr + ZXJvbmUuY29tL3Nob3BpZnktc2NyaXB0czwvYT48L3A+CjxwPkFtZXJpY2Fu + IEZ1enp5IExvcDo8YSBocmVmPSJodHRwOi8vbGNhbXR1Zi5jb3JlZHVtcC5j + eC9hZmwvIj4gaHR0cDovL2xjYW10dWYuY29yZWR1bXAuY3gvYWZsLzwvYT48 + L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRl + ZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dl + ZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8 + L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBh + dWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFu + a3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNF + IERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9T + RUQzNjgtbXJ1YnkucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hv + d+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIxNTgzIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ni8wMS8wNC9kaXN0cmlidXRlZC1zeXN0ZW1zLXdpdGgtYWx2YXJvLXZpZGVs + YS9oaXJlZC1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIg + ZGF0YS1vcmlnLXNpemU9IjI2MCwxMzAiIGRhdGEtY29tbWVudHMtb3BlbmVk + PSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9u + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRl + cl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsw + JnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iaGlyZWQtbG9nbyIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAl + MkMxMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBjbGFzcz0i + YWxpZ25sZWZ0IHdwLWltYWdlLTE1ODMgc2l6ZS1mdWxsIiBzcmM9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/cmVzaXpl + PTI2MCUyQzEzMCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+ + PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5IYXZlIHlvdSBiZWVuIHRo + aW5raW5nIHlvdeKAmWQgYmUgaGFwcGllciBhdCBhIG5ldyBqb2I/IElmIHlv + deKAmXJlIGRyZWFtaW5nIGFib3V0IGEgbmV3IGpvYiBhbmQgaGF2ZSBiZWVu + IHdhaXRpbmcgZm9yIHRoZSByaWdodCB0aW1lIHRvIG1ha2UgYSBtb3ZlLCBn + byB0b8KgPGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJl + ZC5jb20vc2VkYWlseTwvYT4uIEhpcmVkIG1ha2VzIGZpbmRpbmcgd29yayBl + bmpveWFibGUuIEhpcmVkIHVzZXMgYW4gYWxnb3JpdGhtaWMgam9iLW1hdGNo + aW5nIHRvb2wgaW4gY29tYmluYXRpb24gd2l0aCBhIHRhbGVudCBhZHZvY2F0 + ZSB3aG8gd2lsbCB3YWxrIHlvdSB0aHJvdWdoIHRoZSBwcm9jZXNzIG9mIGZp + bmRpbmcgYSBiZXR0ZXIgam9iLiBDaGVjayBvdXTCoDxhIGhyZWY9Imh0dHA6 + Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQuY29tL3NlZGFpbHk8L2E+wqB0 + byBnZXQgYSBzcGVjaWFsIG9mZmVyIGZvciBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBsaXN0ZW5lcnMmIzgyMTE7YSAkNjAwIHNpZ25pbmcgYm9udXMg + ZnJvbSBIaXJlZCB3aGVuIHlvdSBmaW5kIHRoYXQgZ3JlYXQgam9iIHRoYXQg + Z2l2ZXMgeW91IHRoZSByZXNwZWN0IGFuZCBzYWxhcnkgdGhhdCB5b3UgZGVz + ZXJ2ZSBhcyBhIHRhbGVudGVkIGVuZ2luZWVyLsKgPC9kaXY+PGJyIC8+Cjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ncmFwZWNp + dHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjMyIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3ds + b2dvcy9ncmFwZS1jaXR5LWxvZ28vZ3JhcGVjaXR5LWxvZ28tcHVycGxlLyIg + ZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + Z3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz9maXQ9MzExJTJDNzgiIGRhdGEt + b3JpZy1zaXplPSIzMTEsNzgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iZ3JhcGVjaXR5LWxvZ28tcHVycGxlIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvZ3JhcGVjaXR5LWxvZ28tcHVy + cGxlLnBuZz9maXQ9MzAwJTJDNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9nby1wdXJwbGUu + cG5nP2ZpdD0zMTElMkM3OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + NjMyIHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDYvZ3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz9yZXNpemU9MzAwJTJD + NzUiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvZ3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz9yZXNpemU9MzAwJTJDNzUg + MzAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHkt + bG9nby1wdXJwbGUucG5nP3c9MzExIDMxMXciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkFuZ3Vs + YXIuIFJlYWN0LiBWdWUuIEtub2Nrb3V0LiBUaGUgZm9yZWNhc3QgY2FsbHMg + Zm9yIGEgZmx1cnJ5IG9mIGZyYW1ld29ya3MsIG1ha2luZyBpdCBoYXJkIHRv + IGRlY2lkZSB3aGljaCB0byB1c2UuIE9yIG1heWJlIHlvdSBhbHJlYWR5IGhh + dmUgYSBwcmVmZXJyZWQgSmF2YVNjcmlwdCBmcmFtZXdvcmssIGJ1dCB3YW50 + IHRvIHRyeSBvdXQgYSBuZXcgb25lLiBXaWptbyBhbmQgR3JhcGUgQ2l0eSBi + cmluZyB5b3UgdGhlIDxpPkhvdyB0byBDaG9vc2UgdGhlIEJlc3QgSmF2YVNj + cmlwdCBGcmFtZXdvcmsgZm9yIFlvdXIgVGVhbTwvaT4gZWJvb2suwqBBbmQg + YmVzdCBvZiBhbGwsIHRoaXMgZWJvb2sgaXMgZnJlZS4gRG93bmxvYWQgeW91 + ciBjb3B5IHRvZGF5IHRvIGhlbHAgeW91IGNob29zZSBhIGZyYW1ld29yayBm + b3IgeW91ciB3b3JrIGF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL2dyYXBlY2l0eSI+c29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9ncmFwZWNpdHkuPC9hPjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mv + ZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRv + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19s + b2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9 + MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4 + NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBp + bnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBB + UE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBl + cmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMs + IGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93 + IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0 + YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBh + cHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2Vy + dmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4g + R28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93 + IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQg + d2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjI2NjgiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3N5bXBo + b25vL3N5bXBob25vLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgZGF0 + YS1vcmlnLXNpemU9IjI3Miw4NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJzeW1waG9ubyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJDODQiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNi9z + eW1waG9uby5wbmc/Zml0PTI3MiUyQzg0IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTI2Njggc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDYvc3ltcGhvbm8ucG5nP3Jlc2l6ZT0yNzIlMkM4NCIgYWx0 + PSIiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBz + cG9uc29yaW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9u + byBpcyBhIGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBl + bmdpbmVlcnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVh + cm5pbmcgZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXQgPGEgaHJl + Zj0iaHR0cDovL3N5bXBob25vLmNvbS9zZWRhaWx5Ij5zeW1waG9uby5jb20v + c2VkYWlseTwvYT4uIFRoYW5rcyB0byBTeW1waG9ubyBmb3IgYmVpbmcgYSBz + cG9uc29yIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciBhbG1v + c3QgYSB5ZWFyIG5vdy4gWW91ciBjb250aW51ZWQgc3VwcG9ydCBhbGxvd3Mg + dXMgdG8gZGVsaXZlciBjb250ZW50IHRvIHRoZSBsaXN0ZW5lcnMgb24gYSBy + ZWd1bGFyIGJhc2lzLjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KPHA+Jm5ic3A7PC9wPgpd + XT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6 + Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9tcnVieS5tcDMiIGxlbmd0 + aD0iNTk0NTMwODQiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpz + dWJ0aXRsZT5TaG9waWZ5IGlzIGEgY29tcGFueSB0aGF0IGhlbHBzIGN1c3Rv + bWVycyBidWlsZCBjdXN0b20gb25saW5lIHN0b3JlZnJvbnRzLiBTaG9waWZ5 + IGhhcyBidWlsdCB1cG9uIHRoZSBzYW1lIFJ1Ynkgb24gUmFpbHMgYXBwbGlj + YXRpb24gc2luY2UgdGhlIGZvdW5kaW5nIG9mIHRoZWlyIGJ1c2luZXNzIDEy + IHllYXJzIGFnbyBzdGFydGluZyB3aXRoIFJhaWxzIDAuNSBhbmQgbW92aW5n + IGFsbCB0aGUgd2F5IHRvIFJhaWxzIDUuPC9pdHVuZXM6c3VidGl0bGU+CgkJ + PGl0dW5lczpzdW1tYXJ5PlNob3BpZnkgaXMgYSBjb21wYW55IHRoYXQgaGVs + cHMgY3VzdG9tZXJzIGJ1aWxkIGN1c3RvbSBvbmxpbmUgc3RvcmVmcm9udHMu + IFNob3BpZnkgaGFzIGJ1aWx0IHVwb24gdGhlIHNhbWUgUnVieSBvbiBSYWls + cyBhcHBsaWNhdGlvbiBzaW5jZSB0aGUgZm91bmRpbmcgb2YgdGhlaXIgYnVz + aW5lc3MgMTIgeWVhcnMgYWdvIHN0YXJ0aW5nIHdpdGggUmFpbHMgMC41IGFu + ZCBtb3ZpbmcgYWxsIHRoZSB3YXkgdG8gUmFpbHMgNS4gwqAgTVJ1YnkgaXMg + YSBsaWdodHdlaWdodCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBsYW5n + dWFnZS4gU2hvcGlmeSBtYWRlIHRoZSBkZWNpc2lvbiB0byB1c2UgbXJ1Ynkg + dG8gYWxsb3cgY3VzdG9tZXJzIHRvIGNyZWF0ZSBjdXN0b20gc2NyaXB0cyB0 + aGF0IGFyZSBydW4gZXZlcnlDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAx + OjQ0PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3MTQ8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5Db2luYmFzZSBTZWN1cml0eSB3aXRo + IFBoaWxpcCBNYXJ0aW48L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzE0L2NvaW5iYXNlLXNl + Y3VyaXR5LXdpdGgtcGhpbGlwLW1hcnRpbi88L2xpbms+DQoJCTxwdWJEYXRl + PkZyaSwgMTQgSnVsIDIwMTcgMDk6MDA6NDYgKzAwMDA8L3B1YkRhdGU+DQoJ + CTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vP3A9MzcxMzwvZ3VpZD4NCgkJPGNvbW1lbnRz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcv + MTQvY29pbmJhc2Utc2VjdXJpdHktd2l0aC1waGlsaXAtbWFydGluLyNjb21t + ZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzE0L2NvaW5iYXNl + LXNlY3VyaXR5LXdpdGgtcGhpbGlwLW1hcnRpbi9mZWVkLzwvd2Z3OmNvbW1l + bnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz40PC9zbGFzaDpjb21tZW50cz4N + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Jsb2NrY2hhaW5dXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQml0Y29pbl1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0NvaW5iYXNlXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbY3J5cHRvY3VycmVuY3kgc2VjdXJpdHld + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtoYWNrZXJzXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUGhpbGlwIE1hcnRp + bl1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkF0IENvaW5iYXNlLCBz + ZWN1cml0eSBpcyBtb3JlIGltcG9ydGFudCB0aGFuIGFueXRoaW5nIGVsc2Uu + IENvaW5iYXNlIGlzIGEgY29tcGFueSB0aGF0IGFsbG93cyBmb3Igc3RvcmFn + ZSBhbmQgZXhjaGFuZ2Ugb2YgY3J5cHRvY3VycmVuY2llcy4gUHJvdGVjdGlu + ZyBiYW5raW5nIGluZnJhc3RydWN0dXJlIGlzIGRpZmZpY3VsdCwgYnV0IGlu + IHNvbWUgd2F5cyB0aGUgc3Rha2VzIGFyZSBoaWdoZXIgd2l0aCBDb2luYmFz + ZSwgYmVjYXVzZSBiaXRjb2luIGlzIGZ1bmRhbWVudGFsbHkgdW5yZWd1bGF0 + ZWQuIElmIGEgaGFja2VyIHdlcmUgYWJsZSB0byBzeXBob24gYWxsIG9mIHRo + ZSBtb25leSBvdXQgb2YgQ29pbmJhc2UgYWNjb3VudHMsIENvaW5iYXNlIHdv + dWxkIGhhdmUgbm8gcmVjb3Vyc2XigJN3aGljaCBtZWFucyB0aGlzIGlzIGEg + bW9yZSBzZW5zaXRpdmUgcHJvYmxlbSB0aGFuIHRoZSZsdDtwJmd0OyZsdDth + IGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVv + dDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3 + LzE0L2NvaW5iYXNlLXNlY3VyaXR5LXdpdGgtcGhpbGlwLW1hcnRpbi8mcXVv + dDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7 + PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1 + cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1 + cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFn + ZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFw + eCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0 + OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vZ2xhY2llcnByb3Rv + Y29sLm9yZy9pbWFnZXMvYWR2aXNvcnMvcGhpbGlwLW1hcnRpbi5qcGc/cmVz + aXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5B + dCBDb2luYmFzZSwgc2VjdXJpdHkgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBh + bnl0aGluZyBlbHNlLiBDb2luYmFzZSBpcyBhIGNvbXBhbnkgdGhhdCBhbGxv + d3MgZm9yIHN0b3JhZ2UgYW5kIGV4Y2hhbmdlIG9mIGNyeXB0b2N1cnJlbmNp + ZXMuIFByb3RlY3RpbmcgYmFua2luZyBpbmZyYXN0cnVjdHVyZSBpcyBkaWZm + aWN1bHQsIGJ1dCBpbiBzb21lIHdheXMgdGhlIHN0YWtlcyBhcmUgaGlnaGVy + IHdpdGggQ29pbmJhc2UsIGJlY2F1c2UgYml0Y29pbiBpcyBmdW5kYW1lbnRh + bGx5IHVucmVndWxhdGVkLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPklmIGEgaGFja2VyIHdlcmUgYWJsZSB0byBz + eXBob24gYWxsIG9mIHRoZSBtb25leSBvdXQgb2YgQ29pbmJhc2UgYWNjb3Vu + dHMsIENvaW5iYXNlIHdvdWxkIGhhdmUgbm8gcmVjb3Vyc2UmIzgyMTE7d2hp + Y2ggbWVhbnMgdGhpcyBpcyBhIG1vcmUgc2Vuc2l0aXZlIHByb2JsZW0gdGhh + biB0aGUgcmVndWxhdGVkIGJhbmtpbmcgc3lzdGVtLCB3aGVyZSB0cmFuc2Fj + dGlvbnMgY2FuIG9mdGVuIGJlIHJldmVyc2VkLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+UGhpbGlwIE1hcnRpbiBp + cyB0aGUgZGlyZWN0b3Igb2Ygc2VjdXJpdHkgYXQgQ29pbmJhc2UuIEhlIGpv + aW5zIHRoZSBzaG93IHRvZGF5IHRvIGV4cGxhaW4gd2h5IGhpcyBsb3ZlIG9m + IGNvbXBsZXggYW5kIGhpZ2gtc3Rha2VzIHNlY3VyaXR5IGNoYWxsZW5nZXMg + YnJvdWdodCBoaW0gdG8gQ29pbmJhc2UuIFBoaWxpcCBoYXMgc29tZSBzcGVj + aWZpYyBwb2ludHMgYWJvdXQgQ29pbmJhc2UgYW5kIHNvbWUgbW9yZSBhYnN0 + cmFjdCBwb2ludHMgYWJvdXQgc2VjdXJpdHkgdGhhdCB3ZXJlIHZlcnkgdXNl + ZnVsIHRvIG1lLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+VGhpcyBpcyB0aGUgdGhpcmQgYW5kIGZpbmFsIGVwaXNv + ZGUgaW4gb3VyIHNlcmllcyBhYm91dCBDb2luYmFzZS4gT3VyIGZpcnN0IHR3 + byBlcGlzb2RlcyBjb3ZlcmVkIHRoZSBjdXJyZW5jaWVzIG9mIENvaW5iYXNl + IGFuZCB0aGUgZnJhdWQgcHJldmVudGlvbiB0ZWNobmlxdWVzIHRoZSBjb21w + YW55IHVzZXMuIFdl4oCZZCBsb3ZlIHRvIGhlYXIgeW91ciB0aG91Z2h0cyBv + biB0aGlzIHNlcmllcywgYW5kIGFueSBvdGhlciBzdWdnZXN0aW9ucyBvciBm + ZWVkYmFjayB5b3UgaGF2ZS4gU2VuZCBtZSBhbiBlbWFpbCYjODIxMTtqZWZm + QHNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb208L3NwYW4+PC9wPgo8aDI+ + VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJvdmlkZWQgYnkgV2Ug + RWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlz + dGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2Rj + YXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20vc2VkPC9hPsKgdG8g + Z2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMgb2YgYXVkaW8gZWRp + dGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdl + IEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0aCBTRSBEYWlseS4g + UGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvU0VEMzc0LUNv + aW5iYXNlLVNlY3VyaXR5LnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlz + IHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9o + Mj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTYvMDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12 + aWRlbGEvaGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMx + MzAiIGRhdGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9 + MjYwJTJDMTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jl + c2l6ZT0yNjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVl + biB0aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJ + ZiB5b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUg + YmVlbiB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92 + ZSwgZ28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+ + aGlyZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdv + cmsgZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1t + YXRjaGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2 + b2NhdGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBv + ZiBmaW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJo + dHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9h + PsKgdG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJv + bnVzIGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0 + aGF0IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91 + IGRlc2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAv + Pgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cHM6Ly93d3cuaW5jYXBzdWxhLmNvbS9zZWRhaWx5P3V0bV9z + b3VyY2U9c2VkYWlseSZhbXA7dXRtX21lZGl1bT1vcmdhbmljJmFtcDt1dG1f + Y2FtcGFpZ249MjAxN19RM19wb2RjYXN0Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzExNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3liZXItd2FyZmFyZS13 + aXRoLWphcmVkLXNtaXRoL2luY2Fwc3VsYS1sb2dvLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxv + Z28ucG5nP2ZpdD01MzMlMkMxMjYiIGRhdGEtb3JpZy1zaXplPSI1MzMsMTI2 + IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7 + JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVk + aXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xl + bmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3Jp + ZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0 + bGU9ImluY2Fwc3VsYS1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDEvaW5jYXBzdWxhLWxvZ28ucG5nP2ZpdD0zMDAlMkM3MSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3Vs + YS1sb2dvLnBuZz9maXQ9NTMzJTJDMTI2IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTMxMTYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/cmVzaXplPTMwMCUy + QzcxIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9yZXNpemU9MzAwJTJDNzEgMzAwdywg + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5w + bmc/dz01MzMgNTMzdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SW5jYXBzdWxhIGlzIGEgY2xv + dWQgc2VydmljZSB0aGF0IHByb3RlY3RzIGFwcGxpY2F0aW9ucyBmcm9tIGF0 + dGFja2VycyBhbmQgaW1wcm92ZXMgcGVyZm9ybWFuY2UuIMKgQm90bmV0cyBh + bmQgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcyBhcmUgcmVjb2duaXplZCBi + eSBJbmNhcHN1bGEgYW5kIGJsb2NrZWQuIFRoaXMgcHJvdGVjdHMgeW91ciBB + UEkgc2VydmVycyBhbmQgbWljcm9zZXJ2aWNlcyBmcm9tIHJlc3BvbmRpbmcg + dG8gdW53YW50ZWQgcmVxdWVzdHMuIFRvIHRyeSBJbmNhcHN1bGEsIGdvIHRv + IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmluY2Fwc3VsYS5jb20vc2VkYWlseT91 + dG1fc291cmNlPXNlZGFpbHkmYW1wO3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7 + dXRtX2NhbXBhaWduPTIwMTdfUTNfcG9kY2FzdCI+aW5jYXBzdWxhLmNvbS9z + ZWRhaWx5PC9hPiBhbmQgZ2V0IGEgbW9udGggZnJlZSBmb3IgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzLjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+ + PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1l + bnQtaWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRoZS1j + bG91ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5n + P2ZpdD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5NzgsNTIyIiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InRv + cHRhbCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/ + Zml0PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVtIiBzcmM9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNp + emU9MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCAzMDB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVz + aXplPTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA3L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05NzggOTc4dyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+VG9wdGFsIGlzIHRoZSBiZXN0IHBsYWNlIHRvIGZpbmQg + cmVhc29uYWJseSBwcmljZWQsIGV4dHJlbWVseSB0YWxlbnRlZCBzb2Z0d2Fy + ZSBlbmdpbmVlcnMgdG8gYnVpbGQgeW91ciBwcm9qZWN0cyBmcm9tIHNjcmF0 + Y2ggb3Igc2NhbGUgeW91ciB3b3JrZm9yY2UuIDxhIGhyZWY9Imh0dHA6Ly90 + b3B0YWwuY29tL3NlZGFpbHkiPkdldCBhIGZyZWUgcGFpciBvZiBBcHBsZSBB + aXJwb2RzIHdoZW4geW91IHVzZSBUb3B0YWwuY29tL3NlZGFpbHk8L2E+IHRv + IHdvcmsgd2l0aCBhbiBlbmdpbmVlciBmb3IgYXQgbGVhc3QgMjAgaG91cnMu + PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vc3ltcGhvbm8uY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNjY4IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9zeW1waG9uby9zeW1waG9uby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9maXQ9MjcyJTJD + ODQiIGRhdGEtb3JpZy1zaXplPSIyNzIsODQiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0ic3ltcGhvbm8iIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNi9zeW1waG9uby5wbmc/Zml0PTI3MiUy + Qzg0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDYvc3ltcGhvbm8ucG5nP2ZpdD0yNzIlMkM4NCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0yNjY4IHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA2L3N5bXBob25vLnBuZz9yZXNpemU9MjcyJTJD + ODQiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+VGhhbmtzIHRvIFN5bXBob25vIGZvciBzcG9uc29y + aW5nIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5LiBTeW1waG9ubyBpcyBh + IGN1c3RvbSBlbmdpbmVlcmluZyBzaG9wIHdoZXJlIHNlbmlvciBlbmdpbmVl + cnMgdGFja2xlIGJpZyB0ZWNoIGNoYWxsZW5nZXMgd2hpbGUgbGVhcm5pbmcg + ZnJvbSBlYWNoIG90aGVyLiBDaGVjayBpdCBvdXQgYXTCoDxhIGhyZWY9Imh0 + dHA6Ly9zeW1waG9uby5jb20vc2VkYWlseSI+c3ltcGhvbm8uY29tL3NlZGFp + bHk8L2E+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + LiBUaGFua3MgdG8gU3ltcGhvbm8gZm9yIGJlaW5nIGEgc3BvbnNvciBvZiBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBmb3IgYWxtb3N0IGEgeWVhciBu + b3cuIFlvdXIgY29udGludWVkIHN1cHBvcnQgYWxsb3dzIHVzIHRvIGRlbGl2 + ZXIgY29udGVudCB0byB0aGUgbGlzdGVuZXJzIG9uIGEgcmVndWxhciBiYXNp + cy48L3NwYW4+PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij48L2Rpdj4KPHA+Jm5ic3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2Rl + ZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5j + b20vc2VkYWlseS9Db2luYmFzZVNlY3VyaXR5Lm1wMyIgbGVuZ3RoPSI0OTY0 + MzQwNCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxl + PkF0IENvaW5iYXNlLCBzZWN1cml0eSBpcyBtb3JlIGltcG9ydGFudCB0aGFu + IGFueXRoaW5nIGVsc2UuIENvaW5iYXNlIGlzIGEgY29tcGFueSB0aGF0IGFs + bG93cyBmb3Igc3RvcmFnZSBhbmQgZXhjaGFuZ2Ugb2YgY3J5cHRvY3VycmVu + Y2llcy4gUHJvdGVjdGluZyBiYW5raW5nIGluZnJhc3RydWN0dXJlIGlzIGRp + ZmZpY3VsdCwgYnV0IGluIHNvbWUgd2F5cyB0aGUgc3Rha2VzIGFyZSBoaWdo + ZXIgd2l0aCBDb2luYmFzZSw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVz + OnN1bW1hcnk+QXQgQ29pbmJhc2UsIHNlY3VyaXR5IGlzIG1vcmUgaW1wb3J0 + YW50IHRoYW4gYW55dGhpbmcgZWxzZS4gQ29pbmJhc2UgaXMgYSBjb21wYW55 + IHRoYXQgYWxsb3dzIGZvciBzdG9yYWdlIGFuZCBleGNoYW5nZSBvZiBjcnlw + dG9jdXJyZW5jaWVzLiBQcm90ZWN0aW5nIGJhbmtpbmcgaW5mcmFzdHJ1Y3R1 + cmUgaXMgZGlmZmljdWx0LCBidXQgaW4gc29tZSB3YXlzIHRoZSBzdGFrZXMg + YXJlIGhpZ2hlciB3aXRoIENvaW5iYXNlLCBiZWNhdXNlIGJpdGNvaW4gaXMg + ZnVuZGFtZW50YWxseSB1bnJlZ3VsYXRlZC4gSWYgYSBoYWNrZXIgd2VyZSBh + YmxlIHRvIHN5cGhvbiBhbGwgb2YgdGhlIG1vbmV5IG91dCBvZiBDb2luYmFz + ZSBhY2NvdW50cywgQ29pbmJhc2Ugd291bGQgaGF2ZSBubyByZWNvdXJzZeKA + k3doaWNoIG1lYW5zIHRoaXMgaXMgYSBtb3JlIHNlbnNpdGl2ZSBwcm9ibGVt + IHRoYW4gdGhlQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+ + CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8 + L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1 + bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTE6MzE8L2l0dW5l + czpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVl + ZC1hZGRpdGlvbnM6MSI+MzcxMzwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRl + bT4NCgkJPHRpdGxlPkNvaW5iYXNlIEFudGlmcmF1ZCB3aXRoIFNvdXBzIFJh + bmphbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDcvMTMvY29pbmJhc2UtYW50aWZyYXVkLXdp + dGgtc291cHMtcmFuamFuLzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1LCAxMyBK + dWwgMjAxNyAwOTowMDoxNSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8/cD0zNzEyPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMy9jb2luYmFz + ZS1hbnRpZnJhdWQtd2l0aC1zb3Vwcy1yYW5qYW4vI3Jlc3BvbmQ8L2NvbW1l + bnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMy9jb2luYmFzZS1hbnRpZnJhdWQt + d2l0aC1zb3Vwcy1yYW5qYW4vZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8 + c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29y + eT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtCbG9ja2NoYWluXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0JpdGNvaW5dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtDb2luYmFzZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW2NyeXB0b2N1cnJlbmN5IGZyYXVkXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRXRoZXJldW1dXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtTb3VwcyBSYW5qYW5dXT48L2NhdGVnb3J5 + PgoJCTxkZXNjcmlwdGlvbj5Db2luYmFzZSBpcyBhIHBsYXRmb3JtIGZvciBi + dXlpbmcgYW5kIHNlbGxpbmcgZGlnaXRhbCBjdXJyZW5jeTogYml0Y29pbiwg + ZXRoZXJldW0sIGFuZCBsaXRlY29pbi4gRXZlcnkgcGF5bWVudHMgY29tcGFu + eSBkZWFscyB3aXRoIGZyYXVkLCBidXQgYSBjcnlwdG9jdXJyZW5jeSBjb21w + YW55IGhhcyBhIGhhcmRlciBqb2IgdGhhbiBtb3N0IHBheW1lbnRzIGNvbXBh + bmllcywgYmVjYXVzZSBiaXRjb2luIHRyYW5zYWN0aW9ucyBhcmUgYW5vbnlt + b3VzIGFuZCBub24tcmV2ZXJzaWJsZS4gVGhpcyBpcyBpbiBjb250cmFzdCB0 + byBhIGJhbmssIHdoaWNoIGRlYWxzIHdpdGggYSByZWd1bGF0ZWQsIHJldmVy + c2libGUgdHJhbnNhY3Rpb24gc3lzdGVtLiBTb3VwcyBSYW5qYW4gaXMgdGhl + IGRpcmVjdG9yIG9mIGRhdGEgc2NpZW5jZSBhdCBDb2luYmFzZS4gSW4gdGhp + cyBlcGlzb2RlLCBoZSB3YWxrcyB0aHJvdWdoJmx0O3AmZ3Q7Jmx0O2EgY2xh + c3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTMv + Y29pbmJhc2UtYW50aWZyYXVkLXdpdGgtc291cHMtcmFuamFuLyZxdW90OyZn + dDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rl + c2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8x + OS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMv + YnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMi + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpw + Zz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUy + QzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0 + NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNv + bGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3 + NXB4OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS9yZXMuY2xvdWRpbmFyeS5j + b20vY3J1bmNoYmFzZS1wcm9kdWN0aW9uL2ltYWdlL3VwbG9hZC92MTQwMzAy + MTM0Mi96a2prdWJ5YXFvcnBjY3ZqcnV4Yi5qcGc/cmVzaXplPTE3NSUyQzE3 + NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Db2luYmFzZSBpcyBh + IHBsYXRmb3JtIGZvciBidXlpbmcgYW5kIHNlbGxpbmcgZGlnaXRhbCBjdXJy + ZW5jeTogYml0Y29pbiwgZXRoZXJldW0sIGFuZCBsaXRlY29pbi4gRXZlcnkg + cGF5bWVudHMgY29tcGFueSBkZWFscyB3aXRoIGZyYXVkLCBidXQgYSBjcnlw + dG9jdXJyZW5jeSBjb21wYW55IGhhcyBhIGhhcmRlciBqb2IgdGhhbiBtb3N0 + IHBheW1lbnRzIGNvbXBhbmllcywgYmVjYXVzZSBiaXRjb2luIHRyYW5zYWN0 + aW9ucyBhcmUgYW5vbnltb3VzIGFuZCBub24tcmV2ZXJzaWJsZS4gVGhpcyBp + cyBpbiBjb250cmFzdCB0byBhIGJhbmssIHdoaWNoIGRlYWxzIHdpdGggYSBy + ZWd1bGF0ZWQsIHJldmVyc2libGUgdHJhbnNhY3Rpb24gc3lzdGVtLjwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U291 + cHMgUmFuamFuIGlzIHRoZSBkaXJlY3RvciBvZiBkYXRhIHNjaWVuY2UgYXQg + Q29pbmJhc2UuIEluIHRoaXMgZXBpc29kZSwgaGUgd2Fsa3MgdGhyb3VnaCB0 + aGUgY2hhbGxlbmdlcyBvZiBwcmV2ZW50aW5nIGZyYXVkIGFuZCBkZXNjcmli + ZXMgaG93IG1hY2hpbmUgbGVhcm5pbmcgYW5kIGh1bWFucyBpbiB0aGUgbG9v + cCBhcmUgdXNlZCB0byBkZWFsIHdpdGggYmFkIGFjdG9ycy4gRnJvbSB0aGUg + ZGF0YSBpbmdlc3Rpb24gdG8gdGhlIGRhdGEgZW5naW5lZXJpbmcgdG8gdGhl + IGRhdGEgc2NpZW5jZSwgdGhpcyBlcGlzb2RlIGlzIGEgZ3JlYXQgb3ZlcnZp + ZXcgb2YgYW50aWZyYXVkIGF0IENvaW5iYXNlLCBhbmQgaXMgYSBuaWNlIGNv + bXBsZW1lbnQgdG8gdGhlIHByZXNlbnRhdGlvbiB0aGF0IHdlIHByZXZpb3Vz + bHkgYWlyZWQgZnJvbSBTb3Vwcy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoaXMgaXMgdGhlIHNlY29uZCBlcGlz + b2RlIGluIG91ciBzZXJpZXMgYWJvdXQgQ29pbmJhc2UuIFllc3RlcmRheSB3 + ZSBkaXNjdXNzZWQgaG93IENvaW5iYXNlIG1ha2VzIGNyeXB0b2N1cnJlbmNp + ZXMgZWFzaWVyIHRvIHdvcmsgd2l0aC4gVG9tb3Jyb3cgd2UgZGl2ZSBpbnRv + IHRoZSBzZWN1cml0eSBpbmZyYXN0cnVjdHVyZSBvZiBDb2luYmFzZS4gV2Xi + gJlkIGxvdmUgdG8gaGVhciB5b3VyIHRob3VnaHRzIG9uIHRoaXMgc2VyaWVz + LCBhbmQgYW55IG90aGVyIHN1Z2dlc3Rpb25zIG9yIGZlZWRiYWNrIHlvdSBo + YXZlLiBTZW5kIG1lIGFuIGVtYWlsJiM4MjExO2plZmZAc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbTwvc3Bhbj48L3A+CjxoMj5UcmFuc2NyaXB0PC9o + Mj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3Rz + LiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdv + IHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQi + PndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0 + aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFu + c2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0 + cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhy + ZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9TRUQzNzMtQ29pbmJhc2UtQW50aWZy + YXVkLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRy + YW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFz + cz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9hdXJvcmEuYXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcy + MiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL2t3bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xvZ28t + c3ZnXy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIw + MDAlMkM4MDAiIGRhdGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1jb21t + ZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0 + dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRf + dGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1 + b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6b25X + ZWJzZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAl + MkMxMjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0x + MDI0JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9B + bWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMx + MjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTIwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1h + em9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3 + IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0 + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+VG8gYnVpbGQgdGhlIGtpbmRzIG9mIHRoaW5ncyBkZXZlbG9w + ZXJzIHdhbnQgdG8gYnVpbGQgdG9kYXksIHRoZXkgbmVlZCBiZXR0ZXIgdG9v + bHMuIMKgQW1hem9uIEF1cm9yYSBmcm9tIEFtYXpvbiBXZWIgU2VydmljZXMg + aXMgYSByZWxhdGlvbmFsIGRhdGFiYXNlIGVuZ2luZSB0aGF04oCZcyBjb21w + YXRpYmxlIHdpdGggTXlTUUwgYW5kIFBvc3RncmVTUUwsIGFuZCBwcm92aWRl + cyB1cCB0byBmaXZlIHRpbWVzIHRoZSBwZXJmb3JtYW5jZSBvbiB0aGUgc2Ft + ZSBoYXJkd2FyZeKAlGF0IGEgdGVudGggb2YgdGhlIGNvc3QuIENoZWNrIGl0 + IG91dCBhdCA8YSBocmVmPSJodHRwOi8vYXVyb3JhLmF3cyI+YXVyb3JhLmF3 + czwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3RvcHRhbC5jb20vc2Vk + YWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MzkiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91ZC13aXRoLW5laGEtbmFya2hl + ZGUvdG9wdGFsLTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIiIGRhdGEt + b3JpZy1zaXplPSI5NzgsNTIyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9InRvcHRhbCIgZGF0YS1pbWFnZS1kZXNj + cmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTMwMCUyQzE2MCIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRh + bC5wbmc/Zml0PTk3OCUyQzUyMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFn + ZS0zNzM5IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9MzAwJTJDMTYwIiBhbHQ9IiIg + c3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5w + bmc/cmVzaXplPTMwMCUyQzE2MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTc2OCUyQzQxMCA3Njh3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXpl + PTcyMCUyQzM4NCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L3RvcHRhbC5wbmc/dz05NzggOTc4dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VG9wdGFsIGlz + IHRoZSBiZXN0IHBsYWNlIHRvIGZpbmQgcmVhc29uYWJseSBwcmljZWQsIGV4 + dHJlbWVseSB0YWxlbnRlZCBzb2Z0d2FyZSBlbmdpbmVlcnMgdG8gYnVpbGQg + eW91ciBwcm9qZWN0cyBmcm9tIHNjcmF0Y2ggb3Igc2NhbGUgeW91ciB3b3Jr + Zm9yY2UuIDxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFpbHkiPkdl + dCBhIGZyZWUgcGFpciBvZiBBcHBsZSBBaXJwb2RzIHdoZW4geW91IHVzZSBU + b3B0YWwuY29tL3NlZGFpbHk8L2E+IHRvIHdvcmsgd2l0aCBhbiBlbmdpbmVl + ciBmb3IgYXQgbGVhc3QgMjAgaG91cnMuPC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9nb2NkLmlvIj48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jr + c19nb19ibGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQu + cG5nP2ZpdD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + IlRob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD0zMDAlMkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/ + Zml0PTYxMiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1 + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAl + MkMyMzAiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9U + aG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIz + MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz93PTYxMiA2MTJ3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5Hb0NEIGlzIGFuIG9uLXByZW1pc2UsIG9wZW4gc291cmNlLCBjb250aW51 + b3VzIGRlbGl2ZXJ5IHRvb2wuIEdldCBiZXR0ZXIgdmlzaWJpbGl0eSBpbnRv + IGFuZCBjb250cm9sIG9mIHlvdXIgdGVhbXMmIzgyMTc7IGRlcGxveW1lbnRz + IHdpdGggR29DRC4gU2F5IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5pYyBh + bmQgaGVsbG8gdG8gY29uc2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZlcmll + cy4gVmlzaXTCoDx1PjxhIGhyZWY9Imh0dHA6Ly9nb2NkLmlvLyIgdGFyZ2V0 + PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPmdvY2QuaW88L2E+PC91PsKgZm9y + IGEgZnJlZSBkb3dubG9hZC48aT7CoDwvaT48L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mv + ZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRv + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19s + b2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9 + MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4 + NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBp + bnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBB + UE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBl + cmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMs + IGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93 + IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0 + YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBh + cHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2Vy + dmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4g + R28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93 + IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQg + d2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4m + bmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJl + IHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0NvaW5i + YXNlQW50aWZyYXVkLm1wMyIgbGVuZ3RoPSI1Mzg5NTYzOCIgdHlwZT0iYXVk + aW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkNvaW5iYXNlIGlzIGEg + cGxhdGZvcm0gZm9yIGJ1eWluZyBhbmQgc2VsbGluZyBkaWdpdGFsIGN1cnJl + bmN5OiBiaXRjb2luLCBldGhlcmV1bSwgYW5kIGxpdGVjb2luLiBFdmVyeSBw + YXltZW50cyBjb21wYW55IGRlYWxzIHdpdGggZnJhdWQsIGJ1dCBhIGNyeXB0 + b2N1cnJlbmN5IGNvbXBhbnkgaGFzIGEgaGFyZGVyIGpvYiB0aGFuIG1vc3Qg + cGF5bWVudHMgY29tcGFuaWVzLDwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVu + ZXM6c3VtbWFyeT5Db2luYmFzZSBpcyBhIHBsYXRmb3JtIGZvciBidXlpbmcg + YW5kIHNlbGxpbmcgZGlnaXRhbCBjdXJyZW5jeTogYml0Y29pbiwgZXRoZXJl + dW0sIGFuZCBsaXRlY29pbi4gRXZlcnkgcGF5bWVudHMgY29tcGFueSBkZWFs + cyB3aXRoIGZyYXVkLCBidXQgYSBjcnlwdG9jdXJyZW5jeSBjb21wYW55IGhh + cyBhIGhhcmRlciBqb2IgdGhhbiBtb3N0IHBheW1lbnRzIGNvbXBhbmllcywg + YmVjYXVzZSBiaXRjb2luIHRyYW5zYWN0aW9ucyBhcmUgYW5vbnltb3VzIGFu + ZCBub24tcmV2ZXJzaWJsZS4gVGhpcyBpcyBpbiBjb250cmFzdCB0byBhIGJh + bmssIHdoaWNoIGRlYWxzIHdpdGggYSByZWd1bGF0ZWQsIHJldmVyc2libGUg + dHJhbnNhY3Rpb24gc3lzdGVtLiBTb3VwcyBSYW5qYW4gaXMgdGhlIGRpcmVj + dG9yIG9mIGRhdGEgc2NpZW5jZSBhdCBDb2luYmFzZS4gSW4gdGhpcyBlcGlz + b2RlLCBoZSB3YWxrcyB0aHJvdWdoQ29udGludWUgcmVhZGluZy4uLjwvaXR1 + bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJPGl0dW5lczpleHBsaWNp + dD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+ + NTU6NTc8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13 + b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzcxMjwvcG9zdC1pZD4JCTwv + aXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkNvaW5iYXNlIEN1cnJlbmNpZXMg + d2l0aCBMaW5kYSBYaWUgYW5kIEpvcmRhbiBDbGlmZm9yZDwvdGl0bGU+DQoJ + CTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDcvMTIvY29pbmJhc2UtY3VycmVuY2llcy13aXRoLWxpbmRhLXhpZS1h + bmQtam9yZGFuLWNsaWZmb3JkLzwvbGluaz4NCgkJPHB1YkRhdGU+V2VkLCAx + MiBKdWwgMjAxNyAwOTowMDoxNiArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQg + aXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8/cD0zNzExPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8xMi9jb2lu + YmFzZS1jdXJyZW5jaWVzLXdpdGgtbGluZGEteGllLWFuZC1qb3JkYW4tY2xp + ZmZvcmQvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcv + MTIvY29pbmJhc2UtY3VycmVuY2llcy13aXRoLWxpbmRhLXhpZS1hbmQtam9y + ZGFuLWNsaWZmb3JkL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNo + OmNvbW1lbnRzPjI8L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbQmxvY2tjaGFpbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtCaXRjb2luXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbQ29pbmJhc2VdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtjcnlwdG9jdXJyZW5jeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0pvcmRhbiBDbGlmZm9yZF1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW0xpbmRhIFhpZV1dPjwvY2F0ZWdvcnk+CgkJPGRl + c2NyaXB0aW9uPkNyeXB0b2N1cnJlbmNpZXMgaGF2ZSBzZWVuIGEgc3VyZ2Ug + b2YgdmFsdWUgcmVjZW50bHkuIFBlb3BsZSBhcmUgc3RhcnRpbmcgdG8gc2Vl + IHRoYXQgYml0Y29pbiwgZXRoZXJldW0sIGFuZCBvdGhlciBjdXJyZW5jaWVz + IGFyZSBub3QganVzdCBmb3Igc3BlY3VsYXRpb24uIEF0IHdvcnN0LCB0aGV5 + IGFyZSBhIHN0b3JlIG9mIHZhbHVl4oCTbGlrZSBkaWdpdGFsIGdvbGQuIEF0 + IGJlc3QsIHRoZXkgYXJlIGEgdG9vbCBmb3IgbWljcm9wYXltZW50cywgc21h + cnQgY29udHJhY3RzLCBhbmQgYW4gZW50aXJlIGRlY2VudHJhbGl6ZWQgZmlu + YW5jaWFsIHBsYXRmb3JtLiBDb2luYmFzZSBpcyBhIGNvbXBhbnkgZm9yIGJ1 + eWluZyBhbmQgc2VsbGluZyBjcnlwdG9jdXJyZW5jaWVzLiBUaGlzIGVwaXNv + ZGUgaXMgdGhlIGZpcnN0IG9mIHRocmVlIGludGVydmlld3Mgd2l0aCBkaWZm + ZXJlbnQgbWVtYmVycyZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRp + bnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEyL2NvaW5iYXNlLWN1cnJl + bmNpZXMtd2l0aC1saW5kYS14aWUtYW5kLWpvcmRhbi1jbGlmZm9yZC8mcXVv + dDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7 + PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1 + cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1 + JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1 + cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFn + ZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFw + eCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0 + OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vbWVkaWEubGljZG4u + Y29tL21wci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9BQUVBQVFBQUFBQUFBQWxU + QUFBQUpETTNNRFl6TXpJMkxUUTJPVEF0TkROaU1TMWhNamxrTFdVMk1HVmta + bVV6TjJNeE9RLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRh + dGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkNyeXB0b2N1cnJlbmNpZXMgaGF2ZSBzZWVuIGEg + c3VyZ2Ugb2YgdmFsdWUgcmVjZW50bHkuIFBlb3BsZSBhcmUgc3RhcnRpbmcg + dG8gc2VlIHRoYXQgYml0Y29pbiwgZXRoZXJldW0sIGFuZCBvdGhlciBjdXJy + ZW5jaWVzIGFyZSBub3QganVzdCBmb3Igc3BlY3VsYXRpb24uIEF0IHdvcnN0 + LCB0aGV5IGFyZSBhIHN0b3JlIG9mIHZhbHVlJiM4MjExO2xpa2UgZGlnaXRh + bCBnb2xkLiBBdCBiZXN0LCB0aGV5IGFyZSBhIHRvb2wgZm9yIG1pY3JvcGF5 + bWVudHMsIHNtYXJ0IGNvbnRyYWN0cywgYW5kIGFuIGVudGlyZSBkZWNlbnRy + YWxpemVkIGZpbmFuY2lhbCBwbGF0Zm9ybS48L3NwYW4+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkNvaW5iYXNlIGlzIGEgY29t + cGFueSBmb3IgYnV5aW5nIGFuZCBzZWxsaW5nIGNyeXB0b2N1cnJlbmNpZXMu + IFRoaXMgZXBpc29kZSBpcyB0aGUgZmlyc3Qgb2YgdGhyZWUgaW50ZXJ2aWV3 + cyB3aXRoIGRpZmZlcmVudCBtZW1iZXJzIG9mIENvaW5iYXNlLiBJbiB0aGlz + IGVwaXNvZGUsIExpbmRhIFhpZSBhbmQgSm9yZGFuIENsaWZmb3JkIGV4cGxh + aW4gd2h5IGNyeXB0b2N1cnJlbmNpZXMgYXJlIGltcG9ydGFudCwgYW5kIGhv + dyBwcm9kdWN0cyB0aGF0IENvaW5iYXNlIGJ1aWxkcyBtYWtlIGNyeXB0b2N1 + cnJlbmNpZXMgZWFzaWVyIHRvIHVzZS48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoaXMgaXMgdGhlIGZpcnN0IGlu + IGEgc2VyaWVzIG9mIGVwaXNvZGVzIGFib3V0IENvaW5iYXNlLiBUb21vcnJv + dyB3ZSB3aWxsIGRpc2N1c3MgYW50aWZyYXVkIHdpdGggU291cHMgUmFuamFu + LCBkaXJlY3RvciBvZiBkYXRhIHNjaWVuY2UgYXQgQ29pbmJhc2UuIFdl4oCZ + ZCBsb3ZlIHRvIGhlYXIgeW91ciB0aG91Z2h0cyBvbiB0aGlzIHNlcmllcywg + YW5kIGFueSBvdGhlciBzdWdnZXN0aW9ucyBvciBmZWVkYmFjayB5b3UgaGF2 + ZS4gU2VuZCBtZSBhbiBlbWFpbCYjODIxMTtqZWZmQHNvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb208L3NwYW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+ + CjxwPlRyYW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4g + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0 + b8KgPGEgaHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53 + ZWVkaXRwb2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhl + IGZpcnN0IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNj + cmlwdGlvbiBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMg + Zm9yIHBhcnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVm + PSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvU0VEMzcyLUNvaW5iYXNlLUN1cnJlbmNp + ZXMucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJh + bnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNz + PSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91 + ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2Zp + dD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5NzgsNTIyIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InRvcHRh + bCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0 + PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9 + MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCAzMDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXpl + PTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05NzggOTc4dyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+VG9wdGFsIGlzIHRoZSBiZXN0IHBsYWNlIHRvIGZpbmQgcmVh + c29uYWJseSBwcmljZWQsIGV4dHJlbWVseSB0YWxlbnRlZCBzb2Z0d2FyZSBl + bmdpbmVlcnMgdG8gYnVpbGQgeW91ciBwcm9qZWN0cyBmcm9tIHNjcmF0Y2gg + b3Igc2NhbGUgeW91ciB3b3JrZm9yY2UuIDxhIGhyZWY9Imh0dHA6Ly90b3B0 + YWwuY29tL3NlZGFpbHkiPkdldCBhIGZyZWUgcGFpciBvZiBBcHBsZSBBaXJw + b2RzIHdoZW4geW91IHVzZSBUb3B0YWwuY29tL3NlZGFpbHk8L2E+IHRvIHdv + cmsgd2l0aCBhbiBlbmdpbmVlciBmb3IgYXQgbGVhc3QgMjAgaG91cnMuPC9k + aXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vZ29jZC5pbyI+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjMxNzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3NuYXBjaS90aG91Z2h0 + d29ya3NfZ29fYmxhY2tfZWRpdC8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19l + ZGl0LnBuZz9maXQ9NjEyJTJDNDY5IiBkYXRhLW9yaWctc2l6ZT0iNjEyLDQ2 + OSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJUaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdCIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz9maXQ9MzAwJTJDMjMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQu + cG5nP2ZpdD02MTIlMkM0NjkiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzE3NSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9 + MzAwJTJDMjMwIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAl + MkMyMzAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91 + Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/dz02MTIgNjEydyIgc2l6ZXM9 + IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxj + LWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wt + c20tNiI+R29DRCBpcyBhbiBvbi1wcmVtaXNlLCBvcGVuIHNvdXJjZSwgY29u + dGludW91cyBkZWxpdmVyeSB0b29sLiBHZXQgYmV0dGVyIHZpc2liaWxpdHkg + aW50byBhbmQgY29udHJvbCBvZiB5b3VyIHRlYW1zJiM4MjE3OyBkZXBsb3lt + ZW50cyB3aXRoIEdvQ0QuIFNheSBnb29kYnllIHRvIGRlcGxveW1lbnQgcGFu + aWMgYW5kIGhlbGxvIHRvIGNvbnNpc3RlbnQsIHByZWRpY3RhYmxlIGRlbGl2 + ZXJpZXMuIFZpc2l0wqA8dT48YSBocmVmPSJodHRwOi8vZ29jZC5pby8iIHRh + cmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5nb2NkLmlvPC9hPjwvdT7C + oGZvciBhIGZyZWUgZG93bmxvYWQuPGk+wqA8L2k+PC9kaXY+PGJyIC8+Cjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+Jm5ic3A7PC9wPgo8cD48 + ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzMTI1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8xMy9jb2x1bW5h + ci1kYXRhLWFwYWNoZS1hcnJvdy1hbmQtcGFycXVldC13aXRoLWp1bGllbi1s + ZS1kZW0tYW5kLWphY3F1ZXMtbmFkZWF1L3ZpdmlkY29ydGV4LyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRD + b3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBkYXRhLW9yaWctc2l6ZT0iMTAy + MiwyNTgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iVml2aWRDb3J0ZXgiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMS9WaXZpZENvcnRleC5wbmc/Zml0PTMwMCUyQzc2IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTMxMjUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2IiBz + cmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP3Jlc2l6ZT0zMDAlMkM3NiAzMDB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9NzY4JTJDMTk0 + IDc2OHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP3Jlc2l6ZT03MjAlMkMxODIgNzIwdywgaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/dz0xMDIyIDEwMjJ3IiBz + aXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5WaXZpZENvcnRleCBpcyB0aGUgYmVzdCB3YXkgdG8gaW1w + cm92ZSB5b3VyIGRhdGFiYXNlIHBlcmZvcm1hbmNlLCBlZmZpY2llbmN5LCBh + bmQgdXB0aW1lLiBJdCYjODIxNztzIGEgY2xvdWQtaG9zdGVkIG1vbml0b3Jp + bmcgcGxhdGZvcm0gdGhhdCBlbGltaW5hdGVzIHlvdXIgbW9zdCBjcml0aWNh + bCB2aXNpYmlsaXR5IGdhcCwgcHJvdmlkaW5nIGluc2lnaHRzIGF0IDEtc2Vj + b25kIGdyYW51bGFyaXR5IGludG8gcHJvZHVjdGlvbiBkYXRhYmFzZSB3b3Jr + bG9hZCBhbmQgcXVlcnkgcGVyZm9ybWFuY2UuIEl0IG1lYXN1cmVzIHRoZSBl + eGVjdXRpb24gYW5kIHJlc291cmNlIGNvbnN1bXB0aW9uIG9mIGV2ZXJ5IHN0 + YXRlbWVudCBhbmQgdHJhbnNhY3Rpb24sIHNvIHlvdSBjYW4gcHJvYWN0aXZl + bHkgZml4IGZ1dHVyZSBkYXRhYmFzZSBpc3N1ZXMgYmVmb3JlIHRoZXkgaW1w + YWN0IGN1c3RvbWVycy4gVG8gbGVhcm4gbW9yZSwgdmlzaXQ8YSBocmVmPSJo + dHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPiB2aXZpZGNvcnRleC5j + b20vc2VkYWlseTwvYT4gYW5kIGZpbmQgb3V0IHdoeSBjb21wYW5pZXMgbGlr + ZSBHaXRodWIsIERpZ2l0YWxPY2VhbiwgYW5kIFllbHAgYWxsIHVzZSBWaXZp + ZENvcnRleCB0byBzZWUgZGVlcGVyIGludG8gdGhlaXIgZGF0YWJhc2UgcGVy + Zm9ybWFuY2UuIExlYXJuIG1vcmUgYXQ8YSBocmVmPSJodHRwOi8vdml2aWRj + b3J0ZXguY29tL3NlZGFpbHkiPiB2aXZpZGNvcnRleC5jb20vc2VkYWlseTwv + YT4sIGFuZCBnZXQgc3RhcnRlZCB0b2RheSE8L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzY0MiIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsL2ludGVs + bmVydmFuYV9sb2dvanVseS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dvSnVseS5qcGc/ + Zml0PTYwMCUyQzE3OCIgZGF0YS1vcmlnLXNpemU9IjYwMCwxNzgiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDsxJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iSW50 + ZWxOZXJ2YW5hX2xvZ29KdWx5IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5LmpwZz9maXQ9MzAwJTJDODkiIGRh + dGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9J + bnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP2ZpdD02MDAlMkMxNzgiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzY0MiBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dv + SnVseS5qcGc/cmVzaXplPTMwMCUyQzg5IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dvSnVs + eS5qcGc/cmVzaXplPTMwMCUyQzg5IDMwMHcsIGh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5LmpwZz93PTYwMCA2 + MDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFu + YV9sb2dvSnVseS5qcGc/cmVzaXplPTU5NSUyQzE3OCA1OTV3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij5EZWVwIGxlYXJuaW5nIHByb21pc2VzIHRvIGRyYW1hdGljYWxseSBp + bXByb3ZlIGhvdyBvdXIgd29ybGQgd29ya3MuIFRvIG1ha2UgZGVlcCBsZWFy + bmluZyBlYXNpZXIgYW5kIGZhc3Rlciwgd2UgbmVlZCBuZXcga2luZHMgb2Yg + aGFyZHdhcmUgYW5kIHNvZnR3YXJlJiM4MjExO3doaWNoIGlzIHdoeSBJbnRl + bCBhY3F1aXJlZCBOZXJ2YW5hIFN5c3RlbXMsIGEgcGxhdGZvcm0gZm9yIGRl + ZXAgbGVhcm5pbmcuIEludGVsIE5lcnZhbmEgaXMgaGlyaW5nIGVuZ2luZWVy + cyB0byBoZWxwIGRldmVsb3AgYSBmdWxsIHN0YWNrIGZvciBBSSwgZnJvbSBj + aGlwIGRlc2lnbiB0byBzb2Z0d2FyZSBmcmFtZXdvcmtzLiBHbyB0byA8YSBo + cmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRl + bCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIg + ZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20v + dXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2ludGVsJmFtcDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNDkzMTM0 + MTk2NDMyMDAwJmFtcDt1c2c9QUZRakNORUhVRkNTbWdHbmRvWXNHdEdJd3Vj + VEtyZmNOQSI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS88d2JyPjwv + d2JyPmludGVsPC9hPiB0byBhcHBseSBmb3IgYSBqb2IgYXQgSW50ZWwgTmVy + dmFuYS4gSWYgeW91IGtub3cgZG9u4oCZdCBrbm93IG11Y2ggYWJvdXQgdGhl + IGNvbXBhbnksIGNoZWNrIG91dCB0aGUgaW50ZXJ2aWV3cyBJIGhhdmUgY29u + ZHVjdGVkIHdpdGggZW5naW5lZXJzIGZyb20gdGhlIGNvbXBhbnkuIFlvdSBj + YW4gZmluZCB0aGVzZSBhdCA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9pbnRlbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0i + bm9vcGVuZXIgbm9yZWZlcnJlciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0 + dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsJmFtcDtzb3VyY2U9 + Z21haWwmYW1wO3VzdD0xNDkzMTM0MTk2NDMyMDAwJmFtcDt1c2c9QUZRakNO + RUhVRkNTbWdHbmRvWXNHdEdJd3VjVEtyZmNOQSI+c29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS88d2JyPjwvd2JyPmludGVsPC9hPi48L2Rpdj48L3A+ + CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5i + c3A7PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1 + cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9Db2luYmFz + ZUN1cnJlbmNpZXMubXAzIiBsZW5ndGg9IjEwMjI0MTkzMiIgdHlwZT0iYXVk + aW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkNyeXB0b2N1cnJlbmNp + ZXMgaGF2ZSBzZWVuIGEgc3VyZ2Ugb2YgdmFsdWUgcmVjZW50bHkuIFBlb3Bs + ZSBhcmUgc3RhcnRpbmcgdG8gc2VlIHRoYXQgYml0Y29pbiwgZXRoZXJldW0s + IGFuZCBvdGhlciBjdXJyZW5jaWVzIGFyZSBub3QganVzdCBmb3Igc3BlY3Vs + YXRpb24uIEF0IHdvcnN0LCB0aGV5IGFyZSBhIHN0b3JlIG9mIHZhbHVl4oCT + bGlrZSBkaWdpdGFsIGdvbGQuIEF0IGJlc3QsPC9pdHVuZXM6c3VidGl0bGU+ + CgkJPGl0dW5lczpzdW1tYXJ5PkNyeXB0b2N1cnJlbmNpZXMgaGF2ZSBzZWVu + IGEgc3VyZ2Ugb2YgdmFsdWUgcmVjZW50bHkuIFBlb3BsZSBhcmUgc3RhcnRp + bmcgdG8gc2VlIHRoYXQgYml0Y29pbiwgZXRoZXJldW0sIGFuZCBvdGhlciBj + dXJyZW5jaWVzIGFyZSBub3QganVzdCBmb3Igc3BlY3VsYXRpb24uIEF0IHdv + cnN0LCB0aGV5IGFyZSBhIHN0b3JlIG9mIHZhbHVl4oCTbGlrZSBkaWdpdGFs + IGdvbGQuIEF0IGJlc3QsIHRoZXkgYXJlIGEgdG9vbCBmb3IgbWljcm9wYXlt + ZW50cywgc21hcnQgY29udHJhY3RzLCBhbmQgYW4gZW50aXJlIGRlY2VudHJh + bGl6ZWQgZmluYW5jaWFsIHBsYXRmb3JtLiBDb2luYmFzZSBpcyBhIGNvbXBh + bnkgZm9yIGJ1eWluZyBhbmQgc2VsbGluZyBjcnlwdG9jdXJyZW5jaWVzLiBU + aGlzIGVwaXNvZGUgaXMgdGhlIGZpcnN0IG9mIHRocmVlIGludGVydmlld3Mg + d2l0aCBkaWZmZXJlbnQgbWVtYmVyc0NvbnRpbnVlIHJlYWRpbmcuLi48L2l0 + dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGlj + aXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9u + PjUzOjE1PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20t + d29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3MTE8L3Bvc3QtaWQ+CQk8 + L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5EZXBsb3ltZW50IHdpdGggQXZp + IENhdmFsZTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMTEvZGVwbG95bWVudC13aXRoLWF2 + aS1jYXZhbGUvPC9saW5rPg0KCQk8cHViRGF0ZT5UdWUsIDExIEp1bCAyMDE3 + IDA5OjAwOjM3ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGlu + az0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + Lz9wPTM3MTA8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzExL2RlcGxveW1lbnQtd2l0 + aC1hdmktY2F2YWxlLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29t + bWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA3LzExL2RlcGxveW1lbnQtd2l0aC1hdmktY2F2YWxlL2ZlZWQvPC93 + Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjI8L3NsYXNoOmNv + bW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQ2xvdWQgRW5naW5l + ZXJpbmddXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2Rj + YXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQXZpIENh + dmFsZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0NvbnRh + aW5lcnNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjb250 + aW51b3VzIGRlcGxveW1lbnRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtEZXZPcHNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVttaWNyb3NlcnZpY2VzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbU2hpcHBhYmxlXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRp + b24+U29mdHdhcmUgZGVwbG95bWVudCBldm9sdmVzIG92ZXIgdGltZS4gSW4g + dGhlIDkwcywgYSDigJxkZXBsb3ltZW504oCdIG1pZ2h0IGhhdmUgbWVhbnQg + aXNzdWluZyBhIG5ldyBlZGl0aW9uIG9mIHlvdXIgc29mdHdhcmUgdmlhIENE + LVJPTS4gVG9kYXksIGEgZGVwbG95bWVudCBpcyBvZnRlbiBhIG11bHRpLXN0 + YWdlIHByb2Nlc3MuIEEgbmV3IHNvZnR3YXJlIGJ1aWxkIHdpbGwgdW5kZXJn + byBhdXRvbWF0ZWQgdW5pdCB0ZXN0cyBhbmQgaW50ZWdyYXRpb24gdGVzdHMs + IGJlZm9yZSBiZWluZyBkZXBsb3llZCB0byB1c2Vycy4gwqBUaGUgZGVwbG95 + bWVudCBtaWdodCBvbmx5IGdvIG91dCB0byBhIHNtYWxsIHBlcmNlbnRhZ2Ug + b2YgdG90YWwgdXNlcnMgaW5pdGlhbGx5LCB3aXRoIHRoYXQgcGVyY2VudGFn + ZSBnb2luZyB1cCBhcyB0aGUgZGVwbG95bWVudCBwcm92ZXMmbHQ7cCZndDsm + bHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9 + JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wNy8xMS9kZXBsb3ltZW50LXdpdGgtYXZpLWNhdmFsZS8mcXVvdDsmZ3Q7 + Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNj + cmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkv + Z29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2Jy + ZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1 + IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1 + IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xp + ZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVw + eDsiIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vbWVkaWEubGljZG4uY29tL21w + ci9tcHIvc2hyaW5rbnBfMjAwXzIwMC9wLzgvMDA1LzA3Zi8xNDYvMjIyOTJk + My5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2Fs + Yy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5Tb2Z0d2FyZSBkZXBsb3ltZW50IGV2b2x2ZXMgb3ZlciB0aW1l + LiBJbiB0aGUgOTBzLCBhIOKAnGRlcGxveW1lbnTigJ0gbWlnaHQgaGF2ZSBt + ZWFudCBpc3N1aW5nIGEgbmV3IGVkaXRpb24gb2YgeW91ciBzb2Z0d2FyZSB2 + aWEgQ0QtUk9NLiBUb2RheSwgYSBkZXBsb3ltZW50IGlzIG9mdGVuIGEgbXVs + dGktc3RhZ2UgcHJvY2Vzcy4gQSBuZXcgc29mdHdhcmUgYnVpbGQgd2lsbCB1 + bmRlcmdvIGF1dG9tYXRlZCB1bml0IHRlc3RzIGFuZCBpbnRlZ3JhdGlvbiB0 + ZXN0cywgYmVmb3JlIGJlaW5nIGRlcGxveWVkIHRvIHVzZXJzLiDCoFRoZSBk + ZXBsb3ltZW50IG1pZ2h0IG9ubHkgZ28gb3V0IHRvIGEgc21hbGwgcGVyY2Vu + dGFnZSBvZiB0b3RhbCB1c2VycyBpbml0aWFsbHksIHdpdGggdGhhdCBwZXJj + ZW50YWdlIGdvaW5nIHVwIGFzIHRoZSBkZXBsb3ltZW50IHByb3ZlcyBub3Qg + dG8gaGF2ZSBidWdzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+QXZpIENhdmFsZSBpcyB0aGUgQ0VPIG9mIFNoaXBw + YWJsZSwgYSBwbGF0Zm9ybSBmb3IgRGV2T3BzLiBJbiB0aGlzIGVwaXNvZGUs + IHdlIGRpc2N1c3NlZCBkZXBsb3ltZW50cyBpbiB0aGUgY29udGV4dCBvZiBj + b250YWluZXJzLCBpbmNsdWRpbmcgYSBkaXNjdXNzaW9uIG9mIHdoYXQgaGFz + IGJlY29tZSBlYXNpZXI6IG1pY3Jvc2VydmljZXMsIGZlYXR1cmUgZmxhZ2dp + bmcsIGFuZCBjb250aW51b3VzIGRlbGl2ZXJ5LiBIZSBhbHNvIGRpc2N1c3Nl + ZCBoaXMgZXhwZXJpZW5jZSBidWlsZGluZyBTaGlwcGFibGUuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Tb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBpcyBsb29raW5nIGZvciBzcG9uc29ycyBm + b3IgUTMuIElmIHlvdXIgY29tcGFueSBoYXMgYSBwcm9kdWN0IG9yIHNlcnZp + Y2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5nLCBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSByZWFjaGVzIDIzLDAwMCBkZXZlbG9wZXJzIGxpc3RlbmluZyBk + YWlseS4gU2VuZCBtZSBhbiBlbWFpbDogamVmZkBzb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8 + cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/C + oDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2Vl + ZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBm + aXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3Jp + cHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZv + ciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0i + aHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L1NFRDM3MS1TaGlwcGFibGUucGRmIj5jbGlj + ayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+ + PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3RvcHRhbC5j + b20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM3MzkiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91ZC13aXRoLW5laGEt + bmFya2hlZGUvdG9wdGFsLTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2ZpdD05NzglMkM1MjIi + IGRhdGEtb3JpZy1zaXplPSI5NzgsNTIyIiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InRvcHRhbCIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTMwMCUyQzE2MCIg + ZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9MzAwJTJDMTYwIiBh + bHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3Rv + cHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCAzMDB3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTc2OCUyQzQxMCA3 + Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/ + cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA3L3RvcHRhbC5wbmc/dz05NzggOTc4dyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VG9w + dGFsIGlzIHRoZSBiZXN0IHBsYWNlIHRvIGZpbmQgcmVhc29uYWJseSBwcmlj + ZWQsIGV4dHJlbWVseSB0YWxlbnRlZCBzb2Z0d2FyZSBlbmdpbmVlcnMgdG8g + YnVpbGQgeW91ciBwcm9qZWN0cyBmcm9tIHNjcmF0Y2ggb3Igc2NhbGUgeW91 + ciB3b3JrZm9yY2UuIDxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29tL3NlZGFp + bHkiPkdldCBhIGZyZWUgcGFpciBvZiBBcHBsZSBBaXJwb2RzIHdoZW4geW91 + IHVzZSBUb3B0YWwuY29tL3NlZGFpbHk8L2E+IHRvIHdvcmsgd2l0aCBhbiBl + bmdpbmVlciBmb3IgYXQgbGVhc3QgMjAgaG91cnMuPC9kaXY+PGJyIC8+Cjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzMTI1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wMS8xMy9jb2x1bW5h + ci1kYXRhLWFwYWNoZS1hcnJvdy1hbmQtcGFycXVldC13aXRoLWp1bGllbi1s + ZS1kZW0tYW5kLWphY3F1ZXMtbmFkZWF1L3ZpdmlkY29ydGV4LyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRD + b3J0ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBkYXRhLW9yaWctc2l6ZT0iMTAy + MiwyNTgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iVml2aWRDb3J0ZXgiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMS9WaXZpZENvcnRleC5wbmc/Zml0PTMwMCUyQzc2IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP2ZpdD0xMDIyJTJDMjU4IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTMxMjUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2IiBz + cmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP3Jlc2l6ZT0zMDAlMkM3NiAzMDB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz9yZXNpemU9NzY4JTJDMTk0 + IDc2OHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0 + ZXgucG5nP3Jlc2l6ZT03MjAlMkMxODIgNzIwdywgaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9WaXZpZENvcnRleC5wbmc/dz0xMDIyIDEwMjJ3IiBz + aXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1y + ZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij5WaXZpZENvcnRleCBpcyB0aGUgYmVzdCB3YXkgdG8gaW1w + cm92ZSB5b3VyIGRhdGFiYXNlIHBlcmZvcm1hbmNlLCBlZmZpY2llbmN5LCBh + bmQgdXB0aW1lLiBJdCYjODIxNztzIGEgY2xvdWQtaG9zdGVkIG1vbml0b3Jp + bmcgcGxhdGZvcm0gdGhhdCBlbGltaW5hdGVzIHlvdXIgbW9zdCBjcml0aWNh + bCB2aXNpYmlsaXR5IGdhcCwgcHJvdmlkaW5nIGluc2lnaHRzIGF0IDEtc2Vj + b25kIGdyYW51bGFyaXR5IGludG8gcHJvZHVjdGlvbiBkYXRhYmFzZSB3b3Jr + bG9hZCBhbmQgcXVlcnkgcGVyZm9ybWFuY2UuIEl0IG1lYXN1cmVzIHRoZSBl + eGVjdXRpb24gYW5kIHJlc291cmNlIGNvbnN1bXB0aW9uIG9mIGV2ZXJ5IHN0 + YXRlbWVudCBhbmQgdHJhbnNhY3Rpb24sIHNvIHlvdSBjYW4gcHJvYWN0aXZl + bHkgZml4IGZ1dHVyZSBkYXRhYmFzZSBpc3N1ZXMgYmVmb3JlIHRoZXkgaW1w + YWN0IGN1c3RvbWVycy4gVG8gbGVhcm4gbW9yZSwgdmlzaXQ8YSBocmVmPSJo + dHRwOi8vdml2aWRjb3J0ZXguY29tL3NlZGFpbHkiPiB2aXZpZGNvcnRleC5j + b20vc2VkYWlseTwvYT4gYW5kIGZpbmQgb3V0IHdoeSBjb21wYW5pZXMgbGlr + ZSBHaXRodWIsIERpZ2l0YWxPY2VhbiwgYW5kIFllbHAgYWxsIHVzZSBWaXZp + ZENvcnRleCB0byBzZWUgZGVlcGVyIGludG8gdGhlaXIgZGF0YWJhc2UgcGVy + Zm9ybWFuY2UuIExlYXJuIG1vcmUgYXQ8YSBocmVmPSJodHRwOi8vdml2aWRj + b3J0ZXguY29tL3NlZGFpbHkiPiB2aXZpZGNvcnRleC5jb20vc2VkYWlseTwv + YT4sIGFuZCBnZXQgc3RhcnRlZCB0b2RheSE8L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mv + ZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0x + MDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRv + Z19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19s + b2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9 + MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIv + ZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4 + NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBp + bnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBB + UE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBl + cmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMs + IGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93 + IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0 + YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBh + cHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2Vy + dmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4g + R28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93 + IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQg + d2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTYvMDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12 + aWRlbGEvaGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMx + MzAiIGRhdGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9 + MjYwJTJDMTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xh + c3M9ImFsaWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jl + c2l6ZT0yNjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVl + biB0aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJ + ZiB5b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUg + YmVlbiB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92 + ZSwgZ28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+ + aGlyZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdv + cmsgZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1t + YXRjaGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2 + b2NhdGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBv + ZiBmaW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJo + dHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9h + PsKgdG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJv + bnVzIGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0 + aGF0IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91 + IGRlc2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAv + Pgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxwPiZuYnNw + OzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJs + PSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU2hpcHBhYmxl + Lm1wMyIgbGVuZ3RoPSI2MDg3NTgwMyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4K + CQk8aXR1bmVzOnN1YnRpdGxlPlNvZnR3YXJlIGRlcGxveW1lbnQgZXZvbHZl + cyBvdmVyIHRpbWUuIEluIHRoZSA5MHMsIGEg4oCcZGVwbG95bWVudOKAnSBt + aWdodCBoYXZlIG1lYW50IGlzc3VpbmcgYSBuZXcgZWRpdGlvbiBvZiB5b3Vy + IHNvZnR3YXJlIHZpYSBDRC1ST00uIFRvZGF5LCBhIGRlcGxveW1lbnQgaXMg + b2Z0ZW4gYSBtdWx0aS1zdGFnZSBwcm9jZXNzLiBBIG5ldyBzb2Z0d2FyZSBi + dWlsZCB3aWxsIHVuZGVyZ28gYXV0b21hdGVkIHVuaXQgdGVzdHMgYW5kIGlu + dGVncmEuLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+ + U29mdHdhcmUgZGVwbG95bWVudCBldm9sdmVzIG92ZXIgdGltZS4gSW4gdGhl + IDkwcywgYSDigJxkZXBsb3ltZW504oCdIG1pZ2h0IGhhdmUgbWVhbnQgaXNz + dWluZyBhIG5ldyBlZGl0aW9uIG9mIHlvdXIgc29mdHdhcmUgdmlhIENELVJP + TS4gVG9kYXksIGEgZGVwbG95bWVudCBpcyBvZnRlbiBhIG11bHRpLXN0YWdl + IHByb2Nlc3MuIEEgbmV3IHNvZnR3YXJlIGJ1aWxkIHdpbGwgdW5kZXJnbyBh + dXRvbWF0ZWQgdW5pdCB0ZXN0cyBhbmQgaW50ZWdyYXRpb24gdGVzdHMsIGJl + Zm9yZSBiZWluZyBkZXBsb3llZCB0byB1c2Vycy4gwqBUaGUgZGVwbG95bWVu + dCBtaWdodCBvbmx5IGdvIG91dCB0byBhIHNtYWxsIHBlcmNlbnRhZ2Ugb2Yg + dG90YWwgdXNlcnMgaW5pdGlhbGx5LCB3aXRoIHRoYXQgcGVyY2VudGFnZSBn + b2luZyB1cCBhcyB0aGUgZGVwbG95bWVudCBwcm92ZXNDb250aW51ZSByZWFk + aW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1 + bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5l + czpkdXJhdGlvbj4xOjAzOjEzPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlk + IHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3MTA8 + L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5LYWZrYSBp + biB0aGUgQ2xvdWQgd2l0aCBOZWhhIE5hcmtoZWRlPC90aXRsZT4NCgkJPGxp + bms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + Ny8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1uZWhhLW5hcmtoZWRlLzwv + bGluaz4NCgkJPHB1YkRhdGU+TW9uLCAxMCBKdWwgMjAxNyAwOTowMDo1MCAr + MDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5o + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/cD0zNzA5PC9n + dWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNy8xMC9rYWZrYS1pbi10aGUtY2xvdWQtd2l0aC1u + ZWhhLW5hcmtoZWRlLyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29t + bWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91ZC13aXRoLW5laGEtbmFya2hl + ZGUvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + NTwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtD + bG91ZCBFbmdpbmVlcmluZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtBcGFjaGUgS2Fma2FdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtDb25mbHVlbnRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtLYWZrYSBjbG91ZF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW05laGEgTmFya2hlZGVdXT48L2NhdGVnb3J5PgoJCTxkZXNj + cmlwdGlvbj5BcGFjaGUgS2Fma2EgaXMgYW4gb3Blbi1zb3VyY2UgZGlzdHJp + YnV0ZWQgc3RyZWFtaW5nIHBsYXRmb3JtLiBLYWZrYSB3YXMgb3JpZ2luYWxs + eSBkZXZlbG9wZWQgYXQgTGlua2VkSW4sIGFuZCB0aGUgY3JlYXRvcnMgb2Yg + dGhlIHByb2plY3QgZXZlbnR1YWxseSBsZWZ0IExpbmtlZEluIGFuZCBzdGFy + dGVkIENvbmZsdWVudCwgYSBjb21wYW55IHRoYXQgaXMgYnVpbGRpbmcgYSBz + dHJlYW1pbmcgcGxhdGZvcm0gYmFzZWQgb24gS2Fma2EuIEthZmthIGlzIHZl + cnkgcG9wdWxhciwgYnV0IGlzIG5vdCBlYXN5IHRvIGRlcGxveSBhbmQgb3Bl + cmF0aW9uYWxpemUuIFRoYXQgaXMgd2h5IENvbmZsdWVudCBoYXMgYnVpbHQg + YSBLYWZrYS1hcy1hLXNlcnZpY2UgcHJvZHVjdCwgc28gdGhhdCBtYW5hZ2lu + ZyBLYWZrYSBpcyBub3QgdGhlIGpvYiBvZiBhbiBvbi1jYWxsIERldk9wcyZs + dDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVv + dDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91ZC13aXRoLW5laGEt + bmFya2hlZGUvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2Em + Z3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29k + ZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1l + bnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0 + L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXpl + LWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUw + JTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVw + eDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvNjUxMTI3NDA0NjE0Njk2 + OTYwL3VJNmFQMk51LnBuZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkFwYWNoZSBLYWZrYSBpcyBhbiBvcGVuLXNv + dXJjZSBkaXN0cmlidXRlZCBzdHJlYW1pbmcgcGxhdGZvcm0uIEthZmthIHdh + cyBvcmlnaW5hbGx5IGRldmVsb3BlZCBhdCBMaW5rZWRJbiwgYW5kIHRoZSBj + cmVhdG9ycyBvZiB0aGUgcHJvamVjdCBldmVudHVhbGx5IGxlZnQgTGlua2Vk + SW4gYW5kIHN0YXJ0ZWQgQ29uZmx1ZW50LCBhIGNvbXBhbnkgdGhhdCBpcyBi + dWlsZGluZyBhIHN0cmVhbWluZyBwbGF0Zm9ybSBiYXNlZCBvbiBLYWZrYS48 + L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PkthZmthIGlzIHZlcnkgcG9wdWxhciwgYnV0IGlzIG5vdCBlYXN5IHRvIGRl + cGxveSBhbmQgb3BlcmF0aW9uYWxpemUuIFRoYXQgaXMgd2h5IENvbmZsdWVu + dCBoYXMgYnVpbHQgYSBLYWZrYS1hcy1hLXNlcnZpY2UgcHJvZHVjdCwgc28g + dGhhdCBtYW5hZ2luZyBLYWZrYSBpcyBub3QgdGhlIGpvYiBvZiBhbiBvbi1j + YWxsIERldk9wcyBlbmdpbmVlci48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk5laGEgTmFya2hlZGUgaXMgdGhlIENU + TyBvZiBDb25mbHVlbnQgYW5kIHNoZSBoYXMgYmVlbiBvbiB0aGUgc2hvdyB0 + d2ljZSBiZWZvcmUgdG8gZGlzY3VzcyBLYWZrYS4gSW4gb3VyIGxhc3QgZXBp + c29kZSwgd2UgZGlzY3Vzc2VkIGV2ZW50IHNvdXJjaW5nIGFuZCBDUVJTIHdp + dGggS2Fma2EuIEluIHRoaXMgZXBpc29kZSwgd2UgZXhwbG9yZSBtb3JlIGNv + bW1vbiBlbnRlcnByaXNlIHVzZXMgZm9yIEthZmthLCBhbmQgTmVoYSB0YWxr + cyBhYm91dCB0aGUgZW5naW5lZXJpbmcgY29tcGxleGl0aWVzIG9mIGJ1aWxk + aW5nIGEgbWFuYWdlZCBLYWZrYS1hcy1hLXNlcnZpY2UgcHJvZHVjdC48L3Nw + YW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJv + dmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6 + Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20v + c2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMg + b2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4g + VGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0 + aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvU0VEMzcwLUthZmthLUNsb3VkLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3 + wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25z + b3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9hdXJvcmEuYXdzIj48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMzcyMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvYXdzL2FtYXpv + bndlYnNlcnZpY2VzX2xvZ28tc3ZnXy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpvbldlYnNlcnZpY2VzX0xv + Z28uc3ZnXy5wbmc/Zml0PTIwMDAlMkM4MDAiIGRhdGEtb3JpZy1zaXplPSIy + MDAwLDgwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJBbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18iIGRhdGEt + aW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dv + LnN2Z18ucG5nP2ZpdD0zMDAlMkMxMjAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19M + b2dvLnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDEwIiBjbGFzcz0iYWxpZ25sZWZ0 + IHdwLWltYWdlLTM3MjIgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18u + cG5nP3Jlc2l6ZT0zMDAlMkMxMjAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5z + dmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIDMwMHcsIGh0dHBzOi8vaTIud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBu + Zz9yZXNpemU9NzY4JTJDMzA3IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNp + emU9MTAyNCUyQzQxMCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT03 + MjAlMkMyODggNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+VG8gYnVpbGQgdGhlIGtpbmRz + IG9mIHRoaW5ncyBkZXZlbG9wZXJzIHdhbnQgdG8gYnVpbGQgdG9kYXksIHRo + ZXkgbmVlZCBiZXR0ZXIgdG9vbHMuIMKgQW1hem9uIEF1cm9yYSBmcm9tIEFt + YXpvbiBXZWIgU2VydmljZXMgaXMgYSByZWxhdGlvbmFsIGRhdGFiYXNlIGVu + Z2luZSB0aGF04oCZcyBjb21wYXRpYmxlIHdpdGggTXlTUUwgYW5kIFBvc3Rn + cmVTUUwsIGFuZCBwcm92aWRlcyB1cCB0byBmaXZlIHRpbWVzIHRoZSBwZXJm + b3JtYW5jZSBvbiB0aGUgc2FtZSBoYXJkd2FyZeKAlGF0IGEgdGVudGggb2Yg + dGhlIGNvc3QuIENoZWNrIGl0IG91dCBhdCA8YSBocmVmPSJodHRwOi8vYXVy + b3JhLmF3cyI+YXVyb3JhLmF3czwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL3RvcHRhbC5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjM3MzkiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzEwL2thZmthLWluLXRoZS1jbG91 + ZC13aXRoLW5laGEtbmFya2hlZGUvdG9wdGFsLTIvIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy90b3B0YWwucG5nP2Zp + dD05NzglMkM1MjIiIGRhdGEtb3JpZy1zaXplPSI5NzgsNTIyIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9InRvcHRh + bCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0 + PTMwMCUyQzE2MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/Zml0PTk3OCUyQzUyMiIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zNzM5IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvdG9wdGFsLnBuZz9yZXNpemU9 + MzAwJTJDMTYwIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXplPTMwMCUyQzE2MCAzMDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/cmVzaXpl + PTc2OCUyQzQxMCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3 + L3RvcHRhbC5wbmc/cmVzaXplPTcyMCUyQzM4NCA3MjB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA3L3RvcHRhbC5wbmc/dz05NzggOTc4dyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Ub3B0 + YWwgaXMgdGhlIGJlc3QgcGxhY2UgdG8gZmluZCByZWFzb25hYmx5IHByaWNl + ZCwgZXh0cmVtZWx5IHRhbGVudGVkIHNvZnR3YXJlIGVuZ2luZWVycyB0byBi + dWlsZCB5b3VyIHByb2plY3RzIGZyb20gc2NyYXRjaCBvciBzY2FsZSB5b3Vy + IHdvcmtmb3JjZS4gPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly90b3B0YWwuY29t + L3NlZGFpbHkiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+R2V0 + IGEgZnJlZSBwYWlyIG9mIEFwcGxlIEFpcnBvZHMgd2hlbiB5b3UgdXNlIFRv + cHRhbC5jb20vc2VkYWlseTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij4gdG8gd29yayB3aXRoIGFuIGVuZ2luZWVyIGZvciBh + dCBsZWFzdCAyMCBob3Vycy48L3NwYW4+PC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + Oi8vaGlyZWQuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzAxLzA0L2Rp + c3RyaWJ1dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8tdmlkZWxhL2hpcmVkLWxv + Z28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBkYXRhLW9yaWct + c2l6ZT0iMjYwLDEzMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hp + cmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9yZXNpemU9MjYwJTJDMTMw + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPkhhdmUgeW91IGJlZW4gdGhpbmtpbmcgeW91 + 4oCZZCBiZSBoYXBwaWVyIGF0IGEgbmV3IGpvYj8gSWYgeW914oCZcmUgZHJl + YW1pbmcgYWJvdXQgYSBuZXcgam9iIGFuZCBoYXZlIGJlZW4gd2FpdGluZyBm + b3IgdGhlIHJpZ2h0IHRpbWUgdG8gbWFrZSBhIG1vdmUsIGdvIHRvwqA8YSBo + cmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRh + aWx5PC9hPi4gSGlyZWQgbWFrZXMgZmluZGluZyB3b3JrIGVuam95YWJsZS4g + SGlyZWQgdXNlcyBhbiBhbGdvcml0aG1pYyBqb2ItbWF0Y2hpbmcgdG9vbCBp + biBjb21iaW5hdGlvbiB3aXRoIGEgdGFsZW50IGFkdm9jYXRlIHdobyB3aWxs + IHdhbGsgeW91IHRocm91Z2ggdGhlIHByb2Nlc3Mgb2YgZmluZGluZyBhIGJl + dHRlciBqb2IuIENoZWNrIG91dMKgPGEgaHJlZj0iaHR0cDovL2hpcmVkLmNv + bS9zZWRhaWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT7CoHRvIGdldCBhIHNw + ZWNpYWwgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxp + c3RlbmVycyYjODIxMTthICQ2MDAgc2lnbmluZyBib251cyBmcm9tIEhpcmVk + IHdoZW4geW91IGZpbmQgdGhhdCBncmVhdCBqb2IgdGhhdCBnaXZlcyB5b3Ug + dGhlIHJlc3BlY3QgYW5kIHNhbGFyeSB0aGF0IHlvdSBkZXNlcnZlIGFzIGEg + dGFsZW50ZWQgZW5naW5lZXIuwqA8L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8v + d3d3LmluY2Fwc3VsYS5jb20vc2VkYWlseT91dG1fc291cmNlPXNlZGFpbHkm + YW1wO3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX2NhbXBhaWduPTIwMTdf + UTNfcG9kY2FzdCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMxMTYiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzAxLzA5L2N5YmVyLXdhcmZhcmUtd2l0aC1qYXJlZC1zbWl0 + aC9pbmNhcHN1bGEtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9maXQ9NTMz + JTJDMTI2IiBkYXRhLW9yaWctc2l6ZT0iNTMzLDEyNiIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmNhcHN1bGEt + bG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1s + b2dvLnBuZz9maXQ9MzAwJTJDNzEiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5wbmc/Zml0 + PTUzMyUyQzEyNiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTE2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEv + aW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSIgYWx0PSIiIHNy + Y3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEt + bG9nby5wbmc/cmVzaXplPTMwMCUyQzcxIDMwMHcsIGh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3c9NTMzIDUzM3ci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPkluY2Fwc3VsYSBpcyBhIGNsb3VkIHNlcnZpY2UgdGhh + dCBwcm90ZWN0cyBhcHBsaWNhdGlvbnMgZnJvbSBhdHRhY2tlcnMgYW5kIGlt + cHJvdmVzIHBlcmZvcm1hbmNlLiDCoEJvdG5ldHMgYW5kIGRlbmlhbC1vZi1z + ZXJ2aWNlIGF0dGFja3MgYXJlIHJlY29nbml6ZWQgYnkgSW5jYXBzdWxhIGFu + ZCBibG9ja2VkLiBUaGlzIHByb3RlY3RzIHlvdXIgQVBJIHNlcnZlcnMgYW5k + IG1pY3Jvc2VydmljZXMgZnJvbSByZXNwb25kaW5nIHRvIHVud2FudGVkIHJl + cXVlc3RzLiBUbyB0cnkgSW5jYXBzdWxhLCBnbyB0byA8YSBocmVmPSJodHRw + czovL3d3dy5pbmNhcHN1bGEuY29tL3NlZGFpbHk/dXRtX3NvdXJjZT1zZWRh + aWx5JmFtcDt1dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9jYW1wYWlnbj0y + MDE3X1EzX3BvZGNhc3QiPmluY2Fwc3VsYS5jb20vc2VkYWlseTwvYT4gYW5k + IGdldCBhIG1vbnRoIGZyZWUgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERh + aWx5IGxpc3RlbmVycy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDpl + bmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGli + c3luLmNvbS9zZWRhaWx5L0thZmthQ2xvdWQubXAzIiBsZW5ndGg9IjU2ODQz + OTk4IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+ + QXBhY2hlIEthZmthIGlzIGFuIG9wZW4tc291cmNlIGRpc3RyaWJ1dGVkIHN0 + cmVhbWluZyBwbGF0Zm9ybS4gS2Fma2Egd2FzIG9yaWdpbmFsbHkgZGV2ZWxv + cGVkIGF0IExpbmtlZEluLCBhbmQgdGhlIGNyZWF0b3JzIG9mIHRoZSBwcm9q + ZWN0IGV2ZW50dWFsbHkgbGVmdCBMaW5rZWRJbiBhbmQgc3RhcnRlZCBDb25m + bHVlbnQsIGEgY29tcGFueSB0aGF0IGlzIGJ1aWxkaW5nIGEgc3RyZWFtaW5n + IHBsYXRmb3JtIGJhc2VkIG9uIEthZmthLjwvaXR1bmVzOnN1YnRpdGxlPgoJ + CTxpdHVuZXM6c3VtbWFyeT5BcGFjaGUgS2Fma2EgaXMgYW4gb3Blbi1zb3Vy + Y2UgZGlzdHJpYnV0ZWQgc3RyZWFtaW5nIHBsYXRmb3JtLiBLYWZrYSB3YXMg + b3JpZ2luYWxseSBkZXZlbG9wZWQgYXQgTGlua2VkSW4sIGFuZCB0aGUgY3Jl + YXRvcnMgb2YgdGhlIHByb2plY3QgZXZlbnR1YWxseSBsZWZ0IExpbmtlZElu + IGFuZCBzdGFydGVkIENvbmZsdWVudCwgYSBjb21wYW55IHRoYXQgaXMgYnVp + bGRpbmcgYSBzdHJlYW1pbmcgcGxhdGZvcm0gYmFzZWQgb24gS2Fma2EuIEth + ZmthIGlzIHZlcnkgcG9wdWxhciwgYnV0IGlzIG5vdCBlYXN5IHRvIGRlcGxv + eSBhbmQgb3BlcmF0aW9uYWxpemUuIFRoYXQgaXMgd2h5IENvbmZsdWVudCBo + YXMgYnVpbHQgYSBLYWZrYS1hcy1hLXNlcnZpY2UgcHJvZHVjdCwgc28gdGhh + dCBtYW5hZ2luZyBLYWZrYSBpcyBub3QgdGhlIGpvYiBvZiBhbiBvbi1jYWxs + IERldk9wc0NvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU5OjAxPC9pdHVuZXM6 + ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQt + YWRkaXRpb25zOjEiPjM3MDk8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+ + DQoJCTx0aXRsZT5GaWdodGluZyBGcmF1ZCBhdCBDb2luYmFzZSB3aXRoIFNv + dXBzIFJhbmphbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMDkvZmlnaHRpbmctZnJhdWQt + YXQtY29pbmJhc2Utd2l0aC1zb3Vwcy1yYW5qYW4vPC9saW5rPg0KCQk8cHVi + RGF0ZT5TdW4sIDA5IEp1bCAyMDE3IDE1OjMwOjAxICswMDAwPC9wdWJEYXRl + Pg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM3MDg8L2d1aWQ+DQoJCTxjb21t + ZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA3LzA5L2ZpZ2h0aW5nLWZyYXVkLWF0LWNvaW5iYXNlLXdpdGgtc291cHMt + cmFuamFuLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNz + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcv + MDkvZmlnaHRpbmctZnJhdWQtYXQtY29pbmJhc2Utd2l0aC1zb3Vwcy1yYW5q + YW4vZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + MDwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQ + b2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2Vj + dXJpdHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVthbnRp + LWZyYXVkXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbYml0 + Y29pbiBzZWN1cml0eV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0NvaW5iYXNlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbY3J5cHRvY3VycmVuY3ldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtTb3VwcyBSYW5qYW5dXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlw + dGlvbj5BIGNyeXB0b2N1cnJlbmN5IGV4Y2hhbmdlIGZhY2VzIGEgdW5pcXVl + bHkgZGlmZmljdWx0IGZyYXVkIHByb2JsZW0uIEEgaGFja2VyIHdobyBzdGVh + bHMgbXkgY3JlZGVudGlhbHMgY2FuIGluaXRpYXRlIGEgdHJhbnNmZXIgb2Yg + YWxsIG15IGJpdGNvaW4gdG8gYW5vdGhlciB3YWxsZXQsIGFuZCBpdCBpcyBh + IG5vbi1yZXZlcnNpYmxlLCBub24taWRlbnRpZmlhYmxlIHBheW1lbnQuIFNv + IGl0IGlzIHJlYWxseSBpbXBvcnRhbnQgdG8gcHJldmVudCB0aG9zZSBraW5k + cyBvZiBmcmF1ZHVsZW50IHRyYW5zYWN0aW9ucy4gQXQgdGhlIHRoaXJkIFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IE1lZXR1cCwgQ29pbmJhc2UgZGly + ZWN0b3Igb2YgZGF0YSBzY2llbmNlIFNvdXBzIFJhbmphbiBleHBsYWluZWQg + aG93IENvaW5iYXNlIHN0YXlzIGFoZWFkIG9mIGZyYXVkc3RlcnMsIGFuZCBo + ZSBkZXNjcmliZXMgc29tZSZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2Nv + bnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzA5L2ZpZ2h0aW5nLWZy + YXVkLWF0LWNvaW5iYXNlLXdpdGgtc291cHMtcmFuamFuLyZxdW90OyZndDtD + b250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2Ny + aXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcg + ZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9n + b29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJl + bmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUi + IHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlk + ICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4 + OyIgc3JjPSJodHRwczovL2kyLndwLmNvbS9yZXMuY2xvdWRpbmFyeS5jb20v + Y3J1bmNoYmFzZS1wcm9kdWN0aW9uL2ltYWdlL3VwbG9hZC92MTQwMzAyMTM0 + Mi96a2prdWJ5YXFvcnBjY3ZqcnV4Yi5qcGc/cmVzaXplPTE3NSUyQzE3NSYj + MDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5BIGNyeXB0b2N1cnJlbmN5 + IGV4Y2hhbmdlIGZhY2VzIGEgdW5pcXVlbHkgZGlmZmljdWx0IGZyYXVkIHBy + b2JsZW0uIEEgaGFja2VyIHdobyBzdGVhbHMgbXkgY3JlZGVudGlhbHMgY2Fu + IGluaXRpYXRlIGEgdHJhbnNmZXIgb2YgYWxsIG15IGJpdGNvaW4gdG8gYW5v + dGhlciB3YWxsZXQsIGFuZCBpdCBpcyBhIG5vbi1yZXZlcnNpYmxlLCBub24t + aWRlbnRpZmlhYmxlIHBheW1lbnQuIFNvIGl0IGlzIHJlYWxseSBpbXBvcnRh + bnQgdG8gcHJldmVudCB0aG9zZSBraW5kcyBvZiBmcmF1ZHVsZW50IHRyYW5z + YWN0aW9ucy48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkF0IHRoZSB0aGlyZCBTb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseSBNZWV0dXAsIENvaW5iYXNlIGRpcmVjdG9yIG9mIGRhdGEgc2NpZW5j + ZSBTb3VwcyBSYW5qYW4gZXhwbGFpbmVkIGhvdyBDb2luYmFzZSBzdGF5cyBh + aGVhZCBvZiBmcmF1ZHN0ZXJzLCBhbmQgaGUgZGVzY3JpYmVzIHNvbWUgb2Yg + dGhlIGN1dHRpbmctZWRnZSBzb2NpYWwgZW5naW5lZXJpbmcgYXR0YWNrcyB0 + aGF0IGFyZSBiZWluZyB1c2VkIHRvIHRyeSB0byBzdGVhbCBjcnlwdG9jdXJy + ZW5jeSYjODIxMTtpbmNsdWRpbmcgY2VsbCBwaG9uZSB0YWtlb3ZlciBhdHRh + Y2tzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+TmV4dCB3ZWVrLCB3ZSB3aWxsIGJlIGFpcmluZyB0aHJlZSBzaG93 + cyBJIGRpZCBvbi1zaXRlIGF0IENvaW5iYXNlJiM4MjExO2ludGVydmlld3Mg + d2l0aCBlbmdpbmVlcnMgZnJvbSB0aHJlZSBkaWZmZXJlbnQgdGVhbXMuIENo + ZWNrIG91dCB0aG9zZSBzaG93cyBmb3IgYSBkZWVwIGRpdmUgaW50byBjcnlw + dG9jdXJyZW5jeSB1c2VzLCBmcmF1ZCwgYW5kIGluZnJhc3RydWN0dXJlLiBD + b2luYmFzZSBpcyBhbiBleGNpdGluZyBjb21wYW55LCBhbmQgaXQgd2FzIGEg + bG90IG9mIGZ1biBnZXR0aW5nIGEgcGFub3JhbWEgZm9yIGhvdyBzZXZlcmFs + IHBhcnRzIG9mIHRoZSBvcmdhbml6YXRpb24gZnVuY3Rpb24uPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgbmV4 + dCBNZWV0dXAgd2lsbCBiZSBpbiBOZXcgWW9yay4gV2UgZG9u4oCZdCBrbm93 + IHdoZW4gaXQgd2lsbCBiZSB5ZXQsIGJ1dCBzaWduIHVwIHRvIGZvbGxvdyB1 + cyBhdCA8L3NwYW4+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vbWVldHVwIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vbWVldHVwPC9z + cGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi48L3Nw + YW4+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJv + dmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJp + bmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6 + Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20v + c2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMg + b2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4g + VGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0 + aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDcvU0VEMzY5LVNvdXBzLVByZXNlbnRhdGlvbi5wZGYiPmNsaWNrIGhlcmUg + dG8gdmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+Cjxw + PiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1 + cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvU291 + cHNQcmVzZW50YXRpb24ubXAzIiBsZW5ndGg9IjQ1Njk4NjcxIiB0eXBlPSJh + dWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+QSBjcnlwdG9jdXJy + ZW5jeSBleGNoYW5nZSBmYWNlcyBhIHVuaXF1ZWx5IGRpZmZpY3VsdCBmcmF1 + ZCBwcm9ibGVtLiBBIGhhY2tlciB3aG8gc3RlYWxzIG15IGNyZWRlbnRpYWxz + IGNhbiBpbml0aWF0ZSBhIHRyYW5zZmVyIG9mIGFsbCBteSBiaXRjb2luIHRv + IGFub3RoZXIgd2FsbGV0LCBhbmQgaXQgaXMgYSBub24tcmV2ZXJzaWJsZSwg + bm9uLWlkZW50aWZpYWJsZSBwYXltZW50LjwvaXR1bmVzOnN1YnRpdGxlPgoJ + CTxpdHVuZXM6c3VtbWFyeT5BIGNyeXB0b2N1cnJlbmN5IGV4Y2hhbmdlIGZh + Y2VzIGEgdW5pcXVlbHkgZGlmZmljdWx0IGZyYXVkIHByb2JsZW0uIEEgaGFj + a2VyIHdobyBzdGVhbHMgbXkgY3JlZGVudGlhbHMgY2FuIGluaXRpYXRlIGEg + dHJhbnNmZXIgb2YgYWxsIG15IGJpdGNvaW4gdG8gYW5vdGhlciB3YWxsZXQs + IGFuZCBpdCBpcyBhIG5vbi1yZXZlcnNpYmxlLCBub24taWRlbnRpZmlhYmxl + IHBheW1lbnQuIFNvIGl0IGlzIHJlYWxseSBpbXBvcnRhbnQgdG8gcHJldmVu + dCB0aG9zZSBraW5kcyBvZiBmcmF1ZHVsZW50IHRyYW5zYWN0aW9ucy4gQXQg + dGhlIHRoaXJkIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IE1lZXR1cCwg + Q29pbmJhc2UgZGlyZWN0b3Igb2YgZGF0YSBzY2llbmNlIFNvdXBzIFJhbmph + biBleHBsYWluZWQgaG93IENvaW5iYXNlIHN0YXlzIGFoZWFkIG9mIGZyYXVk + c3RlcnMsIGFuZCBoZSBkZXNjcmliZXMgc29tZUNvbnRpbnVlIHJlYWRpbmcu + Li48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJl + IEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6 + ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1 + cmF0aW9uPjQ3OjI0PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5z + PSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM3MDg8L3Bvc3Qt + aWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5SZWFjdCBOYXRpdmUg + SW50ZXJmYWNlcyB3aXRoIExlbGFuZCBSaWNoYXJkc29uPC90aXRsZT4NCgkJ + PGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wNy8wNy9yZWFjdC1uYXRpdmUtaW50ZXJmYWNlcy13aXRoLWxlbGFuZC1y + aWNoYXJkc29uLzwvbGluaz4NCgkJPHB1YkRhdGU+RnJpLCAwNyBKdWwgMjAx + NyAwOTowMDozMCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxp + bms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8/cD0zNjgwPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8wNy9yZWFjdC1uYXRpdmUt + aW50ZXJmYWNlcy13aXRoLWxlbGFuZC1yaWNoYXJkc29uLyNjb21tZW50czwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzA3L3JlYWN0LW5hdGl2ZS1p + bnRlcmZhY2VzLXdpdGgtbGVsYW5kLXJpY2hhcmRzb24vZmVlZC88L3dmdzpj + b21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mjwvc2xhc2g6Y29tbWVu + dHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtKYXZhU2NyaXB0XV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FpcmJuYl1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0xlbGFuZCBSaWNoYXJkc29uXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUmVhY3QgTmF0aXZl + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbVVggaW50ZXJm + YWNlc11dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkFpcmJuYiBpcyBh + IGNvbXBhbnkgdGhhdCBpcyBkcml2ZW4gYnkgZGVzaWduLiBOZXcgdXNlciBp + bnRlcmZhY2VzIGFyZSBkcmVhbWVkIHVwIGJ5IGRlc2lnbmVycyBhbmQgaW1w + bGVtZW50ZWQgZm9yIHdlYiwgaU9TLCBhbmQgQW5kcm9pZC4gVGhpcyBpbXBs + ZW1lbnRhdGlvbiBwcm9jZXNzIHRha2VzIGEgbG90IG9mIHJlc291cmNlcywg + YnV0IGl0IHVzZWQgdG8gdGFrZSBldmVuIG1vcmUgYmVmb3JlIHRoZSBjb21w + YW55IHN0YXJ0ZWQgdXNpbmcgUmVhY3QgTmF0aXZlLiBSZWFjdCBOYXRpdmUg + YWxsb3dzIEFpcmJuYiB0byByZXVzZSBjb21wb25lbnRzIGVmZmVjdGl2ZWx5 + LiBSZWFjdCBOYXRpdmUgd29ya3MgYnkgcHJlc2VudGluZyBhIGNvbnNpc3Rl + bnQgbW9kZWwgZm9yIHRoZSB1c2VyIGludGVyZmFjZSByZWdhcmRsZXNzIG9m + IHRoZSB1bmRlcmx5aW5nJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29u + dGludWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMDcvcmVhY3QtbmF0aXZl + LWludGVyZmFjZXMtd2l0aC1sZWxhbmQtcmljaGFyZHNvbi8mcXVvdDsmZ3Q7 + Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNj + cmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkv + Z29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2Jy + ZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1 + IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/ + Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1 + IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xp + ZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVw + eDsiIHNyYz0iaHR0cHM6Ly9hdmF0YXJzMC5naXRodWJ1c2VyY29udGVudC5j + b20vdS8xODg1NjIzP3Y9MyZhbXA7cz00NjAiIHdpZHRoPSIxNzUiIGhlaWdo + dD0iMTc1IiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5BaXJibmIgaXMgYSBjb21wYW55IHRoYXQgaXMgZHJpdmVuIGJ5IGRl + c2lnbi4gTmV3IHVzZXIgaW50ZXJmYWNlcyBhcmUgZHJlYW1lZCB1cCBieSBk + ZXNpZ25lcnMgYW5kIGltcGxlbWVudGVkIGZvciB3ZWIsIGlPUywgYW5kIEFu + ZHJvaWQuIFRoaXMgaW1wbGVtZW50YXRpb24gcHJvY2VzcyB0YWtlcyBhIGxv + dCBvZiByZXNvdXJjZXMsIGJ1dCBpdCB1c2VkIHRvIHRha2UgZXZlbiBtb3Jl + IGJlZm9yZSB0aGUgY29tcGFueSBzdGFydGVkIHVzaW5nIFJlYWN0IE5hdGl2 + ZS4gUmVhY3QgTmF0aXZlIGFsbG93cyBBaXJibmIgdG8gcmV1c2UgY29tcG9u + ZW50cyBlZmZlY3RpdmVseS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPlJlYWN0IE5hdGl2ZSB3b3JrcyBieSBwcmVz + ZW50aW5nIGEgY29uc2lzdGVudCBtb2RlbCBmb3IgdGhlIHVzZXIgaW50ZXJm + YWNlIHJlZ2FyZGxlc3Mgb2YgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0sIGFu + ZCBlbWl0dGluZyBhIGxvZyBvZiBjaGFuZ2VzIHRvIHRoYXQgdXNlciBpbnRl + cmZhY2UuIFRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIHRyYW5zbGF0ZXMgdGhv + c2UgY2hhbmdlcyBpbnRvIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5MZWxh + bmQgUmljaGFyZHNvbiBpcyBhbiBlbmdpbmVlciBhdCBBaXJibmIuIEluIHRv + ZGF54oCZcyBlcGlzb2RlLCBoZSBleHBsYWlucyBob3cgQWlyYm5iIHVzZXMg + UmVhY3QgTmF0aXZlLCBob3cgUmVhY3QgTmF0aXZlIHdvcmtzLCBhbmQgdGhl + IGZ1dHVyZSBvZiB0aGUgcGxhdGZvcm0uPC9zcGFuPjwvcD4KPHA+PGk+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5DaGVjayBvdXQgb3VyIG5l + dyA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA1LzAyL25ldy10b3BpYy1mZWVkcy8iPjxp + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dG9waWMgZmVlZHM8 + L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPiwgaW4gaVR1bmVzIG9yIHdoZXJldmVyIHlvdSBmaW5kIHlvdXIgcG9k + Y2FzdHMuIFdl4oCZdmUgc29ydGVkIGFsbCA1MDAgb2Ygb3VyIG9sZCBlcGlz + b2RlcyBpbnRvIGNhdGVnb3JpZXMgbGlrZSA8L3NwYW4+PC9pPjxhIGhyZWY9 + Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L3NlZC1idXNp + bmVzcy1hbmQtcGhpbG9zb3BoeS9pZDEyMjk1MDY2MTAiPjxpPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+YnVzaW5lc3M8L3NwYW4+PC9pPjwv + YT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgPC9zcGFu + PjwvaT48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9k + Y2FzdC9ibG9ja2NoYWluLXNvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lk + MTIzMDgwNzIxOSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5ibG9ja2NoYWluPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+PGEgaHJlZj0iaHR0cHM6 + Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvY2xvdWQtZW5naW5lZXJp + bmctc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMjMwODA2NjkyIj48 + aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmNsb3VkIGVuZ2lu + ZWVyaW5nPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+PGEgaHJlZj0iaHR0cHM6Ly9pdHVu + ZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvamF2YXNjcmlwdC1zb2Z0d2FyZS1l + bmdpbmVlcmluZy1kYWlseS9pZDEyMzIwOTM4MjkiPjxpPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+SmF2YVNjcmlwdDwvc3Bhbj48L2k+PC9h + PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCA8L3NwYW4+ + PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2Rj + YXN0L21hY2hpbmUtbGVhcm5pbmctc29mdHdhcmUtZW5naW5lZXJpbmctZGFp + bHkvaWQxMjMwODA3MTM2Ij48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPm1hY2hpbmUgbGVhcm5pbmc8L3NwYW4+PC9pPjwvYT48aT48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgYW5kIDwvc3Bhbj48L2k+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qv + Z3JlYXRlc3QtaGl0cy1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEy + Mjk0ODYzNDgiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + Z3JlYXRlc3QgaGl0czwvc3Bhbj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+LiBXaGF0ZXZlciBzcGVjaWZpYyBhcmVhIG9m + IHNvZnR3YXJlIHlvdSBhcmUgY3VyaW91cyBhYm91dCwgd2UgaGF2ZSBhIGZl + ZWQgZm9yIHlvdS4gQ2hlY2sgdGhlIHNob3cgbm90ZXMgZm9yIG1vcmUgZGV0 + YWlscy48L3NwYW4+PC9pPjwvcD4KPGgyPlNob3cgTm90ZXM8L2gyPgo8cD48 + YSBocmVmPSJodHRwczovL3lvdXR1LmJlL2hOd1FQSnktWFpZP2xpc3Q9UExD + QzQzNkpwVm5LM0twaWVXdHhZTjZhQzItZXhSX0l4SCI+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5SZWFjdCBFdXJvcGUgVGFsa8KgPC9zcGFu + PjwvYT48L3A+CjxwPjxhIGhyZWY9Imh0dHBzOi8vYWlyYm5iLmRlc2lnbi9w + YWludGluZy13aXRoLWNvZGUvIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkFpcmJuYiBhcnRpY2xlIG9uIHJlYWN0LXNrZXRjaGFwcDwvc3Bh + bj48L2E+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQg + cHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0 + cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5j + b20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250 + aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNl + cy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcg + d2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDcvU0VEMzY3LVJlYWN0LU5hdGl2ZS1JbnRlcmZhY2VzLnBkZiI+Y2xp + Y2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9h + PjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9jYXNwZXIu + Y29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNTU1IiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8wNS8xOS9jbG91ZC1uYXRpdmUtcHJvamVjdHMtd2l0aC1k + YW4ta29obi9jYXNwZXIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNS9jYXNwZXIucG5nP2ZpdD0yMzY2JTJDMjM2NiIg + ZGF0YS1vcmlnLXNpemU9IjIzNjYsMjM2NiIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJjYXNwZXIiIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNS9jYXNwZXIucG5nP2ZpdD0zMDAlMkMzMDAi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + NS9jYXNwZXIucG5nP2ZpdD0xMDI0JTJDMTAyNCIgY2xhc3M9ImFsaWdubGVm + dCB3cC1pbWFnZS0zNTU1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDUvY2FzcGVyLnBuZz9yZXNpemU9MzAwJTJDMzAw + IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA1 + L2Nhc3Blci5wbmc/cmVzaXplPTMwMCUyQzMwMCAzMDB3LCBodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA1L2Nhc3Blci5wbmc/cmVzaXplPTE1MCUyQzE1 + MCAxNTB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA1L2Nhc3Blci5w + bmc/cmVzaXplPTc2OCUyQzc2OCA3Njh3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA1L2Nhc3Blci5wbmc/cmVzaXplPTEwMjQlMkMxMDI0IDEwMjR3 + LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA1L2Nhc3Blci5wbmc/cmVz + aXplPTYwMCUyQzYwMCA2MDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA1L2Nhc3Blci5wbmc/cmVzaXplPTcyMCUyQzcyMCA3MjB3LCBodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA1L2Nhc3Blci5wbmc/cmVzaXplPTQxMCUy + QzQxMCA0MTB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA1L2Nhc3Bl + ci5wbmc/cmVzaXplPTgwJTJDODAgODB3LCBodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA1L2Nhc3Blci5wbmc/dz0yMTAwIDIxMDB3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5BbiBpbi1ob3VzZSB0ZWFtIG9mIGVuZ2luZWVycyBzcGVudCB0aG91c2Fu + ZHMgb2YgaG91cnMgZGV2ZWxvcGluZyB0aGUgQ2FzcGVyIG1hdHRyZXNzLiBB + cyBhIHNvZnR3YXJlIGVuZ2luZWVyLCB5b3Uga25vdyB3aGF0IHRoYXQga2lu + ZCBvZiBkZXZlbG9wbWVudCBhbmQgZGVkaWNhdGlvbiBpcyBsaWtlLiBUaGUg + cmVzdWx0IGlzIGFuIGV4Y2VwdGlvbmFsIHByb2R1Y3QsIG9uZSB0aGF0IHlv + deKAmWQgdXNlIGFuZCByZWNvbW1lbmQgdG8geW91ciBmcmllbmRzLiBZb3Ug + ZGVzZXJ2ZSBhbiBleGNlcHRpb25hbCBuaWdodOKAmXMgcmVzdCBzbyB5b3Ug + Y2FuIGNvbnRpbnVlIGJ1aWxkaW5nIGdyZWF0IHNvZnR3YXJlLiBDYXNwZXIg + Y29tYmluZXMgc3VwcG9ydGl2ZSBtZW1vcnkgZm9hbXMgZm9yIGEgc2xlZXAg + c3VyZmFjZSB0aGF04oCZcyBnb3QganVzdCB0aGUgcmlnaHQgc2luayBhbmQg + anVzdCB0aGUgcmlnaHQgYm91bmNlLiBQbHVzLCBpdHMgYnJlYXRoYWJsZSBk + ZXNpZ24gc2xlZXBzIGNvb2wgdG8gaGVscCB5b3UgcmVndWxhdGUgeW91ciB0 + ZW1wZXJhdHVyZSB0aHJvdWdoIHRoZSBuaWdodC4gQW5kLCBidXlpbmcgYSBD + YXNwZXIgbWF0dHJlc3MgaXMgY29tcGxldGVseSByaXNrIGZyZWUuIENhc3Bl + ciBvZmZlcnMgZnJlZSBkZWxpdmVyeSBhbmQgZnJlZSByZXR1cm5zIHdpdGgg + YSAxMDAtbmlnaHQgaG9tZSB0cmlhbC4gSWYgeW91IGRvbuKAmXQgbG92ZSBp + dCwgdGhleeKAmWxsIHBpY2sgaXQgdXAgYW5kIGdpdmUgeW91IGEgZnVsbCBy + ZWZ1bmQuIEFzIGEgc3BlY2lhbCBvZmZlciB0byBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSBsaXN0ZW5lcnMsIGdldCAkNTAgdG93YXJkIGFueSBtYXR0 + cmVzcyBwdXJjaGFzZSBieSB2aXNpdGluZyA8YSBocmVmPSJodHRwOi8vY2Fz + cGVyLmNvbS9zZWRhaWx5Ij5jYXNwZXIuY29tL3NlZGFpbHk8L2E+IGFuZCB1 + c2luZyBjb2RlIDxiPlNFREFJTFk8L2I+IGF0IGNoZWNrb3V0LjwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9nb2NkLmlvIj48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzE3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3Mvc25hcGNpL3Rob3VnaHR3b3Jr + c19nb19ibGFja19lZGl0LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQu + cG5nP2ZpdD02MTIlMkM0NjkiIGRhdGEtb3JpZy1zaXplPSI2MTIsNDY5IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + IlRob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0IiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP2Zp + dD0zMDAlMkMyMzAiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/ + Zml0PTYxMiUyQzQ2OSIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTc1 + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDcvVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3Jlc2l6ZT0zMDAl + MkMyMzAiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNy9U + aG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMwMCUyQzIz + MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRX + b3Jrc19Hb19ibGFja19lZGl0LnBuZz93PTYxMiA2MTJ3IiBzaXplcz0iKG1h + eC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGlt + cz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij5Hb0NEIGlzIGFuIG9uLXByZW1pc2UsIG9wZW4gc291cmNlLCBjb250aW51 + b3VzIGRlbGl2ZXJ5IHRvb2wuIEdldCBiZXR0ZXIgdmlzaWJpbGl0eSBpbnRv + IGFuZCBjb250cm9sIG9mIHlvdXIgdGVhbXMmIzgyMTc7IGRlcGxveW1lbnRz + IHdpdGggR29DRC4gU2F5IGdvb2RieWUgdG8gZGVwbG95bWVudCBwYW5pYyBh + bmQgaGVsbG8gdG8gY29uc2lzdGVudCwgcHJlZGljdGFibGUgZGVsaXZlcmll + cy4gVmlzaXTCoDx1PjxhIGhyZWY9Imh0dHA6Ly9nb2NkLmlvLyIgdGFyZ2V0 + PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPmdvY2QuaW88L2E+PC91PsKgZm9y + IGEgZnJlZSBkb3dubG9hZC48aT7CoDwvaT48L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmluY2Fwc3VsYS5jb20vc2VkYWlseT91dG1fc291cmNlPXNl + ZGFpbHkmYW1wO3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX2NhbXBhaWdu + PTIwMTdfUTNfcG9kY2FzdCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMx + MTYiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzAxLzA5L2N5YmVyLXdhcmZhcmUtd2l0aC1qYXJl + ZC1zbWl0aC9pbmNhcHN1bGEtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fwc3VsYS1sb2dvLnBuZz9m + aXQ9NTMzJTJDMTI2IiBkYXRhLW9yaWctc2l6ZT0iNTMzLDEyNiIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJpbmNh + cHN1bGEtbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2luY2Fw + c3VsYS1sb2dvLnBuZz9maXQ9MzAwJTJDNzEiIGRhdGEtbGFyZ2UtZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNhcHN1bGEtbG9nby5w + bmc/Zml0PTUzMyUyQzEyNiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + MTE2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3Jlc2l6ZT0zMDAlMkM3MSIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9pbmNh + cHN1bGEtbG9nby5wbmc/cmVzaXplPTMwMCUyQzcxIDMwMHcsIGh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDEvaW5jYXBzdWxhLWxvZ28ucG5nP3c9NTMz + IDUzM3ciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4 + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPkluY2Fwc3VsYSBpcyBhIGNsb3VkIHNlcnZp + Y2UgdGhhdCBwcm90ZWN0cyBhcHBsaWNhdGlvbnMgZnJvbSBhdHRhY2tlcnMg + YW5kIGltcHJvdmVzIHBlcmZvcm1hbmNlLiDCoEJvdG5ldHMgYW5kIGRlbmlh + bC1vZi1zZXJ2aWNlIGF0dGFja3MgYXJlIHJlY29nbml6ZWQgYnkgSW5jYXBz + dWxhIGFuZCBibG9ja2VkLiBUaGlzIHByb3RlY3RzIHlvdXIgQVBJIHNlcnZl + cnMgYW5kIG1pY3Jvc2VydmljZXMgZnJvbSByZXNwb25kaW5nIHRvIHVud2Fu + dGVkIHJlcXVlc3RzLiBUbyB0cnkgSW5jYXBzdWxhLCBnbyB0byA8YSBocmVm + PSJodHRwczovL3d3dy5pbmNhcHN1bGEuY29tL3NlZGFpbHk/dXRtX3NvdXJj + ZT1zZWRhaWx5JmFtcDt1dG1fbWVkaXVtPW9yZ2FuaWMmYW1wO3V0bV9jYW1w + YWlnbj0yMDE3X1EzX3BvZGNhc3QiPmluY2Fwc3VsYS5jb20vc2VkYWlseTwv + YT4gYW5kIGdldCBhIG1vbnRoIGZyZWUgZm9yIFNvZnR3YXJlIEVuZ2luZWVy + aW5nIERhaWx5IGxpc3RlbmVycy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL3ZpdmlkY29ydGV4LmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzEyNSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMTMvY29s + dW1uYXItZGF0YS1hcGFjaGUtYXJyb3ctYW5kLXBhcnF1ZXQtd2l0aC1qdWxp + ZW4tbGUtZGVtLWFuZC1qYWNxdWVzLW5hZGVhdS92aXZpZGNvcnRleC8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1Zp + dmlkQ29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgZGF0YS1vcmlnLXNpemU9 + IjEwMjIsMjU4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9IlZpdmlkQ29ydGV4IiBkYXRhLWltYWdlLWRlc2NyaXB0 + aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP2ZpdD0zMDAlMkM3NiIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1Zpdmlk + Q29ydGV4LnBuZz9maXQ9MTAyMiUyQzI1OCIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zMTI1IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6ZT0zMDAlMkM3 + NiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + MS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTMwMCUyQzc2IDMwMHcsIGh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDEvVml2aWRDb3J0ZXgucG5nP3Jlc2l6 + ZT03NjglMkMxOTQgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + MS9WaXZpZENvcnRleC5wbmc/cmVzaXplPTcyMCUyQzE4MiA3MjB3LCBodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL1ZpdmlkQ29ydGV4LnBuZz93PTEw + MjIgMTAyMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMw + MHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4K + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+Vml2aWRDb3J0ZXggaXMgdGhlIGJlc3Qgd2F5IHRvIGltcHJv + dmUgeW91ciBkYXRhYmFzZSBwZXJmb3JtYW5jZSwgZWZmaWNpZW5jeSwgYW5k + IHVwdGltZS4gSXQmIzgyMTc7cyBhIGNsb3VkLWhvc3RlZCBtb25pdG9yaW5n + IHBsYXRmb3JtIHRoYXQgZWxpbWluYXRlcyB5b3VyIG1vc3QgY3JpdGljYWwg + dmlzaWJpbGl0eSBnYXAsIHByb3ZpZGluZyBpbnNpZ2h0cyBhdCAxLXNlY29u + ZCBncmFudWxhcml0eSBpbnRvIHByb2R1Y3Rpb24gZGF0YWJhc2Ugd29ya2xv + YWQgYW5kIHF1ZXJ5IHBlcmZvcm1hbmNlLiBJdCBtZWFzdXJlcyB0aGUgZXhl + Y3V0aW9uIGFuZCByZXNvdXJjZSBjb25zdW1wdGlvbiBvZiBldmVyeSBzdGF0 + ZW1lbnQgYW5kIHRyYW5zYWN0aW9uLCBzbyB5b3UgY2FuIHByb2FjdGl2ZWx5 + IGZpeCBmdXR1cmUgZGF0YWJhc2UgaXNzdWVzIGJlZm9yZSB0aGV5IGltcGFj + dCBjdXN0b21lcnMuIFRvIGxlYXJuIG1vcmU8L3NwYW4+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIHZpc2l0PC9zcGFuPjxhIGhyZWY9Imh0 + dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+IDxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+dml2aWRjb3J0ZXguY29tL3NlZGFpbHk8L3Nw + YW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+IGFuZCBm + aW5kIG91dCB3aHkgY29tcGFuaWVzIGxpa2UgPC9zcGFuPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+R2l0aHViLCBEaWdpdGFsT2NlYW4sIGFu + ZCBZZWxwIGFsbCB1c2UgVml2aWRDb3J0ZXggdG8gc2VlIGRlZXBlciBpbnRv + IHRoZWlyIGRhdGFiYXNlIHBlcmZvcm1hbmNlLiBMZWFybiBtb3JlIGF0PC9z + cGFuPjxhIGhyZWY9Imh0dHA6Ly92aXZpZGNvcnRleC5jb20vc2VkYWlseSI+ + IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dml2aWRjb3J0ZXgu + Y29tL3NlZGFpbHk8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+LCBhbmQgZ2V0IHN0YXJ0ZWQgdG9kYXkhPC9zcGFuPjwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1d + PjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDov + L3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L1JlYWN0TmF0aXZlSW50ZXJm + YWNlcy5tcDMiIGxlbmd0aD0iNTM1OTQxNTkiIHR5cGU9ImF1ZGlvL21wZWci + IC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5BaXJibmIgaXMgYSBjb21wYW55IHRo + YXQgaXMgZHJpdmVuIGJ5IGRlc2lnbi4gTmV3IHVzZXIgaW50ZXJmYWNlcyBh + cmUgZHJlYW1lZCB1cCBieSBkZXNpZ25lcnMgYW5kIGltcGxlbWVudGVkIGZv + ciB3ZWIsIGlPUywgYW5kIEFuZHJvaWQuIFRoaXMgaW1wbGVtZW50YXRpb24g + cHJvY2VzcyB0YWtlcyBhIGxvdCBvZiByZXNvdXJjZXMsIGJ1dCBpdCB1c2Vk + IHRvIHRha2UgZXZlbiBtb3JlIGJlZm9yZSB0aGUgY29tcGFueSBzdGFydGVk + IHVzaW4uLi48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+ + QWlyYm5iIGlzIGEgY29tcGFueSB0aGF0IGlzIGRyaXZlbiBieSBkZXNpZ24u + IE5ldyB1c2VyIGludGVyZmFjZXMgYXJlIGRyZWFtZWQgdXAgYnkgZGVzaWdu + ZXJzIGFuZCBpbXBsZW1lbnRlZCBmb3Igd2ViLCBpT1MsIGFuZCBBbmRyb2lk + LiBUaGlzIGltcGxlbWVudGF0aW9uIHByb2Nlc3MgdGFrZXMgYSBsb3Qgb2Yg + cmVzb3VyY2VzLCBidXQgaXQgdXNlZCB0byB0YWtlIGV2ZW4gbW9yZSBiZWZv + cmUgdGhlIGNvbXBhbnkgc3RhcnRlZCB1c2luZyBSZWFjdCBOYXRpdmUuIFJl + YWN0IE5hdGl2ZSBhbGxvd3MgQWlyYm5iIHRvIHJldXNlIGNvbXBvbmVudHMg + ZWZmZWN0aXZlbHkuIFJlYWN0IE5hdGl2ZSB3b3JrcyBieSBwcmVzZW50aW5n + IGEgY29uc2lzdGVudCBtb2RlbCBmb3IgdGhlIHVzZXIgaW50ZXJmYWNlIHJl + Z2FyZGxlc3Mgb2YgdGhlIHVuZGVybHlpbmdDb250aW51ZSByZWFkaW5nLi4u + PC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4 + cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJh + dGlvbj41NTozODwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0i + Y29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zNjgwPC9wb3N0LWlk + PgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+UmVhY3QgTmF0aXZlIEVj + b3N5c3RlbSB3aXRoIE5hZGVyIERhYml0PC90aXRsZT4NCgkJPGxpbms+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNy8wNi9y + ZWFjdC1uYXRpdmUtZWNvc3lzdGVtLXdpdGgtbmFkZXItZGFiaXQvPC9saW5r + Pg0KCQk8cHViRGF0ZT5UaHUsIDA2IEp1bCAyMDE3IDA5OjAwOjEwICswMDAw + PC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2Nzk8L2d1aWQ+ + DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA3LzA2L3JlYWN0LW5hdGl2ZS1lY29zeXN0ZW0td2l0aC1u + YWRlci1kYWJpdC8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1l + bnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAx + Ny8wNy8wNi9yZWFjdC1uYXRpdmUtZWNvc3lzdGVtLXdpdGgtbmFkZXItZGFi + aXQvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + Mjwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtK + YXZhU2NyaXB0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW05h + ZGVyIERhYml0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + bmF0aXZlIEFQSV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W1JlYWN0IE5hdGl2ZSBSYWRpb11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW1VYIGludGVyZmFjZXNdXT48L2NhdGVnb3J5PgoJCTxkZXNj + cmlwdGlvbj5SZWFjdCBOYXRpdmUgYWxsb3dzIGRldmVsb3BlcnMgdG8gcmV1 + c2UgY29tcG9uZW50cyBmcm9tIG9uZSB1c2VyIGludGVyZmFjZSBvbiBtdWx0 + aXBsZSBwbGF0Zm9ybXMuIFJlYWN0IE5hdGl2ZSB3YXMgaW50cm9kdWNlZCBi + eSBGYWNlYm9vayB0byByZWR1Y2UgdGhlIHBhaW4gb2YgdGVhbXMgd2hvIHdl + cmUgcmV3cml0aW5nIHRoZWlyIHVzZXIgaW50ZXJmYWNlcyBmb3Igd2ViLCBp + T1MsIGFuZCBBbmRyb2lkLiBOYWRlciBEYWJpdCBob3N0cyBSZWFjdCBOYXRp + dmUgUmFkaW8sIGEgcG9kY2FzdCBhYm91dCBSZWFjdCBOYXRpdmUuIE5hZGVy + IGFsc28gdHJhaW5zIGNvbXBhbmllcyB0byB1c2VyIFJlYWN0IE5hdGl2ZSB0 + aHJvdWdoIGhpcyBjb21wYW55IFJlYWN0IE5hdGl2ZSBUcmFpbmluZy4gSW4g + dGhpcyBlcGlzb2RlLCB3ZSBleHBsb3JlIHdoYXQgYSBkZXZlbG9wZXImbHQ7 + cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7 + IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wNy8wNi9yZWFjdC1uYXRpdmUtZWNvc3lzdGVtLXdpdGgtbmFk + ZXItZGFiaXQvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2Em + Z3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29k + ZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1l + bnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJu + cy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUi + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0 + L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2Ut + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXpl + LWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUw + JTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVw + eDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29t + L3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMvODQ4OTI4ODkzODY4NDAw + NjQwLzhUeEotUnBTLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPlJlYWN0IE5hdGl2ZSBhbGxvd3MgZGV2ZWxv + cGVycyB0byByZXVzZSBjb21wb25lbnRzIGZyb20gb25lIHVzZXIgaW50ZXJm + YWNlIG9uIG11bHRpcGxlIHBsYXRmb3Jtcy4gUmVhY3QgTmF0aXZlIHdhcyBp + bnRyb2R1Y2VkIGJ5IEZhY2Vib29rIHRvIHJlZHVjZSB0aGUgcGFpbiBvZiB0 + ZWFtcyB3aG8gd2VyZSByZXdyaXRpbmcgdGhlaXIgdXNlciBpbnRlcmZhY2Vz + IGZvciB3ZWIsIGlPUywgYW5kIEFuZHJvaWQuIDwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+TmFkZXIgRGFiaXQgaG9z + dHMgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vZGV2Y2hhdC50di9yZWFjdC1u + YXRpdmUtcmFkaW8iPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + UmVhY3QgTmF0aXZlIFJhZGlvPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPiwgYSBwb2RjYXN0IGFib3V0IFJlYWN0IE5hdGl2 + ZS4gTmFkZXIgYWxzbyB0cmFpbnMgY29tcGFuaWVzIHRvIHVzZXIgUmVhY3Qg + TmF0aXZlIHRocm91Z2ggaGlzIGNvbXBhbnkgPC9zcGFuPjxhIGhyZWY9Imh0 + dHA6Ly9yZWFjdG5hdGl2ZS50cmFpbmluZy8iPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+UmVhY3QgTmF0aXZlIFRyYWluaW5nPC9zcGFuPjwv + YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi4gSW4gdGhpcyBl + cGlzb2RlLCB3ZSBleHBsb3JlIHdoYXQgYSBkZXZlbG9wZXIgY2FuIGFuZCBj + YW5ub3QgZG8gd2l0aCBSZWFjdCBOYXRpdmUsIHdoZW4gYSBkZXZlbG9wZXIg + bmVlZHMgdG8gdXNlIG5hdGl2ZSBBUElzLCBhbmQgc29tZSBzcGVjdWxhdGlv + biBvbiB0aGUgZnV0dXJlIG9mIFJlYWN0IE5hdGl2ZS48L3NwYW4+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlRoaXMgZXBpc29k + ZSBpcyBhIGdvb2QgcHJlZmFjZSBmb3IgdG9tb3Jyb3figJlzIGVwaXNvZGUg + YWJvdXQgUmVhY3QgTmF0aXZlIEludGVyZmFjZXMgd2l0aCBMZWxhbmQgUmlj + aGFyZHNvbiBvZiBBaXJibmIuIEluIHRoYXQgZXBpc29kZSB3ZSB3aWxsIGRp + dmUgZGVlcGVyIGludG8gaG93IFJlYWN0IE5hdGl2ZSB3b3JrcyBhbmQganVz + dCBob3cgYmlnIG9mIGEgY2hhbmdlIGl0IGNvdWxkIGJlIGZvciBjcm9zcy1w + bGF0Zm9ybSBkZXZlbG9wZXJzLjwvc3Bhbj48L3A+CjxwPjxpPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+Q2hlY2sgb3V0IG91ciBuZXcgPC9z + cGFuPjwvaT48YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNS8wMi9uZXctdG9waWMtZmVlZHMvIj48aT48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPnRvcGljIGZlZWRzPC9zcGFu + PjwvaT48L2E+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4s + IGluIGlUdW5lcyBvciB3aGVyZXZlciB5b3UgZmluZCB5b3VyIHBvZGNhc3Rz + LiBXZeKAmXZlIHNvcnRlZCBhbGwgNTAwIG9mIG91ciBvbGQgZXBpc29kZXMg + aW50byBjYXRlZ29yaWVzIGxpa2UgPC9zcGFuPjwvaT48YSBocmVmPSJodHRw + czovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9zZWQtYnVzaW5lc3Mt + YW5kLXBoaWxvc29waHkvaWQxMjI5NTA2NjEwIj48aT48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPmJ1c2luZXNzPC9zcGFuPjwvaT48L2E+PGk+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qv + YmxvY2tjaGFpbi1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzA4 + MDcyMTkiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Ymxv + Y2tjaGFpbjwvc3Bhbj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+LCA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1 + bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L2Nsb3VkLWVuZ2luZWVyaW5nLXNv + ZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lkMTIzMDgwNjY5MiI+PGk+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5jbG91ZCBlbmdpbmVlcmlu + Zzwvc3Bhbj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+LCA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFw + cGxlLmNvbS91cy9wb2RjYXN0L2phdmFzY3JpcHQtc29mdHdhcmUtZW5naW5l + ZXJpbmctZGFpbHkvaWQxMjMyMDkzODI5Ij48aT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkphdmFTY3JpcHQ8L3NwYW4+PC9pPjwvYT48aT48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgPC9zcGFuPjwvaT48 + YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9t + YWNoaW5lLWxlYXJuaW5nLXNvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lk + MTIzMDgwNzEzNiI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5tYWNoaW5lIGxlYXJuaW5nPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIGFuZCA8L3NwYW4+PC9pPjxhIGhy + ZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L2dyZWF0 + ZXN0LWhpdHMtc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMjI5NDg2 + MzQ4Ij48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmdyZWF0 + ZXN0IGhpdHM8L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPi4gV2hhdGV2ZXIgc3BlY2lmaWMgYXJlYSBvZiBzb2Z0 + d2FyZSB5b3UgYXJlIGN1cmlvdXMgYWJvdXQsIHdlIGhhdmUgYSBmZWVkIGZv + ciB5b3UuIENoZWNrIHRoZSBzaG93IG5vdGVzIGZvciBtb3JlIGRldGFpbHMu + PC9zcGFuPjwvaT48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNj + cmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVm + PSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNh + c3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdv + IG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNl + cnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5l + cmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNy9TRUQzNjYtUmVhY3QtTmF0aXZlLU5hZGlyLnBkZiI+Y2xp + Y2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9h + PjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9hdXJvcmEu + YXdzIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzcyMiIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3 + bG9nb3MvYXdzL2FtYXpvbndlYnNlcnZpY2VzX2xvZ28tc3ZnXy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA3L0FtYXpv + bldlYnNlcnZpY2VzX0xvZ28uc3ZnXy5wbmc/Zml0PTIwMDAlMkM4MDAiIGRh + dGEtb3JpZy1zaXplPSIyMDAwLDgwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJBbWF6b25XZWJzZXJ2aWNlc19M + b2dvLnN2Z18iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25X + ZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0zMDAlMkMxMjAiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6 + b25XZWJzZXJ2aWNlc19Mb2dvLnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDEwIiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM3MjIgc2l6ZS1tZWRpdW0iIHNy + Yz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2 + aWNlc19Mb2dvLnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMjAiIGFsdD0iIiBz + cmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vi + c2VydmljZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTIwIDMwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2Vydmlj + ZXNfTG9nby5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzA3IDc2OHcsIGh0dHBz + Oi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDcvQW1hem9uV2Vic2VydmljZXNfTG9n + by5zdmdfLnBuZz9yZXNpemU9MTAyNCUyQzQxMCAxMDI0dywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNy9BbWF6b25XZWJzZXJ2aWNlc19Mb2dvLnN2 + Z18ucG5nP3Jlc2l6ZT03MjAlMkMyODggNzIwdyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UbyBidWlsZCB0aGUga2lu + ZHMgb2YgdGhpbmdzIGRldmVsb3BlcnMgd2FudCB0byBidWlsZCB0b2RheSwg + dGhleSBuZWVkIGJldHRlciB0b29scy4gwqBBbWF6b24gQXVyb3JhIGZyb20g + QW1hem9uIFdlYiBTZXJ2aWNlcyBpcyBhIHJlbGF0aW9uYWwgZGF0YWJhc2Ug + ZW5naW5lIHRoYXTigJlzIGNvbXBhdGlibGUgd2l0aCBNeVNRTCBhbmQgUG9z + dGdyZVNRTCwgYW5kIHByb3ZpZGVzIHVwIHRvIGZpdmUgdGltZXMgdGhlIHBl + cmZvcm1hbmNlIG9uIHRoZSBzYW1lIGhhcmR3YXJl4oCUYXQgYSB0ZW50aCBv + ZiB0aGUgY29zdC4gQ2hlY2sgaXQgb3V0IGF0IDxhIGhyZWY9Imh0dHA6Ly9h + dXJvcmEuYXdzIj5hdXJvcmEuYXdzPC9hPi48L3NwYW4+PC9kaXY+PC9wPgo8 + cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9 + InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEg + aHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50 + ZWwiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjQyIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50 + ZWwvaW50ZWxuZXJ2YW5hX2xvZ29qdWx5LyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29K + dWx5LmpwZz9maXQ9NjAwJTJDMTc4IiBkYXRhLW9yaWctc2l6ZT0iNjAwLDE3 + OCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzEmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJJbnRlbE5lcnZhbmFfbG9nb0p1bHkiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP2ZpdD0zMDAl + MkM4OSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0ludGVsTmVydmFuYV9sb2dvSnVseS5qcGc/Zml0PTYwMCUyQzE3 + OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjQyIHNpemUtbWVkaXVt + IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2 + YW5hX2xvZ29KdWx5LmpwZz9yZXNpemU9MzAwJTJDODkiIGFsdD0iIiBzcmNz + ZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5h + X2xvZ29KdWx5LmpwZz9yZXNpemU9MzAwJTJDODkgMzAwdywgaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBn + P3c9NjAwIDYwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50 + ZWxOZXJ2YW5hX2xvZ29KdWx5LmpwZz9yZXNpemU9NTk1JTJDMTc4IDU5NXci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPkRlZXAgbGVhcm5pbmcgcHJvbWlzZXMgdG8gZHJhbWF0 + aWNhbGx5IGltcHJvdmUgaG93IG91ciB3b3JsZCB3b3Jrcy4gVG8gbWFrZSBk + ZWVwIGxlYXJuaW5nIGVhc2llciBhbmQgZmFzdGVyLCB3ZSBuZWVkIG5ldyBr + aW5kcyBvZiBoYXJkd2FyZSBhbmQgc29mdHdhcmUmIzgyMTE7d2hpY2ggaXMg + d2h5IEludGVsIGFjcXVpcmVkIE5lcnZhbmEgU3lzdGVtcywgYSBwbGF0Zm9y + bSBmb3IgZGVlcCBsZWFybmluZy4gSW50ZWwgTmVydmFuYSBpcyBoaXJpbmcg + ZW5naW5lZXJzIHRvIGhlbHAgZGV2ZWxvcCBhIGZ1bGwgc3RhY2sgZm9yIEFJ + LCBmcm9tIGNoaXAgZGVzaWduIHRvIHNvZnR3YXJlIGZyYW1ld29ya3MuIEdv + IHRvIDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL2ludGVsIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3Jl + ZmVycmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29v + Z2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vaW50ZWwmYW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0 + PTE0OTMxMzQxOTY0MzIwMDAmYW1wO3VzZz1BRlFqQ05FSFVGQ1NtZ0duZG9Z + c0d0R0l3dWNUS3JmY05BIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + Lzx3YnI+PC93YnI+aW50ZWw8L2E+IHRvIGFwcGx5IGZvciBhIGpvYiBhdCBJ + bnRlbCBOZXJ2YW5hLiBJZiB5b3Uga25vdyBkb27igJl0IGtub3cgbXVjaCBh + Ym91dCB0aGUgY29tcGFueSwgY2hlY2sgb3V0IHRoZSBpbnRlcnZpZXdzIEkg + aGF2ZSBjb25kdWN0ZWQgd2l0aCBlbmdpbmVlcnMgZnJvbSB0aGUgY29tcGFu + eS4gWW91IGNhbiBmaW5kIHRoZXNlIGF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsIiB0YXJnZXQ9Il9ibGFu + ayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBkYXRhLXNhZmVyZWRpcmVj + dHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9 + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwmYW1w + O3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE0OTMxMzQxOTY0MzIwMDAmYW1wO3Vz + Zz1BRlFqQ05FSFVGQ1NtZ0duZG9Zc0d0R0l3dWNUS3JmY05BIj5zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzx3YnI+PC93YnI+aW50ZWw8L2E+Ljwv + ZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48 + ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29s + LXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIg + ZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTYvMDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFs + dmFyby12aWRlbGEvaGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0y + NjAlMkMxMzAiIGRhdGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxv + Z28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpw + Zz9maXQ9MjYwJTJDMTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEz + MCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIg + c3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28u + anBnP3Jlc2l6ZT0yNjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+ + PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5 + b3UgYmVlbiB0aGlua2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcg + am9iPyBJZiB5b3XigJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5k + IGhhdmUgYmVlbiB3YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtl + IGEgbW92ZSwgZ28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2Vk + YWlseSI+aGlyZWQuY29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5k + aW5nIHdvcmsgZW5qb3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWlj + IGpvYi1tYXRjaGluZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxl + bnQgYWR2b2NhdGUgd2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJv + Y2VzcyBvZiBmaW5kaW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBo + cmVmPSJodHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRh + aWx5PC9hPsKgdG8gZ2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWdu + aW5nIGJvbnVzIGZyb20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0 + IGpvYiB0aGF0IGdpdmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRo + YXQgeW91IGRlc2VydmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2 + PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYg + Y2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cDovL2dvY2QuaW8iPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIzMTc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9zbmFwY2kvdGhvdWdodHdv + cmtzX2dvX2JsYWNrX2VkaXQvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRp + dC5wbmc/Zml0PTYxMiUyQzQ2OSIgZGF0YS1vcmlnLXNpemU9IjYxMiw0Njki + IGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9Insm + cXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRp + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVu + Z3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmll + bnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRs + ZT0iVGhvdWdodFdvcmtzX0dvX2JsYWNrX2VkaXQiIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/ + Zml0PTMwMCUyQzIzMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA3L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBu + Zz9maXQ9NjEyJTJDNDY5IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMx + NzUgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNy9UaG91Z2h0V29ya3NfR29fYmxhY2tfZWRpdC5wbmc/cmVzaXplPTMw + MCUyQzIzMCIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA3 + L1Rob3VnaHRXb3Jrc19Hb19ibGFja19lZGl0LnBuZz9yZXNpemU9MzAwJTJD + MjMwIDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDcvVGhvdWdo + dFdvcmtzX0dvX2JsYWNrX2VkaXQucG5nP3c9NjEyIDYxMnciIHNpemVzPSIo + bWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1k + aW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNt + LTYiPkdvQ0QgaXMgYW4gb24tcHJlbWlzZSwgb3BlbiBzb3VyY2UsIGNvbnRp + bnVvdXMgZGVsaXZlcnkgdG9vbC4gR2V0IGJldHRlciB2aXNpYmlsaXR5IGlu + dG8gYW5kIGNvbnRyb2wgb2YgeW91ciB0ZWFtcyYjODIxNzsgZGVwbG95bWVu + dHMgd2l0aCBHb0NELiBTYXkgZ29vZGJ5ZSB0byBkZXBsb3ltZW50IHBhbmlj + IGFuZCBoZWxsbyB0byBjb25zaXN0ZW50LCBwcmVkaWN0YWJsZSBkZWxpdmVy + aWVzLiBWaXNpdMKgPHU+PGEgaHJlZj0iaHR0cDovL2dvY2QuaW8vIiB0YXJn + ZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+Z29jZC5pbzwvYT48L3U+wqBm + b3IgYSBmcmVlIGRvd25sb2FkLjxpPsKgPC9pPjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+ + DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29t + L3NlZGFpbHkvUmVhY3ROYXRpdmVOYWRlci5tcDMiIGxlbmd0aD0iNTUxODk1 + MTgiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5S + ZWFjdCBOYXRpdmUgYWxsb3dzIGRldmVsb3BlcnMgdG8gcmV1c2UgY29tcG9u + ZW50cyBmcm9tIG9uZSB1c2VyIGludGVyZmFjZSBvbiBtdWx0aXBsZSBwbGF0 + Zm9ybXMuIFJlYWN0IE5hdGl2ZSB3YXMgaW50cm9kdWNlZCBieSBGYWNlYm9v + ayB0byByZWR1Y2UgdGhlIHBhaW4gb2YgdGVhbXMgd2hvIHdlcmUgcmV3cml0 + aW5nIHRoZWlyIHVzZXIgaW50ZXJmYWNlcyBmb3Igd2ViLCBpT1MsIGFuZCBB + bmRyb2lkLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5S + ZWFjdCBOYXRpdmUgYWxsb3dzIGRldmVsb3BlcnMgdG8gcmV1c2UgY29tcG9u + ZW50cyBmcm9tIG9uZSB1c2VyIGludGVyZmFjZSBvbiBtdWx0aXBsZSBwbGF0 + Zm9ybXMuIFJlYWN0IE5hdGl2ZSB3YXMgaW50cm9kdWNlZCBieSBGYWNlYm9v + ayB0byByZWR1Y2UgdGhlIHBhaW4gb2YgdGVhbXMgd2hvIHdlcmUgcmV3cml0 + aW5nIHRoZWlyIHVzZXIgaW50ZXJmYWNlcyBmb3Igd2ViLCBpT1MsIGFuZCBB + bmRyb2lkLiBOYWRlciBEYWJpdCBob3N0cyBSZWFjdCBOYXRpdmUgUmFkaW8s + IGEgcG9kY2FzdCBhYm91dCBSZWFjdCBOYXRpdmUuIE5hZGVyIGFsc28gdHJh + aW5zIGNvbXBhbmllcyB0byB1c2VyIFJlYWN0IE5hdGl2ZSB0aHJvdWdoIGhp + cyBjb21wYW55IFJlYWN0IE5hdGl2ZSBUcmFpbmluZy4gSW4gdGhpcyBlcGlz + b2RlLCB3ZSBleHBsb3JlIHdoYXQgYSBkZXZlbG9wZXJDb250aW51ZSByZWFk + aW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1 + bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5l + czpkdXJhdGlvbj41NzoxODwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4 + bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zNjc5PC9w + b3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+TmV3IFRvcGlj + IEZlZWRzPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wNy8wNS9uZXctdG9waWMtZmVlZHMvPC9s + aW5rPg0KCQk8cHViRGF0ZT5XZWQsIDA1IEp1bCAyMDE3IDA5OjIxOjUzICsw + MDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM0OTM8L2d1 + aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA3LzA1L25ldy10b3BpYy1mZWVkcy8jcmVzcG9uZDwv + Y29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA3LzA1L25ldy10b3BpYy1mZWVk + cy9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4w + PC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBF + cGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Fy + dGljbGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9k + Y2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPkxpc3RlbmVycyBo + YXZlIGhhZCBkaWZmaWN1bHR5IGZpbmRpbmcgdGhlIFNvZnR3YXJlIEVuZ2lu + ZWVyaW5nIERhaWx5IGNvbnRlbnQgdGhleSB3YW50IHRvIGxpc3RlbiB0by4g + V2UgYXJlIGNyZWF0aW5nIG5ldyBwb2RjYXN0IGZlZWRzIHRvIGFkZHJlc3Mg + dGhpcy4gVGhlIGNvbnRlbnQgb24gZWFjaCBwb2RjYXN0IGZlZWQgaXMgbXV0 + dWFsbHkgZXhjbHVzaXZlIGZyb20gdGhlIG90aGVyIGZlZWRzLCBleGNlcHQg + Zm9yIHRoZSBtYWluIGZlZWQgYW5kIOKAnEdyZWF0ZXN0IEhpdHMu4oCdIFlv + dSBjYW4gbm93IGZpbmQgdGhlIGZvbGxvd2luZyBwb2RjYXN0IGZlZWRzIGlu + IGlUdW5lcyBhbmQgR29vZ2xlIFBsYXk6IFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IChtYWluIGZlZWQpOiB0aGUgY2xhc3NpYyBTb2Z0d2FyZSBFbmdp + bmVlcmluZyBEYWlseSBmZWVk4oCTd2UgcmVjZW50bHkmbHQ7cCZndDsmbHQ7 + YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1 + b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + Ny8wNS9uZXctdG9waWMtZmVlZHMvJnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRp + bmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJCTxj + b250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5MaXN0ZW5lcnMgaGF2ZSBoYWQgZGlmZmljdWx0eSBm + aW5kaW5nIHRoZSBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBjb250ZW50 + IHRoZXkgd2FudCB0byBsaXN0ZW4gdG8uIDwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+V2UgYXJlIGNyZWF0aW5nIG5l + dyBwb2RjYXN0IGZlZWRzIHRvIGFkZHJlc3MgdGhpcy48L3NwYW4+PC9wPgo8 + cD48Yj5UaGUgY29udGVudCBvbiBlYWNoIHBvZGNhc3QgZmVlZCBpcyBtdXR1 + YWxseSBleGNsdXNpdmUgZnJvbSB0aGUgb3RoZXIgZmVlZHMsIGV4Y2VwdCBm + b3IgdGhlIG1haW4gZmVlZCBhbmQg4oCcR3JlYXRlc3QgSGl0cy7igJ08L2I+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPllvdSBj + YW4gbm93IGZpbmQgdGhlIGZvbGxvd2luZyBwb2RjYXN0IGZlZWRzIGluIGlU + dW5lcyBhbmQgR29vZ2xlIFBsYXk6PC9zcGFuPjwvcD4KPHVsPgo8bGk+PGEg + aHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qvc29m + dHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMDE5NTc2ODUzP210PTIiPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IChtYWluIGZlZWQpPC9hPjxiPjog + PC9iPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dGhlIGNsYXNz + aWMgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZmVlZCYjODIxMTt3ZSBy + ZWNlbnRseSBsaW1pdGVkIHRoaXMgdG8gMTAwIGVwaXNvZGVzIGJlY2F1c2Ug + PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+PGEgaHJl + Zj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDUvMDIvc29ycnktd2UtY3Jhc2hlZC15b3VyLXBvZGNhc3QtcGxheWVyLyI+ + d2Ugd2VyZSBjcmFzaGluZyB5b3VyIHBvZGNhc3QgcGxheWVyPC9hPsKgYnV0 + IG5vdyB3ZSBhcmUgdHJ5aW5nIHRvIGZpZ3VyZSBvdXQgaG93IGJpZyB3ZSBj + YW4gc2FmZWx5IG1ha2UgdGhpcyBmZWVkPC9zcGFuPjwvbGk+CjxsaT48YSBo + cmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9zZWQt + YnVzaW5lc3MtYW5kLXBoaWxvc29waHkvaWQxMjI5NTA2NjEwIj5CdXNpbmVz + cyBhbmQgUGhpbG9zb3BoeTwvYT46PGI+IDxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+YSBmZWVkIGZvciBub24tcHJvZ3JhbW1lcnMgYW5kIHBy + b2dyYW1tZXJzIGFsaWtlOyBpZiB5b3UgbGlrZSBTRSBEYWlseSBhbmQgaGF2 + ZSBhIG5vbi1lbmdpbmVlciBmcmllbmQgd2hvIGxpa2VzIHBvZGNhc3RzLCBw + bGVhc2Ugc3VnZ2VzdCB0aGlzIGZlZWQgdG8gdGhlbTwvc3Bhbj48L2I+PC9s + aT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9w + b2RjYXN0L2Jsb2NrY2hhaW4tc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHkv + aWQxMjMwODA3MjE5Ij5CbG9ja2NoYWluPC9hPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+OiBjcnlwdG9jdXJyZW5jaWVzLCBkZWNlbnRyYWxp + emF0aW9uPC9zcGFuPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2l0dW5l + cy5hcHBsZS5jb20vdXMvcG9kY2FzdC9jbG91ZC1lbmdpbmVlcmluZy1zb2Z0 + d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzA4MDY2OTIiPkNsb3VkIEVu + Z2luZWVyaW5nPC9hPjogPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5pbmZyYXN0cnVjdHVyZSBvZiBOZXRmbGl4L1NsYWNrL1ViZXIsIG1vbml0 + b3JpbmcgYmVzdCBwcmFjdGljZXMsIGFuYWx5c2lzIG9mIGNsb3VkIHNlcnZp + Y2UgcHJvdmlkZXJzPC9zcGFuPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczov + L2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9kYXRhLXNvZnR3YXJlLWVu + Z2luZWVyaW5nLWRhaWx5L2lkMTIzMjA5MzY1MyI+RGF0YTwvYT46IDxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dGVjaG5pY2FsIGRlZXAtZGl2 + ZXMgaW50byBkYXRhYmFzZSBmdW5jdGlvbmFsaXR5LCBzdHJlYW1pbmcgZnJh + bWV3b3JrcywgZGF0YSBpbmZyYXN0cnVjdHVyZTwvc3Bhbj48L2xpPgo8bGk+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qv + amF2YXNjcmlwdC1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzIw + OTM4MjkiPkphdmFTY3JpcHQ8L2E+OiA8c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPmRpc2N1c3Npb24gb2YgZnJhbWV3b3Jrcywgd2ViIHRlY2hu + b2xvZ2llcyBVSS1sYXllciBlbmdpbmVlcmluZzwvc3Bhbj48L2xpPgo8bGk+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qv + bWFjaGluZS1sZWFybmluZy1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9p + ZDEyMzA4MDcxMzYiPk1hY2hpbmUgTGVhcm5pbmc8L2E+OiA8c3BhbiBzdHls + ZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmRlZXAgbGVhcm5pbmcsIG1vZGVsIGJ1 + aWxkaW5nLCBkYXRhIHNjaWVuY2UsIHByZWRpY3Rpb248L3NwYW4+PC9saT4K + PGxpPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2Rj + YXN0L29wZW4tc291cmNlLXNvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lk + MTIzMTAyMTkxOCI+T3BlbiBTb3VyY2U8L2E+OiA8c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPnByb2dyYW1taW5nIGxhbmd1YWdlcywgZGV2ZWxv + cGVyIHRvb2xzLCBvcGVuLXNvdXJjZSBpbmZyYXN0cnVjdHVyZSAoaW5jbHVk + ZXMgbG90cyBvZiBEb2NrZXIgYW5kIEt1YmVybmV0ZXMpPC9zcGFuPjwvbGk+ + CjxsaT48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9k + Y2FzdC9zZWN1cml0eS1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEy + MzA4MDg0NjQiPlNlY3VyaXR5PC9hPjogPHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5wcml2YWN5LCBhZHZlcnRpc2luZyBmcmF1ZCwgbWFsaWNp + b3VzIGhhY2tpbmc8L3NwYW4+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8v + aXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L2hhY2tlcnMtc29mdHdhcmUt + ZW5naW5lZXJpbmctZGFpbHkvaWQxMjMwODA3MjMzICI+SGFja2VyczwvYT46 + IDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+c3RvcmllcyBvZiB3 + ZWlyZCBwcm9qZWN0cyBhbmQgaW50ZXJlc3RpbmcgYnVzaW5lc3Nlczwvc3Bh + bj48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29t + L3VzL3BvZGNhc3QvZ3JlYXRlc3QtaGl0cy1zb2Z0d2FyZS1lbmdpbmVlcmlu + Zy1kYWlseS9pZDEyMjk0ODYzNDgiPkdyZWF0ZXN0IEhpdHM8L2E+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij46IHBvcHVsYXIgZXBpc29kZXMg + b2YgU0UgRGFpbHkgdGhhdCBhcmUgbW9yZSB0aGFuIDMgbW9udGhzIG9sZDwv + c3Bhbj48L2xpPgo8L3VsPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkV2ZXJ5IG5ldyBlcGlzb2RlIGdvZXMgaW50byAyIGZlZWRzOjwv + c3Bhbj48L3A+Cjx1bD4KPGxpIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Tb2Z0d2FyZSBFbmdp + bmVlcmluZyBEYWlseSAobWFpbiBmZWVkKTwvc3Bhbj48L2xpPgo8bGkgc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPjEgY2F0ZWdvcnkgZmVlZCAoQmxvY2tjaGFpbiwgRGF0YWJh + c2VzLCBTZWN1cml0eSwgZXRjKTwvc3Bhbj48L2xpPgo8L3VsPgo8cD5BbiBl + cGlzb2RlIGNhbiBwb3RlbnRpYWxseSBiZSBpbiAzIGZlZWRzIGlmIGl0IGlz + IGFsc28gaW4gR3JlYXRlc3QgSGl0cy48L3A+CjxwPjxiPklmIHlvdSBzdWJz + Y3JpYmUgdG8gYWxsIG9mIHRoZSBmZWVkcyBpbmNsdWRpbmcgU29mdHdhcmUg + RW5naW5lZXJpbmcgRGFpbHkgKG1haW4gZmVlZCksIHlvdSB3aWxsIHJlY2Vp + dmUgMiBub3RpZmljYXRpb25zIGZvciBldmVyeSBuZXcgZXBpc29kZS48L2I+ + PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPldpdGgg + dGhlIGRpZmZlcmVudCBmZWVkcywgd2UgaG9wZSB5b3UgY2FuIGN1cmF0ZSB5 + b3VyIG93biBpZGVhbCBTRSBEYWlseSBsaXN0ZW5pbmcgZXhwZXJpZW5jZS4g + VGhhbmtzIGZvciBsaXN0ZW5pbmcgdG8gU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgYW5kIHBsZWFzZSBsZXQgdXMga25vdyB3aGF0IHlvdSB0aGluayBv + ZiB0aGUgbmV3IGZlZWRzLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+QSBmZXcgcmVjb21tZW5kYXRpb25zOjwvc3Bh + bj48L3A+Cjx1bD4KPGxpIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+PGI+ + TW9zdMKgbGlzdGVuZXJzOiA8L2I+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5zdWJzY3JpYmUgdG8gZWl0aGVyIHRoZSBtYWluIGZlZWQgT1Ig + ZXZlcnkgdG9waWMgZmVlZC4gU3Vic2NyaWJpbmcgdG8gZXZlcnkgdG9waWMg + ZmVlZCB3aWxsIGdpdmUgeW91IGFsbCBuZXcgZXBpc29kZXMsIGFzIHdlbGwg + YXMgYSBuaWNlIHdheSB0byBmaW5kIG9sZCBlcGlzb2RlcyB0byBsaXN0ZW4g + dG8uPC9zcGFuPjwvbGk+CjxsaSBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PjxiPk9jY2FzaW9uYWwgbGlzdGVuZXJzOiA8c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPmNoZWNrIG91dCDigJxHcmVhdGVzdCBIaXRz4oCdPC9z + cGFuPjwvYj48L2xpPgo8bGkgc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij48 + Yj5Ob24tZW5naW5lZXJzPC9iPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+OiBjaGVjayBvdXQg4oCcQnVzaW5lc3MgYW5kIFBoaWxvc29waHni + gJ08L3NwYW4+PC9saT4KPC91bD4KPHA+V2UgaG9wZSB0aGUgcm9sbG91dCBv + ZiB0aGVzZSBuZXcgZmVlZHMgZ29lcyBzbW9vdGhseS4gSWYgeW91IGhhdmUg + aXNzdWVzLCBwbGVhc2UgZW1haWwgPGEgaHJlZj0iamVmZkBzb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tIj5tZTwvYT4sIG5vdGlmeSB1cyBpbiA8YSBo + cmVmPSJodHRwOi8vc29mdHdhcmVkYWlseS5oZXJva3VhcHAuY29tLyI+U2xh + Y2s8L2E+LCBvciA8YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL0Bzb2Z0 + d2FyZV9kYWlseS8iPnR3ZWV0IGF0IHVzPC9hPi48L3A+Cl1dPjwvY29udGVu + dDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMu + bGlic3luLmNvbS9zZWRhaWx5L3RvcGljX2ZlZWRzX2VwaXNvZGUubXAzIiBs + ZW5ndGg9IjIyNzM2ODk3IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVu + ZXM6c3VidGl0bGU+TGlzdGVuZXJzIGhhdmUgaGFkIGRpZmZpY3VsdHkgZmlu + ZGluZyB0aGUgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgY29udGVudCB0 + aGV5IHdhbnQgdG8gbGlzdGVuIHRvLiBXZSBhcmUgY3JlYXRpbmcgbmV3IHBv + ZGNhc3QgZmVlZHMgdG8gYWRkcmVzcyB0aGlzLiBUaGUgY29udGVudCBvbiBl + YWNoIHBvZGNhc3QgZmVlZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgZnJvbSB0 + aGUgb3RoZXIgZmVlZHMsPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpz + dW1tYXJ5Pkxpc3RlbmVycyBoYXZlIGhhZCBkaWZmaWN1bHR5IGZpbmRpbmcg + dGhlIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGNvbnRlbnQgdGhleSB3 + YW50IHRvIGxpc3RlbiB0by4gV2UgYXJlIGNyZWF0aW5nIG5ldyBwb2RjYXN0 + IGZlZWRzIHRvIGFkZHJlc3MgdGhpcy4gVGhlIGNvbnRlbnQgb24gZWFjaCBw + b2RjYXN0IGZlZWQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIGZyb20gdGhlIG90 + aGVyIGZlZWRzLCBleGNlcHQgZm9yIHRoZSBtYWluIGZlZWQgYW5kIOKAnEdy + ZWF0ZXN0IEhpdHMu4oCdIFlvdSBjYW4gbm93IGZpbmQgdGhlIGZvbGxvd2lu + ZyBwb2RjYXN0IGZlZWRzIGluIGlUdW5lcyBhbmQgR29vZ2xlIFBsYXk6IFNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IChtYWluIGZlZWQpOiB0aGUgY2xh + c3NpYyBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBmZWVk4oCTd2UgcmVj + ZW50bHlDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8 + aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1 + bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6 + ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xMTo1MDwvaXR1bmVzOmR1 + cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFk + ZGl0aW9uczoxIj4zNDkzPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0K + CQk8dGl0bGU+Q3VsdHVyZSBGaXQgd2l0aCBBbW1vbiBCYXJ0cmFtPC90aXRs + ZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wNy8wMy9jdWx0dXJlLWZpdC13aXRoLWFtbW9uLWJhcnRyYW0v + PC9saW5rPg0KCQk8cHViRGF0ZT5Nb24sIDAzIEp1bCAyMDE3IDA5OjAwOjI1 + ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2Nzg8 + L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA3LzAzL2N1bHR1cmUtZml0LXdpdGgtYW1tb24t + YmFydHJhbS8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRS + c3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + Ny8wMy9jdWx0dXJlLWZpdC13aXRoLWFtbW9uLWJhcnRyYW0vZmVlZC88L3dm + dzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+Mjwvc2xhc2g6Y29t + bWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtCdXNpbmVzcyBhbmQg + UGhpbG9zb3BoeV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0dyZWF0ZXN0IEhpdHNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbQW1tb24gQmFydHJhbV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW2N1bHR1cmUgZml0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFbdGVjaCBjdWx0dXJlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbdGVjaCBoaXJpbmddXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtUcmlwbGVieXRlXV0+PC9jYXRlZ29yeT4KCQk8ZGVz + Y3JpcHRpb24+4oCcQ3VsdHVyZSBmaXTigJ0gaXMgYSB0ZXJtIHRoYXQgaXMg + dXNlZCB0byBkZXNjcmliZSBlbmdpbmVlcnMgdGhhdCBoYXZlIHRoZSByaWdo + dCBwZXJzb25hbGl0eSBmb3IgYSBnaXZlbiBjb21wYW55LiBJbiB0aGUgaGly + aW5nIHByb2Nlc3MsIOKAnGxhY2sgb2YgY3VsdHVyZSBmaXTigJ0gaXMgdXNl + ZCB0byB0dXJuIGF3YXkgZW5naW5lZXJzIHdobyBhcmUgZ29vZCBlbm91Z2gg + YXQgY29kaW5nIGJ1dCBqdXN0IGRvbuKAmXQgc2VlbSByaWdodCBmb3IgdGhl + IGNvbXBhbnkuIEFzIHRvZGF54oCZcyBndWVzdCBBbW1vbiBCYXJ0cmFtIHNh + eXMsIOKAnGxhY2sgb2YgY3VsdHVyZSBmaXTigJ0gdXN1YWxseSBtZWFucyDi + gJxsYWNrIG9mIGVudGh1c2lhc20gZm9yIHdoYXQgYSBjb21wYW55IGRvZXMu + 4oCdIEFtbW9uIGlzJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGlu + dWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDcvMDMvY3VsdHVyZS1maXQtd2l0 + aC1hbW1vbi1iYXJ0cmFtLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5nLi4u + Jmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50LWlk + PSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5lci1t + YW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5k + YW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXplPSIx + NzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJl + bmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWducmln + aHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXItcmFk + aXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13aWR0 + aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczovL2kx + LndwLmNvbS9wYnMudHdpbWcuY29tL3Byb2ZpbGVfaW1hZ2VzLzU5NjgyMDE4 + MDkxMjY0NDA5Ny9fQkNOeU84Mi5qcGc/cmVzaXplPTE3NSUyQzE3NSYjMDM4 + O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvcD4KPHA+4oCcQ3Vs + dHVyZSBmaXTigJ0gaXMgYSB0ZXJtIHRoYXQgaXMgdXNlZCB0byBkZXNjcmli + ZSBlbmdpbmVlcnMgdGhhdCBoYXZlIHRoZSByaWdodCBwZXJzb25hbGl0eSBm + b3IgYSBnaXZlbiBjb21wYW55LiBJbiB0aGUgaGlyaW5nIHByb2Nlc3MsIOKA + nGxhY2sgb2YgY3VsdHVyZSBmaXTigJ0gaXMgdXNlZCB0byB0dXJuIGF3YXkg + ZW5naW5lZXJzIHdobyBhcmUgZ29vZCBlbm91Z2ggYXQgY29kaW5nIGJ1dCBq + dXN0IGRvbuKAmXQgc2VlbSByaWdodCBmb3IgdGhlIGNvbXBhbnkuIEFzIHRv + ZGF54oCZcyBndWVzdCBBbW1vbiBCYXJ0cmFtIHNheXMsIOKAnGxhY2sgb2Yg + Y3VsdHVyZSBmaXTigJ0gdXN1YWxseSBtZWFucyDigJxsYWNrIG9mIGVudGh1 + c2lhc20gZm9yIHdoYXQgYSBjb21wYW55IGRvZXMu4oCdPC9wPgo8cD5BbW1v + biBpcyB0aGUgY28tZm91bmRlciBvZiBUcmlwbGVieXRlLCBhIGNvbXBhbnkg + dGhhdCBpcyBkZWJ1Z2dpbmcgdGhlIGludGVydmlld2luZyBwcm9jZXNzLiBU + cmlwbGVieXRlIGhhcyBpbnRlcnZpZXdlZCB0aG91c2FuZHMgb2YgZW5naW5l + ZXJzLCBhbmQgaXMgZGlzY292ZXJpbmcgd2hpY2ggYXNwZWN0cyBvZiB0aGUg + Y3VycmVudCBoaXJpbmcgcHJvY2VzcyBtYWtlIHNlbnNlIGFuZCB3aGljaCBh + cmUgYmFzZWQgb24gc3VwZXJzdGl0aW9uLCBvciB0cmFkaXRpb24uIFdlIGhh + ZCBhIGdyZWF0IGNvbnZlcnNhdGlvbiBhYm91dCB3aGF0IGN1bHR1cmUgcmVh + bGx5IG1lYW5zLCBhbmQgaG93IHRvIGhpcmUgZWZmZWN0aXZlbHkuPC9wPgo8 + cD48ZW0+Q2hlY2sgb3V0IG91ciBuZXcgdG9waWMgZmVlZHMsIGluIGlUdW5l + cyBvciB3aGVyZXZlciB5b3UgZmluZCB5b3VyIHBvZGNhc3RzLiBXZeKAmXZl + IHNvcnRlZCBhbGwgNTAwIG9mIG91ciBvbGQgZXBpc29kZXMgaW50byBjYXRl + Z29yaWVzIGxpa2UgYnVzaW5lc3MsIGJsb2NrY2hhaW4sIGNsb3VkIGVuZ2lu + ZWVyaW5nLCBKYXZhU2NyaXB0LCBtYWNoaW5lIGxlYXJuaW5nLCBhbmQgZ3Jl + YXRlc3QgaGl0cy4gV2hhdGV2ZXIgc3BlY2lmaWMgYXJlYSBvZiBzb2Z0d2Fy + ZSB5b3UgYXJlIGN1cmlvdXMgYWJvdXQsIHdlIGhhdmUgYSBmZWVkIGZvciB5 + b3UuIENoZWNrIHRoZSBzaG93IG5vdGVzIGZvciBtb3JlIGRldGFpbHMuPC9l + bT48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92 + aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczov + L3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9z + ZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBv + ZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBU + aGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRo + IFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ny9TRUQzNjUtQ3VsdHVyZS1GaXQucGRmIj5jbGljayBoZXJlIHRvIHZpZXfC + oHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNv + cnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vZ3JhcGVjaXR5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzYz + MiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL2t3bG9nb3MvZ3JhcGUtY2l0eS1sb2dvL2dyYXBlY2l0eS1s + b2dvLXB1cnBsZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/Zml0PTMx + MSUyQzc4IiBkYXRhLW9yaWctc2l6ZT0iMzExLDc4IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImdyYXBlY2l0eS1s + b2dvLXB1cnBsZSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBl + Y2l0eS1sb2dvLXB1cnBsZS5wbmc/Zml0PTMwMCUyQzc1IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvZ3JhcGVjaXR5 + LWxvZ28tcHVycGxlLnBuZz9maXQ9MzExJTJDNzgiIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzYzMiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/ + cmVzaXplPTMwMCUyQzc1IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/cmVz + aXplPTMwMCUyQzc1IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvZ3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz93PTMxMSAzMTF3IiBzaXpl + cz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5Bbmd1bGFyLiBSZWFjdC4gVnVlLiBLbm9ja291dC4gVGhlIGZv + cmVjYXN0IGNhbGxzIGZvciBhIGZsdXJyeSBvZiBmcmFtZXdvcmtzLCBtYWtp + bmcgaXQgaGFyZCB0byBkZWNpZGUgd2hpY2ggdG8gdXNlLiBPciBtYXliZSB5 + b3UgYWxyZWFkeSBoYXZlIGEgcHJlZmVycmVkIEphdmFTY3JpcHQgZnJhbWV3 + b3JrLCBidXQgd2FudCB0byB0cnkgb3V0IGEgbmV3IG9uZS4gV2lqbW8gYW5k + IEdyYXBlIENpdHkgYnJpbmcgeW91IHRoZSA8aT5Ib3cgdG8gQ2hvb3NlIHRo + ZSBCZXN0IEphdmFTY3JpcHQgRnJhbWV3b3JrIGZvciBZb3VyIFRlYW08L2k+ + IGVib29rLsKgQW5kIGJlc3Qgb2YgYWxsLCB0aGlzIGVib29rIGlzIGZyZWUu + IERvd25sb2FkIHlvdXIgY29weSB0b2RheSB0byBoZWxwIHlvdSBjaG9vc2Ug + YSBmcmFtZXdvcmsgZm9yIHlvdXIgd29yayBhdCA8YSBocmVmPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ncmFwZWNpdHkiPnNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZ3JhcGVjaXR5LjwvYT48L2Rpdj48 + L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBj + bGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02 + Ij48YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vZGF0YWRvZyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMyMzYiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9rd2xvZ29zL2RhdGFkb2cvZGF0YWRvZ19sb2dvLyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19s + b2dvLnBuZz9maXQ9MTAyNCUyQzUxMiIgZGF0YS1vcmlnLXNpemU9IjEwMjQs + NTEyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRh + PSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + cmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2Fs + X2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2Ut + dGl0bGU9ImRhdGFkb2dfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTMwMCUyQzE1MCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/Zml0PTEwMjQlMkM1MTIiIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzIzNiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1 + MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Mi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxNTAgMzAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jl + c2l6ZT03NjglMkMzODQgNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMi9kYXRhZG9nX2xvZ28ucG5nP3c9MTAyNCAxMDI0dywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03 + MjAlMkMzNjAgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGF0YWRvZyBicmluZ3MgeW91 + IHZpc2liaWxpdHkgaW50byBldmVyeSBwYXJ0IG9mIHlvdXIgaW5mcmFzdHJ1 + Y3R1cmUsIHBsdXMgQVBNIGZvciBtb25pdG9yaW5nIHlvdXIgYXBwbGljYXRp + b24mIzgyMTc7cyBwZXJmb3JtYW5jZS4gRGFzaGJvYXJkaW5nLCBjb2xsYWJv + cmF0aW9uIHRvb2xzLCBhbmQgYWxlcnRzIGxldCB5b3UgZGV2ZWxvcCB5b3Vy + IG93biB3b3JrZmxvdyBmb3Igb2JzZXJ2YWJpbGl0eSBhbmQgaW5jaWRlbnQg + cmVzcG9uc2UuIERhdGFkb2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5IHdpdGgg + YWxsIG9mIHlvdXIgYXBwcyBhbmQgc3lzdGVtcywgZnJvbSBTbGFjayB0byBB + bWF6b24gV2ViIFNlcnZpY2VzLCBzbyB5b3UgY2FuIGdldCB2aXNpYmlsaXR5 + IGluIG1pbnV0ZXMuIEdvIHRvwqA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIiB0YXJnZXQ9Il9ibGFuayIg + cmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIj5zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuPHdicj48L3dicj5jb20vZGF0YWRvZzwvYT7CoHRv + IGdldCBzdGFydGVkIHdpdGggRGF0YWRvZyBhbmQgZ2V0IGEgZnJlZSB0LXNo + aXJ0LiA8L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vZHluLmNvbS9zZWRhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzM0NCIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9n + b3MvZHluL2R5bl9sb2dvX2JsYWNrX3RleHQtc3ZnLyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxh + Y2tfdGV4dC5zdmdfLnBuZz9maXQ9MTAyNCUyQzQwMiIgZGF0YS1vcmlnLXNp + emU9IjEwMjQsNDAyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9IkR5bl9sb2dvXyhibGFja190ZXh0KS5zdmciIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0 + LnN2Z18ucG5nP2ZpdD0zMDAlMkMxMTgiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0 + LnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDAyIiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTMzNDQgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18ucG5nP3Jl + c2l6ZT0zMDAlMkMxMTgiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9y + ZXNpemU9MzAwJTJDMTE4IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9NzY4 + JTJDMzAyIDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHlu + X2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz93PTEwMjQgMTAyNHcsIGh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5z + dmdfLnBuZz9yZXNpemU9NzIwJTJDMjgzIDcyMHciIHNpemVzPSIobWF4LXdp + ZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIx + IiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPk9y + YWNsZSBEeW4gcHJvdmlkZXMgRE5TIHRoYXQgaXMgYXMgZHluYW1pYyBhbmQg + aW50ZWxsaWdlbnQgYXMgeW91ciBhcHBsaWNhdGlvbnMuIER5biBETlMgZ2V0 + cyB5b3VyIHVzZXJzIHRvIHRoZSByaWdodCBjbG91ZCBzZXJ2aWNlLCBDRE4s + IG9yIGRhdGEgY2VudGVyLCB1c2luZyBpbnRlbGxpZ2VudCByZXNwb25zZSB0 + byBzdGVlciB0cmFmZmljIGJhc2VkIG9uIGJ1c2luZXNzIHBvbGljaWVzLCBh + cyB3ZWxsIGFzIHJlYWwtdGltZSBpbnRlcm5ldCBjb25kaXRpb25zLCBsaWtl + IHRoZSBzZWN1cml0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgdGhlIG5ldHdvcmsg + cGF0aC4gR2V0IHN0YXJ0ZWQgd2l0aCBhIGZyZWUgMzAtZGF5IHRyaWFsIGZv + ciB5b3VyIGFwcGxpY2F0aW9uIGJ5IGdvaW5nIHRvPGEgaHJlZj0iaHR0cDov + L2R5bi5jb20vc2VkYWlseSI+IGR5bi5jb20vc2VkYWlseTwvYT4uIMKgQWZ0 + ZXIgdGhlIGZyZWUgdHJpYWwsIER5buKAmXMgZGV2ZWxvcGVyIHBsYW5zIHN0 + YXJ0IGF0IGp1c3QgJDcgYSBtb250aCBmb3Igd29ybGQtY2xhc3MgRE5TLiBS + ZXRoaW5rIEROUy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2Vk + YWlseSI+ZHluLmNvbS9zZWRhaWx5PC9hPsKgdG8gbGVhcm4gbW9yZSBhbmQg + Z2V0IHlvdXIgZnJlZSB0cmlhbCBvZiBEeW4gRE5TLjwvZGl2PjxiciAvPgo8 + L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVu + dDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMu + bGlic3luLmNvbS9zZWRhaWx5L0N1bHR1cmVGaXQubXAzIiBsZW5ndGg9IjU2 + NDc2ODgyIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0 + bGU+4oCcQ3VsdHVyZSBmaXTigJ0gaXMgYSB0ZXJtIHRoYXQgaXMgdXNlZCB0 + byBkZXNjcmliZSBlbmdpbmVlcnMgdGhhdCBoYXZlIHRoZSByaWdodCBwZXJz + b25hbGl0eSBmb3IgYSBnaXZlbiBjb21wYW55LiBJbiB0aGUgaGlyaW5nIHBy + b2Nlc3MsIOKAnGxhY2sgb2YgY3VsdHVyZSBmaXTigJ0gaXMgdXNlZCB0byB0 + dXJuIGF3YXkgZW5naW5lZXJzIHdobyBhcmUgZ29vZCBlbm91Z2ggYXQgY29k + aW5nIGJ1dCBqdXN0IGRvbuKAmXQgc2VlbSByaWdodCBmb3IgdGhlIC4uLjwv + aXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT7igJxDdWx0dXJl + IGZpdOKAnSBpcyBhIHRlcm0gdGhhdCBpcyB1c2VkIHRvIGRlc2NyaWJlIGVu + Z2luZWVycyB0aGF0IGhhdmUgdGhlIHJpZ2h0IHBlcnNvbmFsaXR5IGZvciBh + IGdpdmVuIGNvbXBhbnkuIEluIHRoZSBoaXJpbmcgcHJvY2Vzcywg4oCcbGFj + ayBvZiBjdWx0dXJlIGZpdOKAnSBpcyB1c2VkIHRvIHR1cm4gYXdheSBlbmdp + bmVlcnMgd2hvIGFyZSBnb29kIGVub3VnaCBhdCBjb2RpbmcgYnV0IGp1c3Qg + ZG9u4oCZdCBzZWVtIHJpZ2h0IGZvciB0aGUgY29tcGFueS4gQXMgdG9kYXni + gJlzIGd1ZXN0IEFtbW9uIEJhcnRyYW0gc2F5cywg4oCcbGFjayBvZiBjdWx0 + dXJlIGZpdOKAnSB1c3VhbGx5IG1lYW5zIOKAnGxhY2sgb2YgZW50aHVzaWFz + bSBmb3Igd2hhdCBhIGNvbXBhbnkgZG9lcy7igJ0gQW1tb24gaXNDb250aW51 + ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhv + cj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4K + CQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJ + PGl0dW5lczpkdXJhdGlvbj41ODozOTwvaXR1bmVzOmR1cmF0aW9uPgo8cG9z + dC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4z + Njc4PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+Q29t + cHV0ZXIgTG9naWMgd2l0aCBDaHJpcyBEaXhvbjwvdGl0bGU+DQoJCTxsaW5r + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYv + MzAvY29tcHV0ZXItbG9naWMtd2l0aC1jaHJpcy1kaXhvbi88L2xpbms+DQoJ + CTxwdWJEYXRlPkZyaSwgMzAgSnVuIDIwMTcgMDk6MDA6NTUgKzAwMDA8L3B1 + YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9MzY3NzwvZ3VpZD4NCgkJ + PGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + LzIwMTcvMDYvMzAvY29tcHV0ZXItbG9naWMtd2l0aC1jaHJpcy1kaXhvbi8j + Y29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8zMC9jb21w + dXRlci1sb2dpYy13aXRoLWNocmlzLWRpeG9uL2ZlZWQvPC93Znc6Y29tbWVu + dFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjM8L3NsYXNoOmNvbW1lbnRzPg0K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQnVzaW5lc3MgYW5kIFBoaWxvc29w + aHldXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtHcmVhdGVz + dCBIaXRzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9k + Y2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FuZHJl + ZXNzZW4gSG9yb3dpdHpdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtCbG9ja2NoYWluXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbQ2hyaXMgRGl4b25dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtIb3cgQXJpc3RvdGxlIENyZWF0ZWQgdGhlIENvbXB1dGVyXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTmV1cmFsIE5ldHdv + cmtzXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+VGhlIGhpc3Rvcnkg + b2YgY29tcHV0aW5nIGNhbiBiZSB0aG91Z2h0IG9mIGFzIGEgc2VyaWVzIG9m + IGlkZWFzIHJhdGhlciB0aGFuIG9iamVjdHMuIEZyb20gQXJpc3RvdGxl4oCZ + cyBmb3JtYWxpemF0aW9uIG9mIHRoZSBzeWxsb2dpc20sIHRvIEFsYW4gVHVy + aW5n4oCZcyBtb2RlbCBmb3IgYW4gYWxsLXB1cnBvc2UgY29tcHV0aW5nIG1h + Y2hpbmUsIHRvIFNhdG9zaGkgTmFrYW1vdG/igJlzIGRpc3RyaWJ1dGVkIHRy + YW5zYWN0aW9uIGxlZGdlcuKAk3RoZXNlIGJyZWFrdGhyb3VnaHMgZGlkIG5v + dCBjb21lIGluIHRoZSBmb3JtIG9mIHBvbGlzaGVkLCB0YW5naWJsZSBvYmpl + Y3RzLiBJbiBmYWN0LCB0aGUgb2JqZWN0cyB3aGljaCBlbmQgdXAgY2hhbmdp + bmcgY29tcHV0aW5nIGZ1bmRhbWVudGFsbHkgYXJlIG9mdGVuIGJ1aWx0IGZy + b20gaWRlYXMgdGhhdCBzZWVtZWQgdHJpdmlhbCBhdCBmaXJzdCBnbGFuY2Uu + IENocmlzJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVh + ZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDYvMzAvY29tcHV0ZXItbG9naWMtd2l0aC1j + aHJpcy1kaXhvbi8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsv + YSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3 + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdl + bWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNp + emUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czog + NTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3 + NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5j + b20vcmVzLmNsb3VkaW5hcnkuY29tL2NydW5jaGJhc2UtcHJvZHVjdGlvbi9p + bWFnZS91cGxvYWQvdjEzOTcxODU5NzYvN2U1YWRjMzJmZWUzZWJhMjA5ZjNh + MGQwNGJmNWQyZGYuanBnP3Jlc2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+VGhlIGhpc3Rvcnkgb2YgY29tcHV0aW5nIGNh + biBiZSB0aG91Z2h0IG9mIGFzIGEgc2VyaWVzIG9mIGlkZWFzIHJhdGhlciB0 + aGFuIG9iamVjdHMuIEZyb20gQXJpc3RvdGxl4oCZcyBmb3JtYWxpemF0aW9u + IG9mIHRoZSBzeWxsb2dpc20sIHRvIEFsYW4gVHVyaW5n4oCZcyBtb2RlbCBm + b3IgYW4gYWxsLXB1cnBvc2UgY29tcHV0aW5nIG1hY2hpbmUsIHRvIFNhdG9z + aGkgTmFrYW1vdG/igJlzIGRpc3RyaWJ1dGVkIHRyYW5zYWN0aW9uIGxlZGdl + ciYjODIxMTt0aGVzZSBicmVha3Rocm91Z2hzIGRpZCBub3QgY29tZSBpbiB0 + aGUgZm9ybSBvZiBwb2xpc2hlZCwgdGFuZ2libGUgb2JqZWN0cy4gSW4gZmFj + dCwgdGhlIG9iamVjdHMgd2hpY2ggZW5kIHVwIGNoYW5naW5nIGNvbXB1dGlu + ZyBmdW5kYW1lbnRhbGx5IGFyZSBvZnRlbiBidWlsdCBmcm9tIGlkZWFzIHRo + YXQgc2VlbWVkIHRyaXZpYWwgYXQgZmlyc3QgZ2xhbmNlLjwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Q2hyaXMgRGl4 + b24gaXMgYSBnZW5lcmFsIHBhcnRuZXIgYXQgdmVudHVyZSBjYXBpdGFsIGZp + cm0gQW5kcmVlc3NlbiBIb3Jvd2l0eiBhbmQgaXMgdGhlIGF1dGhvciBvZiB0 + aGUgYXJ0aWNsZSA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly93d3cudGhlYXRs + YW50aWMuY29tL3RlY2hub2xvZ3kvYXJjaGl2ZS8yMDE3LzAzL2FyaXN0b3Rs + ZS1jb21wdXRlci81MTg2OTcvIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPkhvdyBBcmlzdG90bGUgQ3JlYXRlZCB0aGUgQ29tcHV0ZXI8L3Nw + YW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBPbmUg + am9iIG9mIGEgdmVudHVyZSBjYXBpdGFsaXN0IGlzIHRvIGJlIGVhcmx5IGlu + IGlkZW50aWZ5aW5nIHRoZSBpZGVhcyB0aGF0IHdpbGwgZXZvbHZlIGludG8g + aW5mbHVlbnRpYWwsIHRhbmdpYmxlIG9iamVjdHMuIEluIHRoaXMgYXJ0aWNs + ZSwgQ2hyaXMgZXhhbWluZWQgc2V2ZXJhbCBpbnN0YW5jZXMgaW4gdGhlIGhp + c3Rvcnkgb2YgY29tcHV0aW5nIHdoZXJlIGlkZWFzIHRoYXQgbG9va2VkIHdl + aXJkIGFuZCBpbXByYWN0aWNhbCBhdCBmaXJzdCBnbGFuY2UgZW5kZWQgdXAg + YmVpbmcgd29ybGQtY2hhbmdpbmcuIFJlY2VudCBleGFtcGxlcyB3ZSBkaXNj + dXNzZWQgYXJlIGJsb2NrY2hhaW5zIGFuZCBuZXVyYWwgbmV0d29ya3MuPC9z + cGFuPjwvcD4KPHA+Q2hyaXMgcmVjZW50bHkgd3JvdGUgYSA8YSBocmVmPSJo + dHRwczovL21lZGl1bS5jb20vQGNkaXhvbi9jcnlwdG8tdG9rZW5zLWEtYnJl + YWt0aHJvdWdoLWluLW9wZW4tbmV0d29yay1kZXNpZ24tZTYwMDk3NWJlMmVm + Ij5ncmVhdCBhcnRpY2xlIGFib3V0IGNyeXB0byB0b2tlbnM8L2E+LjwvcD4K + PHA+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5DaGVjayBv + dXQgb3VyIG5ldyA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA1LzAyL25ldy10b3BpYy1m + ZWVkcy8iPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+dG9w + aWMgZmVlZHM8L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPiwgaW4gaVR1bmVzIG9yIHdoZXJldmVyIHlvdSBmaW5k + IHlvdXIgcG9kY2FzdHMuIFdl4oCZdmUgc29ydGVkIGFsbCA1MDAgb2Ygb3Vy + IG9sZCBlcGlzb2RlcyBpbnRvIGNhdGVnb3JpZXMgbGlrZSA8L3NwYW4+PC9p + PjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0 + L3NlZC1idXNpbmVzcy1hbmQtcGhpbG9zb3BoeS9pZDEyMjk1MDY2MTAiPjxp + PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+YnVzaW5lc3M8L3Nw + YW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PiwgPC9zcGFuPjwvaT48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5j + b20vdXMvcG9kY2FzdC9ibG9ja2NoYWluLXNvZnR3YXJlLWVuZ2luZWVyaW5n + LWRhaWx5L2lkMTIzMDgwNzIxOSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5ibG9ja2NoYWluPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+PGEgaHJl + Zj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvY2xvdWQt + ZW5naW5lZXJpbmctc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMjMw + ODA2NjkyIj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmNs + b3VkIGVuZ2luZWVyaW5nPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+PGEgaHJlZj0iaHR0 + cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvamF2YXNjcmlwdC1z + b2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzIwOTM4MjkiPjxpPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SmF2YVNjcmlwdDwvc3Bh + bj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + LCA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNv + bS91cy9wb2RjYXN0L21hY2hpbmUtbGVhcm5pbmctc29mdHdhcmUtZW5naW5l + ZXJpbmctZGFpbHkvaWQxMjMwODA3MTM2Ij48aT48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPm1hY2hpbmUgbGVhcm5pbmc8L3NwYW4+PC9pPjwv + YT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgYW5kIDwv + c3Bhbj48L2k+PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3Vz + L3BvZGNhc3QvZ3JlYXRlc3QtaGl0cy1zb2Z0d2FyZS1lbmdpbmVlcmluZy1k + YWlseS9pZDEyMjk0ODYzNDgiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+Z3JlYXRlc3QgaGl0czwvc3Bhbj48L2k+PC9hPjxpPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBXaGF0ZXZlciBzcGVjaWZp + YyBhcmVhIG9mIHNvZnR3YXJlIHlvdSBhcmUgY3VyaW91cyBhYm91dCwgd2Ug + aGF2ZSBhIGZlZWQgZm9yIHlvdS4gQ2hlY2sgdGhlIHNob3cgbm90ZXMgZm9y + IG1vcmUgZGV0YWlscy48L3NwYW4+PC9pPjwvcD4KPGgyPlRyYW5zY3JpcHQ8 + L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2Fz + dHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4g + Z28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3Nl + ZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2Zm + IHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRy + YW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNh + c3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEg + aHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRDM2NC1DaHJpcy1EaXhvbi5w + ZGYiPmNsaWNrIGhlcmUgdG8gdmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2Ny + aXB0LjwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + ZHluLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzM0 + NCIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL2t3bG9nb3MvZHluL2R5bl9sb2dvX2JsYWNrX3RleHQtc3Zn + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9maXQ9MTAyNCUyQzQw + MiIgZGF0YS1vcmlnLXNpemU9IjEwMjQsNDAyIiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkR5bl9sb2dvXyhibGFj + a190ZXh0KS5zdmciIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5f + bG9nb19ibGFja190ZXh0LnN2Z18ucG5nP2ZpdD0zMDAlMkMxMTgiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5f + bG9nb19ibGFja190ZXh0LnN2Z18ucG5nP2ZpdD0xMDI0JTJDNDAyIiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMzNDQgc2l6ZS1tZWRpdW0iIHNyYz0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190 + ZXh0LnN2Z18ucG5nP3Jlc2l6ZT0zMDAlMkMxMTgiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tf + dGV4dC5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTE4IDMwMHcsIGh0dHBzOi8v + aTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdf + LnBuZz9yZXNpemU9NzY4JTJDMzAyIDc2OHcsIGh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz93PTEw + MjQgMTAyNHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xv + Z29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9NzIwJTJDMjgzIDcyMHci + IHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPk9yYWNsZSBEeW4gcHJvdmlkZXMgRE5TIHRoYXQgaXMg + YXMgZHluYW1pYyBhbmQgaW50ZWxsaWdlbnQgYXMgeW91ciBhcHBsaWNhdGlv + bnMuIER5biBETlMgZ2V0cyB5b3VyIHVzZXJzIHRvIHRoZSByaWdodCBjbG91 + ZCBzZXJ2aWNlLCBDRE4sIG9yIGRhdGEgY2VudGVyLCB1c2luZyBpbnRlbGxp + Z2VudCByZXNwb25zZSB0byBzdGVlciB0cmFmZmljIGJhc2VkIG9uIGJ1c2lu + ZXNzIHBvbGljaWVzLCBhcyB3ZWxsIGFzIHJlYWwtdGltZSBpbnRlcm5ldCBj + b25kaXRpb25zLCBsaWtlIHRoZSBzZWN1cml0eSBhbmQgcGVyZm9ybWFuY2Ug + b2YgdGhlIG5ldHdvcmsgcGF0aC4gR2V0IHN0YXJ0ZWQgd2l0aCBhIGZyZWUg + MzAtZGF5IHRyaWFsIGZvciB5b3VyIGFwcGxpY2F0aW9uIGJ5IGdvaW5nIHRv + PGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2VkYWlseSI+IGR5bi5jb20vc2Vk + YWlseTwvYT4uIMKgQWZ0ZXIgdGhlIGZyZWUgdHJpYWwsIER5buKAmXMgZGV2 + ZWxvcGVyIHBsYW5zIHN0YXJ0IGF0IGp1c3QgJDcgYSBtb250aCBmb3Igd29y + bGQtY2xhc3MgRE5TLiBSZXRoaW5rIEROUy4gR28gdG8gPGEgaHJlZj0iaHR0 + cDovL2R5bi5jb20vc2VkYWlseSI+ZHluLmNvbS9zZWRhaWx5PC9hPsKgdG8g + bGVhcm4gbW9yZSBhbmQgZ2V0IHlvdXIgZnJlZSB0cmlhbCBvZiBEeW4gRE5T + LjwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+Cjxw + PjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJj + b2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL01vbmdvREIuY29tL3NlZGFpbHki + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMDI5IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dv + cy9tb25nb2RiL2F0bGFzLXNwbGFzaC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9m + aXQ9MTI4MCUyQzcyMCIgZGF0YS1vcmlnLXNpemU9IjEyODAsNzIwIiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImF0 + bGFzLXNwbGFzaCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2F0bGFz + LXNwbGFzaC5qcGc/Zml0PTMwMCUyQzE2OSIgZGF0YS1sYXJnZS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2F0bGFzLXNwbGFzaC5qcGc/ + Zml0PTEwMjQlMkM1NzYiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzAy + OSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzEyL2F0bGFzLXNwbGFzaC5qcGc/cmVzaXplPTMwMCUyQzE2OSIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1z + cGxhc2guanBnP3Jlc2l6ZT0zMDAlMkMxNjkgMzAwdywgaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP3Jlc2l6ZT03Njgl + MkM0MzIgNzY4dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxh + cy1zcGxhc2guanBnP3Jlc2l6ZT0xMDI0JTJDNTc2IDEwMjR3LCBodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2F0bGFzLXNwbGFzaC5qcGc/cmVzaXpl + PTcyMCUyQzQwNSA3MjB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEy + L2F0bGFzLXNwbGFzaC5qcGc/dz0xMjgwIDEyODB3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5J + dOKAmXMgbmV2ZXIgYmVlbiBlYXNpZXIgdG8gaGl0IHRoZSBncm91bmQgcnVu + bmluZzogTW9uZ29EQiBBdGxhcyBpcyB0aGXCoDxpPm9ubHk8L2k+wqBkYXRh + YmFzZSBhcyBhIHNlcnZpY2UgZnJvbSB0aGUgZW5naW5lZXJzIHdobyBidWls + dCBNb25nb0RCLiBXaXRoIGNvbnRpbnVvdXMgYmFja3VwLCBWUEMgcGVlcmlu + ZywgbW9uaXRvcmluZywgYW5kIHNlY3VyaXR5IGZlYXR1cmVzLCBNb25nb0RC + IEF0bGFzIGdpdmVzIHlvdSBldmVyeXRoaW5nIHlvdSBuZWVkIGZyb20gTW9u + Z29EQiBpbiBhbiBlYXN5LXRvLXVzZSBzZXJ2aWNlLiBBbmQgZXZlbiBpZiB5 + b3XigJlyZSBhbHJlYWR5IHJ1bm5pbmcgTW9uZ29EQiBpbiB0aGUgY2xvdWQs + IEF0bGFzIG1ha2VzIG1pZ3JhdGluZyB5b3VyIGRlcGxveW1lbnQgZnJvbSBh + bm90aGVyIGNsb3VkIHNlcnZpY2UgcHJvdmlkZXIgdHJpdmlhbCwgd2l0aCBp + dHMgTGl2ZSBJbXBvcnQgZmVhdHVyZS4gR2V0IHN0YXJ0ZWQgd2l0aCBhIGZy + ZWUsIDMgbm9kZSByZXBsaWNhIHNldDogbm8gY3JlZGl0IGNhcmQgcmVxdWly + ZWQuIEFzIGFuIGV4Y2x1c2l2ZSBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgbGlzdGVuZXJzLCB1c2UgY29kZSBTRURhaWx5IGZvciAk + MTAgZG9sbGFycyBvZiBjcmVkaXQgZm9yIHdoZW4geW914oCZcmUgcmVhZHkg + dG8gc2NhbGUgdXAgYXTCoDxhIGhyZWY9Imh0dHA6Ly9Nb25nb0RCLmNvbS9z + ZWRhaWx5Ij5tb25nb0RCLmNvbS9zZWRhaWx5PC9hPi48L2Rpdj48YnIgLz4K + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1wZXJtYWxp + bms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYv + MDEvMDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12aWRlbGEv + aGlyZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGRh + dGEtb3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0i + MCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJf + c3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZx + dW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJD + MTMwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xhc3M9ImFs + aWdubGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jlc2l6ZT0y + NjAlMkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVlbiB0aGlu + a2luZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJZiB5b3Xi + gJlyZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUgYmVlbiB3 + YWl0aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92ZSwgZ28g + dG/CoDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQu + Y29tL3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdvcmsgZW5q + b3lhYmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1tYXRjaGlu + ZyB0b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2b2NhdGUg + d2hvIHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBmaW5k + aW5nIGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJodHRwOi8v + aGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPsKgdG8g + Z2V0IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJvbnVzIGZy + b20gSGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0aGF0IGdp + dmVzIHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91IGRlc2Vy + dmUgYXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDpl + bmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGli + c3luLmNvbS9zZWRhaWx5L0NocmlzRGl4b24ubXAzIiBsZW5ndGg9IjU0MDMw + NTAyIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+ + VGhlIGhpc3Rvcnkgb2YgY29tcHV0aW5nIGNhbiBiZSB0aG91Z2h0IG9mIGFz + IGEgc2VyaWVzIG9mIGlkZWFzIHJhdGhlciB0aGFuIG9iamVjdHMuIEZyb20g + QXJpc3RvdGxl4oCZcyBmb3JtYWxpemF0aW9uIG9mIHRoZSBzeWxsb2dpc20s + IHRvIEFsYW4gVHVyaW5n4oCZcyBtb2RlbCBmb3IgYW4gYWxsLXB1cnBvc2Ug + Y29tcHV0aW5nIG1hY2hpbmUsIHRvIFNhdG9zaGkgTmFrYW1vdG/igJlzIGRp + c3RyaWJ1dGVkIHRyYW5zYWN0aW9uIGxlZGdlcuKAk3RoZXMuLi48L2l0dW5l + czpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+VGhlIGhpc3Rvcnkgb2Yg + Y29tcHV0aW5nIGNhbiBiZSB0aG91Z2h0IG9mIGFzIGEgc2VyaWVzIG9mIGlk + ZWFzIHJhdGhlciB0aGFuIG9iamVjdHMuIEZyb20gQXJpc3RvdGxl4oCZcyBm + b3JtYWxpemF0aW9uIG9mIHRoZSBzeWxsb2dpc20sIHRvIEFsYW4gVHVyaW5n + 4oCZcyBtb2RlbCBmb3IgYW4gYWxsLXB1cnBvc2UgY29tcHV0aW5nIG1hY2hp + bmUsIHRvIFNhdG9zaGkgTmFrYW1vdG/igJlzIGRpc3RyaWJ1dGVkIHRyYW5z + YWN0aW9uIGxlZGdlcuKAk3RoZXNlIGJyZWFrdGhyb3VnaHMgZGlkIG5vdCBj + b21lIGluIHRoZSBmb3JtIG9mIHBvbGlzaGVkLCB0YW5naWJsZSBvYmplY3Rz + LiBJbiBmYWN0LCB0aGUgb2JqZWN0cyB3aGljaCBlbmQgdXAgY2hhbmdpbmcg + Y29tcHV0aW5nIGZ1bmRhbWVudGFsbHkgYXJlIG9mdGVuIGJ1aWx0IGZyb20g + aWRlYXMgdGhhdCBzZWVtZWQgdHJpdmlhbCBhdCBmaXJzdCBnbGFuY2UuIENo + cmlzQ29udGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0 + dW5lczphdXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5l + czphdXRob3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4 + cGxpY2l0PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTY6MDY8L2l0dW5lczpkdXJh + dGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRp + dGlvbnM6MSI+MzY3NzwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJ + PHRpdGxlPkluc3RhY2FydCBEYXRhIFNjaWVuY2Ugd2l0aCBKZXJlbXkgU3Rh + bmxleTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDYvMjkvaW5zdGFjYXJ0LWRhdGEtc2NpZW5j + ZS13aXRoLWplcmVteS1zdGFubGV5LzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1 + LCAyOSBKdW4gMjAxNyAwOTowMDoxMiArMDAwMDwvcHViRGF0ZT4NCgkJPGd1 + aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8/cD0zNjc0PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yOS9p + bnN0YWNhcnQtZGF0YS1zY2llbmNlLXdpdGgtamVyZW15LXN0YW5sZXkvI3Jl + c3BvbmQ8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yOS9pbnN0YWNh + cnQtZGF0YS1zY2llbmNlLXdpdGgtamVyZW15LXN0YW5sZXkvZmVlZC88L3dm + dzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29t + bWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEYXRhXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdv + cnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0RhdGEgU2NpZW5jZV1dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2dyb2NlcnkgZGVsaXZlcnld + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtJbnN0YWNhcnRd + XT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtKZXJlbXkgU3Rh + bmxleV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW3JlY29t + bWVuZGF0aW9uIGVuZ2luZV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9u + Pkluc3RhY2FydCBpcyBhIGdyb2NlcnkgZGVsaXZlcnkgc2VydmljZS4gQ3Vz + dG9tZXJzIGxvZyBvbnRvIHRoZSB3ZWJzaXRlIG9yIG1vYmlsZSBhcHAgYW5k + IHBpY2sgdGhlaXIgZ3JvY2VyaWVzLiBTaG9wcGVycyBhdCB0aGUgc3RvcmUg + Z2V0IHRob3NlIGdyb2NlcmllcyBvZmYgdGhlIHNoZWx2ZXMuIERyaXZlcnMg + cGljayB1cCB0aGUgZ3JvY2VyaWVzIGFuZCBkcml2ZSB0aGVtIHRvIHRoZSBj + dXN0b21lci4gVGhpcyBpcyBhbiBpbmZpbml0ZWx5IGNvbXBsZXggc2V0IG9m + IGxvZ2lzdGljcyBwcm9ibGVtcywgcGFpcmVkIHdpdGggYSByaWNoIGRhdGEg + c2V0IGdpdmVuIGJ5IHRoZSBwb3B1bGFyaXR5IG9mIEluc3RhY2FydC4gSmVy + ZW15IFN0YW5sZXkgaXMgdGhlIFZQIG9mIGRhdGEgc2NpZW5jZSBmb3IgSW5z + dGFjYXJ0LiZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJl + YWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA2LzI5L2luc3RhY2FydC1kYXRhLXNjaWVu + Y2Utd2l0aC1qZXJlbXktc3RhbmxleS8mcXVvdDsmZ3Q7Q29udGludWUgcmVh + ZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJ + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250 + YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMv + IiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + NC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWct + c2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2 + LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJh + bGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9y + ZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBt + YXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0 + cHM6Ly9pMC53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9maWxlX2ltYWdlcy83 + NTgwMDM2ODQ5MzY2NzUzMjgvWGtvdmE3dGVfNDAweDQwMC5qcGc/cmVzaXpl + PTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JbnN0 + YWNhcnQgaXMgYSBncm9jZXJ5IGRlbGl2ZXJ5IHNlcnZpY2UuIEN1c3RvbWVy + cyBsb2cgb250byB0aGUgd2Vic2l0ZSBvciBtb2JpbGUgYXBwIGFuZCBwaWNr + IHRoZWlyIGdyb2Nlcmllcy4gU2hvcHBlcnMgYXQgdGhlIHN0b3JlIGdldCB0 + aG9zZSBncm9jZXJpZXMgb2ZmIHRoZSBzaGVsdmVzLiBEcml2ZXJzIHBpY2sg + dXAgdGhlIGdyb2NlcmllcyBhbmQgZHJpdmUgdGhlbSB0byB0aGUgY3VzdG9t + ZXIuIFRoaXMgaXMgYW4gaW5maW5pdGVseSBjb21wbGV4IHNldCBvZiBsb2dp + c3RpY3MgcHJvYmxlbXMsIHBhaXJlZCB3aXRoIGEgcmljaCBkYXRhIHNldCBn + aXZlbiBieSB0aGUgcG9wdWxhcml0eSBvZiBJbnN0YWNhcnQuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5KZXJlbXkg + U3RhbmxleSBpcyB0aGUgVlAgb2YgZGF0YSBzY2llbmNlIGZvciBJbnN0YWNh + cnQuIEluIHRoaXMgZXBpc29kZSwgaGUgZXhwbGFpbnMgaG93IEluc3RhY2Fy + dOKAmXMgNC1zaWRlZCBtYXJrZXRwbGFjZSBidXNpbmVzcyBpcyBjb25zdHJ1 + Y3RlZCwgYW5kIGhvdyB0aGUgZGlmZmVyZW50IGRhdGEgc2NpZW5jZSB0ZWFt + cyBicmVhayBkb3duIHByb2JsZW1zIGxpa2UgZmluZGluZyB0aGUgZmFzdGVz + dCByb3V0ZSB0byBncm9jZXJpZXMgd2l0aGluIGEgc3RvcmUsIGZpbmRpbmcg + dGhlIGJlc3QgcGF0aCB0byBkZWxpdmVyaW5nIGdyb2NlcmllcyBmcm9tIGEg + c3RvcmUgdG8gYSB1c2VyLCBhbmQgcGVyc29uYWxpemluZyByZWNvbW1lbmRh + dGlvbnMgc28gcGVvcGxlIGNhbiBmaW5kIG5ldyBpdGVtcyB0byB0cnkuPC9z + cGFuPjwvcD4KPHA+PGVtPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+QXJlIHlvdSBsb29raW5nIGZvciBvbGQgZXBpc29kZXMgb2YgU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHksIGJ1dCBkb27igJl0IGtub3cgaG93IHRv + IGZpbmQgdGhlIG9uZXMgdGhhdCBhcmUgaW50ZXJlc3RpbmcgdG8geW91PyBD + aGVjayBvdXQgb3VyIG5ldyA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDUvMDIvbmV3LXRvcGlj + LWZlZWRzLyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50b3Bp + YyBmZWVkczwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij4sIGluIGlUdW5lcyBvciB3aGVyZXZlciB5b3UgZmluZCB5b3VyIHBv + ZGNhc3RzLiBXZeKAmXZlIHNvcnRlZCBhbGwgNTAwIG9mIG91ciBvbGQgZXBp + c29kZXMgaW50byBjYXRlZ29yaWVzIGxpa2UgPC9zcGFuPjxhIGhyZWY9Imh0 + dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L3NlZC1idXNpbmVz + cy1hbmQtcGhpbG9zb3BoeS9pZDEyMjk1MDY2MTAiPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+YnVzaW5lc3M8L3NwYW4+PC9hPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCA8L3NwYW4+PGEgaHJlZj0iaHR0 + cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvYmxvY2tjaGFpbi1z + b2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzA4MDcyMTkiPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+YmxvY2tjaGFpbjwvc3Bhbj48 + L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48 + YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9j + bG91ZC1lbmdpbmVlcmluZy1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9p + ZDEyMzA4MDY2OTIiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + Y2xvdWQgZW5naW5lZXJpbmc8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+LCA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9pdHVu + ZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvamF2YXNjcmlwdC1zb2Z0d2FyZS1l + bmdpbmVlcmluZy1kYWlseS9pZDEyMzIwOTM4MjkiPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+SmF2YVNjcmlwdDwvc3Bhbj48L2E+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48YSBocmVmPSJo + dHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9tYWNoaW5lLWxl + YXJuaW5nLXNvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lkMTIzMDgwNzEz + NiI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5tYWNoaW5lIGxl + YXJuaW5nPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPiwgYW5kIDwvc3Bhbj48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBs + ZS5jb20vdXMvcG9kY2FzdC9ncmVhdGVzdC1oaXRzLXNvZnR3YXJlLWVuZ2lu + ZWVyaW5nLWRhaWx5L2lkMTIyOTQ4NjM0OCI+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5ncmVhdGVzdCBoaXRzPC9zcGFuPjwvYT48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPi4gV2hhdGV2ZXIgc3BlY2lmaWMg + YXJlYSBvZiBzb2Z0d2FyZSB5b3UgYXJlIGN1cmlvdXMgYWJvdXQsIHdlIGhh + dmUgYSBmZWVkIGZvciB5b3UuIENoZWNrIHRoZSBzaG93IG5vdGVzIGZvciBt + b3JlIGRldGFpbHMuPC9zcGFuPjwvZW0+PC9wPgo8aDI+VHJhbnNjcmlwdDwv + aDI+CjxwPlRyYW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0 + cy4gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBn + byB0b8KgPGEgaHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2Vk + Ij53ZWVkaXRwb2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYg + dGhlIGZpcnN0IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJh + bnNjcmlwdGlvbiBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2Fz + dHMgZm9yIHBhcnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gUGxlYXNlwqA8YSBo + cmVmPSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDYvU0VEMzYzLUluc3RhY2FydC1EYXRh + LVNjaWVuY2UucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KA + mXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2 + IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJl + Zj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwi + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjQyIiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwv + aW50ZWxuZXJ2YW5hX2xvZ29qdWx5LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5 + LmpwZz9maXQ9NjAwJTJDMTc4IiBkYXRhLW9yaWctc2l6ZT0iNjAwLDE3OCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzEmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJJbnRlbE5lcnZhbmFfbG9nb0p1bHkiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP2ZpdD0zMDAlMkM4 + OSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA0L0ludGVsTmVydmFuYV9sb2dvSnVseS5qcGc/Zml0PTYwMCUyQzE3OCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjQyIHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5h + X2xvZ29KdWx5LmpwZz9yZXNpemU9MzAwJTJDODkiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xv + Z29KdWx5LmpwZz9yZXNpemU9MzAwJTJDODkgMzAwdywgaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3c9 + NjAwIDYwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxO + ZXJ2YW5hX2xvZ29KdWx5LmpwZz9yZXNpemU9NTk1JTJDMTc4IDU5NXciIHNp + emVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJl + Y2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0i + Y29sLXNtLTYiPkRlZXAgbGVhcm5pbmcgcHJvbWlzZXMgdG8gZHJhbWF0aWNh + bGx5IGltcHJvdmUgaG93IG91ciB3b3JsZCB3b3Jrcy4gVG8gbWFrZSBkZWVw + IGxlYXJuaW5nIGVhc2llciBhbmQgZmFzdGVyLCB3ZSBuZWVkIG5ldyBraW5k + cyBvZiBoYXJkd2FyZSBhbmQgc29mdHdhcmUmIzgyMTE7d2hpY2ggaXMgd2h5 + IEludGVsIGFjcXVpcmVkIE5lcnZhbmEgU3lzdGVtcywgYSBwbGF0Zm9ybSBm + b3IgZGVlcCBsZWFybmluZy4gSW50ZWwgTmVydmFuYSBpcyBoaXJpbmcgZW5n + aW5lZXJzIHRvIGhlbHAgZGV2ZWxvcCBhIGZ1bGwgc3RhY2sgZm9yIEFJLCBm + cm9tIGNoaXAgZGVzaWduIHRvIHNvZnR3YXJlIGZyYW1ld29ya3MuIEdvIHRv + IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2ludGVsIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVy + cmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xl + LmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vaW50ZWwmYW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE0 + OTMxMzQxOTY0MzIwMDAmYW1wO3VzZz1BRlFqQ05FSFVGQ1NtZ0duZG9Zc0d0 + R0l3dWNUS3JmY05BIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzx3 + YnI+PC93YnI+aW50ZWw8L2E+IHRvIGFwcGx5IGZvciBhIGpvYiBhdCBJbnRl + bCBOZXJ2YW5hLiBJZiB5b3Uga25vdyBkb27igJl0IGtub3cgbXVjaCBhYm91 + dCB0aGUgY29tcGFueSwgY2hlY2sgb3V0IHRoZSBpbnRlcnZpZXdzIEkgaGF2 + ZSBjb25kdWN0ZWQgd2l0aCBlbmdpbmVlcnMgZnJvbSB0aGUgY29tcGFueS4g + WW91IGNhbiBmaW5kIHRoZXNlIGF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsIiB0YXJnZXQ9Il9ibGFuayIg + cmVsPSJub29wZW5lciBub3JlZmVycmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVy + bD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwmYW1wO3Nv + dXJjZT1nbWFpbCZhbXA7dXN0PTE0OTMxMzQxOTY0MzIwMDAmYW1wO3VzZz1B + RlFqQ05FSFVGQ1NtZ0duZG9Zc0d0R0l3dWNUS3JmY05BIj5zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzx3YnI+PC93YnI+aW50ZWw8L2E+LjwvZGl2 + PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9kaWNlLmNvbS9zZWRhaWx5Ij48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzExMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3li + ZXItd2FyZmFyZS13aXRoLWphcmVkLXNtaXRoL2RpY2UtbG9nbzJ4LyIgZGF0 + YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvZGlj + ZS1sb2dvQDJ4LnBuZz9maXQ9MjU2JTJDMTI4IiBkYXRhLW9yaWctc2l6ZT0i + MjU2LDEyOCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJkaWNlLWxvZ29AMngiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP2ZpdD0yNTYlMkMxMjgiIGRhdGEt + bGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9kaWNl + LWxvZ29AMngucG5nP2ZpdD0yNTYlMkMxMjgiIGNsYXNzPSJhbGlnbmxlZnQg + d3AtaW1hZ2UtMzExMiBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP3Jlc2l6ZT0yNTYlMkMx + MjgiIGFsdD0iIiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkRpY2UuY29tIHdpbGwgaGVs + cCB5b3UgYWNjZWxlcmF0ZSB5b3VyIHRlY2ggY2FyZWVyLiBXaGV0aGVyIHlv + deKAmXJlIGFjdGl2ZWx5IGxvb2tpbmcgZm9yIGEgam9iIG9yIG5lZWQgaW5z + aWdodHMgdG8gZ3JvdyBpbiB5b3VyIHJvbGUsIERpY2UgaGFzIHRoZSByZXNv + dXJjZXMgeW91IG5lZWQuIERpY2XigJlzIG1vYmlsZSBhcHAgaXMgdGhlIGZh + c3Rlc3QgYW5kIGVhc2llc3Qgd2F5IHRvIGdldCBhaGVhZC4gU2VhcmNoIHRo + b3VzYW5kcyBvZiBqb2JzIGZyb20gdG9wIGNvbXBhbmllcy4gRGlzY292ZXIg + eW91ciBtYXJrZXQgdmFsdWUgYmFzZWQgb24geW91ciB1bmlxdWUgc2tpbGwg + c2V0LiBNYW5hZ2UgeW91ciB0ZWNoIGNhcmVlciBhbmQgZG93bmxvYWQgdGhl + IERpY2UgQ2FyZWVycyBhcHAgb24gQW5kcm9pZCBvciBpT1MgdG9kYXkuIEFu + ZCB0byBjaGVjayBvdXQgdGhlIERpY2Ugd2Vic2l0ZSBhbmQgc3VwcG9ydCBT + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSwgZ28gdG8gPGEgaHJlZj0iaHR0 + cDovL2RpY2UuY29tL3NlZGFpbHkiPmRpY2UuY29tL3NlZGFpbHk8L2E+Lgo8 + cD48L3A+PC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwczovL3RoZXdvbWVuaW50ZWNo + c2hvdy5jb20vIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzY5MiIgZGF0 + YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDYvMjgvbGludXgta2VybmVsLWdvdmVybmFuY2Utd2l0aC1n + cmVnLWtyb2FoLWhhcnRtYW4vd29tZW5pbnRlY2hzaG93LyIgZGF0YS1vcmln + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvd29tZW5pbnRl + Y2hzaG93LnBuZz9maXQ9MjAwMCUyQzIwMDAiIGRhdGEtb3JpZy1zaXplPSIy + MDAwLDIwMDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdl + LW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1p + bWFnZS10aXRsZT0id29tZW5pbnRlY2hzaG93IiBkYXRhLWltYWdlLWRlc2Ny + aXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDYvd29tZW5pbnRlY2hzaG93LnBuZz9maXQ9MzAwJTJDMzAw + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvd29tZW5pbnRlY2hzaG93LnBuZz9maXQ9MTAyNCUyQzEwMjQiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzY5MiBzaXplLXRodW1ibmFpbCIgc3Jj + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L3dvbWVuaW50ZWNoc2hv + dy5wbmc/cmVzaXplPTE1MCUyQzE1MCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6 + Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNi93b21lbmludGVjaHNob3cucG5nP3Jl + c2l6ZT0xNTAlMkMxNTAgMTUwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNi93b21lbmludGVjaHNob3cucG5nP3Jlc2l6ZT0zMDAlMkMzMDAgMzAw + dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi93b21lbmludGVjaHNo + b3cucG5nP3Jlc2l6ZT03NjglMkM3NjggNzY4dywgaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNi93b21lbmludGVjaHNob3cucG5nP3Jlc2l6ZT0xMDI0 + JTJDMTAyNCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi93 + b21lbmludGVjaHNob3cucG5nP3Jlc2l6ZT02MDAlMkM2MDAgNjAwdywgaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi93b21lbmludGVjaHNob3cucG5n + P3Jlc2l6ZT03MjAlMkM3MjAgNzIwdywgaHR0cHM6Ly9pMi53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNi93b21lbmludGVjaHNob3cucG5nP3Jlc2l6ZT00MTAlMkM0MTAg + NDEwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi93b21lbmludGVj + aHNob3cucG5nP3Jlc2l6ZT04MCUyQzgwIDgwdyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDE1MHB4KSAxMDB2dywgMTUwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+Q2hl + Y2sgb3V0IDxhIGhyZWY9Imh0dHBzOi8vdGhld29tZW5pbnRlY2hzaG93LmNv + bS8iPlRoZSBXb21lbiBpbiBUZWNoIFNob3c8L2E+IGhvc3RlZCBieSBFZGFl + bmEgU2FsaW5hczogdGVjaG5pY2FsIGludGVydmlld3Mgd2l0aCBwcm9taW5l + bnQgd29tZW4gaW4gdGVjaC4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9jb2RlcGF0aC5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NjE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wNi8wOS9taWNyb3NvZnQtaGlzdG9yeS13aXRo + LXJpY2hhcmQtY2FtcGJlbGwvY29kZXBhdGgtMi8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9m + aXQ9Njk4JTJDNDAwIiBkYXRhLW9yaWctc2l6ZT0iNjk4LDQwMCIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJjb2Rl + cGF0aCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBu + Zz9maXQ9MzAwJTJDMTcyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP2ZpdD02OTglMkM0MDAi + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzYxOSBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBu + Zz9yZXNpemU9MzAwJTJDMTcyIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9yZXNpemU9MzAwJTJD + MTcyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBh + dGgucG5nP3c9Njk4IDY5OHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIGlkPSJtXzUz + MjQ5MzcxODEwNTQzNjY0NTVnbWFpbC1kb2NzLWludGVybmFsLWd1aWQtMTIx + YzI2NmEtODk2NS1iYzBmLWNjOTgtNDk4Yjc3ZjdmZTM1Ij5Db2RlcGF0aCBp + cyBhbiA4LXdlZWsgaU9TIGFuZCBBbmRyb2lkIGRldmVsb3BtZW50IGNsYXNz + IGZvciBwcm9mZXNzaW9uYWwgZW5naW5lZXJzIHdobyBhcmUgbG9va2luZyB0 + byBidWlsZCBhIG5ldyBza2lsbC4gQ29kZXBhdGggaGFzIGZyZWUgZXZlbmlu + ZyBjbGFzc2VzIGZvciBkZWRpY2F0ZWQsIGV4cGVyaWVuY2VkIGVuZ2luZWVy + cyBhbmQgZGVzaWduZXJzLjwvc3Bhbj48c3BhbiBpZD0ibV81MzI0OTM3MTgx + MDU0MzY2NDU1Z21haWwtZG9jcy1pbnRlcm5hbC1ndWlkLTEyMWMyNjZhLTg5 + NjYtYTdhMy1iNzYyLWQwNDllMzIyMjI0NCI+aGV0aGVyIHlvdSBhcmUgYW4g + ZW5naW5lZXIgd2hvIGlzIGxvb2tpbmcgdG8gcmV0cmFpbiBhcyBhIG1vYmls + ZSBkZXZlbG9wZXImIzgyMTE7b3IgeW91IGFyZSBsb29raW5nIHRvIGhpcmUg + bW9iaWxlIGVuZ2luZWVycywgZ28gdG8gPGEgaHJlZj0iaHR0cDovL0NvZGVw + YXRoLmNvbSI+Q29kZXBhdGguY29tPC9hPiB0byBsZWFybiBtb3JlLjwvc3Bh + bj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48 + L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxlbmNsb3N1cmUgdXJs + PSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFpbHkvSW5zdGFjYXJ0 + RGF0YVNjaWVuY2UubXAzIiBsZW5ndGg9IjU3OTA2MTA1IiB0eXBlPSJhdWRp + by9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+SW5zdGFjYXJ0IGlzIGEg + Z3JvY2VyeSBkZWxpdmVyeSBzZXJ2aWNlLiBDdXN0b21lcnMgbG9nIG9udG8g + dGhlIHdlYnNpdGUgb3IgbW9iaWxlIGFwcCBhbmQgcGljayB0aGVpciBncm9j + ZXJpZXMuIFNob3BwZXJzIGF0IHRoZSBzdG9yZSBnZXQgdGhvc2UgZ3JvY2Vy + aWVzIG9mZiB0aGUgc2hlbHZlcy4gRHJpdmVycyBwaWNrIHVwIHRoZSBncm9j + ZXJpZXMgYW5kIGRyaXZlIHRoZW0gdG8gdGhlIGN1c3RvbWVyLjwvaXR1bmVz + OnN1YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5JbnN0YWNhcnQgaXMgYSBn + cm9jZXJ5IGRlbGl2ZXJ5IHNlcnZpY2UuIEN1c3RvbWVycyBsb2cgb250byB0 + aGUgd2Vic2l0ZSBvciBtb2JpbGUgYXBwIGFuZCBwaWNrIHRoZWlyIGdyb2Nl + cmllcy4gU2hvcHBlcnMgYXQgdGhlIHN0b3JlIGdldCB0aG9zZSBncm9jZXJp + ZXMgb2ZmIHRoZSBzaGVsdmVzLiBEcml2ZXJzIHBpY2sgdXAgdGhlIGdyb2Nl + cmllcyBhbmQgZHJpdmUgdGhlbSB0byB0aGUgY3VzdG9tZXIuIFRoaXMgaXMg + YW4gaW5maW5pdGVseSBjb21wbGV4IHNldCBvZiBsb2dpc3RpY3MgcHJvYmxl + bXMsIHBhaXJlZCB3aXRoIGEgcmljaCBkYXRhIHNldCBnaXZlbiBieSB0aGUg + cG9wdWxhcml0eSBvZiBJbnN0YWNhcnQuIEplcmVteSBTdGFubGV5IGlzIHRo + ZSBWUCBvZiBkYXRhIHNjaWVuY2UgZm9yIEluc3RhY2FydC5Db250aW51ZSBy + ZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5T + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8 + aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0 + dW5lczpkdXJhdGlvbj4xOjAwOjA4PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0 + LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM2 + NzQ8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5MaW51 + eCBLZXJuZWwgR292ZXJuYW5jZSB3aXRoIEdyZWcgS3JvYWgtSGFydG1hbjwv + dGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTcvMDYvMjgvbGludXgta2VybmVsLWdvdmVybmFuY2Utd2l0 + aC1ncmVnLWtyb2FoLWhhcnRtYW4vPC9saW5rPg0KCQk8cHViRGF0ZT5XZWQs + IDI4IEp1biAyMDE3IDA5OjAwOjIxICswMDAwPC9wdWJEYXRlPg0KCQk8Z3Vp + ZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLz9wPTM2NzM8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzI4L2xp + bnV4LWtlcm5lbC1nb3Zlcm5hbmNlLXdpdGgtZ3JlZy1rcm9haC1oYXJ0bWFu + LyNjb21tZW50czwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJzcz5odHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzI4L2xp + bnV4LWtlcm5lbC1nb3Zlcm5hbmNlLXdpdGgtZ3JlZy1rcm9haC1oYXJ0bWFu + L2ZlZWQvPC93Znc6Y29tbWVudFJzcz4NCgkJPHNsYXNoOmNvbW1lbnRzPjI8 + L3NsYXNoOmNvbW1lbnRzPg0KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVw + aXNvZGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbT3Bl + biBTb3VyY2VdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQ + b2RjYXN0XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbR3Jl + ZyBLcm9haC1IYXJ0bWFuXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFb + Q0RBVEFbS3ViZXJuZXRlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0xpbnV4IEZvdW5kYXRpb25dXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtMaW51eCBrZXJuZWxdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtyZWxlYXNlIHN0cnVjdHVyZV1dPjwvY2F0ZWdv + cnk+CgkJPGRlc2NyaXB0aW9uPlRoZSBjb2RlIGluIHRoZSBMaW51eCBrZXJu + ZWwgY2hhbmdlcyBhbGwgdGhlIHRpbWXigJMxMWsgbGluZXMgYXJlIGFkZGVk + LCA1LjhrIGxpbmVzIGFyZSByZW1vdmVkLCBhbmQgMmsgbGluZXMgYXJlIG1v + ZGlmaWVkIERBSUxZLiBMaW51eCBpcyBhbiBvcGVuIHNvdXJjZSBvcGVyYXRp + bmcgc3lzdGVtIHRoYXQgaGFzIGJlZW4gd29ya2VkIG9uIGZvciAyNSB5ZWFy + cywgYW5kIG9uZSByZWFzb24gdGhlIHByb2plY3QgaXMgYWJsZSB0byBtb3Zl + IHNvIGZhc3QgaXMgaXRzIGdvdmVybmFuY2UgYW5kIHJlbGVhc2Ugc3RydWN0 + dXJlLiBHcmVnIEtyb2FoLUhhcnRtYW4gaXMgYSBmZWxsb3cgYXQgdGhlIExp + bnV4IEZvdW5kYXRpb24sIHdoZXJlIGhlIHRha2VzIHBhcnQgaW4gbWFueSZs + dDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVv + dDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA2LzI4L2xpbnV4LWtlcm5lbC1nb3Zlcm5hbmNlLXdpdGgt + Z3JlZy1rcm9haC1oYXJ0bWFuLyZxdW90OyZndDtDb250aW51ZSByZWFkaW5n + Li4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8L2Rlc2NyaXB0aW9uPg0KCQk8Y29u + dGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNC8xOS9nb29nbGVzLWNvbnRhaW5l + ci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVybnMvYnJlbmRhbi1idXJucy8iIGRh + dGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2Jy + ZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtb3JpZy1zaXpl + PSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVybnMiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQv + YnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgY2xhc3M9ImFsaWdu + cmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdlLTI0NzUiIHN0eWxlPSJib3JkZXIt + cmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IG1heC13 + aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6IDE3NXB4OyIgc3JjPSJodHRwczov + L2F2YXRhcnMxLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0OTUzP3Y9MyZh + bXA7cz00NjAiIHdpZHRoPSIxNzUiIGhlaWdodD0iMTc1IiAvPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgY29kZSBpbiB0 + aGUgTGludXgga2VybmVsIGNoYW5nZXMgYWxsIHRoZSB0aW1lJiM4MjExOzEx + ayBsaW5lcyBhcmUgYWRkZWQsIDUuOGsgbGluZXMgYXJlIHJlbW92ZWQsIGFu + ZCAyayBsaW5lcyBhcmUgbW9kaWZpZWQgREFJTFkuIExpbnV4IGlzIGFuIG9w + ZW4gc291cmNlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCBoYXMgYmVlbiB3b3Jr + ZWQgb24gZm9yIDI1IHllYXJzLCBhbmQgb25lIHJlYXNvbiB0aGUgcHJvamVj + dCBpcyBhYmxlIHRvIG1vdmUgc28gZmFzdCBpcyBpdHMgZ292ZXJuYW5jZSBh + bmQgcmVsZWFzZSBzdHJ1Y3R1cmUuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5HcmVnIEtyb2FoLUhhcnRtYW4gaXMg + YSBmZWxsb3cgYXQgdGhlIExpbnV4IEZvdW5kYXRpb24sIHdoZXJlIGhlIHRh + a2VzIHBhcnQgaW4gbWFueSBvZiB0aGUgZGV2ZWxvcG1lbnRzIGluIHRoZSBr + ZXJuZWwuIFRoaXMgZXBpc29kZSB3YXMgYSBkaXZlIGludG8gaG93IG9wZW4g + c291cmNlIHNvZnR3YXJlIGdldHMgYnVpbHQgYXQgc2NhbGUgYW5kIHdoYXQg + aXMgaW4gc3RvcmUgZm9yIHRoZSBmdXR1cmUuIFRoZSBLdWJlcm5ldGVzIHBy + b2plY3QgaGFzIGRyYXduIGNvbXBhcmFibGUgYXR0ZW50aW9uIHRvIHRoZSBz + aXplIG9mIExpbnV4LCBhbmQgdGhlIEt1YmVybmV0ZXMgcHJvamVjdCBpcyBs + ZWFybmluZyBob3cgdG8gbWFuYWdlIG9wZW4gc291cmNlIGZyb20gdGhlIExp + bnV4IGNvbW11bml0eS48L3NwYW4+PC9wPgo8cD48aT48c3BhbiBzdHlsZT0i + Zm9udC13ZWlnaHQ6IDQwMDsiPkNoZWNrIG91dCBvdXIgbmV3IDwvc3Bhbj48 + L2k+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDUvMDIvbmV3LXRvcGljLWZlZWRzLyI+PGk+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50b3BpYyBmZWVkczwvc3Bhbj48L2k+ + PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCBpbiBp + VHVuZXMgb3Igd2hlcmV2ZXIgeW91IGZpbmQgeW91ciBwb2RjYXN0cy4gV2Xi + gJl2ZSBzb3J0ZWQgYWxsIDUwMCBvZiBvdXIgb2xkIGVwaXNvZGVzIGludG8g + Y2F0ZWdvcmllcyBsaWtlIDwvc3Bhbj48L2k+PGEgaHJlZj0iaHR0cHM6Ly9p + dHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qvc2VkLWJ1c2luZXNzLWFuZC1w + aGlsb3NvcGh5L2lkMTIyOTUwNjYxMCI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5idXNpbmVzczwvc3Bhbj48L2k+PC9hPjxpPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LCA8L3NwYW4+PC9pPjxhIGhy + ZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L2Jsb2Nr + Y2hhaW4tc29mdHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMjMwODA3MjE5 + Ij48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPmJsb2NrY2hh + aW48L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPiwgPC9zcGFuPjwvaT48YSBocmVmPSJodHRwczovL2l0dW5lcy5h + cHBsZS5jb20vdXMvcG9kY2FzdC9jbG91ZC1lbmdpbmVlcmluZy1zb2Z0d2Fy + ZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzA4MDY2OTIiPjxpPjxzcGFuIHN0 + eWxlPSJmb250LXdlaWdodDogNDAwOyI+Y2xvdWQgZW5naW5lZXJpbmc8L3Nw + YW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PiwgPC9zcGFuPjwvaT48YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5j + b20vdXMvcG9kY2FzdC9qYXZhc2NyaXB0LXNvZnR3YXJlLWVuZ2luZWVyaW5n + LWRhaWx5L2lkMTIzMjA5MzgyOSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp + Z2h0OiA0MDA7Ij5KYXZhU2NyaXB0PC9zcGFuPjwvaT48L2E+PGk+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+PGEgaHJl + Zj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3QvbWFjaGlu + ZS1sZWFybmluZy1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzA4 + MDcxMzYiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+bWFj + aGluZSBsZWFybmluZzwvc3Bhbj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJm + b250LXdlaWdodDogNDAwOyI+LCBhbmQgPC9zcGFuPjwvaT48YSBocmVmPSJo + dHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9ncmVhdGVzdC1o + aXRzLXNvZnR3YXJlLWVuZ2luZWVyaW5nLWRhaWx5L2lkMTIyOTQ4NjM0OCI+ + PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5ncmVhdGVzdCBo + aXRzPC9zcGFuPjwvaT48L2E+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4uIFdoYXRldmVyIHNwZWNpZmljIGFyZWEgb2Ygc29mdHdhcmUg + eW91IGFyZSBjdXJpb3VzIGFib3V0LCB3ZSBoYXZlIGEgZmVlZCBmb3IgeW91 + LiBDaGVjayB0aGUgc2hvdyBub3RlcyBmb3IgbW9yZSBkZXRhaWxzLjwvc3Bh + bj48L2k+PC9wPgo8aDI+U2hvdyBOb3RlczwvaDI+CjxwPjxhIGhyZWY9Imh0 + dHBzOi8vZ2l0aHViLmNvbS9ncmVna2gva2VybmVsLWRldmVsb3BtZW50Ij5L + ZXJuZWwgRGV2ZWxvcG1lbnQ8L2E+PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+ + CjxwPlRyYW5zY3JpcHQgcHJvdmlkZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4g + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0 + b8KgPGEgaHJlZj0iaHR0cHM6Ly93ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53 + ZWVkaXRwb2RjYXN0cy5jb20vc2VkPC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhl + IGZpcnN0IHR3byBtb250aHMgb2YgYXVkaW8gZWRpdGluZyBhbmQgdHJhbnNj + cmlwdGlvbiBzZXJ2aWNlcy4gVGhhbmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMg + Zm9yIHBhcnRuZXJpbmcgd2l0aCBTRSBEYWlseS4gPGEgaHJlZj0iaHR0cHM6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA2L1NFRDM2Mi1MaW51eC1LZXJuZWwucGRmIj5QbGVhc2XC + oGNsaWNrIGhlcmUgdG8gdmlld8KgdGhpcyBzaG934oCZcyB0cmFuc2NyaXB0 + LjwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+CjxkaXYgY2xhc3M9InJvdyI+ + CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vaGly + ZWQuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjE1ODMiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzAxLzA0L2Rpc3RyaWJ1 + dGVkLXN5c3RlbXMtd2l0aC1hbHZhcm8tdmlkZWxhL2hpcmVkLWxvZ28vIiBk + YXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wMS9o + aXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBkYXRhLW9yaWctc2l6ZT0i + MjYwLDEzMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJoaXJlZC1sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9u + PSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxv + Z28uanBnP2ZpdD0yNjAlMkMxMzAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1h + Z2UtMTU4MyBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9yZXNpemU9MjYwJTJDMTMwIiBkYXRh + LXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFz + cz0iY29sLXNtLTYiPkhhdmUgeW91IGJlZW4gdGhpbmtpbmcgeW914oCZZCBi + ZSBoYXBwaWVyIGF0IGEgbmV3IGpvYj8gSWYgeW914oCZcmUgZHJlYW1pbmcg + YWJvdXQgYSBuZXcgam9iIGFuZCBoYXZlIGJlZW4gd2FpdGluZyBmb3IgdGhl + IHJpZ2h0IHRpbWUgdG8gbWFrZSBhIG1vdmUsIGdvIHRvwqA8YSBocmVmPSJo + dHRwOi8vaGlyZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9h + Pi4gSGlyZWQgbWFrZXMgZmluZGluZyB3b3JrIGVuam95YWJsZS4gSGlyZWQg + dXNlcyBhbiBhbGdvcml0aG1pYyBqb2ItbWF0Y2hpbmcgdG9vbCBpbiBjb21i + aW5hdGlvbiB3aXRoIGEgdGFsZW50IGFkdm9jYXRlIHdobyB3aWxsIHdhbGsg + eW91IHRocm91Z2ggdGhlIHByb2Nlc3Mgb2YgZmluZGluZyBhIGJldHRlciBq + b2IuIENoZWNrIG91dMKgPGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRh + aWx5Ij5oaXJlZC5jb20vc2VkYWlseTwvYT7CoHRvIGdldCBhIHNwZWNpYWwg + b2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVy + cyYjODIxMTthICQ2MDAgc2lnbmluZyBib251cyBmcm9tIEhpcmVkIHdoZW4g + eW91IGZpbmQgdGhhdCBncmVhdCBqb2IgdGhhdCBnaXZlcyB5b3UgdGhlIHJl + c3BlY3QgYW5kIHNhbGFyeSB0aGF0IHlvdSBkZXNlcnZlIGFzIGEgdGFsZW50 + ZWQgZW5naW5lZXIuwqA8L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+ + PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2dyYXBlY2l0eSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM2MzIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2dyYXBlLWNpdHkt + bG9nby9ncmFwZWNpdHktbG9nby1wdXJwbGUvIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9nby1w + dXJwbGUucG5nP2ZpdD0zMTElMkM3OCIgZGF0YS1vcmlnLXNpemU9IjMxMSw3 + OCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJncmFwZWNpdHktbG9nby1wdXJwbGUiIGRhdGEtaW1hZ2UtZGVzY3Jp + cHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9nby1wdXJwbGUucG5nP2ZpdD0zMDAl + MkM3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/Zml0PTMxMSUyQzc4 + IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM2MzIgc2l6ZS1tZWRpdW0i + IHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHkt + bG9nby1wdXJwbGUucG5nP3Jlc2l6ZT0zMDAlMkM3NSIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9n + by1wdXJwbGUucG5nP3Jlc2l6ZT0zMDAlMkM3NSAzMDB3LCBodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/ + dz0zMTEgMzExdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywg + MzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAv + Pgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+QW5ndWxhci4gUmVhY3QuIFZ1ZS4g + S25vY2tvdXQuIFRoZSBmb3JlY2FzdCBjYWxscyBmb3IgYSBmbHVycnkgb2Yg + ZnJhbWV3b3JrcywgbWFraW5nIGl0IGhhcmQgdG8gZGVjaWRlIHdoaWNoIHRv + IHVzZS4gT3IgbWF5YmUgeW91IGFscmVhZHkgaGF2ZSBhIHByZWZlcnJlZCBK + YXZhU2NyaXB0IGZyYW1ld29yaywgYnV0IHdhbnQgdG8gdHJ5IG91dCBhIG5l + dyBvbmUuIFdpam1vIGFuZCBHcmFwZSBDaXR5IGJyaW5nIHlvdSB0aGUgPGk+ + SG93IHRvIENob29zZSB0aGUgQmVzdCBKYXZhU2NyaXB0IEZyYW1ld29yayBm + b3IgWW91ciBUZWFtPC9pPiBlYm9vay7CoEFuZCBiZXN0IG9mIGFsbCwgdGhp + cyBlYm9vayBpcyBmcmVlLiBEb3dubG9hZCB5b3VyIGNvcHkgdG9kYXkgdG8g + aGVscCB5b3UgY2hvb3NlIGEgZnJhbWV3b3JrIGZvciB5b3VyIHdvcmsgYXQg + PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + Z3JhcGVjaXR5Ij5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2dyYXBl + Y2l0eS48L2E+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cHM6Ly90aGV3b21lbmlu + dGVjaHNob3cuY29tLyI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM2OTIi + IGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA2LzI4L2xpbnV4LWtlcm5lbC1nb3Zlcm5hbmNlLXdp + dGgtZ3JlZy1rcm9haC1oYXJ0bWFuL3dvbWVuaW50ZWNoc2hvdy8iIGRhdGEt + b3JpZy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L3dvbWVu + aW50ZWNoc2hvdy5wbmc/Zml0PTIwMDAlMkMyMDAwIiBkYXRhLW9yaWctc2l6 + ZT0iMjAwMCwyMDAwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1p + bWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVy + YSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lz + byZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRh + dGEtaW1hZ2UtdGl0bGU9IndvbWVuaW50ZWNoc2hvdyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA2L3dvbWVuaW50ZWNoc2hvdy5wbmc/Zml0PTMwMCUy + QzMwMCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA2L3dvbWVuaW50ZWNoc2hvdy5wbmc/Zml0PTEwMjQlMkMxMDI0IiBj + bGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM2OTIgc2l6ZS10aHVtYm5haWwi + IHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi93b21lbmludGVj + aHNob3cucG5nP3Jlc2l6ZT0xNTAlMkMxNTAiIGFsdD0iIiBzcmNzZXQ9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvd29tZW5pbnRlY2hzaG93LnBu + Zz9yZXNpemU9MTUwJTJDMTUwIDE1MHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDYvd29tZW5pbnRlY2hzaG93LnBuZz9yZXNpemU9MzAwJTJDMzAw + IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvd29tZW5pbnRl + Y2hzaG93LnBuZz9yZXNpemU9NzY4JTJDNzY4IDc2OHcsIGh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDYvd29tZW5pbnRlY2hzaG93LnBuZz9yZXNpemU9 + MTAyNCUyQzEwMjQgMTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvd29tZW5pbnRlY2hzaG93LnBuZz9yZXNpemU9NjAwJTJDNjAwIDYwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvd29tZW5pbnRlY2hzaG93 + LnBuZz9yZXNpemU9NzIwJTJDNzIwIDcyMHcsIGh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDYvd29tZW5pbnRlY2hzaG93LnBuZz9yZXNpemU9NDEwJTJD + NDEwIDQxMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvd29tZW5p + bnRlY2hzaG93LnBuZz9yZXNpemU9ODAlMkM4MCA4MHciIHNpemVzPSIobWF4 + LXdpZHRoOiAxNTBweCkgMTAwdncsIDE1MHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PkNoZWNrIG91dCA8YSBocmVmPSJodHRwczovL3RoZXdvbWVuaW50ZWNoc2hv + dy5jb20vIj5UaGUgV29tZW4gaW4gVGVjaCBTaG93PC9hPiBob3N0ZWQgYnkg + RWRhZW5hIFNhbGluYXM6IHRlY2huaWNhbCBpbnRlcnZpZXdzIHdpdGggcHJv + bWluZW50IHdvbWVuIGluIHRlY2guCjxwPjwvcD48L2Rpdj48L3A+CjxwPjwv + cD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93 + Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVm + PSJodHRwOi8vY29kZXBhdGguY29tIj48aW1nIGRhdGEtYXR0YWNobWVudC1p + ZD0iMzYxOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMDkvbWljcm9zb2Z0LWhpc3Rvcnkt + d2l0aC1yaWNoYXJkLWNhbXBiZWxsL2NvZGVwYXRoLTIvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0aC5w + bmc/Zml0PTY5OCUyQzQwMCIgZGF0YS1vcmlnLXNpemU9IjY5OCw0MDAiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + Y29kZXBhdGgiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRp + dW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0 + aC5wbmc/Zml0PTMwMCUyQzE3MiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9maXQ9Njk4JTJD + NDAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM2MTkgc2l6ZS1tZWRp + dW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0 + aC5wbmc/cmVzaXplPTMwMCUyQzE3MiIgYWx0PSIiIHNyY3NldD0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0aC5wbmc/cmVzaXplPTMw + MCUyQzE3MiAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2Nv + ZGVwYXRoLnBuZz93PTY5OCA2OTh3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48c3BhbiBpZD0i + bV81MzI0OTM3MTgxMDU0MzY2NDU1Z21haWwtZG9jcy1pbnRlcm5hbC1ndWlk + LTEyMWMyNjZhLTg5NjUtYmMwZi1jYzk4LTQ5OGI3N2Y3ZmUzNSI+Q29kZXBh + dGggaXMgYW4gOC13ZWVrIGlPUyBhbmQgQW5kcm9pZCBkZXZlbG9wbWVudCBj + bGFzcyBmb3IgcHJvZmVzc2lvbmFsIGVuZ2luZWVycyB3aG8gYXJlIGxvb2tp + bmcgdG8gYnVpbGQgYSBuZXcgc2tpbGwuIENvZGVwYXRoIGhhcyBmcmVlIGV2 + ZW5pbmcgY2xhc3NlcyBmb3IgZGVkaWNhdGVkLCBleHBlcmllbmNlZCBlbmdp + bmVlcnMgYW5kIGRlc2lnbmVycy48L3NwYW4+PHNwYW4gaWQ9Im1fNTMyNDkz + NzE4MTA1NDM2NjQ1NWdtYWlsLWRvY3MtaW50ZXJuYWwtZ3VpZC0xMjFjMjY2 + YS04OTY2LWE3YTMtYjc2Mi1kMDQ5ZTMyMjIyNDQiPmhldGhlciB5b3UgYXJl + IGFuIGVuZ2luZWVyIHdobyBpcyBsb29raW5nIHRvIHJldHJhaW4gYXMgYSBt + b2JpbGUgZGV2ZWxvcGVyJiM4MjExO29yIHlvdSBhcmUgbG9va2luZyB0byBo + aXJlIG1vYmlsZSBlbmdpbmVlcnMsIGdvIHRvIENvZGVwYXRoLmNvbSB0byBs + ZWFybiBtb3JlLjwvc3Bhbj48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRp + diBjbGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJ + CTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3Nl + ZGFpbHkvTGludXhLZXJuZWwubXAzIiBsZW5ndGg9IjU1MTA2OTUyIiB0eXBl + PSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3VidGl0bGU+VGhlIGNvZGUg + aW4gdGhlIExpbnV4IGtlcm5lbCBjaGFuZ2VzIGFsbCB0aGUgdGltZeKAkzEx + ayBsaW5lcyBhcmUgYWRkZWQsIDUuOGsgbGluZXMgYXJlIHJlbW92ZWQsIGFu + ZCAyayBsaW5lcyBhcmUgbW9kaWZpZWQgREFJTFkuIExpbnV4IGlzIGFuIG9w + ZW4gc291cmNlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCBoYXMgYmVlbiB3b3Jr + ZWQgb24gZm9yIDI1IHllYXJzLDwvaXR1bmVzOnN1YnRpdGxlPgoJCTxpdHVu + ZXM6c3VtbWFyeT5UaGUgY29kZSBpbiB0aGUgTGludXgga2VybmVsIGNoYW5n + ZXMgYWxsIHRoZSB0aW1l4oCTMTFrIGxpbmVzIGFyZSBhZGRlZCwgNS44ayBs + aW5lcyBhcmUgcmVtb3ZlZCwgYW5kIDJrIGxpbmVzIGFyZSBtb2RpZmllZCBE + QUlMWS4gTGludXggaXMgYW4gb3BlbiBzb3VyY2Ugb3BlcmF0aW5nIHN5c3Rl + bSB0aGF0IGhhcyBiZWVuIHdvcmtlZCBvbiBmb3IgMjUgeWVhcnMsIGFuZCBv + bmUgcmVhc29uIHRoZSBwcm9qZWN0IGlzIGFibGUgdG8gbW92ZSBzbyBmYXN0 + IGlzIGl0cyBnb3Zlcm5hbmNlIGFuZCByZWxlYXNlIHN0cnVjdHVyZS4gR3Jl + ZyBLcm9haC1IYXJ0bWFuIGlzIGEgZmVsbG93IGF0IHRoZSBMaW51eCBGb3Vu + ZGF0aW9uLCB3aGVyZSBoZSB0YWtlcyBwYXJ0IGluIG1hbnlDb250aW51ZSBy + ZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5T + b2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8 + aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0 + dW5lczpkdXJhdGlvbj41NzoxMzwvaXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1p + ZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVkLWFkZGl0aW9uczoxIj4zNjcz + PC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVtPg0KCQk8dGl0bGU+SXN0aW8g + U2VydmljZSBNZXNoIHdpdGggVmFydW4gVGFsd2FyIGFuZCBMb3VpcyBSeWFu + PC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNi8yNy9pc3Rpby1zZXJ2aWNlLW1lc2gtd2l0aC12 + YXJ1bi10YWx3YXItYW5kLWxvdWlzLXJ5YW4vPC9saW5rPg0KCQk8cHViRGF0 + ZT5UdWUsIDI3IEp1biAyMDE3IDA5OjAwOjQ2ICswMDAwPC9wdWJEYXRlPg0K + CQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLz9wPTM2NzI8L2d1aWQ+DQoJCTxjb21tZW50 + cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2 + LzI3L2lzdGlvLXNlcnZpY2UtbWVzaC13aXRoLXZhcnVuLXRhbHdhci1hbmQt + bG91aXMtcnlhbi8jcmVzcG9uZDwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVu + dFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3 + LzA2LzI3L2lzdGlvLXNlcnZpY2UtbWVzaC13aXRoLXZhcnVuLXRhbHdhci1h + bmQtbG91aXMtcnlhbi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFz + aDpjb21tZW50cz4wPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW09wZW4gU291cmNlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdv + cnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0Vudm95IHNlcnZpY2UgcHJveHldXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtHb29nbGVdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtJc3Rpb11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0xvdWlzIFJ5YW5dXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtzZXJ2aWNlIG1lc2hdXT48L2NhdGVnb3J5PgoJCTxj + YXRlZ29yeT48IVtDREFUQVtWYXJ1biBUYWx3YXJdXT48L2NhdGVnb3J5PgoJ + CTxkZXNjcmlwdGlvbj5Nb2Rlcm4gc29mdHdhcmUgYXBwbGljYXRpb25zIGFy + ZSBvZnRlbiBidWlsdCBvdXQgb2YgbG9vc2VseSBjb3VwbGVkIG1pY3Jvc2Vy + dmljZXMuIFRoZXNlIHNlcnZpY2VzIGNhbiBiZSB3cml0dGVuIGluIGRpZmZl + cmVudCBsYW5ndWFnZXMsIGJ5IGRpZmZlcmVudCBwZW9wbGUsIGJ1dCBjb21t + dW5pY2F0aW9uIGJldHdlZW4gc2VydmljZXMgbmVlZHMgdG8gYmUgc3RhbmRh + cmRpemVkLiBGb3IgdGhpcyByZWFzb24sIGEgc2VydmljZSBwcm94eSBpcyB1 + c2VmdWwuIEEgc2VydmljZSBwcm94eSBpcyBhIHNpZGVjYXIgY29udGFpbmVy + IHRoYXQgc2l0cyBuZXh0IHRvIGEgc2VydmljZSBhbmQgZmFjaWxpdGF0ZXMg + Y29tbXVuaWNhdGlvbnMgd2l0aCBvdGhlciBzZXJ2aWNlcy4gT25jZSBldmVy + eSBzZXJ2aWNlIGhhcyBhIHNpZGVjYXIgcHJveHksIHRoYXQgc2lkZWNhciBj + YW4gYmUgdXNlZCBhcyZsdDtwJmd0OyZsdDthIGNsYXNzPSZxdW90O2NvbnRp + bnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzI3L2lzdGlvLXNlcnZpY2Ut + bWVzaC13aXRoLXZhcnVuLXRhbHdhci1hbmQtbG91aXMtcnlhbi8mcXVvdDsm + Z3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9k + ZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQv + MTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5z + L2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5z + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0y + NDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBz + b2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAx + NzVweDsiIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20vcGJzLnR3aW1nLmNvbS9w + cm9maWxlX2ltYWdlcy8zMjc1NjU1OTg0L2U1NWJjYzA0MWZkNWY5Njg5NDQ3 + MGEzMTcyMjFjZDc0XzQwMHg0MDAuanBlZz9yZXNpemU9MTc1JTJDMTc1JiMw + Mzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPk1vZGVybiBzb2Z0d2FyZSBh + cHBsaWNhdGlvbnMgYXJlIG9mdGVuIGJ1aWx0IG91dCBvZiBsb29zZWx5IGNv + dXBsZWQgbWljcm9zZXJ2aWNlcy4gVGhlc2Ugc2VydmljZXMgY2FuIGJlIHdy + aXR0ZW4gaW4gZGlmZmVyZW50IGxhbmd1YWdlcywgYnkgZGlmZmVyZW50IHBl + b3BsZSwgYnV0IGNvbW11bmljYXRpb24gYmV0d2VlbiBzZXJ2aWNlcyBuZWVk + cyB0byBiZSBzdGFuZGFyZGl6ZWQuIEZvciB0aGlzIHJlYXNvbiwgYSBzZXJ2 + aWNlIHByb3h5IGlzIHVzZWZ1bC4gQSBzZXJ2aWNlIHByb3h5IGlzIGEgc2lk + ZWNhciBjb250YWluZXIgdGhhdCBzaXRzIG5leHQgdG8gYSBzZXJ2aWNlIGFu + ZCBmYWNpbGl0YXRlcyBjb21tdW5pY2F0aW9ucyB3aXRoIG90aGVyIHNlcnZp + Y2VzLiA8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6 + IDQwMDsiPk9uY2UgZXZlcnkgc2VydmljZSBoYXMgYSBzaWRlY2FyIHByb3h5 + LCB0aGF0IHNpZGVjYXIgY2FuIGJlIHVzZWQgYXMgYSB3YXkgdG8gY29tbXVu + aWNhdGUgd2l0aCBhIGNlbnRyYWxpemVkIGNvbnRyb2wgcGxhbmUuIFRoZSBz + aWRlY2FyIGNhbiByZXBvcnQgdGVsZW1ldHJ5IGRhdGEgdG8gdGhlIGNvbnRy + b2wgcGxhbmUsIGFuZCB0aGUgY29udHJvbCBwbGFuZSBjYW4gYmUgdXNlZCB0 + byBzZXQgcG9saWNpZXMgYWNyb3NzIHNlcnZpY2VzLCBzdWNoIGFzIHJ1bGVz + IGZvciBzY2FsaW5nIGFuZCBsb2FkIGJhbGFuY2luZyB3aGljaCBtaWdodCB2 + YXJ5IGZyb20gc2VydmljZSB0byBzZXJ2aWNlLiA8L3NwYW4+PC9wPgo8cD48 + c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPklzdGlvIGlzIGFuIG9w + ZW4gcGxhdGZvcm0gdG8gY29ubmVjdCwgbWFuYWdlLCBhbmQgc2VjdXJlIG1p + Y3Jvc2VydmljZXMuIElzdGlvIGlzIGEgc2VydmljZSBtZXNoIHRoYXQgdXNl + cyA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDIvMTQvc2VydmljZS1wcm94eWluZy13aXRoLW1h + dHQta2xlaW4vIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkVu + dm95IHNlcnZpY2UgcHJveGllczwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij4uIElmIGFsbCBvZiB0aGlzIHNvdW5kcyBjb25m + dXNpbmcmIzgyMTE7ZG9u4oCZdCB3b3JyeSwgd2XigJlsbCBleHBsYWluIGl0 + IGFsbCBpbiB0b2RheeKAmXMgaW50ZXJ2aWV3IHdpdGggVmFydW4gVGFsd2Fy + IGFuZCBMb3VpcyBSeWFuLCB3aG8gd29yayBvbiBJc3RpbyBhdCBHb29nbGUu + PC9zcGFuPjwvcD4KPHA+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5DaGVjayBvdXQgb3VyIG5ldyA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0 + dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA1LzAy + L25ldy10b3BpYy1mZWVkcy8iPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+dG9waWMgZmVlZHM8L3NwYW4+PC9pPjwvYT48aT48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgaW4gaVR1bmVzIG9yIHdoZXJl + dmVyIHlvdSBmaW5kIHlvdXIgcG9kY2FzdHMuIFdl4oCZdmUgc29ydGVkIGFs + bCA1MDAgb2Ygb3VyIG9sZCBlcGlzb2RlcyBpbnRvIGNhdGVnb3JpZXMgbGlr + ZSA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1bmVzLmFwcGxlLmNv + bS91cy9wb2RjYXN0L3NlZC1idXNpbmVzcy1hbmQtcGhpbG9zb3BoeS9pZDEy + Mjk1MDY2MTAiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + YnVzaW5lc3M8L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPiwgPC9zcGFuPjwvaT48YSBocmVmPSJodHRwczovL2l0 + dW5lcy5hcHBsZS5jb20vdXMvcG9kY2FzdC9ibG9ja2NoYWluLXNvZnR3YXJl + LWVuZ2luZWVyaW5nLWRhaWx5L2lkMTIzMDgwNzIxOSI+PGk+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5ibG9ja2NoYWluPC9zcGFuPjwvaT48 + L2E+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bh + bj48L2k+PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3Bv + ZGNhc3QvY2xvdWQtZW5naW5lZXJpbmctc29mdHdhcmUtZW5naW5lZXJpbmct + ZGFpbHkvaWQxMjMwODA2NjkyIj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPmNsb3VkIGVuZ2luZWVyaW5nPC9zcGFuPjwvaT48L2E+PGk+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4sIDwvc3Bhbj48L2k+ + PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL3VzL3BvZGNhc3Qv + amF2YXNjcmlwdC1zb2Z0d2FyZS1lbmdpbmVlcmluZy1kYWlseS9pZDEyMzIw + OTM4MjkiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SmF2 + YVNjcmlwdDwvc3Bhbj48L2k+PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdl + aWdodDogNDAwOyI+LCA8L3NwYW4+PC9pPjxhIGhyZWY9Imh0dHBzOi8vaXR1 + bmVzLmFwcGxlLmNvbS91cy9wb2RjYXN0L21hY2hpbmUtbGVhcm5pbmctc29m + dHdhcmUtZW5naW5lZXJpbmctZGFpbHkvaWQxMjMwODA3MTM2Ij48aT48c3Bh + biBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPm1hY2hpbmUgbGVhcm5pbmc8 + L3NwYW4+PC9pPjwvYT48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPiwgYW5kIDwvc3Bhbj48L2k+PGEgaHJlZj0iaHR0cHM6Ly9pdHVuZXMu + YXBwbGUuY29tL3VzL3BvZGNhc3QvZ3JlYXRlc3QtaGl0cy1zb2Z0d2FyZS1l + bmdpbmVlcmluZy1kYWlseS9pZDEyMjk0ODYzNDgiPjxpPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+Z3JlYXRlc3QgaGl0czwvc3Bhbj48L2k+ + PC9hPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+LiBXaGF0 + ZXZlciBzcGVjaWZpYyBhcmVhIG9mIHNvZnR3YXJlIHlvdSBhcmUgY3VyaW91 + cyBhYm91dCwgd2UgaGF2ZSBhIGZlZWQgZm9yIHlvdS4gQ2hlY2sgdGhlIHNo + b3cgbm90ZXMgZm9yIG1vcmUgZGV0YWlscy48L3NwYW4+PC9pPjwvcD4KPGgy + PlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdl + IEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxp + c3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9k + Y2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRv + IGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVk + aXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBX + ZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHku + IFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRDM2MS1J + c3Rpby1TZXJ2aWNlLU1lc2gucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRo + aXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8 + L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20t + NiI+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL2RhdGFkb2ciPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMjM2IiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20va3dsb2dvcy9kYXRhZG9nL2RhdGFkb2dfbG9nby8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2df + bG9nby5wbmc/Zml0PTEwMjQlMkM1MTIiIGRhdGEtb3JpZy1zaXplPSIxMDI0 + LDUxMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJkYXRhZG9nX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249 + IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0zMDAlMkMxNTAiIGRhdGEtbGFy + Z2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9n + X2xvZ28ucG5nP2ZpdD0xMDI0JTJDNTEyIiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTMyMzYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMx + NTAiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIDMwMHcsIGh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9y + ZXNpemU9NzY4JTJDMzg0IDc2OHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDIvZGF0YWRvZ19sb2dvLnBuZz93PTEwMjQgMTAyNHcsIGh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9 + NzIwJTJDMzYwIDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkRhdGFkb2cgYnJpbmdzIHlv + dSB2aXNpYmlsaXR5IGludG8gZXZlcnkgcGFydCBvZiB5b3VyIGluZnJhc3Ry + dWN0dXJlLCBwbHVzIEFQTSBmb3IgbW9uaXRvcmluZyB5b3VyIGFwcGxpY2F0 + aW9uJiM4MjE3O3MgcGVyZm9ybWFuY2UuIERhc2hib2FyZGluZywgY29sbGFi + b3JhdGlvbiB0b29scywgYW5kIGFsZXJ0cyBsZXQgeW91IGRldmVsb3AgeW91 + ciBvd24gd29ya2Zsb3cgZm9yIG9ic2VydmFiaWxpdHkgYW5kIGluY2lkZW50 + IHJlc3BvbnNlLiBEYXRhZG9nIGludGVncmF0ZXMgc2VhbWxlc3NseSB3aXRo + IGFsbCBvZiB5b3VyIGFwcHMgYW5kIHN5c3RlbXMsIGZyb20gU2xhY2sgdG8g + QW1hem9uIFdlYiBTZXJ2aWNlcywgc28geW91IGNhbiBnZXQgdmlzaWJpbGl0 + eSBpbiBtaW51dGVzLiBHbyB0b8KgPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZyIgdGFyZ2V0PSJfYmxhbmsi + IHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciI+c29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5Ljx3YnI+PC93YnI+Y29tL2RhdGFkb2c8L2E+wqB0 + byBnZXQgc3RhcnRlZCB3aXRoIERhdGFkb2cgYW5kIGdldCBhIGZyZWUgdC1z + aGlydC4gPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vZ3JhcGVjaXR5Ij48aW1nIGRhdGEtYXR0YWNobWVu + dC1pZD0iMzYzMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZ3JhcGUtY2l0eS1sb2dvL2dy + YXBlY2l0eS1sb2dvLXB1cnBsZS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5w + bmc/Zml0PTMxMSUyQzc4IiBkYXRhLW9yaWctc2l6ZT0iMzExLDc4IiBkYXRh + LWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7 + YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3Jl + YXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5 + cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRp + b24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9Imdy + YXBlY2l0eS1sb2dvLXB1cnBsZSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBsZS5wbmc/Zml0PTMwMCUyQzc1IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + Z3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz9maXQ9MzExJTJDNzgiIGNsYXNz + PSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzYzMiBzaXplLW1lZGl1bSIgc3JjPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1 + cnBsZS5wbmc/cmVzaXplPTMwMCUyQzc1IiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2dyYXBlY2l0eS1sb2dvLXB1cnBs + ZS5wbmc/cmVzaXplPTMwMCUyQzc1IDMwMHcsIGh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDYvZ3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz93PTMxMSAz + MTF3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5Bbmd1bGFyLiBSZWFjdC4gVnVlLiBLbm9ja291 + dC4gVGhlIGZvcmVjYXN0IGNhbGxzIGZvciBhIGZsdXJyeSBvZiBmcmFtZXdv + cmtzLCBtYWtpbmcgaXQgaGFyZCB0byBkZWNpZGUgd2hpY2ggdG8gdXNlLiBP + ciBtYXliZSB5b3UgYWxyZWFkeSBoYXZlIGEgcHJlZmVycmVkIEphdmFTY3Jp + cHQgZnJhbWV3b3JrLCBidXQgd2FudCB0byB0cnkgb3V0IGEgbmV3IG9uZS4g + V2lqbW8gYW5kIEdyYXBlIENpdHkgYnJpbmcgeW91IHRoZSA8aT5Ib3cgdG8g + Q2hvb3NlIHRoZSBCZXN0IEphdmFTY3JpcHQgRnJhbWV3b3JrIGZvciBZb3Vy + IFRlYW08L2k+IGVib29rLsKgQW5kIGJlc3Qgb2YgYWxsLCB0aGlzIGVib29r + IGlzIGZyZWUuIERvd25sb2FkIHlvdXIgY29weSB0b2RheSB0byBoZWxwIHlv + dSBjaG9vc2UgYSBmcmFtZXdvcmsgZm9yIHlvdXIgd29yayBhdCA8YSBocmVm + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ncmFwZWNp + dHkiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZ3JhcGVjaXR5Ljwv + YT48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9pbnRlbCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM2 + NDIiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS9pbnRlbC9pbnRlbG5lcnZhbmFfbG9nb2p1bHkvIiBkYXRh + LW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRl + bE5lcnZhbmFfbG9nb0p1bHkuanBnP2ZpdD02MDAlMkMxNzgiIGRhdGEtb3Jp + Zy1zaXplPSI2MDAsMTc4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0 + YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + bWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MSZxdW90O30i + IGRhdGEtaW1hZ2UtdGl0bGU9IkludGVsTmVydmFuYV9sb2dvSnVseSIgZGF0 + YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dvSnVs + eS5qcGc/Zml0PTMwMCUyQzg5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5Lmpw + Zz9maXQ9NjAwJTJDMTc4IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM2 + NDIgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT0zMDAlMkM4 + OSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + NC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT0zMDAlMkM4OSAz + MDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFu + YV9sb2dvSnVseS5qcGc/dz02MDAgNjAwdywgaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT01 + OTUlMkMxNzggNTk1dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGVlcCBsZWFybmluZyBwcm9t + aXNlcyB0byBkcmFtYXRpY2FsbHkgaW1wcm92ZSBob3cgb3VyIHdvcmxkIHdv + cmtzLiBUbyBtYWtlIGRlZXAgbGVhcm5pbmcgZWFzaWVyIGFuZCBmYXN0ZXIs + IHdlIG5lZWQgbmV3IGtpbmRzIG9mIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSYj + ODIxMTt3aGljaCBpcyB3aHkgSW50ZWwgYWNxdWlyZWQgTmVydmFuYSBTeXN0 + ZW1zLCBhIHBsYXRmb3JtIGZvciBkZWVwIGxlYXJuaW5nLiBJbnRlbCBOZXJ2 + YW5hIGlzIGhpcmluZyBlbmdpbmVlcnMgdG8gaGVscCBkZXZlbG9wIGEgZnVs + bCBzdGFjayBmb3IgQUksIGZyb20gY2hpcCBkZXNpZ24gdG8gc29mdHdhcmUg + ZnJhbWV3b3Jrcy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vaW50ZWwiIHRhcmdldD0iX2JsYW5rIiByZWw9 + Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJo + dHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1lbiZhbXA7cT1odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRlbCZhbXA7c291cmNl + PWdtYWlsJmFtcDt1c3Q9MTQ5MzEzNDE5NjQzMjAwMCZhbXA7dXNnPUFGUWpD + TkVIVUZDU21nR25kb1lzR3RHSXd1Y1RLcmZjTkEiPnNvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vPHdicj48L3dicj5pbnRlbDwvYT4gdG8gYXBwbHkg + Zm9yIGEgam9iIGF0IEludGVsIE5lcnZhbmEuIElmIHlvdSBrbm93IGRvbuKA + mXQga25vdyBtdWNoIGFib3V0IHRoZSBjb21wYW55LCBjaGVjayBvdXQgdGhl + IGludGVydmlld3MgSSBoYXZlIGNvbmR1Y3RlZCB3aXRoIGVuZ2luZWVycyBm + cm9tIHRoZSBjb21wYW55LiBZb3UgY2FuIGZpbmQgdGhlc2UgYXQgPGEgaHJl + Zj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwi + IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGRh + dGEtc2FmZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3Vy + bD9obD1lbiZhbXA7cT1odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9pbnRlbCZhbXA7c291cmNlPWdtYWlsJmFtcDt1c3Q9MTQ5MzEzNDE5 + NjQzMjAwMCZhbXA7dXNnPUFGUWpDTkVIVUZDU21nR25kb1lzR3RHSXd1Y1RL + cmZjTkEiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vPHdicj48L3di + cj5pbnRlbDwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+CjxwPiZuYnNwOzwvcD4KPHA+Jm5ic3A7PC9wPgo8cD48ZGl2 + IGNsYXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9jb2RlcGF0aC5jb20iPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzNjE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8wOS9taWNyb3Nv + ZnQtaGlzdG9yeS13aXRoLXJpY2hhcmQtY2FtcGJlbGwvY29kZXBhdGgtMi8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2 + L2NvZGVwYXRoLnBuZz9maXQ9Njk4JTJDNDAwIiBkYXRhLW9yaWctc2l6ZT0i + Njk4LDQwMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2Ut + bWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtm + b2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWlt + YWdlLXRpdGxlPSJjb2RlcGF0aCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0i + IiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA2L2NvZGVwYXRoLnBuZz9maXQ9MzAwJTJDMTcyIiBkYXRhLWxhcmdlLWZp + bGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5n + P2ZpdD02OTglMkM0MDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzYx + OSBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA2L2NvZGVwYXRoLnBuZz9yZXNpemU9MzAwJTJDMTcyIiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBu + Zz9yZXNpemU9MzAwJTJDMTcyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDYvY29kZXBhdGgucG5nP3c9Njk4IDY5OHciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxzcGFuIGlkPSJtXzUzMjQ5MzcxODEwNTQzNjY0NTVnbWFpbC1kb2NzLWlu + dGVybmFsLWd1aWQtMTIxYzI2NmEtODk2NS1iYzBmLWNjOTgtNDk4Yjc3Zjdm + ZTM1Ij5Db2RlcGF0aCBpcyBhbiA4LXdlZWsgaU9TIGFuZCBBbmRyb2lkIGRl + dmVsb3BtZW50IGNsYXNzIGZvciBwcm9mZXNzaW9uYWwgZW5naW5lZXJzIHdo + byBhcmUgbG9va2luZyB0byBidWlsZCBhIG5ldyBza2lsbC4gQ29kZXBhdGgg + aGFzIGZyZWUgZXZlbmluZyBjbGFzc2VzIGZvciBkZWRpY2F0ZWQsIGV4cGVy + aWVuY2VkIGVuZ2luZWVycyBhbmQgZGVzaWduZXJzLjwvc3Bhbj48c3BhbiBp + ZD0ibV81MzI0OTM3MTgxMDU0MzY2NDU1Z21haWwtZG9jcy1pbnRlcm5hbC1n + dWlkLTEyMWMyNjZhLTg5NjYtYTdhMy1iNzYyLWQwNDllMzIyMjI0NCI+aGV0 + aGVyIHlvdSBhcmUgYW4gZW5naW5lZXIgd2hvIGlzIGxvb2tpbmcgdG8gcmV0 + cmFpbiBhcyBhIG1vYmlsZSBkZXZlbG9wZXImIzgyMTE7b3IgeW91IGFyZSBs + b29raW5nIHRvIGhpcmUgbW9iaWxlIGVuZ2luZWVycywgZ28gdG8gQ29kZXBh + dGguY29tIHRvIGxlYXJuIG1vcmUuPC9zcGFuPjwvZGl2PjwvcD4KPHA+PC9w + PjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRlbnQ6 + ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxp + YnN5bi5jb20vc2VkYWlseS9Jc3Rpb1NlcnZpY2VNZXNoLm1wMyIgbGVuZ3Ro + PSI0NjgyODI1MyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1 + YnRpdGxlPk1vZGVybiBzb2Z0d2FyZSBhcHBsaWNhdGlvbnMgYXJlIG9mdGVu + IGJ1aWx0IG91dCBvZiBsb29zZWx5IGNvdXBsZWQgbWljcm9zZXJ2aWNlcy4g + VGhlc2Ugc2VydmljZXMgY2FuIGJlIHdyaXR0ZW4gaW4gZGlmZmVyZW50IGxh + bmd1YWdlcywgYnkgZGlmZmVyZW50IHBlb3BsZSwgYnV0IGNvbW11bmljYXRp + b24gYmV0d2VlbiBzZXJ2aWNlcyBuZWVkcyB0byBiZSBzdGFuZGFyZGl6ZWQu + IEZvciB0aGlzIHJlYXNvbiw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVz + OnN1bW1hcnk+TW9kZXJuIHNvZnR3YXJlIGFwcGxpY2F0aW9ucyBhcmUgb2Z0 + ZW4gYnVpbHQgb3V0IG9mIGxvb3NlbHkgY291cGxlZCBtaWNyb3NlcnZpY2Vz + LiBUaGVzZSBzZXJ2aWNlcyBjYW4gYmUgd3JpdHRlbiBpbiBkaWZmZXJlbnQg + bGFuZ3VhZ2VzLCBieSBkaWZmZXJlbnQgcGVvcGxlLCBidXQgY29tbXVuaWNh + dGlvbiBiZXR3ZWVuIHNlcnZpY2VzIG5lZWRzIHRvIGJlIHN0YW5kYXJkaXpl + ZC4gRm9yIHRoaXMgcmVhc29uLCBhIHNlcnZpY2UgcHJveHkgaXMgdXNlZnVs + LiBBIHNlcnZpY2UgcHJveHkgaXMgYSBzaWRlY2FyIGNvbnRhaW5lciB0aGF0 + IHNpdHMgbmV4dCB0byBhIHNlcnZpY2UgYW5kIGZhY2lsaXRhdGVzIGNvbW11 + bmljYXRpb25zIHdpdGggb3RoZXIgc2VydmljZXMuIE9uY2UgZXZlcnkgc2Vy + dmljZSBoYXMgYSBzaWRlY2FyIHByb3h5LCB0aGF0IHNpZGVjYXIgY2FuIGJl + IHVzZWQgYXNDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3VtbWFyeT4K + CQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseTwv + aXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFuPC9pdHVu + ZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj40ODozNjwvaXR1bmVz + OmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVzczpmZWVk + LWFkZGl0aW9uczoxIj4zNjcyPC9wb3N0LWlkPgkJPC9pdGVtPg0KCTxpdGVt + Pg0KCQk8dGl0bGU+U2VydmljZSBNZXNoIHdpdGggV2lsbGlhbSBNb3JnYW48 + L3RpdGxlPg0KCQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8yMDE3LzA2LzI2L3NlcnZpY2UtbWVzaC13aXRoLXdpbGxpYW0t + bW9yZ2FuLzwvbGluaz4NCgkJPHB1YkRhdGU+TW9uLCAyNiBKdW4gMjAxNyAw + OTowMDoyOSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJtYUxpbms9 + ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8/ + cD0zNjc2PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yNi9zZXJ2aWNlLW1lc2gtd2l0 + aC13aWxsaWFtLW1vcmdhbi8jY29tbWVudHM8L2NvbW1lbnRzPg0KCQk8d2Z3 + OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vMjAxNy8wNi8yNi9zZXJ2aWNlLW1lc2gtd2l0aC13aWxsaWFtLW1vcmdh + bi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4y + PC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBF + cGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW09w + ZW4gU291cmNlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + UG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1 + b3lhbnRdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtjbG91 + ZCBuYXRpdmVdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtL + dWJlcm5ldGVzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb + TGlua2VyZCBzZXJ2aWNlIG1lc2hdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29y + eT48IVtDREFUQVtXaWxsaWFtIE1vcmdhbl1dPjwvY2F0ZWdvcnk+CgkJPGRl + c2NyaXB0aW9uPkNvbnRhaW5lcnMgbWFrZSBpdCBlYXNpZXIgZm9yIGVuZ2lu + ZWVycyB0byBkZXBsb3kgc29mdHdhcmUuIE9yY2hlc3RyYXRpb24gc3lzdGVt + cyBsaWtlIEt1YmVybmV0ZXMgbWFrZSBpdCBlYXNpZXIgdG8gbWFuYWdlIGFu + ZCBzY2FsZSB0aGUgZGlmZmVyZW50IGNvbnRhaW5lcnMgdGhhdCBjb250YWlu + IHNlcnZpY2VzLiBUaGUgcG9wdWxhciBjb250YWluZXIgaW5mcmFzdHJ1Y3R1 + cmUgcG93ZXJlZCBieSBLdWJlcm5ldGVzIGlzIG9mdGVuIGNhbGxlZCDigJxj + bG91ZCBuYXRpdmUu4oCdIE9uIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + LCB3ZSBoYXZlIGJlZW4gZXhwbG9yaW5nIGNsb3VkIG5hdGl2ZSBzb2Z0d2Fy + ZSB0byBnZXQgYSBjb21wbGV0ZSBwaWN0dXJlIG9mIHRoZSBwcm9ibGVtcyBp + biB0aGUgc3BhY2UsIGFuZCB0aGUgcHJvamVjdHMgdGhhdCBhcmUgYmVpbmcg + d29ya2VkIG9uIGFzIHNvbHV0aW9ucy4mbHQ7cCZndDsmbHQ7YSBjbGFzcz0m + cXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yNi9zZXJ2 + aWNlLW1lc2gtd2l0aC13aWxsaWFtLW1vcmdhbi8mcXVvdDsmZ3Q7Q29udGlu + dWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlv + bj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEt + YXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xl + cy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4t + YnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRh + LW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNs + YXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHls + ZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAw + MDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNy + Yz0iaHR0cHM6Ly9pMS53cC5jb20vbWVkaWEubGljZG4uY29tL21wci9tcHIv + c2hyaW5rbnBfMjAwXzIwMC9wLzYvMDA1LzA4Ny8yYjIvMDA5ZjhiZC5qcGc/ + cmVzaXplPTE3NSUyQzE3NSYjMDM4O3NzbD0xIiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5Db250YWluZXJzIG1ha2UgaXQgZWFzaWVyIGZvciBlbmdpbmVlcnMgdG8g + ZGVwbG95IHNvZnR3YXJlLiBPcmNoZXN0cmF0aW9uIHN5c3RlbXMgbGlrZSBL + dWJlcm5ldGVzIG1ha2UgaXQgZWFzaWVyIHRvIG1hbmFnZSBhbmQgc2NhbGUg + dGhlIGRpZmZlcmVudCBjb250YWluZXJzIHRoYXQgY29udGFpbiBzZXJ2aWNl + cy4gVGhlIHBvcHVsYXIgY29udGFpbmVyIGluZnJhc3RydWN0dXJlIHBvd2Vy + ZWQgYnkgS3ViZXJuZXRlcyBpcyBvZnRlbiBjYWxsZWQgJiM4MjIwO2Nsb3Vk + IG5hdGl2ZS4mIzgyMjE7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5PbiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSwgd2UgaGF2ZSBiZWVuIGV4cGxvcmluZyBjbG91ZCBuYXRpdmUgc29mdHdh + cmUgdG8gZ2V0IGEgY29tcGxldGUgcGljdHVyZSBvZiB0aGUgcHJvYmxlbXMg + aW4gdGhlIHNwYWNlLCBhbmQgdGhlIHByb2plY3RzIHRoYXQgYXJlIGJlaW5n + IHdvcmtlZCBvbiBhcyBzb2x1dGlvbnMuPC9zcGFuPjwvcD4KPHA+PHNwYW4g + c3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5PbmUgYXJlYSBvZiBpbnRlcmVz + dDogaG93IHNob3VsZCBzZXJ2aWNlcyBjb21tdW5pY2F0ZSB3aXRoIGVhY2gg + b3RoZXI/IFdoYXQgc2hvdWxkIGJlIHN0YW5kYXJkaXplZD8gSG93IGNhbiB5 + b3UgbWFrZSBpdCBlYXN5IHRvIGlkZW50aWZ5IHByb2JsZW1zIGFuZCBhdm9p + ZCBjYXNjYWRpbmcgZmFpbHVyZXM/IE9uZSBzb2x1dGlvbiBpcyB0aGUgc2Vy + dmljZSBtZXNoLCBhIHRvb2wgdGhhdCBhbGxvd3Mgc2VydmljZXMgdG8gY29t + bXVuaWNhdGUgd2l0aCBlYWNoIG90aGVyIG1vcmUgc2FmZWx5IGFuZCBlZmZl + Y3RpdmVseS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPldpbGxpYW0gTW9yZ2FuIHdhcyBhbiBlbmdpbmVlciB3aG8g + aGVscGVkIHNjYWxlIFR3aXR0ZXIgaW4gdGhlIGVhcmx5IGRheXMgd2hlbiB0 + aGUgY29tcGFueSB3YXMgZGVhbGluZyB3aXRoIGxvdHMgb2Ygb3V0YWdlcy4g + SGUgd2FzIG9uIHRoZSBzaG93IHByZXZpb3VzbHkgdG8gZGlzY3VzcyBzY2Fs + aW5nIFR3aXR0ZXIsIGFuZCBpbiB0b2RheeKAmXMgZXBpc29kZSB3ZSBnbyBp + bnRvIHRoZSBjb21wYW55IHRoYXQgaGUgaXMgcnVubmluZywgQnVveWFudCwg + d2hlcmUgaGUgd29ya3Mgb24gYnVpbGRpbmcgYSBzZXJ2aWNlIG1lc2ggY2Fs + bGVkIExpbmtlcmQuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBpcyBs + b29raW5nIGZvciBzcG9uc29ycyBmb3IgUTMuIElmIHlvdXIgY29tcGFueSBo + YXMgYSBwcm9kdWN0IG9yIHNlcnZpY2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5n + LCBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSByZWFjaGVzIDIzLDAwMCBk + ZXZlbG9wZXJzIGxpc3RlbmluZyBkYWlseS4gU2VuZCBtZSBhbiBlbWFpbDog + amVmZkBzb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwvcD4K + PGgyPlNob3cgTm90ZXM8L2gyPgo8cD48YSBocmVmPSJodHRwczovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wNi8yMi9zY2FsaW5nLXR3 + aXR0ZXItYnVveWFudC1pb3Mtd2lsbGlhbS1tb3JnYW4vIj5TY2FsaW5nIFR3 + aXR0ZXI8L2E+PC9wPgo8cD48YSBocmVmPSJodHRwczovL2Jsb2cuYnVveWFu + dC5pby8yMDE3LzA0LzI1L3doYXRzLWEtc2VydmljZS1tZXNoLWFuZC13aHkt + ZG8taS1uZWVkLW9uZS8iPldoYXQmIzgyMTc7cyBhIFNlcnZpY2UgTWVzaCBh + bmQgV2h5IERvIEkgTmVlZCBPbmU/PC9hPjwvcD4KPHA+QnVveWFudCBpcyBo + aXJpbmc6IGVtYWlsIHdpbGxpYW1AYnVveWFudC5pbzwvcD4KPHA+Jm5ic3A7 + PC9wPgo8aDI+VHJhbnNjcmlwdDwvaDI+CjxwPlRyYW5zY3JpcHQgcHJvdmlk + ZWQgYnkgV2UgRWRpdCBQb2RjYXN0cy4gU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbGlzdGVuZXJzIGNhbiBnbyB0b8KgPGEgaHJlZj0iaHR0cHM6Ly93 + ZWVkaXRwb2RjYXN0cy5jb20vc2VkIj53ZWVkaXRwb2RjYXN0cy5jb20vc2Vk + PC9hPsKgdG8gZ2V0IDIwJSBvZmYgdGhlIGZpcnN0IHR3byBtb250aHMgb2Yg + YXVkaW8gZWRpdGluZyBhbmQgdHJhbnNjcmlwdGlvbiBzZXJ2aWNlcy4gVGhh + bmtzIHRvIFdlIEVkaXQgUG9kY2FzdHMgZm9yIHBhcnRuZXJpbmcgd2l0aCBT + RSBEYWlseS4gUGxlYXNlwqA8YSBocmVmPSJodHRwczovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + U0VEMzYwLVNlcnZpY2UtTWVzaC5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8Kg + dGhpcyBzaG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29y + czwvaDI+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9pbnRlbCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM2NDIiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9pbnRlbC9pbnRlbG5lcnZhbmFfbG9nb2p1bHkvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbE5lcnZh + bmFfbG9nb0p1bHkuanBnP2ZpdD02MDAlMkMxNzgiIGRhdGEtb3JpZy1zaXpl + PSI2MDAsMTc4IiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFn + ZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MSZxdW90O30iIGRhdGEt + aW1hZ2UtdGl0bGU9IkludGVsTmVydmFuYV9sb2dvSnVseSIgZGF0YS1pbWFn + ZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dvSnVseS5qcGc/ + Zml0PTMwMCUyQzg5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5LmpwZz9maXQ9 + NjAwJTJDMTc4IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTM2NDIgc2l6 + ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9J + bnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT0zMDAlMkM4OSIgYWx0 + PSIiIHNyY3NldD0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRl + bE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT0zMDAlMkM4OSAzMDB3LCBo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9sb2dv + SnVseS5qcGc/dz02MDAgNjAwdywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP3Jlc2l6ZT01OTUlMkMx + NzggNTk1dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAw + cHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGVlcCBsZWFybmluZyBwcm9taXNlcyB0 + byBkcmFtYXRpY2FsbHkgaW1wcm92ZSBob3cgb3VyIHdvcmxkIHdvcmtzLiBU + byBtYWtlIGRlZXAgbGVhcm5pbmcgZWFzaWVyIGFuZCBmYXN0ZXIsIHdlIG5l + ZWQgbmV3IGtpbmRzIG9mIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSYjODIxMTt3 + aGljaCBpcyB3aHkgSW50ZWwgYWNxdWlyZWQgTmVydmFuYSBTeXN0ZW1zLCBh + IHBsYXRmb3JtIGZvciBkZWVwIGxlYXJuaW5nLiBJbnRlbCBOZXJ2YW5hIGlz + IGhpcmluZyBlbmdpbmVlcnMgdG8gaGVscCBkZXZlbG9wIGEgZnVsbCBzdGFj + ayBmb3IgQUksIGZyb20gY2hpcCBkZXNpZ24gdG8gc29mdHdhcmUgZnJhbWV3 + b3Jrcy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vaW50ZWwiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3Bl + bmVyIG5vcmVmZXJyZXIiIGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJodHRwczov + L3d3dy5nb29nbGUuY29tL3VybD9obD1lbiZhbXA7cT1odHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRlbCZhbXA7c291cmNlPWdtYWls + JmFtcDt1c3Q9MTQ5MzEzNDE5NjQzMjAwMCZhbXA7dXNnPUFGUWpDTkVIVUZD + U21nR25kb1lzR3RHSXd1Y1RLcmZjTkEiPnNvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vPHdicj48L3dicj5pbnRlbDwvYT4gdG8gYXBwbHkgZm9yIGEg + am9iIGF0IEludGVsIE5lcnZhbmEuIElmIHlvdSBrbm93IGRvbuKAmXQga25v + dyBtdWNoIGFib3V0IHRoZSBjb21wYW55LCBjaGVjayBvdXQgdGhlIGludGVy + dmlld3MgSSBoYXZlIGNvbmR1Y3RlZCB3aXRoIGVuZ2luZWVycyBmcm9tIHRo + ZSBjb21wYW55LiBZb3UgY2FuIGZpbmQgdGhlc2UgYXQgPGEgaHJlZj0iaHR0 + cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwiIHRhcmdl + dD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGRhdGEtc2Fm + ZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1l + biZhbXA7cT1odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9p + bnRlbCZhbXA7c291cmNlPWdtYWlsJmFtcDt1c3Q9MTQ5MzEzNDE5NjQzMjAw + MCZhbXA7dXNnPUFGUWpDTkVIVUZDU21nR25kb1lzR3RHSXd1Y1RLcmZjTkEi + PnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vPHdicj48L3dicj5pbnRl + bDwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2VkYWls + eSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMzNDQiIGRhdGEtcGVybWFs + aW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xv + Z29zL2R5bi9keW5fbG9nb19ibGFja190ZXh0LXN2Zy8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2Js + YWNrX3RleHQuc3ZnXy5wbmc/Zml0PTEwMjQlMkM0MDIiIGRhdGEtb3JpZy1z + aXplPSIxMDI0LDQwMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJEeW5fbG9nb18oYmxhY2tfdGV4dCkuc3ZnIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4 + dC5zdmdfLnBuZz9maXQ9MzAwJTJDMTE4IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4 + dC5zdmdfLnBuZz9maXQ9MTAyNCUyQzQwMiIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zMzQ0IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9y + ZXNpemU9MzAwJTJDMTE4IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + cmVzaXplPTMwMCUyQzExOCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTc2 + OCUyQzMwMiA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5 + bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/dz0xMDI0IDEwMjR3LCBodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQu + c3ZnXy5wbmc/cmVzaXplPTcyMCUyQzI4MyA3MjB3IiBzaXplcz0iKG1heC13 + aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5P + cmFjbGUgRHluIHByb3ZpZGVzIEROUyB0aGF0IGlzIGFzIGR5bmFtaWMgYW5k + IGludGVsbGlnZW50IGFzIHlvdXIgYXBwbGljYXRpb25zLiBEeW4gRE5TIGdl + dHMgeW91ciB1c2VycyB0byB0aGUgcmlnaHQgY2xvdWQgc2VydmljZSwgQ0RO + LCBvciBkYXRhIGNlbnRlciwgdXNpbmcgaW50ZWxsaWdlbnQgcmVzcG9uc2Ug + dG8gc3RlZXIgdHJhZmZpYyBiYXNlZCBvbiBidXNpbmVzcyBwb2xpY2llcywg + YXMgd2VsbCBhcyByZWFsLXRpbWUgaW50ZXJuZXQgY29uZGl0aW9ucywgbGlr + ZSB0aGUgc2VjdXJpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIHRoZSBuZXR3b3Jr + IHBhdGguIEdldCBzdGFydGVkIHdpdGggYSBmcmVlIDMwLWRheSB0cmlhbCBm + b3IgeW91ciBhcHBsaWNhdGlvbiBieSBnb2luZyB0bzxhIGhyZWY9Imh0dHA6 + Ly9keW4uY29tL3NlZGFpbHkiPiBkeW4uY29tL3NlZGFpbHk8L2E+LiDCoEFm + dGVyIHRoZSBmcmVlIHRyaWFsLCBEeW7igJlzIGRldmVsb3BlciBwbGFucyBz + dGFydCBhdCBqdXN0ICQ3IGEgbW9udGggZm9yIHdvcmxkLWNsYXNzIEROUy4g + UmV0aGluayBETlMuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9keW4uY29tL3Nl + ZGFpbHkiPmR5bi5jb20vc2VkYWlseTwvYT7CoHRvIGxlYXJuIG1vcmUgYW5k + IGdldCB5b3VyIGZyZWUgdHJpYWwgb2YgRHluIEROUy48L2Rpdj48YnIgLz4K + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRh + ZG9nIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJt + YWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3 + bG9nb3MvZGF0YWRvZy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5n + P2ZpdD0xMDI0JTJDNTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + ZGF0YWRvZ19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0 + YWRvZ19sb2dvLnBuZz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBu + Zz9maXQ9MTAyNCUyQzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + MjM2IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9 + IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFk + b2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2 + OCUyQzM4NCA3Njh3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2Rh + dGFkb2dfbG9nby5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2 + MCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBw + eCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+Cjxk + aXYgY2xhc3M9ImNvbC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJp + bGl0eSBpbnRvIGV2ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwg + cGx1cyBBUE0gZm9yIG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIx + NztzIHBlcmZvcm1hbmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24g + dG9vbHMsIGFuZCBhbGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdv + cmtmbG93IGZvciBvYnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25z + ZS4gRGF0YWRvZyBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2Yg + eW91ciBhcHBzIGFuZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBX + ZWIgU2VydmljZXMsIHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWlu + dXRlcy4gR28gdG/CoDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5v + Zm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS48d2JyPjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0 + YXJ0ZWQgd2l0aCBEYXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwv + ZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0 + dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9TZXJ2aWNlTWVzaC5t + cDMiIGxlbmd0aD0iNTY4OTIwNDgiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJ + PGl0dW5lczpzdWJ0aXRsZT5Db250YWluZXJzIG1ha2UgaXQgZWFzaWVyIGZv + ciBlbmdpbmVlcnMgdG8gZGVwbG95IHNvZnR3YXJlLiBPcmNoZXN0cmF0aW9u + IHN5c3RlbXMgbGlrZSBLdWJlcm5ldGVzIG1ha2UgaXQgZWFzaWVyIHRvIG1h + bmFnZSBhbmQgc2NhbGUgdGhlIGRpZmZlcmVudCBjb250YWluZXJzIHRoYXQg + Y29udGFpbiBzZXJ2aWNlcy4gVGhlIHBvcHVsYXIgY29udGFpbmVyIGluZnJh + c3RydWN0dXJlIHBvd2VyZWQgYnkgS3ViZXJuZXRlcyBpcyBvZnRlbiBjYWwu + Li48L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+Q29udGFp + bmVycyBtYWtlIGl0IGVhc2llciBmb3IgZW5naW5lZXJzIHRvIGRlcGxveSBz + b2Z0d2FyZS4gT3JjaGVzdHJhdGlvbiBzeXN0ZW1zIGxpa2UgS3ViZXJuZXRl + cyBtYWtlIGl0IGVhc2llciB0byBtYW5hZ2UgYW5kIHNjYWxlIHRoZSBkaWZm + ZXJlbnQgY29udGFpbmVycyB0aGF0IGNvbnRhaW4gc2VydmljZXMuIFRoZSBw + b3B1bGFyIGNvbnRhaW5lciBpbmZyYXN0cnVjdHVyZSBwb3dlcmVkIGJ5IEt1 + YmVybmV0ZXMgaXMgb2Z0ZW4gY2FsbGVkIOKAnGNsb3VkIG5hdGl2ZS7igJ0g + T24gU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHksIHdlIGhhdmUgYmVlbiBl + eHBsb3JpbmcgY2xvdWQgbmF0aXZlIHNvZnR3YXJlIHRvIGdldCBhIGNvbXBs + ZXRlIHBpY3R1cmUgb2YgdGhlIHByb2JsZW1zIGluIHRoZSBzcGFjZSwgYW5k + IHRoZSBwcm9qZWN0cyB0aGF0IGFyZSBiZWluZyB3b3JrZWQgb24gYXMgc29s + dXRpb25zLkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJ + CTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9p + dHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5l + czpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU5OjA1PC9pdHVuZXM6 + ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNzOmZlZWQt + YWRkaXRpb25zOjEiPjM2NzY8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJPGl0ZW0+ + DQoJCTx0aXRsZT5TZWFyY2ggRW5naW5lIExhbmQgd2l0aCBEYW5ueSBTdWxs + aXZhbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDYvMjMvc2VhcmNoLWVuZ2luZS1sYW5kLXdp + dGgtZGFubnktc3VsbGl2YW4vPC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDIz + IEp1biAyMDE3IDA5OjAwOjUzICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBp + c1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLz9wPTM2NjU8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzIzL3NlYXJj + aC1lbmdpbmUtbGFuZC13aXRoLWRhbm55LXN1bGxpdmFuLyNyZXNwb25kPC9j + b21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMjMvc2VhcmNoLWVuZ2luZS1s + YW5kLXdpdGgtZGFubnktc3VsbGl2YW4vZmVlZC88L3dmdzpjb21tZW50UnNz + Pg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+DQoJCTxj + YXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVnb3J5PgoJ + CTxjYXRlZ29yeT48IVtDREFUQVtCdXNpbmVzcyBhbmQgUGhpbG9zb3BoeV1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dyZWF0ZXN0IEhp + dHNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEYW5ueSBT + dWxsaXZhbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dv + b2dsZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NlYXJj + aCBFbmdpbmUgTGFuZF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1NFT11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Rl + Y2ggSm91cm5hbGlzbV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPlNl + YXJjaCBlbmdpbmVzIHJ1biBvdXIgbGl2ZXMuIFRoZSBwYXRoIHdlIHRha2Ug + dG8gaW5mb3JtYXRpb24gaXMgZGljdGF0ZWQgYnkgR29vZ2xlLCBGYWNlYm9v + aywgQW1hem9uLCBhbmQgb3RoZXIgZm9ybXMgb2Ygc2VhcmNoLiBTZWFyY2gg + ZW5naW5lcyBmZWVsIG9iamVjdGl2ZSBhbmQgdHJ1dGhmdWwsIGJ1dCBhcmUg + YnVpbHQgdGhyb3VnaCBvbmdvaW5nIGV4cGVyaW1lbnRhdGlvbiBhbmQgc3Vi + amVjdGl2ZSBkZWNpc2lvbiBtYWtpbmcuIFRoYXTigJlzIHdoYXQgaGFzIGtl + cHQgRGFubnkgU3VsbGl2YW4gd3JpdGluZyBhYm91dCBzZWFyY2ggZW5naW5l + cyBmb3IgdHdlbnR5IHllYXJzLiBUaGUgY29udGVudCBHb29nbGUgcHJpb3Jp + dGl6ZXMsIHRoZSBhZHMgdGhhdCB3ZSBzZWUsIHRoZSB3YXkgdGhhdCBhIHBy + b2R1Y3QgcmV2aWV3IGNoYW5nZXMgaG93IGhpZ2hseSBhJmx0O3AmZ3Q7Jmx0 + O2EgY2xhc3M9JnF1b3Q7Y29udGludWUtcmVhZGluZyZxdW90OyBocmVmPSZx + dW90O2h0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDYvMjMvc2VhcmNoLWVuZ2luZS1sYW5kLXdpdGgtZGFubnktc3VsbGl2YW4v + JnF1b3Q7Jmd0O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9w + Jmd0OzwvZGVzY3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RB + VEFbPHA+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE2LzA0LzE5L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRh + bi1idXJucy9icmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRh + bi1idXJucyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9m + aXQ9MTc1JTJDMTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3At + aW1hZ2UtMjQ3NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVy + OiAxcHggc29saWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhl + aWdodDogMTc1cHg7IiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3Bicy50d2lt + Zy5jb20vcHJvZmlsZV9pbWFnZXMvODIyNjYxNTUyOTYwNTc3NTM4L2Z4Ui13 + NzNwLmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPlNlYXJjaCBlbmdpbmVzIHJ1biBvdXIgbGl2ZXMuIFRoZSBw + YXRoIHdlIHRha2UgdG8gaW5mb3JtYXRpb24gaXMgZGljdGF0ZWQgYnkgR29v + Z2xlLCBGYWNlYm9vaywgQW1hem9uLCBhbmQgb3RoZXIgZm9ybXMgb2Ygc2Vh + cmNoLiBTZWFyY2ggZW5naW5lcyBmZWVsIG9iamVjdGl2ZSBhbmQgdHJ1dGhm + dWwsIGJ1dCBhcmUgYnVpbHQgdGhyb3VnaCBvbmdvaW5nIGV4cGVyaW1lbnRh + dGlvbiBhbmQgc3ViamVjdGl2ZSBkZWNpc2lvbiBtYWtpbmcuPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGF04oCZ + cyB3aGF0IGhhcyBrZXB0IERhbm55IFN1bGxpdmFuIHdyaXRpbmcgYWJvdXQg + c2VhcmNoIGVuZ2luZXMgZm9yIHR3ZW50eSB5ZWFycy4gPC9zcGFuPjwvcD4K + PHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgY29udGVu + dCBHb29nbGUgcHJpb3JpdGl6ZXMsIHRoZSBhZHMgdGhhdCB3ZSBzZWUsIHRo + ZSB3YXkgdGhhdCBhIHByb2R1Y3QgcmV2aWV3IGNoYW5nZXMgaG93IGhpZ2hs + eSBhIHNlYXJjaCByZXN1bHQgYXBwZWFycyBvbiBhIHNlYXJjaDsgdGhlc2Ug + YXJlIHRoZSB0b3BpY3MgdGhhdCBEYW5ueSBzdHVkaWVzLiBIZSBpcyB0aGUg + Zm91bmRlciBvZiBTZWFyY2ggRW5naW5lIExhbmQsIGFuIGludmFsdWFibGUg + cmVzb3VyY2UgZm9yIG5ld3MgYW5kIHVwZGF0ZXMgYWJvdXQgc2VhcmNoIGVu + Z2luZXMgYW5kIG1hcmtldGluZy4gSeKAmXZlIGJlZW4gcmVhZGluZyBTZWFy + Y2ggRW5naW5lIExhbmQgc2luY2UgY29sbGVnZSwgc28gaXQgd2FzIGEgdHJl + YXQgdG8gc2l0IGRvd24gZm9yIGEgY29udmVyc2F0aW9uIHdpdGggaGltLjwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgaXMgbG9va2luZyBmb3Igc3Bv + bnNvcnMgZm9yIFEzLiBJZiB5b3VyIGNvbXBhbnkgaGFzIGEgcHJvZHVjdCBv + ciBzZXJ2aWNlLCBvciBpZiB5b3UgYXJlIGhpcmluZywgU29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHkgcmVhY2hlcyAyMywwMDAgZGV2ZWxvcGVycyBsaXN0 + ZW5pbmcgZGFpbHkuIFNlbmQgbWUgYW4gZW1haWw6IGplZmZAc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbTwvc3Bhbj48L3A+CjxoMj5UcmFuc2NyaXB0 + PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNh + c3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2Fu + IGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9z + ZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9m + ZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0 + cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2Rj + YXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxh + IGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9TRUQzNTktU2VhcmNoLUVuZ2lu + ZS1MYW5kLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlz + IHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Jsb2NrY2hh + aW4iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjMwIiBkYXRhLXBlcm1h + bGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3ds + b2dvcy9jb25zZW5zeXMtbG9nby9jb25zZW5zeXNfbG9nby8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0NvbnNlblN5 + c19sb2dvLnBuZz9maXQ9NDAyJTJDMjQ3IiBkYXRhLW9yaWctc2l6ZT0iNDAy + LDI0NyIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJDb25zZW5TeXNfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlv + bj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA2L0NvbnNlblN5c19sb2dvLnBuZz9maXQ9MzAwJTJDMTg0IiBkYXRh + LWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29u + c2VuU3lzX2xvZ28ucG5nP2ZpdD00MDIlMkMyNDciIGNsYXNzPSJhbGlnbmxl + ZnQgd3AtaW1hZ2UtMzYzMCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA2L0NvbnNlblN5c19sb2dvLnBuZz9yZXNpemU9 + MzAwJTJDMTg0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA2L0NvbnNlblN5c19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTg0 + IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lz + X2xvZ28ucG5nP3c9NDAyIDQwMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRoZSBDb25zZW5T + eXMgQWNhZGVteSBEZXZlbG9wZXIgUHJvZ3JhbSBpcyBhIGZyZWUsIGhpZ2hs + eSBzZWxlY3RpdmUgYW5kIGNhcmVmdWxseSBkZXNpZ25lZCAxMC13ZWVrIG9u + bGluZSBjdXJyaWN1bHVtIHdoZXJlIHlvdSB3aWxsIGltbWVyc2UgeW91cnNl + bGYgaW4gYmxvY2tjaGFpbiBkZXZlbG9wbWVudCBhbmQgZWFybiBhIENvbnNl + blN5cyBibG9ja2NoYWluIGNlcnRpZmljYXRpb24uIEJ5IGNvbXBsZXRpbmcg + dGhlIHByb2dyYW0sIHlvdSB3aWxsIGJlIGVsaWdpYmxlIGZvciBpbW1lZGlh + dGUgaGlyZSBieSBDb25zZW5TeXMsIGEgbGVhZGVyIGluIHRoZSBibG9ja2No + YWluIHNwYWNlLCBmb2N1c2VkIG9uIHRoZSBFdGhlcmV1bSBwbGF0Zm9ybS4g + SWYgeW91IHdhbnQgdG8gbGVhcm4gYWJvdXQgYmxvY2tjaGFpbnMsIGFuZCBi + ZWNvbWUgYSBkZXZlbG9wZXIgZm9yIGJsb2NrY2hhaW4gdGVjaG5vbG9neSwg + Y2hlY2sgb3V0IHRoZSBDb25zZW5TeXMgYWNhZGVteSwgYnkgZ29pbmcgdG/C + oDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2Jsb2NrY2hhaW4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Jsb2NrY2hhaW48L2E+LiDC + oCDCoCBBcHBsaWNhdGlvbnMgYXJlIG9wZW4gZnJvbSBub3cgdW50aWwgSnVs + eSAxIHNvIHlvdSB3YW50IHRvIGFwcGx5IHNvb24uwqBUbyBsZWFybiBtb3Jl + IGFib3V0IENvbnNlblN5cyBhbmQgRXRoZXJldW0sIHBsZWFzZSB2aXNpdMKg + PGEgaHJlZj0iaHR0cDovL2NvbnNlbnN5cy5uZXQvIj5jb25zZW5zeXMubmV0 + PC9hPiwgYW5kIHNpZ24gdXAgZm9yIHRoZSBDb25zZW5TeXMgd2Vla2x5IG5l + d3NsZXR0ZXIgZm9yIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdyBhYm91 + dCB0aGUgYmxvY2tjaGFpbiBzcGFjZS4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9kaWNlLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNo + bWVudC1pZD0iMzExMiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDEvMDkvY3liZXItd2FyZmFy + ZS13aXRoLWphcmVkLXNtaXRoL2RpY2UtbG9nbzJ4LyIgZGF0YS1vcmlnLWZp + bGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDEvZGljZS1sb2dvQDJ4 + LnBuZz9maXQ9MjU2JTJDMTI4IiBkYXRhLW9yaWctc2l6ZT0iMjU2LDEyOCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJkaWNlLWxvZ29AMngiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9k + aWNlLWxvZ29AMngucG5nP2ZpdD0yNTYlMkMxMjgiIGRhdGEtbGFyZ2UtZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngu + cG5nP2ZpdD0yNTYlMkMxMjgiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2Ut + MzExMiBzaXplLWZ1bGwiIHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMS9kaWNlLWxvZ29AMngucG5nP3Jlc2l6ZT0yNTYlMkMxMjgiIGFsdD0i + IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRp + diBjbGFzcz0iY29sLXNtLTYiPkRpY2UuY29tIHdpbGwgaGVscCB5b3UgYWNj + ZWxlcmF0ZSB5b3VyIHRlY2ggY2FyZWVyLiBXaGV0aGVyIHlvdeKAmXJlIGFj + dGl2ZWx5IGxvb2tpbmcgZm9yIGEgam9iIG9yIG5lZWQgaW5zaWdodHMgdG8g + Z3JvdyBpbiB5b3VyIHJvbGUsIERpY2UgaGFzIHRoZSByZXNvdXJjZXMgeW91 + IG5lZWQuIERpY2XigJlzIG1vYmlsZSBhcHAgaXMgdGhlIGZhc3Rlc3QgYW5k + IGVhc2llc3Qgd2F5IHRvIGdldCBhaGVhZC4gU2VhcmNoIHRob3VzYW5kcyBv + ZiBqb2JzIGZyb20gdG9wIGNvbXBhbmllcy4gRGlzY292ZXIgeW91ciBtYXJr + ZXQgdmFsdWUgYmFzZWQgb24geW91ciB1bmlxdWUgc2tpbGwgc2V0LiBNYW5h + Z2UgeW91ciB0ZWNoIGNhcmVlciBhbmQgZG93bmxvYWQgdGhlIERpY2UgQ2Fy + ZWVycyBhcHAgb24gQW5kcm9pZCBvciBpT1MgdG9kYXkuIEFuZCB0byBjaGVj + ayBvdXQgdGhlIERpY2Ugd2Vic2l0ZSBhbmQgc3VwcG9ydCBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSwgZ28gdG8gPGEgaHJlZj0iaHR0cDovL2RpY2Uu + Y29tL3NlZGFpbHkiPmRpY2UuY29tL3NlZGFpbHk8L2E+Lgo8cD48L3A+PC9k + aXY+PGJyIC8+CjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRp + diBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48YSBocmVmPSJodHRwOi8vTW9uZ29EQi5jb20vc2VkYWlseSI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMwMjkiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL21v + bmdvZGIvYXRsYXMtc3BsYXNoLTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP2ZpdD0x + MjgwJTJDNzIwIiBkYXRhLW9yaWctc2l6ZT0iMTI4MCw3MjAiIGRhdGEtY29t + bWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVy + dHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVk + X3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdo + dCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZx + dW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYXRsYXMt + c3BsYXNoIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3Bs + YXNoLmpwZz9maXQ9MzAwJTJDMTY5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9maXQ9 + MTAyNCUyQzU3NiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMDI5IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIv + YXRsYXMtc3BsYXNoLmpwZz9yZXNpemU9MzAwJTJDMTY5IiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2F0bGFzLXNwbGFz + aC5qcGc/cmVzaXplPTMwMCUyQzE2OSAzMDB3LCBodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEyL2F0bGFzLXNwbGFzaC5qcGc/cmVzaXplPTc2OCUyQzQz + MiA3Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL2F0bGFzLXNw + bGFzaC5qcGc/cmVzaXplPTEwMjQlMkM1NzYgMTAyNHcsIGh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9yZXNpemU9NzIw + JTJDNDA1IDcyMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRs + YXMtc3BsYXNoLmpwZz93PTEyODAgMTI4MHciIHNpemVzPSIobWF4LXdpZHRo + OiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAv + PjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkl04oCZ + cyBuZXZlciBiZWVuIGVhc2llciB0byBoaXQgdGhlIGdyb3VuZCBydW5uaW5n + OiBNb25nb0RCIEF0bGFzIGlzIHRoZcKgPGk+b25seTwvaT7CoGRhdGFiYXNl + IGFzIGEgc2VydmljZSBmcm9tIHRoZSBlbmdpbmVlcnMgd2hvIGJ1aWx0IE1v + bmdvREIuIFdpdGggY29udGludW91cyBiYWNrdXAsIFZQQyBwZWVyaW5nLCBt + b25pdG9yaW5nLCBhbmQgc2VjdXJpdHkgZmVhdHVyZXMsIE1vbmdvREIgQXRs + YXMgZ2l2ZXMgeW91IGV2ZXJ5dGhpbmcgeW91IG5lZWQgZnJvbSBNb25nb0RC + IGluIGFuIGVhc3ktdG8tdXNlIHNlcnZpY2UuIEFuZCBldmVuIGlmIHlvdeKA + mXJlIGFscmVhZHkgcnVubmluZyBNb25nb0RCIGluIHRoZSBjbG91ZCwgQXRs + YXMgbWFrZXMgbWlncmF0aW5nIHlvdXIgZGVwbG95bWVudCBmcm9tIGFub3Ro + ZXIgY2xvdWQgc2VydmljZSBwcm92aWRlciB0cml2aWFsLCB3aXRoIGl0cyBM + aXZlIEltcG9ydCBmZWF0dXJlLiBHZXQgc3RhcnRlZCB3aXRoIGEgZnJlZSwg + MyBub2RlIHJlcGxpY2Egc2V0OiBubyBjcmVkaXQgY2FyZCByZXF1aXJlZC4g + QXMgYW4gZXhjbHVzaXZlIG9mZmVyIGZvciBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBsaXN0ZW5lcnMsIHVzZSBjb2RlIFNFRGFpbHkgZm9yICQxMCBk + b2xsYXJzIG9mIGNyZWRpdCBmb3Igd2hlbiB5b3XigJlyZSByZWFkeSB0byBz + Y2FsZSB1cCBhdMKgPGEgaHJlZj0iaHR0cDovL01vbmdvREIuY29tL3NlZGFp + bHkiPm1vbmdvREIuY29tL3NlZGFpbHk8L2E+LjwvZGl2PjxiciAvPgo8L3A+ + PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDpl + bmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGli + c3luLmNvbS9zZWRhaWx5L1NlYXJjaEVuZ2luZUxhbmQubXAzIiBsZW5ndGg9 + IjU5Mzg2OTYxIiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVuZXM6c3Vi + dGl0bGU+U2VhcmNoIGVuZ2luZXMgcnVuIG91ciBsaXZlcy4gVGhlIHBhdGgg + d2UgdGFrZSB0byBpbmZvcm1hdGlvbiBpcyBkaWN0YXRlZCBieSBHb29nbGUs + IEZhY2Vib29rLCBBbWF6b24sIGFuZCBvdGhlciBmb3JtcyBvZiBzZWFyY2gu + IFNlYXJjaCBlbmdpbmVzIGZlZWwgb2JqZWN0aXZlIGFuZCB0cnV0aGZ1bCwg + YnV0IGFyZSBidWlsdCB0aHJvdWdoIG9uZ29pbmcgZXhwZXJpbWVudGF0aW9u + IGFuZCBzdWJqZWN0aXZlIGRlY2lzaW9uIG1ha2luZy48L2l0dW5lczpzdWJ0 + aXRsZT4KCQk8aXR1bmVzOnN1bW1hcnk+U2VhcmNoIGVuZ2luZXMgcnVuIG91 + ciBsaXZlcy4gVGhlIHBhdGggd2UgdGFrZSB0byBpbmZvcm1hdGlvbiBpcyBk + aWN0YXRlZCBieSBHb29nbGUsIEZhY2Vib29rLCBBbWF6b24sIGFuZCBvdGhl + ciBmb3JtcyBvZiBzZWFyY2guIFNlYXJjaCBlbmdpbmVzIGZlZWwgb2JqZWN0 + aXZlIGFuZCB0cnV0aGZ1bCwgYnV0IGFyZSBidWlsdCB0aHJvdWdoIG9uZ29p + bmcgZXhwZXJpbWVudGF0aW9uIGFuZCBzdWJqZWN0aXZlIGRlY2lzaW9uIG1h + a2luZy4gVGhhdOKAmXMgd2hhdCBoYXMga2VwdCBEYW5ueSBTdWxsaXZhbiB3 + cml0aW5nIGFib3V0IHNlYXJjaCBlbmdpbmVzIGZvciB0d2VudHkgeWVhcnMu + IFRoZSBjb250ZW50IEdvb2dsZSBwcmlvcml0aXplcywgdGhlIGFkcyB0aGF0 + IHdlIHNlZSwgdGhlIHdheSB0aGF0IGEgcHJvZHVjdCByZXZpZXcgY2hhbmdl + cyBob3cgaGlnaGx5IGFDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3Vt + bWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFu + PC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAxOjQx + PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHBy + ZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM2NjU8L3Bvc3QtaWQ+CQk8L2l0ZW0+ + DQoJPGl0ZW0+DQoJCTx0aXRsZT5IYWNrYXRob25zIHdpdGggTGl6ZXR0ZSBD + aGFwbWFuPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yMi9oYWNrYXRob25zLXdpdGgtbGl6 + ZXR0ZS1jaGFwbWFuLzwvbGluaz4NCgkJPHB1YkRhdGU+VGh1LCAyMiBKdW4g + MjAxNyAwOTowMDo1MCArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQZXJt + YUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8/cD0zNjYzPC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yMi9oYWNrYXRob25z + LXdpdGgtbGl6ZXR0ZS1jaGFwbWFuLyNyZXNwb25kPC9jb21tZW50cz4NCgkJ + PHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tLzIwMTcvMDYvMjIvaGFja2F0aG9ucy13aXRoLWxpemV0dGUtY2hh + cG1hbi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50 + cz4wPC9zbGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Fs + bCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0J1c2luZXNzIGFuZCBQaGlsb3NvcGh5XV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW0Jsb29tYmVyZ11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVn + b3J5PjwhW0NEQVRBW2NvcnBvcmF0ZSBoYWNrXV0+PC9jYXRlZ29yeT4KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbZnJlZWxhbmNlIHByb2dyYW1taW5nXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbaGFja2F0aG9uc11dPjwv + Y2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0xpemV0dGUgQ2hhcG1h + bl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BldGVyIE1h + XV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+UHJvZmVzc2lvbmFsIGhh + Y2thdGhvbiBwcm9ncmFtbWVycyB0cmF2ZWwgYXJvdW5kIHRoZSBoYWNrYXRo + b24gY2lyY3VpdCwgd2lubmluZyBtZXJjaGFuZGlzZSBhbmQgc21hbGwgY2Fz + aCBwcml6ZXMuIFRoZXJlIGFyZSBlbm91Z2ggaGFja2F0aG9ucyB0aGF0IHNv + bWUgcHJvZ3JhbW1lcnMgYWN0dWFsbHkgZG8gdGhpcyBhcyBhIGZ1bGwtdGlt + ZSBqb2IuIEZvciBleGFtcGxlLCBQZXRlciBNYSwgYSBwcm9ncmFtbWVyIHdo + byBkZXNjcmliZXMgaGltc2VsZiBhcyBhIOKAnHJhcGlkIHByb3RvdHlwZSBz + cGVjaWFsaXN0LuKAnSBQZXRlciBpcyBhIGdyZWF0IHByb2dyYW1tZXIsIGFu + ZCBoZSBoYXMgcmVjZWl2ZWQgbG90cyBvZiBvZmZlcnMgdG8gd29yayBhdCBi + aWcgdGVjaCBjb21wYW5pZXMuIFdoYXQgZHJpdmVzIGhpbSB0byBzdGF5IGlu + ZGVwZW5kZW50IGFuZCB3b3JrIG9uIGhhY2thdGhvbiZsdDtwJmd0OyZsdDth + IGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJlZj0mcXVv + dDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2 + LzIyL2hhY2thdGhvbnMtd2l0aC1saXpldHRlLWNoYXBtYW4vJnF1b3Q7Jmd0 + O0NvbnRpbnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVz + Y3JpcHRpb24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5 + L2dvb2dsZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9i + cmVuZGFuLWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3 + NSIgZGF0YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3Bl + bmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0 + aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFt + cCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90Ozom + cXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1 + dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVv + dDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBn + P2ZpdD0xNzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBjbGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3 + NSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29s + aWQgIzAwMDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1 + cHg7IiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3Bicy50d2ltZy5jb20vcHJv + ZmlsZV9pbWFnZXMvNzEwNTYwOTcwMTc1NzEzMjgwL29JYlRsYVZwLmpwZz9y + ZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9 + IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PlByb2Zlc3Npb25hbCBoYWNrYXRob24gcHJvZ3JhbW1lcnMgdHJhdmVsIGFy + b3VuZCB0aGUgaGFja2F0aG9uIGNpcmN1aXQsIHdpbm5pbmcgbWVyY2hhbmRp + c2UgYW5kIHNtYWxsIGNhc2ggcHJpemVzLiBUaGVyZSBhcmUgZW5vdWdoIGhh + Y2thdGhvbnMgdGhhdCBzb21lIHByb2dyYW1tZXJzIGFjdHVhbGx5IGRvIHRo + aXMgYXMgYSBmdWxsLXRpbWUgam9iLiBGb3IgZXhhbXBsZSwgUGV0ZXIgTWEs + IGEgcHJvZ3JhbW1lciB3aG8gZGVzY3JpYmVzIGhpbXNlbGYgYXMgYSDigJxy + YXBpZCBwcm90b3R5cGUgc3BlY2lhbGlzdC7igJ0gUGV0ZXIgaXMgYSBncmVh + dCBwcm9ncmFtbWVyLCBhbmQgaGUgaGFzIHJlY2VpdmVkIGxvdHMgb2Ygb2Zm + ZXJzIHRvIHdvcmsgYXQgYmlnIHRlY2ggY29tcGFuaWVzLiBXaGF0IGRyaXZl + cyBoaW0gdG8gc3RheSBpbmRlcGVuZGVudCBhbmQgd29yayBvbiBoYWNrYXRo + b24gcHJvamVjdHM/PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5UaGVyZSBhcmUgb3RoZXIgdHlwZXMgb2YgY29ycG9y + YXRlIGhhY2thdGhvbnMuIE1hbnkgb2YgdXMgYXJlIGZhbWlsaWFyIHdpdGgg + dGhlIGhhY2thdGhvbiB3aGVyZSBhIG1hbmFnZXIgb3JkZXJzIHBpenphIGFu + ZCBzdWdnZXN0cyB0aGF0IGV2ZXJ5b25lIHN0YXlzIGF0IHRoZSBvZmZpY2Ug + bGF0ZSBmaXhpbmcgYnVncy4gU29tZSBoYWNrYXRob25zIGFyZSBoZWxkIGZv + ciBraWRzLCB0byBnZXQgdGhlbSBleHBvc2VkIHRvIHRlY2hub2xvZ2llcyBl + YXJseSBvbi48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPkxpemV0dGUgQ2hhcG1hbiBpcyBhIHJlcG9ydGVyIGF0IEJs + b29tYmVyZywgd2hlcmUgc2hlIHdyaXRlcyBhYm91dCB0ZWNobm9sb2d5LCBi + dXNpbmVzcywgYW5kIG5ld3MuIEkgd2FzIGZhc2NpbmF0ZWQgYnkgaGVyIHN0 + b3J5IGFib3V0IGhhY2thdGhvbnMsIGFuZCBpdCB3YXMgZ3JlYXQgdG8gaGF2 + ZSBoZXIgb24gdGhlIHNob3cgdG8gdGFsayBhYm91dCB0aGUgY2hhcmFjdGVy + cyBvZiB0aGUgaGFja2F0aG9uIGNpcmN1aXQsIGFuZCB3aHkgY29ycG9yYXRp + b25zIHNwb25zb3IgaGFja2F0aG9ucy48L3NwYW4+PC9wPgo8cD48c3BhbiBz + dHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkxpemV0dGUgaGFzIDwvc3Bhbj48 + YSBocmVmPSJodHRwczovL3d3dy5ibG9vbWJlcmcuY29tL25ld3MvYXJ0aWNs + ZXMvMjAxNy0wNC0wNC9ob3ctdGVjaC1jb21wYW5pZXMtc3Rha2Utb3V0LWhh + Y2thdGhvbnMtZm9yLWZ1dHVyZS1zdGFycyI+PHNwYW4gc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij5jby1ob3N0ZWQgdGhlIEJsb29tYmVyZyBEZWNyeXB0 + ZWQgcG9kY2FzdDwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij4gaW4gYW4gZXBpc29kZSBhYm91dCBoYWNrYXRob25zLiBEZWNy + eXB0ZWQgaXMgb25lIG9mIG15IGZhdm9yaXRlIHBvZGNhc3RzIGFuZCBJIHJl + Y29tbWVuZCBjaGVja2luZyBpdCBvdXQuPC9zcGFuPjwvcD4KPGgyPlNob3cg + Tm90ZXM8L2gyPgo8cD48YSBocmVmPSJodHRwczovL3d3dy5ibG9vbWJlcmcu + Y29tL25ld3MvZmVhdHVyZXMvMjAxNy0wNC0wNC90aGVzZS1oYWNrYXRob24t + aHVzdGxlcnMtbWFrZS10aGVpci1saXZpbmctZnJvbS1jb3Jwb3JhdGUtY29k + aW5nLWNvbnRlc3RzIj5UaGVzZSBIYWNrYXRob24gSHVzdGxlcnMgTWFrZSBU + aGVpciBMaXZpbmcgZnJvbSBDb3Jwb3JhdGUgQ29kaW5nIENvbnRlc3RzPC9h + PjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3Zp + ZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGxpc3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8v + d2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3Nl + ZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9m + IGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRo + YW5rcyB0byBXZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGgg + U0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2 + L1NFRDM1OC1IYWNrYXRob25zLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0 + aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3Jz + PC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNt + LTYiPjxhIGhyZWY9Imh0dHA6Ly9keW4uY29tL3NlZGFpbHkiPjxpbWcgZGF0 + YS1hdHRhY2htZW50LWlkPSIzMzQ0IiBkYXRhLXBlcm1hbGluaz0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9keW4vZHlu + X2xvZ29fYmxhY2tfdGV4dC1zdmcvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6 + Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2 + Z18ucG5nP2ZpdD0xMDI0JTJDNDAyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw0 + MDIiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9 + InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Ny + ZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxf + bGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtv + cmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10 + aXRsZT0iRHluX2xvZ29fKGJsYWNrX3RleHQpLnN2ZyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + Zml0PTMwMCUyQzExOCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + Zml0PTEwMjQlMkM0MDIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzM0 + NCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTMwMCUy + QzExOCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18ucG5nP3Jlc2l6ZT0zMDAl + MkMxMTggMzAwdywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5f + bG9nb19ibGFja190ZXh0LnN2Z18ucG5nP3Jlc2l6ZT03NjglMkMzMDIgNzY4 + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFj + a190ZXh0LnN2Z18ucG5nP3c9MTAyNCAxMDI0dywgaHR0cHM6Ly9pMS53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18ucG5nP3Jl + c2l6ZT03MjAlMkMyODMgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4 + KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwv + ZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+T3JhY2xlIER5biBw + cm92aWRlcyBETlMgdGhhdCBpcyBhcyBkeW5hbWljIGFuZCBpbnRlbGxpZ2Vu + dCBhcyB5b3VyIGFwcGxpY2F0aW9ucy4gRHluIEROUyBnZXRzIHlvdXIgdXNl + cnMgdG8gdGhlIHJpZ2h0IGNsb3VkIHNlcnZpY2UsIENETiwgb3IgZGF0YSBj + ZW50ZXIsIHVzaW5nIGludGVsbGlnZW50IHJlc3BvbnNlIHRvIHN0ZWVyIHRy + YWZmaWMgYmFzZWQgb24gYnVzaW5lc3MgcG9saWNpZXMsIGFzIHdlbGwgYXMg + cmVhbC10aW1lIGludGVybmV0IGNvbmRpdGlvbnMsIGxpa2UgdGhlIHNlY3Vy + aXR5IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgbmV0d29yayBwYXRoLiBHZXQg + c3RhcnRlZCB3aXRoIGEgZnJlZSAzMC1kYXkgdHJpYWwgZm9yIHlvdXIgYXBw + bGljYXRpb24gYnkgZ29pbmcgdG88YSBocmVmPSJodHRwOi8vZHluLmNvbS9z + ZWRhaWx5Ij4gZHluLmNvbS9zZWRhaWx5PC9hPi4gwqBBZnRlciB0aGUgZnJl + ZSB0cmlhbCwgRHlu4oCZcyBkZXZlbG9wZXIgcGxhbnMgc3RhcnQgYXQganVz + dCAkNyBhIG1vbnRoIGZvciB3b3JsZC1jbGFzcyBETlMuIFJldGhpbmsgRE5T + LiBHbyB0byA8YSBocmVmPSJodHRwOi8vZHluLmNvbS9zZWRhaWx5Ij5keW4u + Y29tL3NlZGFpbHk8L2E+wqB0byBsZWFybiBtb3JlIGFuZCBnZXQgeW91ciBm + cmVlIHRyaWFsIG9mIER5biBETlMuPC9kaXY+PGJyIC8+CjwvcD48L2Rpdj4K + PGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48 + L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ibG9ja2NoYWluIj48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzYzMCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvY29u + c2Vuc3lzLWxvZ28vY29uc2Vuc3lzX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5w + bmc/Zml0PTQwMiUyQzI0NyIgZGF0YS1vcmlnLXNpemU9IjQwMiwyNDciIGRh + dGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVv + dDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + cmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2Nv + cHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3Ro + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRh + dGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0i + Q29uc2VuU3lzX2xvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0 + YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9D + b25zZW5TeXNfbG9nby5wbmc/Zml0PTMwMCUyQzE4NCIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0NvbnNlblN5c19s + b2dvLnBuZz9maXQ9NDAyJTJDMjQ3IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWlt + YWdlLTM2MzAgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE4 + NCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + Ni9Db25zZW5TeXNfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE4NCAzMDB3LCBo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0NvbnNlblN5c19sb2dvLnBu + Zz93PTQwMiA0MDJ3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3 + LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJy + IC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5UaGUgQ29uc2VuU3lzIEFjYWRl + bXkgRGV2ZWxvcGVyIFByb2dyYW0gaXMgYSBmcmVlLCBoaWdobHkgc2VsZWN0 + aXZlIGFuZCBjYXJlZnVsbHkgZGVzaWduZWQgMTAtd2VlayBvbmxpbmUgY3Vy + cmljdWx1bSB3aGVyZSB5b3Ugd2lsbCBpbW1lcnNlIHlvdXJzZWxmIGluIGJs + b2NrY2hhaW4gZGV2ZWxvcG1lbnQgYW5kIGVhcm4gYSBDb25zZW5TeXMgYmxv + Y2tjaGFpbiBjZXJ0aWZpY2F0aW9uLiBCeSBjb21wbGV0aW5nIHRoZSBwcm9n + cmFtLCB5b3Ugd2lsbCBiZSBlbGlnaWJsZSBmb3IgaW1tZWRpYXRlIGhpcmUg + YnkgQ29uc2VuU3lzLCBhIGxlYWRlciBpbiB0aGUgYmxvY2tjaGFpbiBzcGFj + ZSwgZm9jdXNlZCBvbiB0aGUgRXRoZXJldW0gcGxhdGZvcm0uIElmIHlvdSB3 + YW50IHRvIGxlYXJuIGFib3V0IGJsb2NrY2hhaW5zLCBhbmQgYmVjb21lIGEg + ZGV2ZWxvcGVyIGZvciBibG9ja2NoYWluIHRlY2hub2xvZ3ksIGNoZWNrIG91 + dCB0aGUgQ29uc2VuU3lzIGFjYWRlbXksIGJ5IGdvaW5nIHRvwqA8YSBocmVm + PSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ibG9ja2No + YWluIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+c29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS9ibG9ja2NoYWluPC9hPi4gwqAgwqAgQXBw + bGljYXRpb25zIGFyZSBvcGVuIGZyb20gbm93IHVudGlsIEp1bHkgMSBzbyB5 + b3Ugd2FudCB0byBhcHBseSBzb29uLsKgVG8gbGVhcm4gbW9yZSBhYm91dCBD + b25zZW5TeXMgYW5kIEV0aGVyZXVtLCBwbGVhc2UgdmlzaXTCoDxhIGhyZWY9 + Imh0dHA6Ly9jb25zZW5zeXMubmV0LyI+Y29uc2Vuc3lzLm5ldDwvYT4sIGFu + ZCBzaWduIHVwIGZvciB0aGUgQ29uc2VuU3lzIHdlZWtseSBuZXdzbGV0dGVy + IGZvciBldmVyeXRoaW5nIHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIGJs + b2NrY2hhaW4gc3BhY2UuCjxwPjwvcD48L2Rpdj48L3A+CjxwPjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9ncmFwZWNpdHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjMyIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9n + cmFwZS1jaXR5LWxvZ28vZ3JhcGVjaXR5LWxvZ28tcHVycGxlLyIgZGF0YS1v + cmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvZ3JhcGVj + aXR5LWxvZ28tcHVycGxlLnBuZz9maXQ9MzExJTJDNzgiIGRhdGEtb3JpZy1z + aXplPSIzMTEsNzgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iZ3JhcGVjaXR5LWxvZ28tcHVycGxlIiBkYXRhLWlt + YWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDYvZ3JhcGVjaXR5LWxvZ28tcHVycGxlLnBu + Zz9maXQ9MzAwJTJDNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9nby1wdXJwbGUucG5nP2Zp + dD0zMTElMkM3OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjMyIHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + Z3JhcGVjaXR5LWxvZ28tcHVycGxlLnBuZz9yZXNpemU9MzAwJTJDNzUiIGFs + dD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvZ3Jh + cGVjaXR5LWxvZ28tcHVycGxlLnBuZz9yZXNpemU9MzAwJTJDNzUgMzAwdywg + aHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9ncmFwZWNpdHktbG9nby1w + dXJwbGUucG5nP3c9MzExIDMxMXciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBw + eCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48 + L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+QW5ndWxhci4gUmVhY3QuIFZ1ZS4gS25v + Y2tvdXQuIFRoZSBmb3JlY2FzdCBjYWxscyBmb3IgYSBmbHVycnkgb2YgZnJh + bWV3b3JrcywgbWFraW5nIGl0IGhhcmQgdG8gZGVjaWRlIHdoaWNoIHRvIHVz + ZS4gT3IgbWF5YmUgeW91IGFscmVhZHkgaGF2ZSBhIHByZWZlcnJlZCBKYXZh + U2NyaXB0IGZyYW1ld29yaywgYnV0IHdhbnQgdG8gdHJ5IG91dCBhIG5ldyBv + bmUuIFdpam1vIGFuZCBHcmFwZSBDaXR5IGJyaW5nIHlvdSB0aGUgPC9zcGFu + PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SG93IHRvIENo + b29zZSB0aGUgQmVzdCBKYXZhU2NyaXB0IEZyYW1ld29yayBmb3IgWW91ciBU + ZWFtPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + PiBlYm9vay7CoDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQw + MDsiPkFuZCBiZXN0IG9mIGFsbCwgdGhpcyBlYm9vayBpcyBmcmVlLiBEb3du + bG9hZCB5b3VyIGNvcHkgdG9kYXkgdG8gaGVscCB5b3UgY2hvb3NlIGEgZnJh + bWV3b3JrIGZvciB5b3VyIHdvcmsgYXQgPC9zcGFuPjxhIGhyZWY9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2dyYXBlY2l0eSI+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2dyYXBlY2l0eS48L3NwYW4+PC9hPjwvZGl2PjwvcD4K + PHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJz + cDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVy + bD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L0hhY2thdGhv + bnMubXAzIiBsZW5ndGg9IjU1MDUzNjYzIiB0eXBlPSJhdWRpby9tcGVnIiAv + PgoJCTxpdHVuZXM6c3VidGl0bGU+UHJvZmVzc2lvbmFsIGhhY2thdGhvbiBw + cm9ncmFtbWVycyB0cmF2ZWwgYXJvdW5kIHRoZSBoYWNrYXRob24gY2lyY3Vp + dCwgd2lubmluZyBtZXJjaGFuZGlzZSBhbmQgc21hbGwgY2FzaCBwcml6ZXMu + IFRoZXJlIGFyZSBlbm91Z2ggaGFja2F0aG9ucyB0aGF0IHNvbWUgcHJvZ3Jh + bW1lcnMgYWN0dWFsbHkgZG8gdGhpcyBhcyBhIGZ1bGwtdGltZSBqb2IuIEZv + ciBleGFtcGxlLCBQZXRlciBNYSw8L2l0dW5lczpzdWJ0aXRsZT4KCQk8aXR1 + bmVzOnN1bW1hcnk+UHJvZmVzc2lvbmFsIGhhY2thdGhvbiBwcm9ncmFtbWVy + cyB0cmF2ZWwgYXJvdW5kIHRoZSBoYWNrYXRob24gY2lyY3VpdCwgd2lubmlu + ZyBtZXJjaGFuZGlzZSBhbmQgc21hbGwgY2FzaCBwcml6ZXMuIFRoZXJlIGFy + ZSBlbm91Z2ggaGFja2F0aG9ucyB0aGF0IHNvbWUgcHJvZ3JhbW1lcnMgYWN0 + dWFsbHkgZG8gdGhpcyBhcyBhIGZ1bGwtdGltZSBqb2IuIEZvciBleGFtcGxl + LCBQZXRlciBNYSwgYSBwcm9ncmFtbWVyIHdobyBkZXNjcmliZXMgaGltc2Vs + ZiBhcyBhIOKAnHJhcGlkIHByb3RvdHlwZSBzcGVjaWFsaXN0LuKAnSBQZXRl + ciBpcyBhIGdyZWF0IHByb2dyYW1tZXIsIGFuZCBoZSBoYXMgcmVjZWl2ZWQg + bG90cyBvZiBvZmZlcnMgdG8gd29yayBhdCBiaWcgdGVjaCBjb21wYW5pZXMu + IFdoYXQgZHJpdmVzIGhpbSB0byBzdGF5IGluZGVwZW5kZW50IGFuZCB3b3Jr + IG9uIGhhY2thdGhvbkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1t + YXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERh + aWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48 + L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU3OjEwPC9p + dHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHByZXNz + OmZlZWQtYWRkaXRpb25zOjEiPjM2NjM8L3Bvc3QtaWQ+CQk8L2l0ZW0+DQoJ + PGl0ZW0+DQoJCTx0aXRsZT5FcGlzb2RlIDUwMCB3aXRoIFByYW5heSBNb2hh + biBhbmQgRXJpa2EgSG9rYW5zb248L3RpdGxlPg0KCQk8bGluaz5odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzIxL2VwaXNv + ZGUtNTAwLXdpdGgtcHJhbmF5LW1vaGFuLWFuZC1lcmlrYS1ob2thbnNvbi88 + L2xpbms+DQoJCTxwdWJEYXRlPldlZCwgMjEgSnVuIDIwMTcgMDk6MDA6MjIg + KzAwMDA8L3B1YkRhdGU+DQoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+ + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3A9MzY1OTwv + Z3VpZD4NCgkJPGNvbW1lbnRzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTcvMDYvMjEvZXBpc29kZS01MDAtd2l0aC1wcmFuYXkt + bW9oYW4tYW5kLWVyaWthLWhva2Fuc29uLyNjb21tZW50czwvY29tbWVudHM+ + DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA2LzIxL2VwaXNvZGUtNTAwLXdpdGgtcHJhbmF5 + LW1vaGFuLWFuZC1lcmlrYS1ob2thbnNvbi9mZWVkLzwvd2Z3OmNvbW1lbnRS + c3M+DQoJCTxzbGFzaDpjb21tZW50cz4xPC9zbGFzaDpjb21tZW50cz4NCgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0J1c2luZXNzIGFuZCBQaGlsb3NvcGh5 + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0VyaWthIEhva2Fu + c29uXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbSmVmZiBN + ZXllcnNvbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1By + YW5heSBNb2hhbl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W3Byb2dyYW1taW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbU25hcF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1Nv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGJ1c2luZXNzXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbdGVjaCBuZXdzXV0+PC9jYXRlZ29y + eT4KCQk8ZGVzY3JpcHRpb24+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkg + aGFzIGJlZW4gYXJvdW5kIGZvciBhbG1vc3QgdHdvIHllYXJzLiBJbiB0aGlz + IGVwaXNvZGUgUHJhbmF5IE1vaGFuIGFuZCBFcmlrYSBIb2thbnNvbiBqb2lu + IG1lIGZvciBhIHJlZmxlY3Rpb24gb24gd2hlcmUgd2UgaGF2ZSBiZWVuIGFu + ZCB3aGVyZSB3ZSBhcmUgZ29pbmcuIFByYW5heSB3YXMgdGhlIHByb2R1Y2Vy + IG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGZvciB0aGUgZmlyc3Qg + eWVhciwgYWZ0ZXIgd2hpY2ggaGUgbGVmdCBhbmQgd2VudCB0byB3b3JrIGF0 + IFNuYXBjaGF0LiBFcmlrYSBqb2luZWQgdGhlIHNob3cgOSBtb250aHMgYWdv + IHRvIHdvcmsgb24gb3BlcmF0aW9ucywgYWQgc2FsZXMsIGFuZCBleHBhbnNp + b24mbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5n + JnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNi8yMS9lcGlzb2RlLTUwMC13aXRoLXByYW5heS1t + b2hhbi1hbmQtZXJpa2EtaG9rYW5zb24vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJl + YWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJ + CTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29u + dGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5z + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmln + LXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0i + YWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJv + cmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsg + bWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTUvMDgvc2VkMjEucG5nP3Jlc2l6ZT0x + NzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48 + L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHkgaGFzIGJlZW4gYXJvdW5kIGZvciBhbG1v + c3QgdHdvIHllYXJzLiBJbiB0aGlzIGVwaXNvZGUgUHJhbmF5IE1vaGFuIGFu + ZCBFcmlrYSBIb2thbnNvbiBqb2luIG1lIGZvciBhIHJlZmxlY3Rpb24gb24g + d2hlcmUgd2UgaGF2ZSBiZWVuIGFuZCB3aGVyZSB3ZSBhcmUgZ29pbmcuIFBy + YW5heSB3YXMgdGhlIHByb2R1Y2VyIG9mIFNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5IGZvciB0aGUgZmlyc3QgeWVhciwgYWZ0ZXIgd2hpY2ggaGUgbGVm + dCBhbmQgd2VudCB0byB3b3JrIGF0IFNuYXBjaGF0LiBFcmlrYSBqb2luZWQg + dGhlIHNob3cgOSBtb250aHMgYWdvIHRvIHdvcmsgb24gb3BlcmF0aW9ucywg + YWQgc2FsZXMsIGFuZCBleHBhbnNpb24gcGxhbnMuPC9zcGFuPjwvcD4KPHA+ + PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5UaGUgdGhlc2lzIG9m + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGhhcyBhbHdheXMgYmVlbiB0 + aGF0IHNlcmlvdXMsIGluLWRlcHRoIG1hdGVyaWFsIGFib3V0IHNvZnR3YXJl + IHByb3ZpZGVzIHZhbHVlLiBSaWdodCBub3cgd2UgYXJlIGEgcG9kY2FzdCBh + Ym91dCBzb2Z0d2FyZSBlbmdpbmVlcmluZy4gV2UgYXJlIHBsYW5uaW5nIGV4 + cGFuc2lvbiBpbnRvIGEgbGFyZ2VyIG1lZGlhIGNvbXBhbnkgd2l0aCB2aWRl + bywgYSBtb2JpbGUgYXBwLCBhIGRlc2t0b3AgcGxhdGZvcm0sIG1vcmUgcG9k + Y2FzdHMsIGFuZCBtb3JlIGpvdXJuYWxpc20uIFByYW5heSwgRXJpa2EsIGFu + ZCBJIGhhdmUgY3JhZnRlZCB0aGUgdmlzaW9uIGZvciBTb2Z0d2FyZSBFbmdp + bmVlcmluZyBEYWlseS4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZv + bnQtd2VpZ2h0OiA0MDA7Ij5XZSB3YW50IHNlcmlvdXMsIGluc3BpcmluZywg + dGVjaG5pY2FsIGNvbnRlbnQgdG8gYmUgbW9yZSB3aWRlc3ByZWFkLiBXZSBr + bm93IHRoYXQgeW91IGRvIHRvby4gSWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rp + b25zIHlvdSB3b3VsZCBsaWtlIHRvIHNlZSBmcm9tIHVzLCB5b3UgY2FuIGFs + d2F5cyBlbWFpbCBtZTogPC9zcGFuPjxhIGhyZWY9Im1haWx0bzpqZWZmQHNv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20iPjxzcGFuIHN0eWxlPSJmb250 + LXdlaWdodDogNDAwOyI+amVmZkBzb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsi + Pi4gPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0 + MDA7Ij5JdOKAmXMgYWxyZWFkeSBiZWVuIDUwMCBlcGlzb2RlcyBhbmQgSSBh + bSBldmVuIG1vcmUgZXhjaXRlZCBhYm91dCBTb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSB0aGFuIEkgd2FzIHdoZW4gSSBiZWdhbiYjODIxMTtsb29raW5n + IGZvcndhcmQgdG8gZXBpc29kZSAxMDAwLjwvc3Bhbj48L3A+CjxoMj5UcmFu + c2NyaXB0PC9oMj4KPHA+VHJhbnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0 + IFBvZGNhc3RzLiBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5l + cnMgY2FuIGdvIHRvwqA8YSBocmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3Rz + LmNvbS9zZWQiPndlZWRpdHBvZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQg + MjAlIG9mZiB0aGUgZmlyc3QgdHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5n + IGFuZCB0cmFuc2NyaXB0aW9uIHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRp + dCBQb2RjYXN0cyBmb3IgcGFydG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVh + c2XCoDxhIGhyZWY9Imh0dHBzOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9TRUQzNTctRXBpc29k + ZS01MDAucGRmIj5jbGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMg + dHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNs + YXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0i + aHR0cDovL2hpcmVkLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkiPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIxNTgzIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8wMS8w + NC9kaXN0cmlidXRlZC1zeXN0ZW1zLXdpdGgtYWx2YXJvLXZpZGVsYS9oaXJl + ZC1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgZGF0YS1v + cmlnLXNpemU9IjI2MCwxMzAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBk + YXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVl + ZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7 + fSIgZGF0YS1pbWFnZS10aXRsZT0iaGlyZWQtbG9nbyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8w + MS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMwIiBjbGFzcz0iYWxpZ25s + ZWZ0IHdwLWltYWdlLTE1ODMgc2l6ZS1mdWxsIiBzcmM9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTYvMDEvaGlyZWQtbG9nby5qcGc/cmVzaXplPTI2MCUy + QzEzMCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+ + CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5IYXZlIHlvdSBiZWVuIHRoaW5raW5n + IHlvdeKAmWQgYmUgaGFwcGllciBhdCBhIG5ldyBqb2I/IElmIHlvdeKAmXJl + IGRyZWFtaW5nIGFib3V0IGEgbmV3IGpvYiBhbmQgaGF2ZSBiZWVuIHdhaXRp + bmcgZm9yIHRoZSByaWdodCB0aW1lIHRvIG1ha2UgYSBtb3ZlLCBnbyB0b8Kg + PGEgaHJlZj0iaHR0cDovL2hpcmVkLmNvbS9zZWRhaWx5Ij5oaXJlZC5jb20v + c2VkYWlseTwvYT4uIEhpcmVkIG1ha2VzIGZpbmRpbmcgd29yayBlbmpveWFi + bGUuIEhpcmVkIHVzZXMgYW4gYWxnb3JpdGhtaWMgam9iLW1hdGNoaW5nIHRv + b2wgaW4gY29tYmluYXRpb24gd2l0aCBhIHRhbGVudCBhZHZvY2F0ZSB3aG8g + d2lsbCB3YWxrIHlvdSB0aHJvdWdoIHRoZSBwcm9jZXNzIG9mIGZpbmRpbmcg + YSBiZXR0ZXIgam9iLiBDaGVjayBvdXTCoDxhIGhyZWY9Imh0dHA6Ly9oaXJl + ZC5jb20vc2VkYWlseSI+aGlyZWQuY29tL3NlZGFpbHk8L2E+wqB0byBnZXQg + YSBzcGVjaWFsIG9mZmVyIGZvciBTb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWls + eSBsaXN0ZW5lcnMmIzgyMTE7YSAkNjAwIHNpZ25pbmcgYm9udXMgZnJvbSBI + aXJlZCB3aGVuIHlvdSBmaW5kIHRoYXQgZ3JlYXQgam9iIHRoYXQgZ2l2ZXMg + eW91IHRoZSByZXNwZWN0IGFuZCBzYWxhcnkgdGhhdCB5b3UgZGVzZXJ2ZSBh + cyBhIHRhbGVudGVkIGVuZ2luZWVyLsKgPC9kaXY+PGJyIC8+CjwvcD48L2Rp + dj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rp + dj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRw + czovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZGF0YWRvZyI+PGlt + ZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMyMzYiIGRhdGEtcGVybWFsaW5rPSJo + dHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2Rh + dGFkb2cvZGF0YWRvZ19sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAy + NCUyQzUxMiIgZGF0YS1vcmlnLXNpemU9IjEwMjQsNTEyIiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRhdGFkb2df + bG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9n + by5wbmc/Zml0PTMwMCUyQzE1MCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/Zml0PTEw + MjQlMkM1MTIiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzIzNiBzaXpl + LW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2Rh + dGFkb2dfbG9nby5wbmc/cmVzaXplPTMwMCUyQzE1MCIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28u + cG5nP3Jlc2l6ZT0zMDAlMkMxNTAgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03NjglMkMzODQg + NzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xv + Z28ucG5nP3c9MTAyNCAxMDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wMi9kYXRhZG9nX2xvZ28ucG5nP3Jlc2l6ZT03MjAlMkMzNjAgNzIwdyIg + c2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNz + PSJjb2wtc20tNiI+RGF0YWRvZyBicmluZ3MgeW91IHZpc2liaWxpdHkgaW50 + byBldmVyeSBwYXJ0IG9mIHlvdXIgaW5mcmFzdHJ1Y3R1cmUsIHBsdXMgQVBN + IGZvciBtb25pdG9yaW5nIHlvdXIgYXBwbGljYXRpb24mIzgyMTc7cyBwZXJm + b3JtYW5jZS4gRGFzaGJvYXJkaW5nLCBjb2xsYWJvcmF0aW9uIHRvb2xzLCBh + bmQgYWxlcnRzIGxldCB5b3UgZGV2ZWxvcCB5b3VyIG93biB3b3JrZmxvdyBm + b3Igb2JzZXJ2YWJpbGl0eSBhbmQgaW5jaWRlbnQgcmVzcG9uc2UuIERhdGFk + b2cgaW50ZWdyYXRlcyBzZWFtbGVzc2x5IHdpdGggYWxsIG9mIHlvdXIgYXBw + cyBhbmQgc3lzdGVtcywgZnJvbSBTbGFjayB0byBBbWF6b24gV2ViIFNlcnZp + Y2VzLCBzbyB5b3UgY2FuIGdldCB2aXNpYmlsaXR5IGluIG1pbnV0ZXMuIEdv + IHRvwqA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9kYXRhZG9nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBu + b29wZW5lciBub3JlZmVycmVyIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + PHdicj48L3dicj5jb20vZGF0YWRvZzwvYT7CoHRvIGdldCBzdGFydGVkIHdp + dGggRGF0YWRvZyBhbmQgZ2V0IGEgZnJlZSB0LXNoaXJ0LiA8L2Rpdj48L3A+ + CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFz + cz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48 + YSBocmVmPSJodHRwOi8vV2l4LmNvbS93aXgtbHAvU0VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjMyNDkiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL3dpeC93 + aXgtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzAyL3dpeC1sb2dvLmpwZz9maXQ9MTcwOCUyQzQ1MSIgZGF0YS1v + cmlnLXNpemU9IjE3MDgsNDUxIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MSZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9IndpeC1sb2dvIiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP2ZpdD0zMDAlMkM3OSIgZGF0 + YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL3dp + eC1sb2dvLmpwZz9maXQ9MTAyNCUyQzI3MCIgY2xhc3M9ImFsaWdubGVmdCB3 + cC1pbWFnZS0zMjQ5IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP3Jlc2l6ZT0zMDAlMkM3OSIg + YWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93 + aXgtbG9nby5qcGc/cmVzaXplPTMwMCUyQzc5IDMwMHcsIGh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP3Jlc2l6ZT03NjglMkMy + MDMgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9n + by5qcGc/cmVzaXplPTEwMjQlMkMyNzAgMTAyNHcsIGh0dHBzOi8vaTEud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP3Jlc2l6ZT03MjAlMkMxOTAg + NzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+UmVhZHkgdG8gYnVpbGQgeW91ciBvd24gc3R1 + bm5pbmcgd2Vic2l0ZT8gR28gdG8gPGEgaHJlZj0iaHR0cDovL3dpeC5jb20i + PldpeC5jb208L2E+IGFuZCBzdGFydCBmb3IgZnJlZSEgV2l0aCBXaXgsIHlv + dSBjYW4gY2hvb3NlIGZyb20gaHVuZHJlZHMgb2YgYmVhdXRpZnVsLCBkZXNp + Z25lci1tYWRlIHRlbXBsYXRlcy4gU2ltcGx5IGRyYWcgYW5kIGRyb3AgdG8g + Y3VzdG9taXplIGFueXRoaW5nIGFuZCBldmVyeXRoaW5nLiBBZGQgeW91ciB0 + ZXh0LCBpbWFnZXMsIHZpZGVvcyBhbmQgbW9yZS4gV2l4IG1ha2VzIGl0IGVh + c3kgdG8gZ2V0IHlvdXIgc3R1bm5pbmcgd2Vic2l0ZSBsb29raW5nIGV4YWN0 + bHkgdGhlIHdheSB5b3Ugd2FudC4gUGx1cywgeW91ciBzaXRlIGlzIG1vYmls + ZSBvcHRpbWl6ZWQsIHNvIHlvdSYjODIxNztsbCBsb29rIGFtYXppbmcgb24g + YW55IGRldmljZS4gV2hhdGV2ZXIgeW91IG5lZWQgYSB3ZWJzaXRlIGZvciwg + V2l4IGhhcyB5b3UgY292ZXJlZC4gU28sIHNob3djYXNlIHlvdXIgdGFsZW50 + cy4gU3RhcnQgdGhhdCBkZXYgYmxvZywgZGV0YWlsaW5nIHlvdXIgbGF0ZXN0 + IHByb2plY3RzLiBPdmVyIG9uZS1odW5kcmVkLW1pbGxpb24gcGVvcGxlIGNo + b29zZSBXaXggdG8gY3JlYXRlIHRoZWlyIHdlYnNpdGUgJiM4MjExOyB3aGF0 + IGFyZSB5b3Ugd2FpdGluZyBmb3I/IE1ha2UgeW91cnMgaGFwcGVuIHRvZGF5 + LiBJdOKAmXMgZWFzeSBhbmQgZnJlZS4gQW5kIHdoZW4geW914oCZcmUgcmVh + ZHkgdG8gdXBncmFkZSwgdXNlIHRoZSBwcm9tbyBjb2RlIDxiPlNFRGFpbHk8 + L2I+IGZvciBhIHNwZWNpYWwgU0UgRGFpbHkgbGlzdGVuZXIgZGlzY291bnQu + IFRlcm1zIGFuZCBjb25kaXRpb25zIGFwcGx5LiBGb3IgbW9yZSBkZXRhaWxz + LCBnbyB0byA8YSBocmVmPSJodHRwOi8vV2l4LmNvbS93aXgtbHAvU0VkYWls + eSI+V2l4LmNvbS93aXgtbHAvU0VkYWlseTwvYT4uIENyZWF0ZSB5b3VyIHN0 + dW5uaW5nIHdlYnNpdGUgdG9kYXkgd2l0aCA8YSBocmVmPSJodHRwOi8vd2l4 + LmNvbSI+V2l4LmNvbTwvYT4uwqA8L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pjwv + cD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxpbWcgZGF0YS1hdHRhY2ht + ZW50LWlkPSIzNjU2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xOS9pb3QtZWRnZS13aXRo + LW9saXZpZXItYmxvY2gvZ2F0c2J5bG9nby8iIGRhdGEtb3JpZy1maWxlPSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0dhdHNieUxvZ28ucG5nP2Zp + dD00MjglMkMxOTQiIGRhdGEtb3JpZy1zaXplPSI0MjgsMTk0IiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkdhdHNi + eUxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0t + ZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9HYXRzYnlMb2dv + LnBuZz9maXQ9MzAwJTJDMTM2IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDYvR2F0c2J5TG9nby5wbmc/Zml0PTQyOCUy + QzE5NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjU2IHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvR2F0c2J5 + TG9nby5wbmc/cmVzaXplPTMwMCUyQzEzNiIgYWx0PSIiIHNyY3NldD0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9HYXRzYnlMb2dvLnBuZz9yZXNp + emU9MzAwJTJDMTM2IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvR2F0c2J5TG9nby5wbmc/dz00MjggNDI4dyIgc2l6ZXM9IihtYXgtd2lk + dGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEi + IC8+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5HYXRzYnkg + aXMgYSBwbGF0Zm9ybSBmb3IgaW1wcm92aW5nIHlvdXIgY29udmVyc2lvbnMu + IEl0IGVuYWJsZXMgY3VzdG9tZXJzIHRvIGluY3JlYXNlIGNvbnZlcnNpb24g + dGhyb3VnaCBlbGVnYW50LCBmZWF0dXJlLXJpY2ggcHJvbW90aW9ucyB0aGF0 + IGNhcHR1cmUgZW1haWwgYWRkcmVzc2VzIGFuZCBzb2NpYWwgcHJvZmlsZSBk + YXRhIGVhcmx5IGluIHRoZSBjb252ZXJzaW9uIGZ1bm5lbC4gSWYgaW50ZXJl + c3RlZCBpbiBiZWluZyBhbW9uZyB0aGUgZmlyc3QgdG8gdXNlIHRoZSBHYXRz + YnkgQVBJLCBjb250YWN0IDxhIGhyZWY9Im1haWx0bzphcGlAdGhpbmtnYXRz + YnkuY29tIj5hcGlAdGhpbmtnYXRzYnkuY29tPC9hPjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRl + bnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmlj + LmxpYnN5bi5jb20vc2VkYWlseS9FcGlzb2RlNTAwLm1wMyIgbGVuZ3RoPSI1 + OTQyOTU4MCIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRp + dGxlPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGhhcyBiZWVuIGFyb3Vu + ZCBmb3IgYWxtb3N0IHR3byB5ZWFycy4gSW4gdGhpcyBlcGlzb2RlIFByYW5h + eSBNb2hhbiBhbmQgRXJpa2EgSG9rYW5zb24gam9pbiBtZSBmb3IgYSByZWZs + ZWN0aW9uIG9uIHdoZXJlIHdlIGhhdmUgYmVlbiBhbmQgd2hlcmUgd2UgYXJl + IGdvaW5nLiBQcmFuYXkgd2FzIHRoZSBwcm9kdWNlciBvZiBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBmb3IgdGhlIGZpcnN0IC4uLjwvaXR1bmVzOnN1 + YnRpdGxlPgoJCTxpdHVuZXM6c3VtbWFyeT5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseSBoYXMgYmVlbiBhcm91bmQgZm9yIGFsbW9zdCB0d28geWVhcnMu + IEluIHRoaXMgZXBpc29kZSBQcmFuYXkgTW9oYW4gYW5kIEVyaWthIEhva2Fu + c29uIGpvaW4gbWUgZm9yIGEgcmVmbGVjdGlvbiBvbiB3aGVyZSB3ZSBoYXZl + IGJlZW4gYW5kIHdoZXJlIHdlIGFyZSBnb2luZy4gUHJhbmF5IHdhcyB0aGUg + cHJvZHVjZXIgb2YgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkgZm9yIHRo + ZSBmaXJzdCB5ZWFyLCBhZnRlciB3aGljaCBoZSBsZWZ0IGFuZCB3ZW50IHRv + IHdvcmsgYXQgU25hcGNoYXQuIEVyaWthIGpvaW5lZCB0aGUgc2hvdyA5IG1v + bnRocyBhZ28gdG8gd29yayBvbiBvcGVyYXRpb25zLCBhZCBzYWxlcywgYW5k + IGV4cGFuc2lvbkNvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5 + PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0 + dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjE6MDE6NDQ8L2l0 + dW5lczpkdXJhdGlvbj4KPHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6 + ZmVlZC1hZGRpdGlvbnM6MSI+MzY1OTwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8 + aXRlbT4NCgkJPHRpdGxlPlNvZnR3YXJlIEFyY2hpdGVjdHVyZSB3aXRoIFNp + bW9uIEJyb3duPC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8yMC9zb2Z0d2FyZS1hcmNoaXRl + Y3R1cmUtd2l0aC1zaW1vbi1icm93bi88L2xpbms+DQoJCTxwdWJEYXRlPlR1 + ZSwgMjAgSnVuIDIwMTcgMDk6MDA6NDEgKzAwMDA8L3B1YkRhdGU+DQoJCTxn + dWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vP3A9MzY0MTwvZ3VpZD4NCgkJPGNvbW1lbnRzPmh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMjAv + c29mdHdhcmUtYXJjaGl0ZWN0dXJlLXdpdGgtc2ltb24tYnJvd24vI2NvbW1l + bnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50UnNzPmh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMjAvc29mdHdhcmUt + YXJjaGl0ZWN0dXJlLXdpdGgtc2ltb24tYnJvd24vZmVlZC88L3dmdzpjb21t + ZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+NTwvc2xhc2g6Y29tbWVudHM+ + DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtDbG91ZCBFbmdpbmVlcmluZ11d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1BvZGNhc3RdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEYXZpZCBDdXJyeV1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NpbW9uIEJyb3du + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU29mdHdhcmUg + QXJjaGl0ZWN0dXJlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbU29mdHdhcmUgQXJjaGl0ZWN0dXJlIGZvciBEZXZlbG9wZXJzXV0+PC9j + YXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU3RydWN0dXJpenJdXT48 + L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5Tb2Z0d2FyZSBhcmNoaXRlY3R1 + cmUgYWRkcmVzcyB0aGUgY2hhbGxlbmdlIG9mIGNvbW11bmljYXRpbmcgYW5k + IG5hdmlnYXRpbmcgbGFyZ2UsIGNvbXBsZXggc3lzdGVtcyB0byBzdGFrZWhv + bGRlcnMsIGJvdGggdGVjaG5pY2FsIGFuZCBub24tdGVjaG5pY2FsLiDCoE92 + ZXIgdGhlIHllYXJzIHNvZnR3YXJlIGFyY2hpdGVjdHVyZSBoYXMgZ29uZSBp + biBhbmQgb3V0IG9mIGZhc2hpb24uIMKgVG9kYXkgd2UgZGlzY3VzcyB3aHkg + c29mdHdhcmUgYXJjaGl0ZWN0dXJlIGlzIGltcG9ydGFudCwgd2hhdCBpdCBt + ZWFucyB0byBoYXZlIHNvZnR3YXJlIGFyY2hpdGVjdHVyZSwgYW5kIGhvdyB0 + byBwcm9wZXJseSBzdHJ1Y3R1cmUgdGVhbXMgYW5kIGluY29ycG9yYXRlIGFy + Y2hpdGVjdHVyZS4gVG9kYXnigJlzIHNob3cgaXMgZ3Vlc3QgaG9zdGVkIGJ5 + IERhdmlkIEN1cnJ5LiBEYXZpZCBzaXRzIGRvd24gd2l0aCBTaW1vbiBCcm93 + biB0byBkaXNjdXNzJmx0O3AmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7Y29udGlu + dWUtcmVhZGluZyZxdW90OyBocmVmPSZxdW90O2h0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMjAvc29mdHdhcmUtYXJjaGl0 + ZWN0dXJlLXdpdGgtc2ltb24tYnJvd24vJnF1b3Q7Jmd0O0NvbnRpbnVlIHJl + YWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRpb24+DQoJ + CTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRhLWF0dGFj + aG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2dsZXMtY29u + dGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFuLWJ1cm5z + LyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1vcmln + LXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRh + LWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Ft + ZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIg + ZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1pbWFnZS1k + ZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMx + NzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ni8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBjbGFzcz0i + YWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5bGU9ImJv + cmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsg + bWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBzcmM9Imh0 + dHBzOi8vaTAud3AuY29tL3Bicy50d2ltZy5jb20vcHJvZmlsZV9pbWFnZXMv + ODcwMTk2MTkxOTc5NTkzNzI4L2E5a2dUNXZyLmpwZz9yZXNpemU9MTc1JTJD + MTc1JiMwMzg7c3NsPTEiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8 + cD48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPlNvZnR3YXJlIGFy + Y2hpdGVjdHVyZSBhZGRyZXNzIHRoZSBjaGFsbGVuZ2Ugb2YgY29tbXVuaWNh + dGluZyBhbmQgbmF2aWdhdGluZyBsYXJnZSwgY29tcGxleCBzeXN0ZW1zIHRv + IHN0YWtlaG9sZGVycywgYm90aCB0ZWNobmljYWwgYW5kIG5vbi10ZWNobmlj + YWwuIMKgT3ZlciB0aGUgeWVhcnMgc29mdHdhcmUgYXJjaGl0ZWN0dXJlIGhh + cyBnb25lIGluIGFuZCBvdXQgb2YgZmFzaGlvbi4gwqBUb2RheSB3ZSBkaXNj + dXNzIHdoeSBzb2Z0d2FyZSBhcmNoaXRlY3R1cmUgaXMgaW1wb3J0YW50LCB3 + aGF0IGl0IG1lYW5zIHRvIGhhdmUgc29mdHdhcmUgYXJjaGl0ZWN0dXJlLCBh + bmQgaG93IHRvIHByb3Blcmx5IHN0cnVjdHVyZSB0ZWFtcyBhbmQgaW5jb3Jw + b3JhdGUgYXJjaGl0ZWN0dXJlLjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+VG9kYXnigJlzIHNob3cgaXMgZ3Vlc3Qg + aG9zdGVkIGJ5IERhdmlkIEN1cnJ5LiBEYXZpZCBzaXRzIGRvd24gd2l0aCBT + aW1vbiBCcm93biB0byBkaXNjdXNzIHRoZSBpbXBvcnRhbmNlIG9mIGhhdmlu + ZyBhIGNvbW1vbiBsYW5ndWFnZSBmb3Igc29mdHdhcmUgc3lzdGVtcy4gwqBT + aW1vbiBpcyBhbiBpbmRlcGVuZGVudCBjb25zdWx0YW50IHNwZWNpYWxpemlu + ZyBpbiBzb2Z0d2FyZSBhcmNoaXRlY3R1cmUsIGhlIGlzIHRoZSBhdXRob3Ig + b2YgPC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + U29mdHdhcmUgQXJjaGl0ZWN0dXJlIGZvciBEZXZlbG9wZXJzPC9zcGFuPjwv + aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPiwgYW5kIGZvdW5k + ZXIgb2YgU3RydWN0dXJpenIuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+SWYgeW91IGFyZSBpbnRlcmVzdGVkIGlu + IGhvc3RpbmcgYSBzaG93LCBjaGVjayBvdXQgPGEgaHJlZj0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaG9zdCI+c29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9ob3N0IDwvYT48L3NwYW4+PC9wPgo8aDI+U2hv + dyBOb3RlczwvaDI+Cjx1bD4KPGxpIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+PGEgaHJlZj0iaHR0cDovL2NvZGluZ3RoZWFyY2hpdGVjdHVyZS5jb20v + Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMDsiPkNvZGluZyB0aGUg + QXJjaGl0ZWN0dXJlPC9zcGFuPjwvYT48L2xpPgo8bGkgc3R5bGU9ImZvbnQt + d2VpZ2h0OiA0MDA7Ij48YSBocmVmPSJodHRwczovL2xlYW5wdWIuY29tL2Iv + c29mdHdhcmUtYXJjaGl0ZWN0dXJlIj48c3BhbiBzdHlsZT0iZm9udC13ZWln + aHQ6IDQwMDsiPlNvZnR3YXJlIEFyY2hpdGVjdHVyZSBmb3IgRGV2ZWxvcGVy + cyBib29rPC9zcGFuPjwvYT48L2xpPgo8bGkgc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij48YSBocmVmPSJodHRwczovL3N0cnVjdHVyaXpyLmNvbS8iPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U3RydWN0dXJpenI8L3Nw + YW4+PC9hPjwvbGk+CjwvdWw+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJh + bnNjcmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2Fy + ZSBFbmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBo + cmVmPSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBv + ZGNhc3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3Qg + dHdvIG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9u + IHNlcnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFy + dG5lcmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBz + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNi9TRURUMjQtU29mdHdhcmUtQXJjaGl0ZWN0dXJlLnBk + ZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3Jp + cHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9N + b25nb0RCLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0i + MzAyOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2t3bG9nb3MvbW9uZ29kYi9hdGxhcy1zcGxhc2gtMi8i + IGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEy + L2F0bGFzLXNwbGFzaC5qcGc/Zml0PTEyODAlMkM3MjAiIGRhdGEtb3JpZy1z + aXplPSIxMjgwLDcyMCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEt + aW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1l + cmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtp + c28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBk + YXRhLWltYWdlLXRpdGxlPSJhdGxhcy1zcGxhc2giIGRhdGEtaW1hZ2UtZGVz + Y3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP2ZpdD0zMDAlMkMxNjki + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8x + Mi9hdGxhcy1zcGxhc2guanBnP2ZpdD0xMDI0JTJDNTc2IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTMwMjkgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP3Jlc2l6 + ZT0zMDAlMkMxNjkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9yZXNpemU9MzAwJTJDMTY5 + IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3Bs + YXNoLmpwZz9yZXNpemU9NzY4JTJDNDMyIDc2OHcsIGh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9yZXNpemU9MTAyNCUy + QzU3NiAxMDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxh + cy1zcGxhc2guanBnP3Jlc2l6ZT03MjAlMkM0MDUgNzIwdywgaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP3c9MTI4MCAx + MjgwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+SXTigJlzIG5ldmVyIGJlZW4gZWFzaWVyIHRv + IGhpdCB0aGUgZ3JvdW5kIHJ1bm5pbmc6IE1vbmdvREIgQXRsYXMgaXMgdGhl + wqA8aT5vbmx5PC9pPsKgZGF0YWJhc2UgYXMgYSBzZXJ2aWNlIGZyb20gdGhl + IGVuZ2luZWVycyB3aG8gYnVpbHQgTW9uZ29EQi4gV2l0aCBjb250aW51b3Vz + IGJhY2t1cCwgVlBDIHBlZXJpbmcsIG1vbml0b3JpbmcsIGFuZCBzZWN1cml0 + eSBmZWF0dXJlcywgTW9uZ29EQiBBdGxhcyBnaXZlcyB5b3UgZXZlcnl0aGlu + ZyB5b3UgbmVlZCBmcm9tIE1vbmdvREIgaW4gYW4gZWFzeS10by11c2Ugc2Vy + dmljZS4gQW5kIGV2ZW4gaWYgeW914oCZcmUgYWxyZWFkeSBydW5uaW5nIE1v + bmdvREIgaW4gdGhlIGNsb3VkLCBBdGxhcyBtYWtlcyBtaWdyYXRpbmcgeW91 + ciBkZXBsb3ltZW50IGZyb20gYW5vdGhlciBjbG91ZCBzZXJ2aWNlIHByb3Zp + ZGVyIHRyaXZpYWwsIHdpdGggaXRzIExpdmUgSW1wb3J0IGZlYXR1cmUuIEdl + dCBzdGFydGVkIHdpdGggYSBmcmVlLCAzIG5vZGUgcmVwbGljYSBzZXQ6IG5v + IGNyZWRpdCBjYXJkIHJlcXVpcmVkLiBBcyBhbiBleGNsdXNpdmUgb2ZmZXIg + Zm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycywgdXNl + IGNvZGUgU0VEYWlseSBmb3IgJDEwIGRvbGxhcnMgb2YgY3JlZGl0IGZvciB3 + aGVuIHlvdeKAmXJlIHJlYWR5IHRvIHNjYWxlIHVwIGF0wqA8YSBocmVmPSJo + dHRwOi8vTW9uZ29EQi5jb20vc2VkYWlseSI+bW9uZ29EQi5jb20vc2VkYWls + eTwvYT4uwqA8YSBocmVmPSJodHRwczovL3d3dy5tb25nb2RiLmNvbS93b3Js + ZDE3P2ptcD13ZWIiPk1vbmdvREIgV29ybGQ8L2E+wqBpcyB3aGVyZSB0aGUg + d29ybGTigJlzIGZhc3Rlc3QgZ3Jvd2luZyBkYXRhYmFzZSBjb21tdW5pdHkg + Y29tZXMgdG8gY29ubmVjdCwgZXhwbG9yZSwgYW5kIGxlYXJuLiBKb2luIHRo + ZSB0ZWFtIHRoYXQgYnVpbGRzIE1vbmdvREIgaW4gQ2hpY2FnbyBvbiBKdW5l + IDIwLTIxLCAyMDE3IGZvciBoYW5kcy1vbiBhbmQgZGVlcC1kaXZlIHRlY2hu + aWNhbCBzZXNzaW9ucywgZ2l2aW5nIHlvdSB0aGUgdG9vbHMgeW91IG5lZWQg + dG8gYnVpbGQgYW5kIGRlcGxveSB5b3VyIGdpYW50IGlkZWFzLiBVc2UgY29k + ZcKgPGI+U0VEYWlsecKgPC9iPnRvIGdldCAkMTAwIG9mZiB0aWNrZXRzITwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjMzNDQiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2R5bi9k + eW5fbG9nb19ibGFja190ZXh0LXN2Zy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQu + c3ZnXy5wbmc/Zml0PTEwMjQlMkM0MDIiIGRhdGEtb3JpZy1zaXplPSIxMDI0 + LDQwMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJEeW5fbG9nb18oYmxhY2tfdGV4dCkuc3ZnIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBu + Zz9maXQ9MzAwJTJDMTE4IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBu + Zz9maXQ9MTAyNCUyQzQwMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + MzQ0IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTE4IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTMw + MCUyQzExOCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5 + bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTc2OCUyQzMwMiA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2Js + YWNrX3RleHQuc3ZnXy5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + cmVzaXplPTcyMCUyQzI4MyA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5PcmFjbGUgRHlu + IHByb3ZpZGVzIEROUyB0aGF0IGlzIGFzIGR5bmFtaWMgYW5kIGludGVsbGln + ZW50IGFzIHlvdXIgYXBwbGljYXRpb25zLiBEeW4gRE5TIGdldHMgeW91ciB1 + c2VycyB0byB0aGUgcmlnaHQgY2xvdWQgc2VydmljZSwgQ0ROLCBvciBkYXRh + IGNlbnRlciwgdXNpbmcgaW50ZWxsaWdlbnQgcmVzcG9uc2UgdG8gc3RlZXIg + dHJhZmZpYyBiYXNlZCBvbiBidXNpbmVzcyBwb2xpY2llcywgYXMgd2VsbCBh + cyByZWFsLXRpbWUgaW50ZXJuZXQgY29uZGl0aW9ucywgbGlrZSB0aGUgc2Vj + dXJpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIHRoZSBuZXR3b3JrIHBhdGguIEdl + dCBzdGFydGVkIHdpdGggYSBmcmVlIDMwLWRheSB0cmlhbCBmb3IgeW91ciBh + cHBsaWNhdGlvbiBieSBnb2luZyB0bzxhIGhyZWY9Imh0dHA6Ly9keW4uY29t + L3NlZGFpbHkiPiBkeW4uY29tL3NlZGFpbHk8L2E+LiDCoEFmdGVyIHRoZSBm + cmVlIHRyaWFsLCBEeW7igJlzIGRldmVsb3BlciBwbGFucyBzdGFydCBhdCBq + dXN0ICQ3IGEgbW9udGggZm9yIHdvcmxkLWNsYXNzIEROUy4gUmV0aGluayBE + TlMuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9keW4uY29tL3NlZGFpbHkiPmR5 + bi5jb20vc2VkYWlseTwvYT7CoHRvIGxlYXJuIG1vcmUgYW5kIGdldCB5b3Vy + IGZyZWUgdHJpYWwgb2YgRHluIEROUy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Jsb2NrY2hhaW4iPjxp + bWcgZGF0YS1hdHRhY2htZW50LWlkPSIzNjMwIiBkYXRhLXBlcm1hbGluaz0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9j + b25zZW5zeXMtbG9nby9jb25zZW5zeXNfbG9nby8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0NvbnNlblN5c19sb2dv + LnBuZz9maXQ9NDAyJTJDMjQ3IiBkYXRhLW9yaWctc2l6ZT0iNDAyLDI0NyIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJDb25zZW5TeXNfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2 + L0NvbnNlblN5c19sb2dvLnBuZz9maXQ9MzAwJTJDMTg0IiBkYXRhLWxhcmdl + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lz + X2xvZ28ucG5nP2ZpdD00MDIlMkMyNDciIGNsYXNzPSJhbGlnbmxlZnQgd3At + aW1hZ2UtMzYzMCBzaXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA2L0NvbnNlblN5c19sb2dvLnBuZz9yZXNpemU9MzAwJTJD + MTg0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA2L0NvbnNlblN5c19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTg0IDMwMHcs + IGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lzX2xvZ28u + cG5nP3c9NDAyIDQwMnciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAw + dncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48 + YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPlRoZSBDb25zZW5TeXMgQWNh + ZGVteSBEZXZlbG9wZXIgUHJvZ3JhbSBpcyBhIGZyZWUsIGhpZ2hseSBzZWxl + Y3RpdmUgYW5kIGNhcmVmdWxseSBkZXNpZ25lZCAxMC13ZWVrIG9ubGluZSBj + dXJyaWN1bHVtIHdoZXJlIHlvdSB3aWxsIGltbWVyc2UgeW91cnNlbGYgaW4g + YmxvY2tjaGFpbiBkZXZlbG9wbWVudCBhbmQgZWFybiBhIENvbnNlblN5cyBi + bG9ja2NoYWluIGNlcnRpZmljYXRpb24uIEJ5IGNvbXBsZXRpbmcgdGhlIHBy + b2dyYW0sIHlvdSB3aWxsIGJlIGVsaWdpYmxlIGZvciBpbW1lZGlhdGUgaGly + ZSBieSBDb25zZW5TeXMsIGEgbGVhZGVyIGluIHRoZSBibG9ja2NoYWluIHNw + YWNlLCBmb2N1c2VkIG9uIHRoZSBFdGhlcmV1bSBwbGF0Zm9ybS4gSWYgeW91 + IHdhbnQgdG8gbGVhcm4gYWJvdXQgYmxvY2tjaGFpbnMsIGFuZCBiZWNvbWUg + YSBkZXZlbG9wZXIgZm9yIGJsb2NrY2hhaW4gdGVjaG5vbG9neSwgY2hlY2sg + b3V0IHRoZSBDb25zZW5TeXMgYWNhZGVteSwgYnkgZ29pbmcgdG/CoDxhIGhy + ZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Jsb2Nr + Y2hhaW4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL2Jsb2NrY2hhaW48L2E+LiDCoCDCoCBB + cHBsaWNhdGlvbnMgYXJlIG9wZW4gZnJvbSBub3cgdW50aWwgSnVseSAxIHNv + IHlvdSB3YW50IHRvIGFwcGx5IHNvb24uwqBUbyBsZWFybiBtb3JlIGFib3V0 + IENvbnNlblN5cyBhbmQgRXRoZXJldW0sIHBsZWFzZSB2aXNpdMKgPGEgaHJl + Zj0iaHR0cDovL2NvbnNlbnN5cy5uZXQvIj5jb25zZW5zeXMubmV0PC9hPiwg + YW5kIHNpZ24gdXAgZm9yIHRoZSBDb25zZW5TeXMgd2Vla2x5IG5ld3NsZXR0 + ZXIgZm9yIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdyBhYm91dCB0aGUg + YmxvY2tjaGFpbiBzcGFjZS4KPHA+PC9wPjwvZGl2PjwvcD4KPHA+PC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxpbWcgZGF0YS1h + dHRhY2htZW50LWlkPSIzNjU2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xOS9pb3QtZWRn + ZS13aXRoLW9saXZpZXItYmxvY2gvZ2F0c2J5bG9nby8iIGRhdGEtb3JpZy1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0dhdHNieUxvZ28u + cG5nP2ZpdD00MjglMkMxOTQiIGRhdGEtb3JpZy1zaXplPSI0MjgsMTk0IiBk + YXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1 + b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtj + b3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0 + aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50 + YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9 + IkdhdHNieUxvZ28iIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1t + ZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9HYXRz + YnlMb2dvLnBuZz9maXQ9MzAwJTJDMTM2IiBkYXRhLWxhcmdlLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvR2F0c2J5TG9nby5wbmc/Zml0 + PTQyOCUyQzE5NCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjU2IHNp + emUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + R2F0c2J5TG9nby5wbmc/cmVzaXplPTMwMCUyQzEzNiIgYWx0PSIiIHNyY3Nl + dD0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9HYXRzYnlMb2dvLnBu + Zz9yZXNpemU9MzAwJTJDMTM2IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDYvR2F0c2J5TG9nby5wbmc/dz00MjggNDI4dyIgc2l6ZXM9Iiht + YXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5H + YXRzYnkgaXMgYSBwbGF0Zm9ybSBmb3IgaW1wcm92aW5nIHlvdXIgY29udmVy + c2lvbnMuIEl0IGVuYWJsZXMgY3VzdG9tZXJzIHRvIGluY3JlYXNlIGNvbnZl + cnNpb24gdGhyb3VnaCBlbGVnYW50LCBmZWF0dXJlLXJpY2ggcHJvbW90aW9u + cyB0aGF0IGNhcHR1cmUgZW1haWwgYWRkcmVzc2VzIGFuZCBzb2NpYWwgcHJv + ZmlsZSBkYXRhIGVhcmx5IGluIHRoZSBjb252ZXJzaW9uIGZ1bm5lbC4gSWYg + aW50ZXJlc3RlZCBpbiBiZWluZyBhbW9uZyB0aGUgZmlyc3QgdG8gdXNlIHRo + ZSBHYXRzYnkgQVBJLCBjb250YWN0IDxhIGhyZWY9Im1haWx0bzphcGlAdGhp + bmtnYXRzYnkuY29tIj5hcGlAdGhpbmtnYXRzYnkuY29tPC9hPjwvZGl2Pjwv + cD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjwvZGl2Pgo8cD4m + bmJzcDs8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPg0KCQk8ZW5jbG9zdXJl + IHVybD0iaHR0cDovL3RyYWZmaWMubGlic3luLmNvbS9zZWRhaWx5L3NvZnR3 + YXJlYXJjaGl0ZWN0dXJlX2VkaXRlZC5tcDMiIGxlbmd0aD0iNDIyNjExMDYi + IHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5Tb2Z0 + d2FyZSBhcmNoaXRlY3R1cmUgYWRkcmVzcyB0aGUgY2hhbGxlbmdlIG9mIGNv + bW11bmljYXRpbmcgYW5kIG5hdmlnYXRpbmcgbGFyZ2UsIGNvbXBsZXggc3lz + dGVtcyB0byBzdGFrZWhvbGRlcnMsIGJvdGggdGVjaG5pY2FsIGFuZCBub24t + dGVjaG5pY2FsLiDCoE92ZXIgdGhlIHllYXJzIHNvZnR3YXJlIGFyY2hpdGVj + dHVyZSBoYXMgZ29uZSBpbiBhbmQgb3V0IG9mIGZhc2hpb24uPC9pdHVuZXM6 + c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PlNvZnR3YXJlIGFyY2hpdGVj + dHVyZSBhZGRyZXNzIHRoZSBjaGFsbGVuZ2Ugb2YgY29tbXVuaWNhdGluZyBh + bmQgbmF2aWdhdGluZyBsYXJnZSwgY29tcGxleCBzeXN0ZW1zIHRvIHN0YWtl + aG9sZGVycywgYm90aCB0ZWNobmljYWwgYW5kIG5vbi10ZWNobmljYWwuIMKg + T3ZlciB0aGUgeWVhcnMgc29mdHdhcmUgYXJjaGl0ZWN0dXJlIGhhcyBnb25l + IGluIGFuZCBvdXQgb2YgZmFzaGlvbi4gwqBUb2RheSB3ZSBkaXNjdXNzIHdo + eSBzb2Z0d2FyZSBhcmNoaXRlY3R1cmUgaXMgaW1wb3J0YW50LCB3aGF0IGl0 + IG1lYW5zIHRvIGhhdmUgc29mdHdhcmUgYXJjaGl0ZWN0dXJlLCBhbmQgaG93 + IHRvIHByb3Blcmx5IHN0cnVjdHVyZSB0ZWFtcyBhbmQgaW5jb3Jwb3JhdGUg + YXJjaGl0ZWN0dXJlLiBUb2RheeKAmXMgc2hvdyBpcyBndWVzdCBob3N0ZWQg + YnkgRGF2aWQgQ3VycnkuIERhdmlkIHNpdHMgZG93biB3aXRoIFNpbW9uIEJy + b3duIHRvIGRpc2N1c3NDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6c3Vt + bWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBE + YWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNsZWFu + PC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj40NDowMTwv + aXR1bmVzOmR1cmF0aW9uPgo8cG9zdC1pZCB4bWxucz0iY29tLXdvcmRwcmVz + czpmZWVkLWFkZGl0aW9uczoxIj4zNjQxPC9wb3N0LWlkPgkJPC9pdGVtPg0K + CTxpdGVtPg0KCQk8dGl0bGU+SW9UIEVkZ2Ugd2l0aCBPbGl2aWVyIEJsb2No + PC90aXRsZT4NCgkJPGxpbms+aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vMjAxNy8wNi8xOS9pb3QtZWRnZS13aXRoLW9saXZpZXItYmxv + Y2gvPC9saW5rPg0KCQk8cHViRGF0ZT5Nb24sIDE5IEp1biAyMDE3IDA5OjAw + OjA4ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFs + c2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2 + NDA8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS8yMDE3LzA2LzE5L2lvdC1lZGdlLXdpdGgtb2xpdmll + ci1ibG9jaC8jcmVzcG9uZDwvY29tbWVudHM+DQoJCTx3Znc6Y29tbWVudFJz + cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2 + LzE5L2lvdC1lZGdlLXdpdGgtb2xpdmllci1ibG9jaC9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFzaDpjb21tZW50 + cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlzb2Rlc11dPjwvY2F0 + ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3VkIEVuZ2luZWVyaW5n + XV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2VkZ2UgY29tcHV0 + aW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbTWljcm9z + b2Z0IEF6dXJlIElvVF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW09saXZpZXIgQmxvY2hdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48 + IVtDREFUQVtwcm9jZXNzaW5nIHBvd2VyXV0+PC9jYXRlZ29yeT4KCQk8ZGVz + Y3JpcHRpb24+QSBzZWxmLWRyaXZpbmcgY2FyIG5lZWRzIHRvIGJlIGFibGUg + dG8gcXVpY2tseSByZXNwb25kIHRvIGNoYW5nZXMgaW4gZHJpdmluZyBjb25k + aXRpb25zLiBBIGZhY3RvcnkgbmVlZHMgdG8gYmUgYWJsZSB0byBxdWlja2x5 + IHJlc3BvbmQgdG8gY2hhbmdlcyBpbiB3b3JrcGxhY2Ugc2FmZXR5LiBGb3Ig + dGhlc2Uga2luZHMgb2YgYXBwbGljYXRpb25zLCB3ZSBuZWVkIHByb2Nlc3Np + bmcgcG93ZXIgY2xvc2VyIHRvIHRoZSB1c2VyIG9mIHRoZSBhcHBsaWNhdGlv + bi4gSWYgd2UgcHV0IGFsbCBvZiBvdXIgYXBwbGljYXRpb24gbG9naWMgaW4g + dGhlIGNsb3VkLCB3ZSB3aWxsIGhhdmUgdG8gbWFrZSBhIG5ldHdvcmsgcm91 + bmQgdHJpcCBmb3IgZXZlcnkgcmVxdWVzdC4gU2VydmVycyBpbiZsdDtwJmd0 + OyZsdDthIGNsYXNzPSZxdW90O2NvbnRpbnVlLXJlYWRpbmcmcXVvdDsgaHJl + Zj0mcXVvdDtodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA2LzE5L2lvdC1lZGdlLXdpdGgtb2xpdmllci1ibG9jaC8mcXVvdDsm + Z3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9k + ZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQv + MTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5z + L2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJD + MTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1v + cGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Nh + cHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0 + YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtz + aHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZx + dW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5z + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5q + cGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0y + NDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBz + b2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAx + NzVweDsiIHNyYz0iaHR0cHM6Ly9hdmF0YXJzMC5naXRodWJ1c2VyY29udGVu + dC5jb20vdS8xMjcxNjE2P3Y9MyZhbXA7cz00NjAiIHdpZHRoPSIxNzUiIGhl + aWdodD0iMTc1IiAvPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5BIHNlbGYtZHJpdmluZyBjYXIgbmVlZHMgdG8gYmUgYWJsZSB0 + byBxdWlja2x5IHJlc3BvbmQgdG8gY2hhbmdlcyBpbiBkcml2aW5nIGNvbmRp + dGlvbnMuIEEgZmFjdG9yeSBuZWVkcyB0byBiZSBhYmxlIHRvIHF1aWNrbHkg + cmVzcG9uZCB0byBjaGFuZ2VzIGluIHdvcmtwbGFjZSBzYWZldHkuIEZvciB0 + aGVzZSBraW5kcyBvZiBhcHBsaWNhdGlvbnMsIHdlIG5lZWQgcHJvY2Vzc2lu + ZyBwb3dlciBjbG9zZXIgdG8gdGhlIHVzZXIgb2YgdGhlIGFwcGxpY2F0aW9u + LiBJZiB3ZSBwdXQgYWxsIG9mIG91ciBhcHBsaWNhdGlvbiBsb2dpYyBpbiB0 + aGUgY2xvdWQsIHdlIHdpbGwgaGF2ZSB0byBtYWtlIGEgbmV0d29yayByb3Vu + ZCB0cmlwIGZvciBldmVyeSByZXF1ZXN0Ljwvc3Bhbj48L3A+CjxwPjxzcGFu + IHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2VydmVycyBpbiB0aGUgY2xv + dWQgYXJlIHBvd2VyZnVsLCBidXQgc28gYXJlIHRoZSBjb21wdXRlcnMgYXQg + dGhlIGVkZ2UmIzgyMTE7c21hcnRwaG9uZXMsIHNlbnNvcnMsIGRyb25lcywg + Y2FycywgYW5kIG9uLXByZW0gc2VydmVycy4gRWRnZSBjb21wdXRpbmcgaXMg + Z2l2aW5nIHVzIG1vcmUgY29tcHV0YXRpb24gb3V0c2lkZSB0aGUgZGF0YSBj + ZW50ZXIuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo + dDogNDAwOyI+T2xpdmllciBCbG9jaCB3b3JrcyBvbiBNaWNyb3NvZnQgQXp1 + cmUgSW9UIEVkZ2UsIGEgc2V0IG9mIHNlcnZpY2VzIGZvciBlZGdlIGNvbXB1 + dGluZy4gQXp1cmUgSW9UIEVkZ2UgaW5jbHVkZXMgb24tcHJlbSB2ZXJzaW9u + cyBvZiBNaWNyb3NvZnQgQXp1cmUgdGVjaG5vbG9naWVzLiBUb29scyB0aGF0 + IHdlcmUgcHJldmlvdXNseSBhY2Nlc3NpYmxlIG9ubHkgaW4gdGhlIGNsb3Vk + IGNhbiBiZSBkZXBsb3llZCBhbmQgaG9zdGVkIG9uIHByZW1pc2UuPC9zcGFu + PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5Tb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSBpcyBsb29raW5nIGZvciBzcG9uc29y + cyBmb3IgUTMuIElmIHlvdXIgY29tcGFueSBoYXMgYSBwcm9kdWN0IG9yIHNl + cnZpY2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5nLCBTb2Z0d2FyZSBFbmdpbmVl + cmluZyBEYWlseSByZWFjaGVzIDIzLDAwMCBkZXZlbG9wZXJzIGxpc3Rlbmlu + ZyBkYWlseS4gU2VuZCBtZSBhbiBlbWFpbDogamVmZkBzb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3JpcHQ8L2gy + Pgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9kY2FzdHMu + IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBjYW4gZ28g + dG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29tL3NlZCI+ + d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUgb2ZmIHRo + ZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5kIHRyYW5z + Y3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBvZGNhc3Rz + IGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKgPGEgaHJl + Zj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRFQyNS1BenVyZS1Jb1QucGRmIj5j + bGljayBoZXJlIHRvIHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48 + L2E+PC9wPgo8aDI+U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZmFpcmNvbSI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM0MDEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2ZhaXJjb20vZmFp + cmNvbS1sb2dvLWRiZ3JleS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJDb20tTG9nby1EQkdyZXkucG5nP2Zp + dD0xMDAwJTJDMjU0IiBkYXRhLW9yaWctc2l6ZT0iMTAwMCwyNTQiIGRhdGEt + Y29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDth + cGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVh + dGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHly + aWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlv + biZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iRmFp + ckNvbSBMb2dvIERCR3JleSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBk + YXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0 + L0ZhaXJDb20tTG9nby1EQkdyZXkucG5nP2ZpdD0zMDAlMkM3NiIgZGF0YS1s + YXJnZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJD + b20tTG9nby1EQkdyZXkucG5nP2ZpdD0xMDAwJTJDMjU0IiBjbGFzcz0iYWxp + Z25sZWZ0IHdwLWltYWdlLTM0MDEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6 + Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNy8wNC9GYWlyQ29tLUxvZ28tREJHcmV5LnBu + Zz9yZXNpemU9MzAwJTJDNzYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRmFpckNvbS1Mb2dvLURCR3JleS5wbmc/cmVz + aXplPTMwMCUyQzc2IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDQvRmFpckNvbS1Mb2dvLURCR3JleS5wbmc/cmVzaXplPTc2OCUyQzE5NSA3 + Njh3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJDb20tTG9n + by1EQkdyZXkucG5nP3Jlc2l6ZT03MjAlMkMxODMgNzIwdywgaHR0cHM6Ly9p + MC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNC9GYWlyQ29tLUxvZ28tREJHcmV5LnBuZz93 + PTEwMDAgMTAwMHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncs + IDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIg + Lz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPkRvIHlvdSB3YW50IHRoZSBmbGV4 + aWJpbGl0eSBvZiBhIG5vbi1yZWxhdGlvbmFsIGtleSB2YWx1ZSBzdG9yZSB0 + b2dldGhlciB3aXRoIHRoZSBxdWVyeSBjYXBhYmlsaXRpZXMgb2YgU1FMPyBU + YWtlIGEgbG9vayBhdCBjLXRyZWVBQ0UgYnkgRmFpckNvbS4gYy10cmVlQUNF + IGlzIGEgbm9uLXJlbGF0aW9uYWwga2V5LXZhbHVlIHN0b3JlIHRoYXQgb2Zm + ZXJzIEFDSUQgdHJhbnNhY3Rpb25zIGNvbXBsZW1lbnRlZCBieSBhIGZ1bGwg + U1FMIGVuZ2luZS4gYy10cmVlQUNFIG9mZmVycyBzaW11bHRhbmVvdXMgYWNj + ZXNzIHRvIHRoZSBkYXRhIHRocm91Z2ggbm9uLXJlbGF0aW9uYWwgYW5kIHJl + bGF0aW9uYWwgQVBJcy4gQ29tcGFuaWVzIHVzZSBjLXRyZWVBQ0UgdG8gcHJv + Y2VzcyBBQ0lEIHRyYW5zYWN0aW9ucyB0aHJvdWdoIG5vbi1yZWxhdGlvbmFs + IEFQSXMgZm9yIGV4dHJlbWUgcGVyZm9ybWFuY2Ugd2hpbGUgdXNpbmcgdGhl + IFNRTCBBUElzIHRvIGNvbm5lY3QgdGhpcmQtcGFydHkgYXBwcyBvciBxdWVy + eSB0aGUgZGF0YSBmb3IgcmVwb3J0cyBvciBidXNpbmVzcyBpbnRlbGxpZ2Vu + Y2UuIGMtdHJlZUFDRSBpcyBwbGF0Zm9ybS0gYW5kIGhhcmR3YXJlLWFnbm9z + dGljLCBhbmQgaXMgY2FwYWJsZSBvZiBiZWluZyBlbWJlZGRlZCwgZGVwbG95 + ZWQgb24gcHJlbWlzZXMsIG9yIGluIHRoZSBjbG91ZC4gU29mdHdhcmUgRW5n + aW5lZXJpbmcgRGFpbHkgbGlzdGVuZXJzIGNhbiBkb3dubG9hZCBhbiBldmFs + dWF0aW9uIHZlcnNpb24gb2YgYy10cmVlQUNFIGZvciBmcmVlIGF0IDxhIGhy + ZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ZhaXJj + b20iPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZmFpcmNvbTwvYT4u + CjxwPjwvcD48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0i + cm93Ij4KPHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij48YSBocmVmPSJodHRwOi8vV2l4LmNvbS93aXgt + bHAvU0VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMyNDkiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9rd2xvZ29zL3dpeC93aXgtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJo + dHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL3dpeC1sb2dvLmpwZz9maXQ9 + MTcwOCUyQzQ1MSIgZGF0YS1vcmlnLXNpemU9IjE3MDgsNDUxIiBkYXRhLWNv + bW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBl + cnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDss + JnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRl + ZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmln + aHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24m + cXVvdDs6JnF1b3Q7MSZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IndpeC1s + b2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZp + bGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBn + P2ZpdD0zMDAlMkM3OSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzAyL3dpeC1sb2dvLmpwZz9maXQ9MTAyNCUyQzI3MCIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjQ5IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBn + P3Jlc2l6ZT0zMDAlMkM3OSIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9pMS53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/cmVzaXplPTMwMCUyQzc5 + IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28u + anBnP3Jlc2l6ZT03NjglMkMyMDMgNzY4dywgaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/cmVzaXplPTEwMjQlMkMyNzAgMTAy + NHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBn + P3Jlc2l6ZT03MjAlMkMxOTAgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMw + MHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9h + PjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+UmVhZHkgdG8g + YnVpbGQgeW91ciBvd24gc3R1bm5pbmcgd2Vic2l0ZT8gR28gdG8gPGEgaHJl + Zj0iaHR0cDovL3dpeC5jb20iPldpeC5jb208L2E+IGFuZCBzdGFydCBmb3Ig + ZnJlZSEgV2l0aCBXaXgsIHlvdSBjYW4gY2hvb3NlIGZyb20gaHVuZHJlZHMg + b2YgYmVhdXRpZnVsLCBkZXNpZ25lci1tYWRlIHRlbXBsYXRlcy4gU2ltcGx5 + IGRyYWcgYW5kIGRyb3AgdG8gY3VzdG9taXplIGFueXRoaW5nIGFuZCBldmVy + eXRoaW5nLiBBZGQgeW91ciB0ZXh0LCBpbWFnZXMsIHZpZGVvcyBhbmQgbW9y + ZS4gV2l4IG1ha2VzIGl0IGVhc3kgdG8gZ2V0IHlvdXIgc3R1bm5pbmcgd2Vi + c2l0ZSBsb29raW5nIGV4YWN0bHkgdGhlIHdheSB5b3Ugd2FudC4gUGx1cywg + eW91ciBzaXRlIGlzIG1vYmlsZSBvcHRpbWl6ZWQsIHNvIHlvdSYjODIxNzts + bCBsb29rIGFtYXppbmcgb24gYW55IGRldmljZS4gV2hhdGV2ZXIgeW91IG5l + ZWQgYSB3ZWJzaXRlIGZvciwgV2l4IGhhcyB5b3UgY292ZXJlZC4gU28sIHNo + b3djYXNlIHlvdXIgdGFsZW50cy4gU3RhcnQgdGhhdCBkZXYgYmxvZywgZGV0 + YWlsaW5nIHlvdXIgbGF0ZXN0IHByb2plY3RzLiBPdmVyIG9uZS1odW5kcmVk + LW1pbGxpb24gcGVvcGxlIGNob29zZSBXaXggdG8gY3JlYXRlIHRoZWlyIHdl + YnNpdGUgJiM4MjExOyB3aGF0IGFyZSB5b3Ugd2FpdGluZyBmb3I/IE1ha2Ug + eW91cnMgaGFwcGVuIHRvZGF5LiBJdOKAmXMgZWFzeSBhbmQgZnJlZS4gQW5k + IHdoZW4geW914oCZcmUgcmVhZHkgdG8gdXBncmFkZSwgdXNlIHRoZSBwcm9t + byBjb2RlIDxiPlNFRGFpbHk8L2I+IGZvciBhIHNwZWNpYWwgU0UgRGFpbHkg + bGlzdGVuZXIgZGlzY291bnQuIFRlcm1zIGFuZCBjb25kaXRpb25zIGFwcGx5 + LiBGb3IgbW9yZSBkZXRhaWxzLCBnbyB0byA8YSBocmVmPSJodHRwOi8vV2l4 + LmNvbS93aXgtbHAvU0VkYWlseSI+V2l4LmNvbS93aXgtbHAvU0VkYWlseTwv + YT4uIENyZWF0ZSB5b3VyIHN0dW5uaW5nIHdlYnNpdGUgdG9kYXkgd2l0aCA8 + YSBocmVmPSJodHRwOi8vd2l4LmNvbSI+V2l4LmNvbTwvYT4uwqA8L2Rpdj48 + YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYi + PjxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2ludGVsIj48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzY0MiIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2ludGVsL2ludGVsbmVydmFuYV9sb2dvanVseS8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVydmFuYV9s + b2dvSnVseS5qcGc/Zml0PTYwMCUyQzE3OCIgZGF0YS1vcmlnLXNpemU9IjYw + MCwxNzgiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDsxJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iSW50ZWxOZXJ2YW5hX2xvZ29KdWx5IiBkYXRhLWltYWdlLWRl + c2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3Au + Y29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91 + cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5LmpwZz9maXQ9 + MzAwJTJDODkiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNC9JbnRlbE5lcnZhbmFfbG9nb0p1bHkuanBnP2ZpdD02MDAl + MkMxNzgiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzY0MiBzaXplLW1l + ZGl1bSIgc3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVs + TmVydmFuYV9sb2dvSnVseS5qcGc/cmVzaXplPTMwMCUyQzg5IiBhbHQ9IiIg + c3Jjc2V0PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsTmVy + dmFuYV9sb2dvSnVseS5qcGc/cmVzaXplPTMwMCUyQzg5IDMwMHcsIGh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxOZXJ2YW5hX2xvZ29KdWx5 + LmpwZz93PTYwMCA2MDB3LCBodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0 + L0ludGVsTmVydmFuYV9sb2dvSnVseS5qcGc/cmVzaXplPTU5NSUyQzE3OCA1 + OTV3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5EZWVwIGxlYXJuaW5nIHByb21pc2VzIHRvIGRy + YW1hdGljYWxseSBpbXByb3ZlIGhvdyBvdXIgd29ybGQgd29ya3MuIFRvIG1h + a2UgZGVlcCBsZWFybmluZyBlYXNpZXIgYW5kIGZhc3Rlciwgd2UgbmVlZCBu + ZXcga2luZHMgb2YgaGFyZHdhcmUgYW5kIHNvZnR3YXJlJiM4MjExO3doaWNo + IGlzIHdoeSBJbnRlbCBhY3F1aXJlZCBOZXJ2YW5hIFN5c3RlbXMsIGEgcGxh + dGZvcm0gZm9yIGRlZXAgbGVhcm5pbmcuIEludGVsIE5lcnZhbmEgaXMgaGly + aW5nIGVuZ2luZWVycyB0byBoZWxwIGRldmVsb3AgYSBmdWxsIHN0YWNrIGZv + ciBBSSwgZnJvbSBjaGlwIGRlc2lnbiB0byBzb2Z0d2FyZSBmcmFtZXdvcmtz + LiBHbyB0byA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS9pbnRlbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIg + bm9yZWZlcnJlciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3 + Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL2ludGVsJmFtcDtzb3VyY2U9Z21haWwmYW1w + O3VzdD0xNDkzMTM0MTk2NDMyMDAwJmFtcDt1c2c9QUZRakNORUhVRkNTbWdH + bmRvWXNHdEdJd3VjVEtyZmNOQSI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS88d2JyPjwvd2JyPmludGVsPC9hPiB0byBhcHBseSBmb3IgYSBqb2Ig + YXQgSW50ZWwgTmVydmFuYS4gSWYgeW91IGtub3cgZG9u4oCZdCBrbm93IG11 + Y2ggYWJvdXQgdGhlIGNvbXBhbnksIGNoZWNrIG91dCB0aGUgaW50ZXJ2aWV3 + cyBJIGhhdmUgY29uZHVjdGVkIHdpdGggZW5naW5lZXJzIGZyb20gdGhlIGNv + bXBhbnkuIFlvdSBjYW4gZmluZCB0aGVzZSBhdCA8YSBocmVmPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRlbCIgdGFyZ2V0PSJf + YmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgZGF0YS1zYWZlcmVk + aXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFt + cDtxPWh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVs + JmFtcDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNDkzMTM0MTk2NDMyMDAwJmFt + cDt1c2c9QUZRakNORUhVRkNTbWdHbmRvWXNHdEdJd3VjVEtyZmNOQSI+c29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS88d2JyPjwvd2JyPmludGVsPC9h + Pi48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4K + PHA+PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9 + ImNvbC1zbS02Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzY1NiIgZGF0 + YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDYvMTkvaW90LWVkZ2Utd2l0aC1vbGl2aWVyLWJsb2NoL2dh + dHNieWxvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9HYXRzYnlMb2dvLnBuZz9maXQ9NDI4JTJDMTk0IiBkYXRh + LW9yaWctc2l6ZT0iNDI4LDE5NCIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAi + IGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZx + dW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90Oywm + cXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3Nw + ZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVv + dDt9IiBkYXRhLWltYWdlLXRpdGxlPSJHYXRzYnlMb2dvIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDYvR2F0c2J5TG9nby5wbmc/Zml0PTMwMCUyQzEz + NiIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3 + LzA2L0dhdHNieUxvZ28ucG5nP2ZpdD00MjglMkMxOTQiIGNsYXNzPSJhbGln + bmxlZnQgd3AtaW1hZ2UtMzY1NiBzaXplLW1lZGl1bSIgc3JjPSJodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0dhdHNieUxvZ28ucG5nP3Jlc2l6ZT0z + MDAlMkMxMzYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDYvR2F0c2J5TG9nby5wbmc/cmVzaXplPTMwMCUyQzEzNiAzMDB3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L0dhdHNieUxvZ28ucG5n + P3c9NDI4IDQyOHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncs + IDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvZGl2PjxiciAvPgo8 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+R2F0c2J5IGlzIGEgcGxhdGZvcm0gZm9y + IGltcHJvdmluZyB5b3VyIGNvbnZlcnNpb25zLiBJdCBlbmFibGVzIGN1c3Rv + bWVycyB0byBpbmNyZWFzZSBjb252ZXJzaW9uIHRocm91Z2ggZWxlZ2FudCwg + ZmVhdHVyZS1yaWNoIHByb21vdGlvbnMgdGhhdCBjYXB0dXJlIGVtYWlsIGFk + ZHJlc3NlcyBhbmQgc29jaWFsIHByb2ZpbGUgZGF0YSBlYXJseSBpbiB0aGUg + Y29udmVyc2lvbiBmdW5uZWwuIElmIGludGVyZXN0ZWQgaW4gYmVpbmcgYW1v + bmcgdGhlIGZpcnN0IHRvIHVzZSB0aGUgR2F0c2J5IEFQSSwgY29udGFjdCA8 + YSBocmVmPSJtYWlsdG86YXBpQHRoaW5rZ2F0c2J5LmNvbSI+YXBpQHRoaW5r + Z2F0c2J5LmNvbTwvYT48L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBj + bGFzcz0icm93Ij48L2Rpdj4KXV0+PC9jb250ZW50OmVuY29kZWQ+DQoJCTxl + bmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29tL3NlZGFp + bHkvYXp1cmVpb3RfZWRpdGVkLm1wMyIgbGVuZ3RoPSI1NTA5MjAzNCIgdHlw + ZT0iYXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkEgc2VsZi1k + cml2aW5nIGNhciBuZWVkcyB0byBiZSBhYmxlIHRvIHF1aWNrbHkgcmVzcG9u + ZCB0byBjaGFuZ2VzIGluIGRyaXZpbmcgY29uZGl0aW9ucy4gQSBmYWN0b3J5 + IG5lZWRzIHRvIGJlIGFibGUgdG8gcXVpY2tseSByZXNwb25kIHRvIGNoYW5n + ZXMgaW4gd29ya3BsYWNlIHNhZmV0eS4gRm9yIHRoZXNlIGtpbmRzIG9mIGFw + cGxpY2F0aW9ucywgd2UgbmVlZCBwcm9jZXNzaW5nIHBvd2VyIGNsb3NlciB0 + byB0aGUgdXNlciBvZiB0aGUgYS4uLjwvaXR1bmVzOnN1YnRpdGxlPgoJCTxp + dHVuZXM6c3VtbWFyeT5BIHNlbGYtZHJpdmluZyBjYXIgbmVlZHMgdG8gYmUg + YWJsZSB0byBxdWlja2x5IHJlc3BvbmQgdG8gY2hhbmdlcyBpbiBkcml2aW5n + IGNvbmRpdGlvbnMuIEEgZmFjdG9yeSBuZWVkcyB0byBiZSBhYmxlIHRvIHF1 + aWNrbHkgcmVzcG9uZCB0byBjaGFuZ2VzIGluIHdvcmtwbGFjZSBzYWZldHku + IEZvciB0aGVzZSBraW5kcyBvZiBhcHBsaWNhdGlvbnMsIHdlIG5lZWQgcHJv + Y2Vzc2luZyBwb3dlciBjbG9zZXIgdG8gdGhlIHVzZXIgb2YgdGhlIGFwcGxp + Y2F0aW9uLiBJZiB3ZSBwdXQgYWxsIG9mIG91ciBhcHBsaWNhdGlvbiBsb2dp + YyBpbiB0aGUgY2xvdWQsIHdlIHdpbGwgaGF2ZSB0byBtYWtlIGEgbmV0d29y + ayByb3VuZCB0cmlwIGZvciBldmVyeSByZXF1ZXN0LiBTZXJ2ZXJzIGluQ29u + dGludWUgcmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczph + dXRob3I+U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRo + b3I+CgkJPGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0 + PgoJCTxpdHVuZXM6ZHVyYXRpb24+NTc6MjM8L2l0dW5lczpkdXJhdGlvbj4K + PHBvc3QtaWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6 + MSI+MzY0MDwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxl + Pkdvb2dsZSBFYXJseSBEYXlzIHdpdGggSm9obiBMb29uZXk8L3RpdGxlPg0K + CQk8bGluaz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8y + MDE3LzA2LzE2L2dvb2dsZS1lYXJseS1kYXlzLXdpdGgtam9obi1sb29uZXkv + PC9saW5rPg0KCQk8cHViRGF0ZT5GcmksIDE2IEp1biAyMDE3IDA5OjAwOjI1 + ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2Mzk8 + L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA2LzE2L2dvb2dsZS1lYXJseS1kYXlzLXdpdGgt + am9obi1sb29uZXkvI2NvbW1lbnRzPC9jb21tZW50cz4NCgkJPHdmdzpjb21t + ZW50UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIw + MTcvMDYvMTYvZ29vZ2xlLWVhcmx5LWRheXMtd2l0aC1qb2huLWxvb25leS9m + ZWVkLzwvd2Z3OmNvbW1lbnRSc3M+DQoJCTxzbGFzaDpjb21tZW50cz4yPC9z + bGFzaDpjb21tZW50cz4NCgkJPGNhdGVnb3J5PjwhW0NEQVRBW0FsbCBFcGlz + b2Rlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0Nsb3Vk + IEVuZ2luZWVyaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RB + VEFbR3JlYXRlc3QgSGl0c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5Pjwh + W0NEQVRBW1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtD + REFUQVtDb2xvc3N1c11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW0dvb2dsZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W0dvb2dsZSBGaWxlIFN5c3RlbV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5 + PjwhW0NEQVRBW0luZnJhc3RydWN0dXJlXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbSW50ZXJjb21dXT48L2NhdGVnb3J5PgoJCTxjYXRl + Z29yeT48IVtDREFUQVtKb2huIExvb25leV1dPjwvY2F0ZWdvcnk+CgkJPGNh + dGVnb3J5PjwhW0NEQVRBW1NSRV1dPjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0 + aW9uPkpvaG4gTG9vbmV5IHNwZW50IG1vcmUgdGhhbiAxMCB5ZWFycyBhdCBH + b29nbGUuIEhlIHN0YXJ0ZWQgd2l0aCBpbmZyYXN0cnVjdHVyZSwgYW5kIHdh + cyBwYXJ0IG9mIHRoZSB0ZWFtIHRoYXQgbWlncmF0ZWQgR29vZ2xlIEZpbGUg + U3lzdGVtIHRvIENvbG9zc3VzLCB0aGUgc3VjY2Vzc29yIHRvIEdGUy4gSW1h + Z2luZSBtaWdyYXRpbmcgZXZlcnkgcGllY2Ugb2YgZGF0YSBvbiBHb29nbGUg + ZnJvbSBvbmUgZGlzdHJpYnV0ZWQgZmlsZSBzeXN0ZW0gdG8gYW5vdGhlci4g + SW4gdGhpcyBlcGlzb2RlLCBKb2huIHNoZWRzIGxpZ2h0IG9uIHRoZSBlbmdp + bmVlcmluZyBjdWx0dXJlIHRoYXQgaGFzIG1hZGUgR29vZ2xlIHNvIHN1Y2Nl + c3NmdWwuIEhlIGhhcyB2ZXJ5IGVudGVydGFpbmluZyBzdG9yaWVzIGFib3V0 + IGNsdXN0ZXJvcHMgYW5kIHNpdGUtcmVsaWFiaWxpdHkmbHQ7cCZndDsmbHQ7 + YSBjbGFzcz0mcXVvdDtjb250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1 + b3Q7aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8w + Ni8xNi9nb29nbGUtZWFybHktZGF5cy13aXRoLWpvaG4tbG9vbmV5LyZxdW90 + OyZndDtDb250aW51ZSByZWFkaW5nLi4uJmx0Oy9hJmd0OyZsdDsvcCZndDs8 + L2Rlc2NyaXB0aW9uPg0KCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxw + PjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIyNDc1IiBkYXRhLXBlcm1hbGlu + az0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNi8w + NC8xOS9nb29nbGVzLWNvbnRhaW5lci1tYW5hZ2VtZW50LWJyZW5kYW4tYnVy + bnMvYnJlbmRhbi1idXJucy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUl + MkMxNzUiIGRhdGEtb3JpZy1zaXplPSIxNzUsMTc1IiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImJyZW5kYW4tYnVy + bnMiIGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmls + ZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5z + LmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3 + NSUyQzE3NSIgY2xhc3M9ImFsaWducmlnaHQgc2l6ZS1mdWxsIHdwLWltYWdl + LTI0NzUiIHN0eWxlPSJib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlcjogMXB4 + IHNvbGlkICMwMDAwMDA7IG1heC13aWR0aDogMTc1cHg7IG1heC1oZWlnaHQ6 + IDE3NXB4OyIgc3JjPSJodHRwczovL2kwLndwLmNvbS9tZWRpYS5saWNkbi5j + b20vbXByL21wci9zaHJpbmtucF8yMDBfMjAwL3AvMS8wMDAvMDAyLzMwNi8y + YmRjM2I1LmpwZz9yZXNpemU9MTc1JTJDMTc1JiMwMzg7c3NsPTEiIGRhdGEt + cmVjYWxjLWRpbXM9IjEiIC8+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC13 + ZWlnaHQ6IDQwMDsiPkpvaG4gTG9vbmV5IHNwZW50IG1vcmUgdGhhbiAxMCB5 + ZWFycyBhdCBHb29nbGUuIEhlIHN0YXJ0ZWQgd2l0aCBpbmZyYXN0cnVjdHVy + ZSwgYW5kIHdhcyBwYXJ0IG9mIHRoZSB0ZWFtIHRoYXQgbWlncmF0ZWQgR29v + Z2xlIEZpbGUgU3lzdGVtIHRvIENvbG9zc3VzLCB0aGUgc3VjY2Vzc29yIHRv + IEdGUy4gSW1hZ2luZSBtaWdyYXRpbmcgPC9zcGFuPjxpPjxzcGFuIHN0eWxl + PSJmb250LXdlaWdodDogNDAwOyI+ZXZlcnkgcGllY2Ugb2YgZGF0YSBvbiBH + b29nbGU8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+IGZyb20gb25lIGRpc3RyaWJ1dGVkIGZpbGUgc3lzdGVtIHRvIGFub3Ro + ZXIuIDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDog + NDAwOyI+SW4gdGhpcyBlcGlzb2RlLCBKb2huIHNoZWRzIGxpZ2h0IG9uIHRo + ZSBlbmdpbmVlcmluZyBjdWx0dXJlIHRoYXQgaGFzIG1hZGUgR29vZ2xlIHNv + IHN1Y2Nlc3NmdWwuIEhlIGhhcyB2ZXJ5IGVudGVydGFpbmluZyBzdG9yaWVz + IGFib3V0IGNsdXN0ZXJvcHMgYW5kIHNpdGUtcmVsaWFiaWxpdHkgZW5naW5l + ZXJpbmcuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5Hb29nbGXigJlzIHN1Y2Nlc3MgaW4gZW5naW5lZXJpbmcgaXMg + ZHVlIHRvIGV4dHJlbWVseSBoaWdoIHN0YW5kYXJkcywgYW5kIGEgY3VsdHVy + ZSBvZiBpbnRlbGxlY3R1YWwgaG9uZXN0eS4gV2l0aCB0aGUgdm9sdW1lIG9m + IGRhdGEgYW5kIHRocm91Z2hwdXQgdGhhdCBHb29nbGUgcmVzcG9uZHMgdG8s + IDEtaW4tYS1taWxsaW9uIGV2ZW50cyBhcmUgbGlrZWx5IHRvIG9jY3VyLiBU + aGVyZSBpc27igJl0IHJvb20gZm9yIHNsb3BweSBwcmFjdGljZXMuIDwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+Sm9o + biBub3cgd29ya3MgYXQgSW50ZXJjb20sIHdoZXJlIGhlIGlzIGFkanVzdGlu + ZyB0byB0aGUgbW9kZXJuIHdvcmxkIG9mIEdvb2dsZSBpbmZyYXN0cnVjdHVy + ZSBmb3IgZXZlcnlvbmUuIFRoaXMgY29udmVyc2F0aW9uIG1hZGUgbWUgZmVl + bCBxdWl0ZSBncmF0ZWZ1bCB0byBiZSBhbiBlbmdpbmVlciBpbiBhIHRpbWUg + d2hlcmUgZXZlcnl0aGluZyBpcyBzbyBtdWNoIGNoZWFwZXIsIHNvIG11Y2gg + ZWFzaWVyLCBhbmQgc28gbXVjaCBtb3JlIHBlcmZvcm1hbnQgdGhhbiBpdCB3 + YXMgaW4gdGhlIGRheXMgd2hlbiBHb29nbGUgZmlyc3QgYnVpbHQgZXZlcnl0 + aGluZyBmcm9tIHNjcmF0Y2guPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5JIGhhZCBhIGdyZWF0IHRpbWUgdGFsa2lu + ZyB0byBKb2huLCBhbmQgaG9wZSBoZSBjb21lcyBiYWNrIG9uIHRoZSBzaG93 + IGFnYWluIGluIHRoZSBmdXR1cmUgYmVjYXVzZSBpdCBmZWx0IGxpa2Ugd2Ug + d2VyZSBqdXN0IHNjcmF0Y2hpbmcgdGhlIHN1cmZhY2Ugb2YgaGlzIGV4cGVy + aWVuY2UuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0 + OiA0MDA7Ij5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBpcyBsb29raW5n + IGZvciBzcG9uc29ycyBmb3IgUTMuIElmIHlvdXIgY29tcGFueSBoYXMgYSBw + cm9kdWN0IG9yIHNlcnZpY2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5nLCBTb2Z0 + d2FyZSBFbmdpbmVlcmluZyBEYWlseSByZWFjaGVzIDIzLDAwMCBkZXZlbG9w + ZXJzIGxpc3RlbmluZyBkYWlseS4gU2VuZCBtZSBhbiBlbWFpbDogamVmZkBz + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwvcD4KPGgyPlRy + YW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVk + aXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3Rl + bmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2Fz + dHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdl + dCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRp + bmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBF + ZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBs + ZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRFQyNi1Hb29n + bGUtRWFybHktRGF5cy5wZGYiPmNsaWNrIGhlcmUgdG8gdmlld8KgdGhpcyBz + aG934oCZcyB0cmFuc2NyaXB0LjwvYT48L3A+CjxoMj5TcG9uc29yczwvaDI+ + CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9ImNvbC1zbS02Ij48 + YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9p + bnRlbCI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjMzNDYiIGRhdGEtcGVy + bWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9r + d2xvZ29zL2ludGVsL2ludGVsX3doaXRlX2xvZ28vIiBkYXRhLW9yaWctZmls + ZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0ZV9s + b2dvLnBuZz9maXQ9MTc3NCUyQzEyNjUiIGRhdGEtb3JpZy1zaXplPSIxNzc0 + LDEyNjUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1l + dGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9j + YWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFn + ZS10aXRsZT0iSW50ZWxfd2hpdGVfbG9nbyIgZGF0YS1pbWFnZS1kZXNjcmlw + dGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczovL2kyLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA0L0ludGVsX3doaXRlX2xvZ28ucG5nP2ZpdD0zMDAlMkMyMTQi + IGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVl + bmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8w + NC9JbnRlbF93aGl0ZV9sb2dvLnBuZz9maXQ9MTAyNCUyQzczMCIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zMzQ2IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxfd2hpdGVfbG9nby5w + bmc/cmVzaXplPTMwMCUyQzIxNCIgYWx0PSIiIHNyY3NldD0iaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0ZV9sb2dvLnBuZz9yZXNp + emU9MzAwJTJDMjE0IDMwMHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDQvSW50ZWxfd2hpdGVfbG9nby5wbmc/cmVzaXplPTc2OCUyQzU0OCA3Njh3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsX3doaXRlX2xv + Z28ucG5nP3Jlc2l6ZT0xMDI0JTJDNzMwIDEwMjR3LCBodHRwczovL2kyLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0ludGVsX3doaXRlX2xvZ28ucG5nP3Jlc2l6ZT03 + MjAlMkM1MTMgNzIwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2 + dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2Pjxi + ciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+RGVlcCBsZWFybmluZyBwcm9t + aXNlcyB0byBkcmFtYXRpY2FsbHkgaW1wcm92ZSBob3cgb3VyIHdvcmxkIHdv + cmtzLiBUbyBtYWtlIGRlZXAgbGVhcm5pbmcgZWFzaWVyIGFuZCBmYXN0ZXIs + IHdlIG5lZWQgbmV3IGtpbmRzIG9mIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSYj + ODIxMTt3aGljaCBpcyB3aHkgSW50ZWwgYWNxdWlyZWQgTmVydmFuYSBTeXN0 + ZW1zLCBhIHBsYXRmb3JtIGZvciBkZWVwIGxlYXJuaW5nLiBJbnRlbCBOZXJ2 + YW5hIGlzIGhpcmluZyBlbmdpbmVlcnMgdG8gaGVscCBkZXZlbG9wIGEgZnVs + bCBzdGFjayBmb3IgQUksIGZyb20gY2hpcCBkZXNpZ24gdG8gc29mdHdhcmUg + ZnJhbWV3b3Jrcy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vaW50ZWwiIHRhcmdldD0iX2JsYW5rIiByZWw9 + Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGRhdGEtc2FmZXJlZGlyZWN0dXJsPSJo + dHRwczovL3d3dy5nb29nbGUuY29tL3VybD9obD1lbiZhbXA7cT1odHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRlbCZhbXA7c291cmNl + PWdtYWlsJmFtcDt1c3Q9MTQ5MzEzNDE5NjQzMjAwMCZhbXA7dXNnPUFGUWpD + TkVIVUZDU21nR25kb1lzR3RHSXd1Y1RLcmZjTkEiPnNvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vPHdicj48L3dicj5pbnRlbDwvYT4gdG8gYXBwbHkg + Zm9yIGEgam9iIGF0IEludGVsIE5lcnZhbmEuIElmIHlvdSBrbm93IGRvbuKA + mXQga25vdyBtdWNoIGFib3V0IHRoZSBjb21wYW55LCBjaGVjayBvdXQgdGhl + IGludGVydmlld3MgSSBoYXZlIGNvbmR1Y3RlZCB3aXRoIGVuZ2luZWVycyBm + cm9tIHRoZSBjb21wYW55LiBZb3UgY2FuIGZpbmQgdGhlc2UgYXQgPGEgaHJl + Zj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwi + IHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiIGRh + dGEtc2FmZXJlZGlyZWN0dXJsPSJodHRwczovL3d3dy5nb29nbGUuY29tL3Vy + bD9obD1lbiZhbXA7cT1odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9pbnRlbCZhbXA7c291cmNlPWdtYWlsJmFtcDt1c3Q9MTQ5MzEzNDE5 + NjQzMjAwMCZhbXA7dXNnPUFGUWpDTkVIVUZDU21nR25kb1lzR3RHSXd1Y1RL + cmZjTkEiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vPHdicj48L3di + cj5pbnRlbDwvYT4uPC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xh + c3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48 + ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vYmxvY2tjaGFpbiI+PGltZyBkYXRhLWF0 + dGFjaG1lbnQtaWQ9IjM2MzAiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2NvbnNlbnN5cy1s + b2dvL2NvbnNlbnN5c19sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lzX2xvZ28ucG5nP2ZpdD00 + MDIlMkMyNDciIGRhdGEtb3JpZy1zaXplPSI0MDIsMjQ3IiBkYXRhLWNvbW1l + bnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1 + cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90 + aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQm + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90Ozom + cXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0 + aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVv + dDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkNvbnNlblN5 + c19sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVt + LWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lz + X2xvZ28ucG5nP2ZpdD0zMDAlMkMxODQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0 + cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5wbmc/ + Zml0PTQwMiUyQzI0NyIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjMw + IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDYvQ29uc2VuU3lzX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxODQiIGFsdD0i + IiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2Vu + U3lzX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxODQgMzAwdywgaHR0cHM6Ly9p + Mi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5wbmc/dz00MDIg + NDAydyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgi + IGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+VGhlIENvbnNlblN5cyBBY2FkZW15IERldmVs + b3BlciBQcm9ncmFtIGlzIGEgZnJlZSwgaGlnaGx5IHNlbGVjdGl2ZSBhbmQg + Y2FyZWZ1bGx5IGRlc2lnbmVkIDEwLXdlZWsgb25saW5lIGN1cnJpY3VsdW0g + d2hlcmUgeW91IHdpbGwgaW1tZXJzZSB5b3Vyc2VsZiBpbiBibG9ja2NoYWlu + IGRldmVsb3BtZW50IGFuZCBlYXJuIGEgQ29uc2VuU3lzIGJsb2NrY2hhaW4g + Y2VydGlmaWNhdGlvbi4gQnkgY29tcGxldGluZyB0aGUgcHJvZ3JhbSwgeW91 + IHdpbGwgYmUgZWxpZ2libGUgZm9yIGltbWVkaWF0ZSBoaXJlIGJ5IENvbnNl + blN5cywgYSBsZWFkZXIgaW4gdGhlIGJsb2NrY2hhaW4gc3BhY2UsIGZvY3Vz + ZWQgb24gdGhlIEV0aGVyZXVtIHBsYXRmb3JtLiBJZiB5b3Ugd2FudCB0byBs + ZWFybiBhYm91dCBibG9ja2NoYWlucywgYW5kIGJlY29tZSBhIGRldmVsb3Bl + ciBmb3IgYmxvY2tjaGFpbiB0ZWNobm9sb2d5LCBjaGVjayBvdXQgdGhlIENv + bnNlblN5cyBhY2FkZW15LCBieSBnb2luZyB0b8KgPGEgaHJlZj0iaHR0cDov + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vYmxvY2tjaGFpbiIgdGFy + Z2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPnNvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vYmxvY2tjaGFpbjwvYT4uIMKgIMKgIEFwcGxpY2F0aW9u + cyBhcmUgb3BlbiBmcm9tIG5vdyB1bnRpbCBKdWx5IDEgc28geW91IHdhbnQg + dG8gYXBwbHkgc29vbi7CoFRvIGxlYXJuIG1vcmUgYWJvdXQgQ29uc2VuU3lz + IGFuZCBFdGhlcmV1bSwgcGxlYXNlIHZpc2l0wqA8YSBocmVmPSJodHRwOi8v + Y29uc2Vuc3lzLm5ldC8iPmNvbnNlbnN5cy5uZXQ8L2E+LCBhbmQgc2lnbiB1 + cCBmb3IgdGhlIENvbnNlblN5cyB3ZWVrbHkgbmV3c2xldHRlciBmb3IgZXZl + cnl0aGluZyB5b3UgbmVlZCB0byBrbm93IGFib3V0IHRoZSBibG9ja2NoYWlu + IHNwYWNlLgo8cD48L3A+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYg + Y2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8 + cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2RpY2Uu + Y29tL3NlZGFpbHkiPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIzMTEyIiBk + YXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vMjAxNy8wMS8wOS9jeWJlci13YXJmYXJlLXdpdGgtamFyZWQtc21p + dGgvZGljZS1sb2dvMngvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMS9kaWNlLWxvZ29AMngucG5nP2ZpdD0yNTYlMkMx + MjgiIGRhdGEtb3JpZy1zaXplPSIyNTYsMTI4IiBkYXRhLWNvbW1lbnRzLW9w + ZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2Fw + dGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3Rh + bXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3No + dXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1 + b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImRpY2UtbG9nb0AyeCIg + ZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJo + dHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2RpY2UtbG9nb0AyeC5wbmc/ + Zml0PTI1NiUyQzEyOCIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzAxL2RpY2UtbG9nb0AyeC5wbmc/Zml0PTI1NiUyQzEy + OCIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMTEyIHNpemUtZnVsbCIg + c3JjPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAxL2RpY2UtbG9nb0Ay + eC5wbmc/cmVzaXplPTI1NiUyQzEyOCIgYWx0PSIiIGRhdGEtcmVjYWxjLWRp + bXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20t + NiI+RGljZS5jb20gd2lsbCBoZWxwIHlvdSBhY2NlbGVyYXRlIHlvdXIgdGVj + aCBjYXJlZXIuIFdoZXRoZXIgeW914oCZcmUgYWN0aXZlbHkgbG9va2luZyBm + b3IgYSBqb2Igb3IgbmVlZCBpbnNpZ2h0cyB0byBncm93IGluIHlvdXIgcm9s + ZSwgRGljZSBoYXMgdGhlIHJlc291cmNlcyB5b3UgbmVlZC4gRGljZeKAmXMg + bW9iaWxlIGFwcCBpcyB0aGUgZmFzdGVzdCBhbmQgZWFzaWVzdCB3YXkgdG8g + Z2V0IGFoZWFkLiBTZWFyY2ggdGhvdXNhbmRzIG9mIGpvYnMgZnJvbSB0b3Ag + Y29tcGFuaWVzLiBEaXNjb3ZlciB5b3VyIG1hcmtldCB2YWx1ZSBiYXNlZCBv + biB5b3VyIHVuaXF1ZSBza2lsbCBzZXQuIE1hbmFnZSB5b3VyIHRlY2ggY2Fy + ZWVyIGFuZCBkb3dubG9hZCB0aGUgRGljZSBDYXJlZXJzIGFwcCBvbiBBbmRy + b2lkIG9yIGlPUyB0b2RheS4gQW5kIHRvIGNoZWNrIG91dCB0aGUgRGljZSB3 + ZWJzaXRlIGFuZCBzdXBwb3J0IFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + LCBnbyB0byA8YSBocmVmPSJodHRwOi8vZGljZS5jb20vc2VkYWlseSI+ZGlj + ZS5jb20vc2VkYWlseTwvYT4uCjxwPjwvcD48L2Rpdj48YnIgLz4KPC9wPjwv + ZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwv + ZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0 + dHA6Ly9jb2RlcGF0aC5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50LWlkPSIz + NjE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vMjAxNy8wNi8wOS9taWNyb3NvZnQtaGlzdG9yeS13aXRo + LXJpY2hhcmQtY2FtcGJlbGwvY29kZXBhdGgtMi8iIGRhdGEtb3JpZy1maWxl + PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9m + aXQ9Njk4JTJDNDAwIiBkYXRhLW9yaWctc2l6ZT0iNjk4LDQwMCIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJjb2Rl + cGF0aCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1m + aWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBu + Zz9maXQ9MzAwJTJDMTcyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP2ZpdD02OTglMkM0MDAi + IGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzYxOSBzaXplLW1lZGl1bSIg + c3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBu + Zz9yZXNpemU9MzAwJTJDMTcyIiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kx + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9yZXNpemU9MzAwJTJD + MTcyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBh + dGgucG5nP3c9Njk4IDY5OHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkg + MTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rp + dj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIGlkPSJtXzUz + MjQ5MzcxODEwNTQzNjY0NTVnbWFpbC1kb2NzLWludGVybmFsLWd1aWQtMTIx + YzI2NmEtODk2NS1iYzBmLWNjOTgtNDk4Yjc3ZjdmZTM1Ij5Db2RlcGF0aCBp + cyBhbiA4LXdlZWsgaU9TIGFuZCBBbmRyb2lkIGRldmVsb3BtZW50IGNsYXNz + IGZvciBwcm9mZXNzaW9uYWwgZW5naW5lZXJzIHdobyBhcmUgbG9va2luZyB0 + byBidWlsZCBhIG5ldyBza2lsbC4gQ29kZXBhdGggaGFzIGZyZWUgZXZlbmlu + ZyBjbGFzc2VzIGZvciBkZWRpY2F0ZWQsIGV4cGVyaWVuY2VkIGVuZ2luZWVy + cyBhbmQgZGVzaWduZXJzLjwvc3Bhbj48c3BhbiBpZD0ibV81MzI0OTM3MTgx + MDU0MzY2NDU1Z21haWwtZG9jcy1pbnRlcm5hbC1ndWlkLTEyMWMyNjZhLTg5 + NjYtYTdhMy1iNzYyLWQwNDllMzIyMjI0NCI+aGV0aGVyIHlvdSBhcmUgYW4g + ZW5naW5lZXIgd2hvIGlzIGxvb2tpbmcgdG8gcmV0cmFpbiBhcyBhIG1vYmls + ZSBkZXZlbG9wZXImIzgyMTE7b3IgeW91IGFyZSBsb29raW5nIHRvIGhpcmUg + bW9iaWxlIGVuZ2luZWVycywgZ28gdG8gQ29kZXBhdGguY29tIHRvIGxlYXJu + IG1vcmUuPC9zcGFuPjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8ZGl2IGNs + YXNzPSJyb3ciPjwvZGl2Pgo8cD4mbmJzcDs8L3A+Cl1dPjwvY29udGVudDpl + bmNvZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGli + c3luLmNvbS9zZWRhaWx5L2dvb2dsZWVhcmx5ZGF5c19lZGl0ZWQubXAzIiBs + ZW5ndGg9IjY4MTkyNTQ3IiB0eXBlPSJhdWRpby9tcGVnIiAvPgoJCTxpdHVu + ZXM6c3VidGl0bGU+Sm9obiBMb29uZXkgc3BlbnQgbW9yZSB0aGFuIDEwIHll + YXJzIGF0IEdvb2dsZS4gSGUgc3RhcnRlZCB3aXRoIGluZnJhc3RydWN0dXJl + LCBhbmQgd2FzIHBhcnQgb2YgdGhlIHRlYW0gdGhhdCBtaWdyYXRlZCBHb29n + bGUgRmlsZSBTeXN0ZW0gdG8gQ29sb3NzdXMsIHRoZSBzdWNjZXNzb3IgdG8g + R0ZTLiBJbWFnaW5lIG1pZ3JhdGluZyBldmVyeSBwaWVjZSBvZiBkYXRhIG9u + IEdvb2dsZSBmcm9tIG9uZSBkaXN0cmlidXRlZCBmaWxlIHN5c3RlLi4uPC9p + dHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5PkpvaG4gTG9vbmV5 + IHNwZW50IG1vcmUgdGhhbiAxMCB5ZWFycyBhdCBHb29nbGUuIEhlIHN0YXJ0 + ZWQgd2l0aCBpbmZyYXN0cnVjdHVyZSwgYW5kIHdhcyBwYXJ0IG9mIHRoZSB0 + ZWFtIHRoYXQgbWlncmF0ZWQgR29vZ2xlIEZpbGUgU3lzdGVtIHRvIENvbG9z + c3VzLCB0aGUgc3VjY2Vzc29yIHRvIEdGUy4gSW1hZ2luZSBtaWdyYXRpbmcg + ZXZlcnkgcGllY2Ugb2YgZGF0YSBvbiBHb29nbGUgZnJvbSBvbmUgZGlzdHJp + YnV0ZWQgZmlsZSBzeXN0ZW0gdG8gYW5vdGhlci4gSW4gdGhpcyBlcGlzb2Rl + LCBKb2huIHNoZWRzIGxpZ2h0IG9uIHRoZSBlbmdpbmVlcmluZyBjdWx0dXJl + IHRoYXQgaGFzIG1hZGUgR29vZ2xlIHNvIHN1Y2Nlc3NmdWwuIEhlIGhhcyB2 + ZXJ5IGVudGVydGFpbmluZyBzdG9yaWVzIGFib3V0IGNsdXN0ZXJvcHMgYW5k + IHNpdGUtcmVsaWFiaWxpdHlDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjEx + OjAyPC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM2Mzk8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5EYXRhIFRlYW1zIHdpdGggUnlhIFNj + aWJhbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tLzIwMTcvMDYvMTUvZGF0YS10ZWFtcy13aXRoLXJ5YS1z + Y2liYW4vPC9saW5rPg0KCQk8cHViRGF0ZT5UaHUsIDE1IEp1biAyMDE3IDA5 + OjAwOjI0ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0i + ZmFsc2UiPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9w + PTM2Mzg8L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS8yMDE3LzA2LzE1L2RhdGEtdGVhbXMtd2l0aC1y + eWEtc2NpYmFuLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDYvMTUvZGF0YS10ZWFtcy13aXRoLXJ5YS1zY2liYW4vZmVlZC88L3dmdzpj + b21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVu + dHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48L2Nh + dGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtEYXRhXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2FzdF1dPjwvY2F0ZWdvcnk+ + CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2RhdGEgYW5hbHlzaXNdXT48L2NhdGVn + b3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtkYXRhIHRlYW1zXV0+PC9jYXRl + Z29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRWRhZW5hIFNhbGluYXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQZXJpc2NvcGUgRGF0 + YV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1J5YSBTY2li + YW5dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtXb21lbiBp + biBUZWNoIFNob3ddXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5BIGRh + dGEtZHJpdmVuIG9yZ2FuaXphdGlvbiBpcyBtb3JlIGVmZmljaWVudCBiZWNh + dXNlIHRoZSBjb21wYW55IGNhbiBsZWFybiB3aGF0IHRvIGZvY3VzIG9uLiBJ + biB0aGlzIGVwaXNvZGUsIEVkYWVuYSBTYWxpbmFzIGZyb20gVGhlIFdvbWVu + IGluIFRlY2ggU2hvdyBpbnRlcnZpZXdzIFJ5YSBTY2liYW4sIFByb2R1Y3Qg + TWFuYWdlciBhdCBQZXJpc2NvcGUgRGF0YSwgd2hvwqBleHBsYWlucyB0aGUg + bmVlZHMgb2YgZGF0YSB0ZWFtcyBpbiBhbiBvcmdhbml6YXRpb24uIFdlIHRh + bGtlZCBhYm91dCB3aGF0IGRhdGEgYW5hbHlzaXMgaXMgYW5kIGhvdyB0aGlz + IGNoYW5nZXMgYXMgdGhlIGFtb3VudCBvZiBkYXRhIGdyb3dzLiBSeWEgZXhw + bGFpbmVkIHdoYXQgYW5hbHl0aWNzIGNsdXN0ZXJzIGFyZSBhbmQgZWZmZWN0 + aXZlIHdheXMgb2YmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xNS9kYXRhLXRlYW1zLXdpdGgt + cnlhLXNjaWJhbi8mcXVvdDsmZ3Q7Q29udGludWUgcmVhZGluZy4uLiZsdDsv + YSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4NCgkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMjQ3 + NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29vZ2xlcy1jb250YWluZXItbWFuYWdl + bWVudC1icmVuZGFuLWJ1cm5zL2JyZW5kYW4tYnVybnMvIiBkYXRhLW9yaWct + ZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wNC9icmVuZGFuLWJ1 + cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBkYXRhLW9yaWctc2l6ZT0iMTc1LDE3 + NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0i + eyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3Jl + ZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZx + dW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9s + ZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAm + cXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29y + aWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRp + dGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIi + IGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4t + YnVybnMuanBnP2ZpdD0xNzUlMkMxNzUiIGNsYXNzPSJhbGlnbnJpZ2h0IHNp + emUtZnVsbCB3cC1pbWFnZS0yNDc1IiBzdHlsZT0iYm9yZGVyLXJhZGl1czog + NTAlOyBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyBtYXgtd2lkdGg6IDE3 + NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsiIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNi9SeWFTY2liYW4uanBnP3Jlc2l6ZT0xNzUlMkMxNzUm + IzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+QSBkYXRhLWRyaXZlbiBv + cmdhbml6YXRpb24gaXMgbW9yZSBlZmZpY2llbnQgYmVjYXVzZSB0aGUgY29t + cGFueSBjYW4gbGVhcm4gd2hhdCB0byBmb2N1cyBvbi4gSW4gdGhpcyBlcGlz + b2RlLCBFZGFlbmEgU2FsaW5hcyBmcm9tIFRoZSBXb21lbiBpbiBUZWNoIFNo + b3cgaW50ZXJ2aWV3cyBSeWEgU2NpYmFuLCBQcm9kdWN0IE1hbmFnZXIgYXQg + PC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnBlcmlzY29wZWRhdGEuY29t + LyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5QZXJpc2NvcGUg + RGF0YSw8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+IHdob8KgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+ZXhwbGFpbnMgdGhlIG5lZWRzIG9mIGRhdGEgdGVhbXMgaW4gYW4gb3Jn + YW5pemF0aW9uLiBXZSB0YWxrZWQgYWJvdXQgd2hhdCBkYXRhIGFuYWx5c2lz + IGlzIGFuZCBob3cgdGhpcyBjaGFuZ2VzIGFzIHRoZSBhbW91bnQgb2YgZGF0 + YSBncm93cy4gUnlhIGV4cGxhaW5lZCB3aGF0IGFuYWx5dGljcyBjbHVzdGVy + cyBhcmUgYW5kIGVmZmVjdGl2ZSB3YXlzIG9mIHNoYXJpbmcgZGF0YSBiZXR3 + ZWVuIHRoZSBvcmdhbml6YXRpb24uPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 + bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5QZXJpc2NvcGUgRGF0YSBoYXMgYmVl + biBzdWNjZXNzZnVsIGluIHJldGFpbmluZyB3b21lbiBpbiBwcm9kdWN0IGFu + ZCBkZXZlbG9wbWVudCB0ZWFtcy4gV2UgdGFsa2VkIGFib3V0IGVmZmVjdGl2 + ZSBzdHJhdGVnaWVzIGZvciB0aGlzIGFuZCBmb3IgaGF2aW5nIG1vcmUgd29t + ZW4gaW4gbGVhZGVyc2hpcCBwb3NpdGlvbnMuPC9zcGFuPjwvcD4KPGgyPlRy + YW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVk + aXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3Rl + bmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2Fz + dHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdl + dCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRp + bmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBF + ZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBs + ZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRFQyMy1EYXRh + LVRlYW1zLnBkZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlz + IHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBj + bGFzcz0icm93Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9 + Imh0dHA6Ly9oaXJlZC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5Ij48 + aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMTU4MyIgZGF0YS1wZXJtYWxpbms9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDEv + MDQvZGlzdHJpYnV0ZWQtc3lzdGVtcy13aXRoLWFsdmFyby12aWRlbGEvaGly + ZWQtbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP2ZpdD0yNjAlMkMxMzAiIGRhdGEt + b3JpZy1zaXplPSIyNjAsMTMwIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIg + ZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1 + b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZx + dW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3Bl + ZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90 + O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImhpcmVkLWxvZ28iIGRhdGEtaW1hZ2Ut + ZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMC53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNi8wMS9oaXJlZC1sb2dvLmpwZz9maXQ9MjYwJTJDMTMw + IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MDEvaGlyZWQtbG9nby5qcGc/Zml0PTI2MCUyQzEzMCIgY2xhc3M9ImFsaWdu + bGVmdCB3cC1pbWFnZS0xNTgzIHNpemUtZnVsbCIgc3JjPSJodHRwczovL2kw + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE2LzAxL2hpcmVkLWxvZ28uanBnP3Jlc2l6ZT0yNjAl + MkMxMzAiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAv + Pgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SGF2ZSB5b3UgYmVlbiB0aGlua2lu + ZyB5b3XigJlkIGJlIGhhcHBpZXIgYXQgYSBuZXcgam9iPyBJZiB5b3XigJly + ZSBkcmVhbWluZyBhYm91dCBhIG5ldyBqb2IgYW5kIGhhdmUgYmVlbiB3YWl0 + aW5nIGZvciB0aGUgcmlnaHQgdGltZSB0byBtYWtlIGEgbW92ZSwgZ28gdG/C + oDxhIGhyZWY9Imh0dHA6Ly9oaXJlZC5jb20vc2VkYWlseSI+aGlyZWQuY29t + L3NlZGFpbHk8L2E+LiBIaXJlZCBtYWtlcyBmaW5kaW5nIHdvcmsgZW5qb3lh + YmxlLiBIaXJlZCB1c2VzIGFuIGFsZ29yaXRobWljIGpvYi1tYXRjaGluZyB0 + b29sIGluIGNvbWJpbmF0aW9uIHdpdGggYSB0YWxlbnQgYWR2b2NhdGUgd2hv + IHdpbGwgd2FsayB5b3UgdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBmaW5kaW5n + IGEgYmV0dGVyIGpvYi4gQ2hlY2sgb3V0wqA8YSBocmVmPSJodHRwOi8vaGly + ZWQuY29tL3NlZGFpbHkiPmhpcmVkLmNvbS9zZWRhaWx5PC9hPsKgdG8gZ2V0 + IGEgc3BlY2lhbCBvZmZlciBmb3IgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFp + bHkgbGlzdGVuZXJzJiM4MjExO2EgJDYwMCBzaWduaW5nIGJvbnVzIGZyb20g + SGlyZWQgd2hlbiB5b3UgZmluZCB0aGF0IGdyZWF0IGpvYiB0aGF0IGdpdmVz + IHlvdSB0aGUgcmVzcGVjdCBhbmQgc2FsYXJ5IHRoYXQgeW91IGRlc2VydmUg + YXMgYSB0YWxlbnRlZCBlbmdpbmVlci7CoDwvZGl2PjxiciAvPgo8L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9k + aXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0 + cDovL2R5bi5jb20vc2VkYWlseSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9 + IjMzNDQiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVl + cmluZ2RhaWx5LmNvbS9rd2xvZ29zL2R5bi9keW5fbG9nb19ibGFja190ZXh0 + LXN2Zy8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/Zml0PTEwMjQl + MkM0MDIiIGRhdGEtb3JpZy1zaXplPSIxMDI0LDQwMiIgZGF0YS1jb21tZW50 + cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJl + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGlt + ZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0 + bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7 + OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJEeW5fbG9nb18o + YmxhY2tfdGV4dCkuc3ZnIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRh + dGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQv + RHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9maXQ9MzAwJTJDMTE4IiBk + YXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQv + RHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9maXQ9MTAyNCUyQzQwMiIg + Y2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMzQ0IHNpemUtbWVkaXVtIiBz + cmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWls + eS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxh + Y2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9MzAwJTJDMTE4IiBhbHQ9IiIgc3Jj + c2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2Js + YWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTMwMCUyQzExOCAzMDB3LCBodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQu + c3ZnXy5wbmc/cmVzaXplPTc2OCUyQzMwMiA3Njh3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + dz0xMDI0IDEwMjR3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5 + bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTcyMCUyQzI4MyA3 + MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIg + ZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYg + Y2xhc3M9ImNvbC1zbS02Ij5PcmFjbGUgRHluIHByb3ZpZGVzIEROUyB0aGF0 + IGlzIGFzIGR5bmFtaWMgYW5kIGludGVsbGlnZW50IGFzIHlvdXIgYXBwbGlj + YXRpb25zLiBEeW4gRE5TIGdldHMgeW91ciB1c2VycyB0byB0aGUgcmlnaHQg + Y2xvdWQgc2VydmljZSwgQ0ROLCBvciBkYXRhIGNlbnRlciwgdXNpbmcgaW50 + ZWxsaWdlbnQgcmVzcG9uc2UgdG8gc3RlZXIgdHJhZmZpYyBiYXNlZCBvbiBi + dXNpbmVzcyBwb2xpY2llcywgYXMgd2VsbCBhcyByZWFsLXRpbWUgaW50ZXJu + ZXQgY29uZGl0aW9ucywgbGlrZSB0aGUgc2VjdXJpdHkgYW5kIHBlcmZvcm1h + bmNlIG9mIHRoZSBuZXR3b3JrIHBhdGguIEdldCBzdGFydGVkIHdpdGggYSBm + cmVlIDMwLWRheSB0cmlhbCBmb3IgeW91ciBhcHBsaWNhdGlvbiBieSBnb2lu + ZyB0bzxhIGhyZWY9Imh0dHA6Ly9keW4uY29tL3NlZGFpbHkiPiBkeW4uY29t + L3NlZGFpbHk8L2E+LiDCoEFmdGVyIHRoZSBmcmVlIHRyaWFsLCBEeW7igJlz + IGRldmVsb3BlciBwbGFucyBzdGFydCBhdCBqdXN0ICQ3IGEgbW9udGggZm9y + IHdvcmxkLWNsYXNzIEROUy4gUmV0aGluayBETlMuIEdvIHRvIDxhIGhyZWY9 + Imh0dHA6Ly9keW4uY29tL3NlZGFpbHkiPmR5bi5jb20vc2VkYWlseTwvYT7C + oHRvIGxlYXJuIG1vcmUgYW5kIGdldCB5b3VyIGZyZWUgdHJpYWwgb2YgRHlu + IEROUy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ci + Pgo8cD4mbmJzcDs8L3A+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9w + Pgo8cD48ZGl2IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL2Nv + ZGVwYXRoLmNvbSI+PGltZyBkYXRhLWF0dGFjaG1lbnQtaWQ9IjM2MTkiIGRh + dGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS8yMDE3LzA2LzA5L21pY3Jvc29mdC1oaXN0b3J5LXdpdGgtcmljaGFy + ZC1jYW1wYmVsbC9jb2RlcGF0aC0yLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP2ZpdD02OTgl + MkM0MDAiIGRhdGEtb3JpZy1zaXplPSI2OTgsNDAwIiBkYXRhLWNvbW1lbnRz + LW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7 + Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1l + c3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90 + O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRs + ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6 + JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9ImNvZGVwYXRoIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP2ZpdD0z + MDAlMkMxNzIiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9jb2RlcGF0aC5wbmc/Zml0PTY5OCUyQzQwMCIgY2xhc3M9 + ImFsaWdubGVmdCB3cC1pbWFnZS0zNjE5IHNpemUtbWVkaXVtIiBzcmM9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP3Jlc2l6 + ZT0zMDAlMkMxNzIiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP3Jlc2l6ZT0zMDAlMkMxNzIgMzAw + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0aC5wbmc/ + dz02OTggNjk4dyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywg + MzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAv + Pgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+PHNwYW4gaWQ9Im1fNTMyNDkzNzE4 + MTA1NDM2NjQ1NWdtYWlsLWRvY3MtaW50ZXJuYWwtZ3VpZC0xMjFjMjY2YS04 + OTY1LWJjMGYtY2M5OC00OThiNzdmN2ZlMzUiPkNvZGVwYXRoIGlzIGFuIDgt + d2VlayBpT1MgYW5kIEFuZHJvaWQgZGV2ZWxvcG1lbnQgY2xhc3MgZm9yIHBy + b2Zlc3Npb25hbCBlbmdpbmVlcnMgd2hvIGFyZSBsb29raW5nIHRvIGJ1aWxk + IGEgbmV3IHNraWxsLiBDb2RlcGF0aCBoYXMgZnJlZSBldmVuaW5nIGNsYXNz + ZXMgZm9yIGRlZGljYXRlZCwgZXhwZXJpZW5jZWQgZW5naW5lZXJzIGFuZCBk + ZXNpZ25lcnMuPC9zcGFuPjxzcGFuIGlkPSJtXzUzMjQ5MzcxODEwNTQzNjY0 + NTVnbWFpbC1kb2NzLWludGVybmFsLWd1aWQtMTIxYzI2NmEtODk2Ni1hN2Ez + LWI3NjItZDA0OWUzMjIyMjQ0Ij5oZXRoZXIgeW91IGFyZSBhbiBlbmdpbmVl + ciB3aG8gaXMgbG9va2luZyB0byByZXRyYWluIGFzIGEgbW9iaWxlIGRldmVs + b3BlciYjODIxMTtvciB5b3UgYXJlIGxvb2tpbmcgdG8gaGlyZSBtb2JpbGUg + ZW5naW5lZXJzLCBnbyB0byBDb2RlcGF0aC5jb20gdG8gbGVhcm4gbW9yZS48 + L3NwYW4+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+PC9kaXY+CjxwPiZuYnNwOzwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+ + DQoJCTxlbmNsb3N1cmUgdXJsPSJodHRwOi8vdHJhZmZpYy5saWJzeW4uY29t + L3NlZGFpbHkvZGF0YXRlYW1zX2VkaXRlZC5tcDMiIGxlbmd0aD0iMzQ4OTEz + MTAiIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5B + IGRhdGEtZHJpdmVuIG9yZ2FuaXphdGlvbiBpcyBtb3JlIGVmZmljaWVudCBi + ZWNhdXNlIHRoZSBjb21wYW55IGNhbiBsZWFybiB3aGF0IHRvIGZvY3VzIG9u + LiBJbiB0aGlzIGVwaXNvZGUsIEVkYWVuYSBTYWxpbmFzIGZyb20gVGhlIFdv + bWVuIGluIFRlY2ggU2hvdyBpbnRlcnZpZXdzIFJ5YSBTY2liYW4sIFByb2R1 + Y3QgTWFuYWdlciBhdCBQZXJpc2NvcGUgRGF0YSw8L2l0dW5lczpzdWJ0aXRs + ZT4KCQk8aXR1bmVzOnN1bW1hcnk+QSBkYXRhLWRyaXZlbiBvcmdhbml6YXRp + b24gaXMgbW9yZSBlZmZpY2llbnQgYmVjYXVzZSB0aGUgY29tcGFueSBjYW4g + bGVhcm4gd2hhdCB0byBmb2N1cyBvbi4gSW4gdGhpcyBlcGlzb2RlLCBFZGFl + bmEgU2FsaW5hcyBmcm9tIFRoZSBXb21lbiBpbiBUZWNoIFNob3cgaW50ZXJ2 + aWV3cyBSeWEgU2NpYmFuLCBQcm9kdWN0IE1hbmFnZXIgYXQgUGVyaXNjb3Bl + IERhdGEsIHdob8KgZXhwbGFpbnMgdGhlIG5lZWRzIG9mIGRhdGEgdGVhbXMg + aW4gYW4gb3JnYW5pemF0aW9uLiBXZSB0YWxrZWQgYWJvdXQgd2hhdCBkYXRh + IGFuYWx5c2lzIGlzIGFuZCBob3cgdGhpcyBjaGFuZ2VzIGFzIHRoZSBhbW91 + bnQgb2YgZGF0YSBncm93cy4gUnlhIGV4cGxhaW5lZCB3aGF0IGFuYWx5dGlj + cyBjbHVzdGVycyBhcmUgYW5kIGVmZmVjdGl2ZSB3YXlzIG9mQ29udGludWUg + cmVhZGluZy4uLjwvaXR1bmVzOnN1bW1hcnk+CgkJPGl0dW5lczphdXRob3I+ + U29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHk8L2l0dW5lczphdXRob3I+CgkJ + PGl0dW5lczpleHBsaWNpdD5jbGVhbjwvaXR1bmVzOmV4cGxpY2l0PgoJCTxp + dHVuZXM6ZHVyYXRpb24+MzY6MjE8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3Qt + aWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzYz + ODwvcG9zdC1pZD4JCTwvaXRlbT4NCgk8aXRlbT4NCgkJPHRpdGxlPkRpc3Ry + aWJ1dGVkIERlZXAgTGVhcm5pbmcgd2l0aCBXaWxsIENvbnN0YWJsZTwvdGl0 + bGU+DQoJCTxsaW5rPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tLzIwMTcvMDYvMTQvZGlzdHJpYnV0ZWQtZGVlcC1sZWFybmluZy13aXRo + LXdpbGwtY29uc3RhYmxlLzwvbGluaz4NCgkJPHB1YkRhdGU+V2VkLCAxNCBK + dW4gMjAxNyAwOTowMDozNSArMDAwMDwvcHViRGF0ZT4NCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS8/cD0zNjE2PC9ndWlkPg0KCQk8Y29tbWVudHM+aHR0cDovL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xNC9kaXN0cmli + dXRlZC1kZWVwLWxlYXJuaW5nLXdpdGgtd2lsbC1jb25zdGFibGUvI3Jlc3Bv + bmQ8L2NvbW1lbnRzPg0KCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xNC9kaXN0cmlidXRl + ZC1kZWVwLWxlYXJuaW5nLXdpdGgtd2lsbC1jb25zdGFibGUvZmVlZC88L3dm + dzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29t + bWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwgRXBpc29kZXNdXT48 + L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtNYWNoaW5lIExlYXJu + aW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbUG9kY2Fz + dF1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW2RhdGEgcGFy + YWxsZWxpc21dXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtk + aXN0cmlidXRlZCBkZWVwIGxlYXJuaW5nXV0+PC9jYXRlZ29yeT4KCQk8Y2F0 + ZWdvcnk+PCFbQ0RBVEFbSW50ZWwgTmVydmFuYV1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW3RyYWluaW5nIG1hY2hpbmUgbGVhcm5pbmcg + bW9kZWxzXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbV2ls + bCBDb25zdGFibGVdXT48L2NhdGVnb3J5PgoJCTxkZXNjcmlwdGlvbj5EZWVw + IGxlYXJuaW5nIGFsbG93cyBlbmdpbmVlcnMgdG8gYnVpbGQgbW9kZWxzIHRo + YXQgY2FuIG1ha2UgZGVjaXNpb25zIGJhc2VkIG9uIHRyYWluaW5nIGRhdGEu + IFRoZXNlIG1vZGVscyBpbXByb3ZlIG92ZXIgdGltZSB1c2luZyBzdG9jaGFz + dGljIGdyYWRpZW50IGRlc2NlbnQuIFdoZW4gYSBtb2RlbCBnZXRzIGJpZyBl + bm91Z2gsIHRoZSB0cmFpbmluZyBtdXN0IGJlIGJyb2tlbiB1cCBhY3Jvc3Mg + bXVsdGlwbGUgbWFjaGluZXMuIFR3byBzdHJhdGVnaWVzIGZvciBkb2luZyB0 + aGlzIGFyZSDigJxtb2RlbCBwYXJhbGxlbGlzbeKAnSB3aGljaCBkaXZpZGVz + IHRoZSBtb2RlbCBhY3Jvc3MgbWFjaGluZXMgYW5kIOKAnGRhdGEgcGFyYWxs + ZWxpc23igJ0gd2hpY2ggZGl2aWRlcyB0aGUgZGF0YSBhY3Jvc3MgbXVsdGlw + bGUgY29waWVzIG9mIHRoZSBtb2RlbC4gRGlzdHJpYnV0ZWQgZGVlcCBsZWFy + bmluZyBicmluZ3MmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xNC9kaXN0cmlidXRlZC1kZWVw + LWxlYXJuaW5nLXdpdGgtd2lsbC1jb25zdGFibGUvJnF1b3Q7Jmd0O0NvbnRp + bnVlIHJlYWRpbmcuLi4mbHQ7L2EmZ3Q7Jmx0Oy9wJmd0OzwvZGVzY3JpcHRp + b24+DQoJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+PGltZyBkYXRh + LWF0dGFjaG1lbnQtaWQ9IjI0NzUiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS8yMDE2LzA0LzE5L2dvb2ds + ZXMtY29udGFpbmVyLW1hbmFnZW1lbnQtYnJlbmRhbi1idXJucy9icmVuZGFu + LWJ1cm5zLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0PTE3NSUyQzE3NSIgZGF0 + YS1vcmlnLXNpemU9IjE3NSwxNzUiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIw + IiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVv + dDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1 + b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9z + cGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1 + b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iYnJlbmRhbi1idXJucyIgZGF0YS1p + bWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1bS1maWxlPSJodHRwczov + L2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0x + NzUlMkMxNzUiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBj + bGFzcz0iYWxpZ25yaWdodCBzaXplLWZ1bGwgd3AtaW1hZ2UtMjQ3NSIgc3R5 + bGU9ImJvcmRlci1yYWRpdXM6IDUwJTsgYm9yZGVyOiAxcHggc29saWQgIzAw + MDAwMDsgbWF4LXdpZHRoOiAxNzVweDsgbWF4LWhlaWdodDogMTc1cHg7IiBz + cmM9Imh0dHBzOi8vaTIud3AuY29tL3d3dy5uZXJ2YW5hc3lzLmNvbS93cC1j + b250ZW50L3VwbG9hZHMvMjAxNi8wNi9XSUxMLUNPTlNUQUJMRTEuanBnP3Jl + c2l6ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0i + MSIgLz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + RGVlcCBsZWFybmluZyBhbGxvd3MgZW5naW5lZXJzIHRvIGJ1aWxkIG1vZGVs + cyB0aGF0IGNhbiBtYWtlIGRlY2lzaW9ucyBiYXNlZCBvbiB0cmFpbmluZyBk + YXRhLiBUaGVzZSBtb2RlbHMgaW1wcm92ZSBvdmVyIHRpbWUgdXNpbmcgc3Rv + Y2hhc3RpYyBncmFkaWVudCBkZXNjZW50LiBXaGVuIGEgbW9kZWwgZ2V0cyBi + aWcgZW5vdWdoLCB0aGUgdHJhaW5pbmcgbXVzdCBiZSBicm9rZW4gdXAgYWNy + b3NzIG11bHRpcGxlIG1hY2hpbmVzLiBUd28gc3RyYXRlZ2llcyBmb3IgZG9p + bmcgdGhpcyBhcmUg4oCcbW9kZWwgcGFyYWxsZWxpc23igJ0gd2hpY2ggZGl2 + aWRlcyB0aGUgbW9kZWwgYWNyb3NzIG1hY2hpbmVzIGFuZCDigJxkYXRhIHBh + cmFsbGVsaXNt4oCdIHdoaWNoIGRpdmlkZXMgdGhlIGRhdGEgYWNyb3NzIG11 + bHRpcGxlIGNvcGllcyBvZiB0aGUgbW9kZWwuPC9zcGFuPjwvcD4KPHA+PHNw + YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5EaXN0cmlidXRlZCBkZWVw + IGxlYXJuaW5nIGJyaW5ncyB0b2dldGhlciB0d28gYWR2YW5jZWQgc29mdHdh + cmUgZW5naW5lZXJpbmcgY29uY2VwdHM6IGRpc3RyaWJ1dGVkIHN5c3RlbXMg + YW5kIGRlZXAgbGVhcm5pbmcuIEluIHRoaXMgZXBpc29kZSwgV2lsbCBDb25z + dGFibGUsIHRoZSBoZWFkIG9mIGRpc3RyaWJ1dGVkIGRlZXAgbGVhcm5pbmcg + YWxnb3JpdGhtcyBhdCBJbnRlbCBOZXJ2YW5hLCBqb2lucyB0aGUgc2hvdyB0 + byBnaXZlIHVzIGEgcmVmcmVzaGVyIG9uIGRlZXAgbGVhcm5pbmcgYW5kIGV4 + cGxhaW4gaG93IHRvIHBhcmFsbGVsaXplIHRyYWluaW5nIGEgbW9kZWwuIDwv + c3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + RnVsbCBkaXNjbG9zdXJlOiBJbnRlbCBpcyBhIHNwb25zb3Igb2YgU29mdHdh + cmUgRW5naW5lZXJpbmcgRGFpbHksIGFuZCBpZiB5b3Ugd2FudCB0byBmaW5k + IG91dCBtb3JlIGFib3V0IEludGVsIE5lcnZhbmEgaW5jbHVkaW5nIG90aGVy + IGludGVydmlld3MgYW5kIGpvYiBwb3N0aW5ncywgZ28gdG8gPGEgaHJlZj0i + aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwiPnNv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWw8L2E+LiBJbnRlbCBO + ZXJ2YW5hIGlzIGxvb2tpbmcgZm9yIGdyZWF0IGVuZ2luZWVycyBhdCBhbGwg + bGV2ZWxzIG9mIHRoZSBzdGFjaywgYW5kIGluIHRoaXMgZXBpc29kZSB3ZeKA + mWxsIGRpdmUgaW50byBzb21lIG9mIHRoZSBwcm9ibGVtcyB0aGUgSW50ZWwg + TmVydmFuYSB0ZWFtIGlzIHNvbHZpbmcuPC9zcGFuPjwvcD4KPHA+PGEgaHJl + Zj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2NhdGVn + b3J5L21hY2hpbmUtbGVhcm5pbmcvIj5SZWxhdGVkIGVwaXNvZGVzIGFib3V0 + IG1hY2hpbmUgbGVhcm5pbmcgY2FuIGJlIGZvdW5kIGhlcmUuPC9hPjwvcD4K + PGgyPlRyYW5zY3JpcHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5 + IFdlIEVkaXQgUG9kY2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5 + IGxpc3RlbmVycyBjYW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0 + cG9kY2FzdHMuY29tL3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7C + oHRvIGdldCAyMCUgb2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlv + IGVkaXRpbmcgYW5kIHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0 + byBXZSBFZGl0IFBvZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFp + bHkuIFBsZWFzZcKgPGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRDM1 + Ni1EaXN0cmlidXRlZC1EZWVwLUxlYXJuaW5nLnBkZiI+Y2xpY2sgaGVyZSB0 + byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3JpcHQuPC9hPjwvcD4KPGgy + PlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+PGRpdiBjbGFz + cz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6Ly9XaXguY29tL3dpeC1scC9T + RWRhaWx5Ij48aW1nIGRhdGEtYXR0YWNobWVudC1pZD0iMzI0OSIgZGF0YS1w + ZXJtYWxpbms9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2t3bG9nb3Mvd2l4L3dpeC1sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP2ZpdD0xNzA4 + JTJDNDUxIiBkYXRhLW9yaWctc2l6ZT0iMTcwOCw0NTEiIGRhdGEtY29tbWVu + dHMtb3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVy + ZSZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVv + dDsmcXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVv + dDtjYXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3Rp + bWVzdGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZx + dW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3Rp + dGxlJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90 + OzomcXVvdDsxJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0id2l4LWxvZ28i + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/Zml0 + PTMwMCUyQzc5IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDIvd2l4LWxvZ28uanBnP2ZpdD0xMDI0JTJDMjcwIiBjbGFz + cz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMyNDkgc2l6ZS1tZWRpdW0iIHNyYz0i + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/cmVz + aXplPTMwMCUyQzc5IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzAyL3dpeC1sb2dvLmpwZz9yZXNpemU9MzAwJTJDNzkgMzAw + dywgaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/ + cmVzaXplPTc2OCUyQzIwMyA3Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL3dpeC1sb2dvLmpwZz9yZXNpemU9MTAyNCUyQzI3MCAxMDI0dywg + aHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wMi93aXgtbG9nby5qcGc/cmVz + aXplPTcyMCUyQzE5MCA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgp + IDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9k + aXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5SZWFkeSB0byBidWls + ZCB5b3VyIG93biBzdHVubmluZyB3ZWJzaXRlPyBHbyB0byBXaXgtRE9ULWNv + bSBhbmQgc3RhcnQgZm9yIGZyZWUhIFdpdGggV2l4LCB5b3UgY2FuIGNob29z + ZSBmcm9tIGh1bmRyZWRzIG9mIGJlYXV0aWZ1bCwgZGVzaWduZXItbWFkZSB0 + ZW1wbGF0ZXMuIFNpbXBseSBkcmFnIGFuZCBkcm9wIHRvIGN1c3RvbWl6ZSBh + bnl0aGluZyBhbmQgZXZlcnl0aGluZy4gQWRkIHlvdXIgdGV4dCwgaW1hZ2Vz + LCB2aWRlb3MgYW5kIG1vcmUuIFdpeCBtYWtlcyBpdCBlYXN5IHRvIGdldCB5 + b3VyIHN0dW5uaW5nIHdlYnNpdGUgbG9va2luZyBleGFjdGx5IHRoZSB3YXkg + eW91IHdhbnQuwqBQbHVzLCB5b3VyIHNpdGUgaXMgbW9iaWxlIG9wdGltaXpl + ZCwgc28geW91JiM4MjE3O2xsIGxvb2sgYW1hemluZyBvbiBhbnkgZGV2aWNl + LsKgV2hhdGV2ZXIgeW91IG5lZWQgYSB3ZWJzaXRlIGZvciwgV2l4IGhhcyB5 + b3UgY292ZXJlZC4gU28sIHNob3djYXNlIHlvdXIgdGFsZW50cy4gU3RhcnQg + dGhhdCBkZXYgYmxvZywgZGV0YWlsaW5nIHlvdXIgbGF0ZXN0IHByb2plY3Rz + LiBHcm93IHlvdXIgbmV0d29yayB3aXRoIFdpeCBhcHBzIG1hZGUgdG8gd29y + ayBzZWFtbGVzc2x5IHdpdGggeW91ciBzaXRlLiBPciwgc2ltcGx5IGV4cGxv + cmUgYW5kIHNoYXJlIG5ldyBpZGVhcy4gWW91IGRlY2lkZS4gT3ZlciBvbmUt + aHVuZHJlZC1taWxsaW9uIHBlb3BsZSBjaG9vc2UgV2l4IHRvIGNyZWF0ZSB0 + aGVpciB3ZWJzaXRlICYjODIxMTsgd2hhdCBhcmUgeW91IHdhaXRpbmcgZm9y + PyBNYWtlIHlvdXJzIGhhcHBlbiB0b2RheS4gSXTigJlzIGVhc3kgYW5kIGZy + ZWUuIEFuZCB3aGVuIHlvdeKAmXJlIHJlYWR5IHRvIHVwZ3JhZGUsIHVzZSB0 + aGUgcHJvbW8gY29kZcKgPGI+U0VEYWlseTwvYj7CoGZvciBhIHNwZWNpYWwg + U0UgRGFpbHkgbGlzdGVuZXIgZGlzY291bnQuIFRlcm1zIGFuZCBjb25kaXRp + b25zIGFwcGx5LiBGb3IgbW9yZSBkZXRhaWxzLCBnbyB0b8KgPGEgaHJlZj0i + aHR0cDovL1dpeC5jb20vd2l4LWxwL1NFZGFpbHkiPldpeC5jb20vd2l4LWxw + L1NFZGFpbHk8L2E+LiBDcmVhdGUgeW91ciBzdHVubmluZyB3ZWJzaXRlIHRv + ZGF5IHdpdGggV2l4LmNvbSwgdGhhdOKAmXMgVy1JLVgtRE9ULWNvbS7CoDwv + ZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+CjxwPjxk + aXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNsYXNzPSJjb2wt + c20tNiI+PGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2VkYWlseSI+PGltZyBk + YXRhLWF0dGFjaG1lbnQtaWQ9IjMzNDQiIGRhdGEtcGVybWFsaW5rPSJodHRw + Oi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2R5bi9k + eW5fbG9nb19ibGFja190ZXh0LXN2Zy8iIGRhdGEtb3JpZy1maWxlPSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQu + c3ZnXy5wbmc/Zml0PTEwMjQlMkM0MDIiIGRhdGEtb3JpZy1zaXplPSIxMDI0 + LDQwMiIgZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0 + YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDss + JnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2Nh + bF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdl + LXRpdGxlPSJEeW5fbG9nb18oYmxhY2tfdGV4dCkuc3ZnIiBkYXRhLWltYWdl + LWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBu + Zz9maXQ9MzAwJTJDMTE4IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBu + Zz9maXQ9MTAyNCUyQzQwMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0z + MzQ0IHNpemUtbWVkaXVtIiBzcmM9Imh0dHBzOi8vaTEud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9MzAw + JTJDMTE4IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kxLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTMw + MCUyQzExOCAzMDB3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5 + bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/cmVzaXplPTc2OCUyQzMwMiA3 + Njh3LCBodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2Js + YWNrX3RleHQuc3ZnXy5wbmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kxLndw + LmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQv + dXBsb2Fkcy8yMDE3LzA0L0R5bl9sb2dvX2JsYWNrX3RleHQuc3ZnXy5wbmc/ + cmVzaXplPTcyMCUyQzI4MyA3MjB3IiBzaXplcz0iKG1heC13aWR0aDogMzAw + cHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+ + PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1zbS02Ij5PcmFjbGUgRHlu + IHByb3ZpZGVzIEROUyB0aGF0IGlzIGFzIGR5bmFtaWMgYW5kIGludGVsbGln + ZW50IGFzIHlvdXIgYXBwbGljYXRpb25zLiBEeW4gRE5TIGdldHMgeW91ciB1 + c2VycyB0byB0aGUgcmlnaHQgY2xvdWQgc2VydmljZSwgQ0ROLCBvciBkYXRh + IGNlbnRlciwgdXNpbmcgaW50ZWxsaWdlbnQgcmVzcG9uc2UgdG8gc3RlZXIg + dHJhZmZpYyBiYXNlZCBvbiBidXNpbmVzcyBwb2xpY2llcywgYXMgd2VsbCBh + cyByZWFsLXRpbWUgaW50ZXJuZXQgY29uZGl0aW9ucywgbGlrZSB0aGUgc2Vj + dXJpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIHRoZSBuZXR3b3JrIHBhdGguIEdl + dCBzdGFydGVkIHdpdGggYSBmcmVlIDMwLWRheSB0cmlhbCBmb3IgeW91ciBh + cHBsaWNhdGlvbiBieSBnb2luZyB0bzxhIGhyZWY9Imh0dHA6Ly9keW4uY29t + L3NlZGFpbHkiPiBkeW4uY29tL3NlZGFpbHk8L2E+LiDCoEFmdGVyIHRoZSBm + cmVlIHRyaWFsLCBEeW7igJlzIGRldmVsb3BlciBwbGFucyBzdGFydCBhdCBq + dXN0ICQ3IGEgbW9udGggZm9yIHdvcmxkLWNsYXNzIEROUy4gUmV0aGluayBE + TlMuIEdvIHRvIDxhIGhyZWY9Imh0dHA6Ly9keW4uY29tL3NlZGFpbHkiPmR5 + bi5jb20vc2VkYWlseTwvYT7CoHRvIGxlYXJuIG1vcmUgYW5kIGdldCB5b3Vy + IGZyZWUgdHJpYWwgb2YgRHluIEROUy48L2Rpdj48YnIgLz4KPC9wPjwvZGl2 + Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJyb3ciPjwvZGl2 + PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsIj48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzM0NiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvaW50ZWwv + aW50ZWxfd2hpdGVfbG9nby8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2ky + LndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRl + bnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsX3doaXRlX2xvZ28ucG5nP2ZpdD0x + Nzc0JTJDMTI2NSIgZGF0YS1vcmlnLXNpemU9IjE3NzQsMTI2NSIgZGF0YS1j + b21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2Fw + ZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7 + OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0 + ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJp + Z2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVv + dDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1 + b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9u + JnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJJbnRl + bF93aGl0ZV9sb2dvIiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEt + bWVkaXVtLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50 + ZWxfd2hpdGVfbG9nby5wbmc/Zml0PTMwMCUyQzIxNCIgZGF0YS1sYXJnZS1m + aWxlPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFp + bHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsX3doaXRl + X2xvZ28ucG5nP2ZpdD0xMDI0JTJDNzMwIiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTMzNDYgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMi53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0ZV9sb2dvLnBuZz9yZXNpemU9MzAw + JTJDMjE0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzA0L0ludGVsX3doaXRlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMyMTQg + MzAwdywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0 + ZV9sb2dvLnBuZz9yZXNpemU9NzY4JTJDNTQ4IDc2OHcsIGh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvSW50ZWxfd2hpdGVfbG9nby5wbmc/cmVzaXpl + PTEwMjQlMkM3MzAgMTAyNHcsIGh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcv + MDQvSW50ZWxfd2hpdGVfbG9nby5wbmc/cmVzaXplPTcyMCUyQzUxMyA3MjB3 + IiBzaXplcz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0 + YS1yZWNhbGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xh + c3M9ImNvbC1zbS02Ij5EZWVwIGxlYXJuaW5nIHByb21pc2VzIHRvIGRyYW1h + dGljYWxseSBpbXByb3ZlIGhvdyBvdXIgd29ybGQgd29ya3MuIFRvIG1ha2Ug + ZGVlcCBsZWFybmluZyBlYXNpZXIgYW5kIGZhc3Rlciwgd2UgbmVlZCBuZXcg + a2luZHMgb2YgaGFyZHdhcmUgYW5kIHNvZnR3YXJlJiM4MjExO3doaWNoIGlz + IHdoeSBJbnRlbCBhY3F1aXJlZCBOZXJ2YW5hIFN5c3RlbXMsIGEgcGxhdGZv + cm0gZm9yIGRlZXAgbGVhcm5pbmcuIEludGVsIE5lcnZhbmEgaXMgaGlyaW5n + IGVuZ2luZWVycyB0byBoZWxwIGRldmVsb3AgYSBmdWxsIHN0YWNrIGZvciBB + SSwgZnJvbSBjaGlwIGRlc2lnbiB0byBzb2Z0d2FyZSBmcmFtZXdvcmtzLiBH + byB0byA8YSBocmVmPSJodHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS9pbnRlbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9y + ZWZlcnJlciIgZGF0YS1zYWZlcmVkaXJlY3R1cmw9Imh0dHBzOi8vd3d3Lmdv + b2dsZS5jb20vdXJsP2hsPWVuJmFtcDtxPWh0dHA6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL2ludGVsJmFtcDtzb3VyY2U9Z21haWwmYW1wO3Vz + dD0xNDkzMTM0MTk2NDMyMDAwJmFtcDt1c2c9QUZRakNORUhVRkNTbWdHbmRv + WXNHdEdJd3VjVEtyZmNOQSI+c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS88d2JyPjwvd2JyPmludGVsPC9hPiB0byBhcHBseSBmb3IgYSBqb2IgYXQg + SW50ZWwgTmVydmFuYS4gSWYgeW91IGtub3cgZG9u4oCZdCBrbm93IG11Y2gg + YWJvdXQgdGhlIGNvbXBhbnksIGNoZWNrIG91dCB0aGUgaW50ZXJ2aWV3cyBJ + IGhhdmUgY29uZHVjdGVkIHdpdGggZW5naW5lZXJzIGZyb20gdGhlIGNvbXBh + bnkuIFlvdSBjYW4gZmluZCB0aGVzZSBhdCA8YSBocmVmPSJodHRwOi8vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9pbnRlbCIgdGFyZ2V0PSJfYmxh + bmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgZGF0YS1zYWZlcmVkaXJl + Y3R1cmw9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP2hsPWVuJmFtcDtx + PWh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsJmFt + cDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNDkzMTM0MTk2NDMyMDAwJmFtcDt1 + c2c9QUZRakNORUhVRkNTbWdHbmRvWXNHdEdJd3VjVEtyZmNOQSI+c29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS88d2JyPjwvd2JyPmludGVsPC9hPi48 + L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vY29kZXBhdGguY29tIj48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzYxOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMDkvbWlj + cm9zb2Z0LWhpc3Rvcnktd2l0aC1yaWNoYXJkLWNhbXBiZWxsL2NvZGVwYXRo + LTIvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNi9jb2RlcGF0aC5wbmc/Zml0PTY5OCUyQzQwMCIgZGF0YS1vcmlnLXNp + emU9IjY5OCw0MDAiIGRhdGEtY29tbWVudHMtb3BlbmVkPSIwIiBkYXRhLWlt + YWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZxdW90OzomcXVvdDswJnF1b3Q7 + LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FtZXJh + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYXB0aW9uJnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVzdGFtcCZxdW90OzomcXVvdDsw + JnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7aXNv + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7c2h1dHRlcl9zcGVlZCZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxlJnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtvcmllbnRhdGlvbiZxdW90OzomcXVvdDswJnF1b3Q7fSIgZGF0 + YS1pbWFnZS10aXRsZT0iY29kZXBhdGgiIGRhdGEtaW1hZ2UtZGVzY3JpcHRp + b249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNi9jb2RlcGF0aC5wbmc/Zml0PTMwMCUyQzE3MiIgZGF0YS1sYXJn + ZS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRo + LnBuZz9maXQ9Njk4JTJDNDAwIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTM2MTkgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNi9jb2RlcGF0aC5wbmc/cmVzaXplPTMwMCUyQzE3MiIgYWx0PSIi + IHNyY3NldD0iaHR0cHM6Ly9pMS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNi9jb2RlcGF0 + aC5wbmc/cmVzaXplPTMwMCUyQzE3MiAzMDB3LCBodHRwczovL2kxLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz93PTY5OCA2OTh3IiBzaXplcz0i + KG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNhbGMt + ZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNvbC1z + bS02Ij48c3BhbiBpZD0ibV81MzI0OTM3MTgxMDU0MzY2NDU1Z21haWwtZG9j + cy1pbnRlcm5hbC1ndWlkLTEyMWMyNjZhLTg5NjUtYmMwZi1jYzk4LTQ5OGI3 + N2Y3ZmUzNSI+Q29kZXBhdGggaXMgYW4gOC13ZWVrIGlPUyBhbmQgQW5kcm9p + ZCBkZXZlbG9wbWVudCBjbGFzcyBmb3IgcHJvZmVzc2lvbmFsIGVuZ2luZWVy + cyB3aG8gYXJlIGxvb2tpbmcgdG8gYnVpbGQgYSBuZXcgc2tpbGwuIENvZGVw + YXRoIGhhcyBmcmVlIGV2ZW5pbmcgY2xhc3NlcyBmb3IgZGVkaWNhdGVkLCBl + eHBlcmllbmNlZCBlbmdpbmVlcnMgYW5kIGRlc2lnbmVycy48L3NwYW4+PHNw + YW4gaWQ9Im1fNTMyNDkzNzE4MTA1NDM2NjQ1NWdtYWlsLWRvY3MtaW50ZXJu + YWwtZ3VpZC0xMjFjMjY2YS04OTY2LWE3YTMtYjc2Mi1kMDQ5ZTMyMjIyNDQi + PmhldGhlciB5b3UgYXJlIGFuIGVuZ2luZWVyIHdobyBpcyBsb29raW5nIHRv + IHJldHJhaW4gYXMgYSBtb2JpbGUgZGV2ZWxvcGVyJiM4MjExO29yIHlvdSBh + cmUgbG9va2luZyB0byBoaXJlIG1vYmlsZSBlbmdpbmVlcnMsIGdvIHRvIENv + ZGVwYXRoLmNvbSB0byBsZWFybiBtb3JlLjwvc3Bhbj48L2Rpdj48L3A+Cjxw + PjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48L2Rpdj4KPHA+Jm5ic3A7 + PC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4NCgkJPGVuY2xvc3VyZSB1cmw9 + Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20vc2VkYWlseS9EaXN0cmlidXRl + ZGRlZXBsZWFybmluZy5tcDMiIGxlbmd0aD0iNTUzNDAwNjMiIHR5cGU9ImF1 + ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRsZT5EZWVwIGxlYXJuaW5n + IGFsbG93cyBlbmdpbmVlcnMgdG8gYnVpbGQgbW9kZWxzIHRoYXQgY2FuIG1h + a2UgZGVjaXNpb25zIGJhc2VkIG9uIHRyYWluaW5nIGRhdGEuIFRoZXNlIG1v + ZGVscyBpbXByb3ZlIG92ZXIgdGltZSB1c2luZyBzdG9jaGFzdGljIGdyYWRp + ZW50IGRlc2NlbnQuIFdoZW4gYSBtb2RlbCBnZXRzIGJpZyBlbm91Z2gsIHRo + ZSB0cmFpbmluZyBtdXN0IGJlIGJyb2tlbiB1cCBhY3Jvc3MgbXVsdGlwbGUg + bWFjaGluZXMuPC9pdHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5 + PkRlZXAgbGVhcm5pbmcgYWxsb3dzIGVuZ2luZWVycyB0byBidWlsZCBtb2Rl + bHMgdGhhdCBjYW4gbWFrZSBkZWNpc2lvbnMgYmFzZWQgb24gdHJhaW5pbmcg + ZGF0YS4gVGhlc2UgbW9kZWxzIGltcHJvdmUgb3ZlciB0aW1lIHVzaW5nIHN0 + b2NoYXN0aWMgZ3JhZGllbnQgZGVzY2VudC4gV2hlbiBhIG1vZGVsIGdldHMg + YmlnIGVub3VnaCwgdGhlIHRyYWluaW5nIG11c3QgYmUgYnJva2VuIHVwIGFj + cm9zcyBtdWx0aXBsZSBtYWNoaW5lcy4gVHdvIHN0cmF0ZWdpZXMgZm9yIGRv + aW5nIHRoaXMgYXJlIOKAnG1vZGVsIHBhcmFsbGVsaXNt4oCdIHdoaWNoIGRp + dmlkZXMgdGhlIG1vZGVsIGFjcm9zcyBtYWNoaW5lcyBhbmQg4oCcZGF0YSBw + YXJhbGxlbGlzbeKAnSB3aGljaCBkaXZpZGVzIHRoZSBkYXRhIGFjcm9zcyBt + dWx0aXBsZSBjb3BpZXMgb2YgdGhlIG1vZGVsLiBEaXN0cmlidXRlZCBkZWVw + IGxlYXJuaW5nIGJyaW5nc0NvbnRpbnVlIHJlYWRpbmcuLi48L2l0dW5lczpz + dW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNvZnR3YXJlIEVuZ2luZWVyaW5n + IERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxpdHVuZXM6ZXhwbGljaXQ+Y2xl + YW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1bmVzOmR1cmF0aW9uPjU3OjI5 + PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29yZHBy + ZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM2MTY8L3Bvc3QtaWQ+CQk8L2l0ZW0+ + DQoJPGl0ZW0+DQoJCTx0aXRsZT5FdmVudCBEcml2ZW4gU2VydmVybGVzcyB3 + aXRoIFNlYmFzdGllbiBHb2FzZ29lbjwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMTMvZXZl + bnQtZHJpdmVuLXNlcnZlcmxlc3Mtd2l0aC1zZWJhc3RpYW4tZ29hc2dvZW4v + PC9saW5rPg0KCQk8cHViRGF0ZT5UdWUsIDEzIEp1biAyMDE3IDA5OjAwOjI3 + ICswMDAwPC9wdWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2MzM8 + L2d1aWQ+DQoJCTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA2LzEzL2V2ZW50LWRyaXZlbi1zZXJ2ZXJsZXNz + LXdpdGgtc2ViYXN0aWFuLWdvYXNnb2VuLyNjb21tZW50czwvY29tbWVudHM+ + DQoJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmlu + Z2RhaWx5LmNvbS8yMDE3LzA2LzEzL2V2ZW50LWRyaXZlbi1zZXJ2ZXJsZXNz + LXdpdGgtc2ViYXN0aWFuLWdvYXNnb2VuL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4NCgkJPHNsYXNoOmNvbW1lbnRzPjI8L3NsYXNoOmNvbW1lbnRzPg0KCQk8 + Y2F0ZWdvcnk+PCFbQ0RBVEFbQWxsIEVwaXNvZGVzXV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbT3BlbiBTb3VyY2VdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtQb2RjYXN0XV0+PC9jYXRlZ29yeT4K + CQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbQml0bmFtaV1dPjwvY2F0ZWdvcnk+CgkJ + PGNhdGVnb3J5PjwhW0NEQVRBW2V2ZW50IHNvdXJjaW5nXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbS3ViZWxlc3NdXT48L2NhdGVnb3J5 + PgoJCTxjYXRlZ29yeT48IVtDREFUQVtLdWJlcm5ldGVzXV0+PC9jYXRlZ29y + eT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2ViYXN0aWFuIEdvYXNnb2VuXV0+ + PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbU2VydmVybGVzc11d + PjwvY2F0ZWdvcnk+CgkJPGRlc2NyaXB0aW9uPk1vZGVybiBhcmNoaXRlY3R1 + cmVzIG9mdGVuIGNvbnNpc3Qgb2YgY29udGFpbmVycyB0aGF0IHJ1biBzZXJ2 + aWNlcy4gVGhvc2UgY29udGFpbmVycyBzY2FsZSB1cCBhbmQgZG93biBkZXBl + bmRpbmcgb24gdGhlIGRlbWFuZCBmb3IgdGhlIHNlcnZpY2VzLiBUaGVzZSBs + YXJnZSBzb2Z0d2FyZSBzeXN0ZW1zIG9mdGVuIHVzZSBhIHRlY2huaXF1ZSBr + bm93biBhcyBldmVudCBzb3VyY2luZywgd2hlcmUgZXZlcnkgY2hhbmdlIHRv + IHRoZSBzeXN0ZW0gaXMga2VwdCBpbiBhbiBldmVudCBsb2cuIFdoZW4gYW4g + ZXZlbnQgb24gdGhlIGxvZyBpcyBwcm9jZXNzZWQsIHNldmVyYWwgZGlmZmVy + ZW50IGRhdGEgc3RvcmVzIG1pZ2h0IGJlIHVwZGF0ZWQgaW4gcmVzcG9uc2Uu + IEluIHRoZXNlIGFyY2hpdGVjdHVyZXMsIGNvbnRhaW5lcnMgYXJlIGludGVy + YWN0aW5nIHdpdGgmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtjb250aW51 + ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xMy9ldmVudC1kcml2ZW4tc2Vy + dmVybGVzcy13aXRoLXNlYmFzdGlhbi1nb2FzZ29lbi8mcXVvdDsmZ3Q7Q29u + dGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlw + dGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29v + Z2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5k + YW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBz + dHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAj + MDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsi + IHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9maWxl + X2ltYWdlcy83NTQ5NDI4MzI4NzY2NzUwNzIvWkpZb1lmTlMuanBnP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+TW9k + ZXJuIGFyY2hpdGVjdHVyZXMgb2Z0ZW4gY29uc2lzdCBvZiBjb250YWluZXJz + IHRoYXQgcnVuIHNlcnZpY2VzLiBUaG9zZSBjb250YWluZXJzIHNjYWxlIHVw + IGFuZCBkb3duIGRlcGVuZGluZyBvbiB0aGUgZGVtYW5kIGZvciB0aGUgc2Vy + dmljZXMuIFRoZXNlIGxhcmdlIHNvZnR3YXJlIHN5c3RlbXMgb2Z0ZW4gdXNl + IGEgdGVjaG5pcXVlIGtub3duIGFzIGV2ZW50IHNvdXJjaW5nLCB3aGVyZSBl + dmVyeSBjaGFuZ2UgdG8gdGhlIHN5c3RlbSBpcyBrZXB0IGluIGFuIGV2ZW50 + IGxvZy4gV2hlbiBhbiBldmVudCBvbiB0aGUgbG9nIGlzIHByb2Nlc3NlZCwg + c2V2ZXJhbCBkaWZmZXJlbnQgZGF0YSBzdG9yZXMgbWlnaHQgYmUgdXBkYXRl + ZCBpbiByZXNwb25zZS48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u + dC13ZWlnaHQ6IDQwMDsiPkluIHRoZXNlIGFyY2hpdGVjdHVyZXMsIGNvbnRh + aW5lcnMgYXJlIGludGVyYWN0aW5nIHdpdGggZWFjaCBvdGhlci4gTXVsdGlw + bGUgZGF0YWJhc2VzIGFyZSByZXNwb25kaW5nIHRvIGV2ZW50cyBpbiB0aGUg + ZXZlbnQgbG9nLiBUbyBjb25uZWN0IHRoZXNlIHN5c3RlbXMgdG9nZXRoZXIs + IGVuZ2luZWVycyBjYW4gd3JpdGUgc21hbGwgZnVuY3Rpb25zIHRvIHBhc3Mg + ZGF0YSBhcm91bmQmIzgyMTE7eW91IG1pZ2h0IGNhbGwgdGhlc2Ugc21hbGwg + Y29ubmVjdGluZyBmdW5jdGlvbnMgJiM4MjIwO2dsdWUuJiM4MjIxOyBHbHVl + IGZ1bmN0aW9ucyBhcmUgYSBncmVhdCB1c2UgZm9yIGEgc2VydmVybGVzcyB0 + b29sIHN1Y2ggYXMgQVdTIExhbWJkYSBvciBHb29nbGUgQ2xvdWQgRnVuY3Rp + b25zLiBBcyB0aGVzZSBnbHVlIGZ1bmN0aW9ucyBncm93IGluIHBvcHVsYXJp + dHksIHRoZXJlIGlzIGFuIGluY3JlYXNlZCBuZWVkIGZvciBhbiBvcGVuIHNv + dXJjZSB3YXkgdG8gZGVwbG95IHNlcnZlcmxlc3MgZnVuY3Rpb25zLjwvc3Bh + bj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U2Vi + YXN0aWVuIEdvYXNnb2VuIHdvcmtzIG9uIEt1YmVsZXNzLCBhIHNlcnZlcmxl + c3MgZXhlY3V0aW9uIHRvb2wgYnVpbHQgb24gdG9wIG9mIEt1YmVybmV0ZXMu + IEluIHRoaXMgZXBpc29kZSwgd2UgZXhwbG9yZSBoaXMgdGFrZSBvbiB0aGUg + 4oCcc2VydmVybGVzcyBvbiBLdWJlcm5ldGVz4oCdIHByb2JsZW0uIFRoaXMg + aXMgYSBncmVhdCBjb21wYW5pb24gZXBpc29kZSB0byB5ZXN0ZXJkYXnigJlz + IGludGVydmlldyB3aXRoIFNvYW0gVmFzYW5pLjwvc3Bhbj48L3A+CjxwPjxz + cGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+U29mdHdhcmUgRW5naW5l + ZXJpbmcgRGFpbHkgaXMgbG9va2luZyBmb3Igc3BvbnNvcnMgZm9yIFEzLiBJ + ZiB5b3VyIGNvbXBhbnkgaGFzIGEgcHJvZHVjdCBvciBzZXJ2aWNlLCBvciBp + ZiB5b3UgYXJlIGhpcmluZywgU29mdHdhcmUgRW5naW5lZXJpbmcgRGFpbHkg + cmVhY2hlcyAyMywwMDAgZGV2ZWxvcGVycyBsaXN0ZW5pbmcgZGFpbHkuIFNl + bmQgbWUgYW4gZW1haWw6IGplZmZAc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbTwvc3Bhbj48L3A+CjxoMj5UcmFuc2NyaXB0PC9oMj4KPHA+VHJhbnNj + cmlwdCBwcm92aWRlZCBieSBXZSBFZGl0IFBvZGNhc3RzLiBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSBsaXN0ZW5lcnMgY2FuIGdvIHRvwqA8YSBocmVm + PSJodHRwczovL3dlZWRpdHBvZGNhc3RzLmNvbS9zZWQiPndlZWRpdHBvZGNh + c3RzLmNvbS9zZWQ8L2E+wqB0byBnZXQgMjAlIG9mZiB0aGUgZmlyc3QgdHdv + IG1vbnRocyBvZiBhdWRpbyBlZGl0aW5nIGFuZCB0cmFuc2NyaXB0aW9uIHNl + cnZpY2VzLiBUaGFua3MgdG8gV2UgRWRpdCBQb2RjYXN0cyBmb3IgcGFydG5l + cmluZyB3aXRoIFNFIERhaWx5LiBQbGVhc2XCoDxhIGhyZWY9Imh0dHBzOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9TRURUMjctS3ViZWxlc3MucGRmIj5jbGljayBoZXJlIHRv + IHZpZXfCoHRoaXMgc2hvd+KAmXMgdHJhbnNjcmlwdC48L2E+PC9wPgo8aDI+ + U3BvbnNvcnM8L2gyPgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNz + PSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vYmxvY2tjaGFpbiI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjM2MzAiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2NvbnNlbnN5cy1sb2dvL2NvbnNl + bnN5c19sb2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29t + L3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxv + YWRzLzIwMTcvMDYvQ29uc2VuU3lzX2xvZ28ucG5nP2ZpdD00MDIlMkMyNDci + IGRhdGEtb3JpZy1zaXplPSI0MDIsMjQ3IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkNvbnNlblN5c19sb2dvIiBk + YXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0 + dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lzX2xvZ28ucG5n + P2ZpdD0zMDAlMkMxODQiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5wbmc/Zml0PTQwMiUy + QzI0NyIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zNjMwIHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2Vu + U3lzX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMxODQiIGFsdD0iIiBzcmNzZXQ9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYvQ29uc2VuU3lzX2xvZ28u + cG5nP3Jlc2l6ZT0zMDAlMkMxODQgMzAwdywgaHR0cHM6Ly9pMi53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNi9Db25zZW5TeXNfbG9nby5wbmc/dz00MDIgNDAydyIgc2l6 + ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAxMDB2dywgMzAwcHgiIGRhdGEtcmVj + YWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2PjxiciAvPgo8ZGl2IGNsYXNzPSJj + b2wtc20tNiI+VGhlIENvbnNlblN5cyBBY2FkZW15IERldmVsb3BlciBQcm9n + cmFtIGlzIGEgZnJlZSwgaGlnaGx5IHNlbGVjdGl2ZSBhbmQgY2FyZWZ1bGx5 + IGRlc2lnbmVkIDEwLXdlZWsgb25saW5lIGN1cnJpY3VsdW0gd2hlcmUgeW91 + IHdpbGwgaW1tZXJzZSB5b3Vyc2VsZiBpbiBibG9ja2NoYWluIGRldmVsb3Bt + ZW50IGFuZCBlYXJuIGEgQ29uc2VuU3lzIGJsb2NrY2hhaW4gY2VydGlmaWNh + dGlvbi4gQnkgY29tcGxldGluZyB0aGUgcHJvZ3JhbSwgeW91IHdpbGwgYmUg + ZWxpZ2libGUgZm9yIGltbWVkaWF0ZSBoaXJlIGJ5IENvbnNlblN5cywgYSBs + ZWFkZXIgaW4gdGhlIGJsb2NrY2hhaW4gc3BhY2UsIGZvY3VzZWQgb24gdGhl + IEV0aGVyZXVtIHBsYXRmb3JtLiBJZiB5b3Ugd2FudCB0byBsZWFybiBhYm91 + dCBibG9ja2NoYWlucywgYW5kIGJlY29tZSBhIGRldmVsb3BlciBmb3IgYmxv + Y2tjaGFpbiB0ZWNobm9sb2d5LCBjaGVjayBvdXQgdGhlIENvbnNlblN5cyBh + Y2FkZW15LCBieSBnb2luZyB0b8KgPGEgaHJlZj0iaHR0cDovL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vYmxvY2tjaGFpbiIgdGFyZ2V0PSJfYmxh + bmsiIHJlbD0ibm9vcGVuZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vYmxvY2tjaGFpbjwvYT4uIMKgIMKgIEFwcGxpY2F0aW9ucyBhcmUgb3Bl + biBmcm9tIG5vdyB1bnRpbCBKdWx5IDEgc28geW91IHdhbnQgdG8gYXBwbHkg + c29vbi7CoFRvIGxlYXJuIG1vcmUgYWJvdXQgQ29uc2VuU3lzIGFuZCBFdGhl + cmV1bSwgcGxlYXNlIHZpc2l0wqA8YSBocmVmPSJodHRwOi8vY29uc2Vuc3lz + Lm5ldC8iPmNvbnNlbnN5cy5uZXQ8L2E+LCBhbmQgc2lnbiB1cCBmb3IgdGhl + IENvbnNlblN5cyB3ZWVrbHkgbmV3c2xldHRlciBmb3IgZXZlcnl0aGluZyB5 + b3UgbmVlZCB0byBrbm93IGFib3V0IHRoZSBibG9ja2NoYWluIHNwYWNlLgo8 + cD48L3A+PC9kaXY+PC9wPgo8cD48L3A+PC9kaXY+CjxkaXYgY2xhc3M9InJv + dyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2IGNs + YXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5naW5l + ZXJpbmdkYWlseS5jb20vZmFpcmNvbSI+PGltZyBkYXRhLWF0dGFjaG1lbnQt + aWQ9IjM0MDEiIGRhdGEtcGVybWFsaW5rPSJodHRwOi8vc29mdHdhcmVlbmdp + bmVlcmluZ2RhaWx5LmNvbS9rd2xvZ29zL2ZhaXJjb20vZmFpcmNvbS1sb2dv + LWRiZ3JleS8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNvbS9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fk + cy8yMDE3LzA0L0ZhaXJDb20tTG9nby1EQkdyZXkucG5nP2ZpdD0xMDAwJTJD + MjU0IiBkYXRhLW9yaWctc2l6ZT0iMTAwMCwyNTQiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iRmFpckNvbSBMb2dv + IERCR3JleSIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1lZGl1 + bS1maWxlPSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJDb20t + TG9nby1EQkdyZXkucG5nP2ZpdD0zMDAlMkM3NiIgZGF0YS1sYXJnZS1maWxl + PSJodHRwczovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJDb20tTG9nby1E + QkdyZXkucG5nP2ZpdD0xMDAwJTJDMjU0IiBjbGFzcz0iYWxpZ25sZWZ0IHdw + LWltYWdlLTM0MDEgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNy8wNC9GYWlyQ29tLUxvZ28tREJHcmV5LnBuZz9yZXNpemU9 + MzAwJTJDNzYiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTAud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDQvRmFpckNvbS1Mb2dvLURCR3JleS5wbmc/cmVzaXplPTMwMCUy + Qzc2IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRmFpckNv + bS1Mb2dvLURCR3JleS5wbmc/cmVzaXplPTc2OCUyQzE5NSA3Njh3LCBodHRw + czovL2kwLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ZhaXJDb20tTG9nby1EQkdyZXku + cG5nP3Jlc2l6ZT03MjAlMkMxODMgNzIwdywgaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNy8wNC9GYWlyQ29tLUxvZ28tREJHcmV5LnBuZz93PTEwMDAgMTAw + MHciIHNpemVzPSIobWF4LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBk + YXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBj + bGFzcz0iY29sLXNtLTYiPkRvIHlvdSB3YW50IHRoZSBmbGV4aWJpbGl0eSBv + ZiBhIG5vbi1yZWxhdGlvbmFsIGtleSB2YWx1ZSBzdG9yZSB0b2dldGhlciB3 + aXRoIHRoZSBxdWVyeSBjYXBhYmlsaXRpZXMgb2YgU1FMPyBUYWtlIGEgbG9v + ayBhdCBjLXRyZWVBQ0UgYnkgRmFpckNvbS4gYy10cmVlQUNFIGlzIGEgbm9u + LXJlbGF0aW9uYWwga2V5LXZhbHVlIHN0b3JlIHRoYXQgb2ZmZXJzIEFDSUQg + dHJhbnNhY3Rpb25zIGNvbXBsZW1lbnRlZCBieSBhIGZ1bGwgU1FMIGVuZ2lu + ZS4gYy10cmVlQUNFIG9mZmVycyBzaW11bHRhbmVvdXMgYWNjZXNzIHRvIHRo + ZSBkYXRhIHRocm91Z2ggbm9uLXJlbGF0aW9uYWwgYW5kIHJlbGF0aW9uYWwg + QVBJcy4gQ29tcGFuaWVzIHVzZSBjLXRyZWVBQ0UgdG8gcHJvY2VzcyBBQ0lE + IHRyYW5zYWN0aW9ucyB0aHJvdWdoIG5vbi1yZWxhdGlvbmFsIEFQSXMgZm9y + IGV4dHJlbWUgcGVyZm9ybWFuY2Ugd2hpbGUgdXNpbmcgdGhlIFNRTCBBUElz + IHRvIGNvbm5lY3QgdGhpcmQtcGFydHkgYXBwcyBvciBxdWVyeSB0aGUgZGF0 + YSBmb3IgcmVwb3J0cyBvciBidXNpbmVzcyBpbnRlbGxpZ2VuY2UuIGMtdHJl + ZUFDRSBpcyBwbGF0Zm9ybS0gYW5kIGhhcmR3YXJlLWFnbm9zdGljLCBhbmQg + aXMgY2FwYWJsZSBvZiBiZWluZyBlbWJlZGRlZCwgZGVwbG95ZWQgb24gcHJl + bWlzZXMsIG9yIGluIHRoZSBjbG91ZC4gU29mdHdhcmUgRW5naW5lZXJpbmcg + RGFpbHkgbGlzdGVuZXJzIGNhbiBkb3dubG9hZCBhbiBldmFsdWF0aW9uIHZl + cnNpb24gb2YgYy10cmVlQUNFIGZvciBmcmVlIGF0IDxhIGhyZWY9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ZhaXJjb20iPnNvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vZmFpcmNvbTwvYT4uCjxwPjwvcD48 + L2Rpdj48L3A+CjxwPjwvcD48L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPHA+ + PGRpdiBjbGFzcz0icm93Ij48L2Rpdj48L3A+CjxwPjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij48YSBocmVmPSJodHRwOi8vZHluLmNvbS9zZWRhaWx5Ij48aW1n + IGRhdGEtYXR0YWNobWVudC1pZD0iMzM0NCIgZGF0YS1wZXJtYWxpbms9Imh0 + dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZHlu + L2R5bl9sb2dvX2JsYWNrX3RleHQtc3ZnLyIgZGF0YS1vcmlnLWZpbGU9Imh0 + dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4 + dC5zdmdfLnBuZz9maXQ9MTAyNCUyQzQwMiIgZGF0YS1vcmlnLXNpemU9IjEw + MjQsNDAyIiBkYXRhLWNvbW1lbnRzLW9wZW5lZD0iMCIgZGF0YS1pbWFnZS1t + ZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVv + dDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhbWVyYSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlvbiZxdW90OzomcXVvdDsmcXVv + dDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2Zv + Y2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2lzbyZxdW90 + OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0ZXJfc3BlZWQmcXVvdDs6JnF1 + b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90OzomcXVvdDsmcXVvdDssJnF1 + b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7MCZxdW90O30iIGRhdGEtaW1h + Z2UtdGl0bGU9IkR5bl9sb2dvXyhibGFja190ZXh0KS5zdmciIGRhdGEtaW1h + Z2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18u + cG5nP2ZpdD0zMDAlMkMxMTgiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9p + MS53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250 + ZW50L3VwbG9hZHMvMjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18u + cG5nP2ZpdD0xMDI0JTJDNDAyIiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdl + LTMzNDQgc2l6ZS1tZWRpdW0iIHNyYz0iaHR0cHM6Ly9pMS53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNy8wNC9EeW5fbG9nb19ibGFja190ZXh0LnN2Z18ucG5nP3Jlc2l6ZT0z + MDAlMkMxMTgiIGFsdD0iIiBzcmNzZXQ9Imh0dHBzOi8vaTEud3AuY29tL3Nv + ZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRz + LzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9 + MzAwJTJDMTE4IDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQv + RHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBuZz9yZXNpemU9NzY4JTJDMzAy + IDc2OHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdk + YWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29f + YmxhY2tfdGV4dC5zdmdfLnBuZz93PTEwMjQgMTAyNHcsIGh0dHBzOi8vaTEu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDQvRHluX2xvZ29fYmxhY2tfdGV4dC5zdmdfLnBu + Zz9yZXNpemU9NzIwJTJDMjgzIDcyMHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPk9yYWNsZSBE + eW4gcHJvdmlkZXMgRE5TIHRoYXQgaXMgYXMgZHluYW1pYyBhbmQgaW50ZWxs + aWdlbnQgYXMgeW91ciBhcHBsaWNhdGlvbnMuIER5biBETlMgZ2V0cyB5b3Vy + IHVzZXJzIHRvIHRoZSByaWdodCBjbG91ZCBzZXJ2aWNlLCBDRE4sIG9yIGRh + dGEgY2VudGVyLCB1c2luZyBpbnRlbGxpZ2VudCByZXNwb25zZSB0byBzdGVl + ciB0cmFmZmljIGJhc2VkIG9uIGJ1c2luZXNzIHBvbGljaWVzLCBhcyB3ZWxs + IGFzIHJlYWwtdGltZSBpbnRlcm5ldCBjb25kaXRpb25zLCBsaWtlIHRoZSBz + ZWN1cml0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgdGhlIG5ldHdvcmsgcGF0aC4g + R2V0IHN0YXJ0ZWQgd2l0aCBhIGZyZWUgMzAtZGF5IHRyaWFsIGZvciB5b3Vy + IGFwcGxpY2F0aW9uIGJ5IGdvaW5nIHRvPGEgaHJlZj0iaHR0cDovL2R5bi5j + b20vc2VkYWlseSI+IGR5bi5jb20vc2VkYWlseTwvYT4uIMKgQWZ0ZXIgdGhl + IGZyZWUgdHJpYWwsIER5buKAmXMgZGV2ZWxvcGVyIHBsYW5zIHN0YXJ0IGF0 + IGp1c3QgJDcgYSBtb250aCBmb3Igd29ybGQtY2xhc3MgRE5TLiBSZXRoaW5r + IEROUy4gR28gdG8gPGEgaHJlZj0iaHR0cDovL2R5bi5jb20vc2VkYWlseSI+ + ZHluLmNvbS9zZWRhaWx5PC9hPsKgdG8gbGVhcm4gbW9yZSBhbmQgZ2V0IHlv + dXIgZnJlZSB0cmlhbCBvZiBEeW4gRE5TLjwvZGl2PjxiciAvPgo8L3A+PC9k + aXY+CjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+Cl1dPjwvY29udGVudDplbmNv + ZGVkPg0KCQk8ZW5jbG9zdXJlIHVybD0iaHR0cDovL3RyYWZmaWMubGlic3lu + LmNvbS9zZWRhaWx5L2t1YmVsZXNzX2VkaXRlZC5tcDMiIGxlbmd0aD0iNTg4 + MzczNjciIHR5cGU9ImF1ZGlvL21wZWciIC8+CgkJPGl0dW5lczpzdWJ0aXRs + ZT5Nb2Rlcm4gYXJjaGl0ZWN0dXJlcyBvZnRlbiBjb25zaXN0IG9mIGNvbnRh + aW5lcnMgdGhhdCBydW4gc2VydmljZXMuIFRob3NlIGNvbnRhaW5lcnMgc2Nh + bGUgdXAgYW5kIGRvd24gZGVwZW5kaW5nIG9uIHRoZSBkZW1hbmQgZm9yIHRo + ZSBzZXJ2aWNlcy4gVGhlc2UgbGFyZ2Ugc29mdHdhcmUgc3lzdGVtcyBvZnRl + biB1c2UgYSB0ZWNobmlxdWUga25vd24gYXMgZXZlbnQgc291cmNpbmcsPC9p + dHVuZXM6c3VidGl0bGU+CgkJPGl0dW5lczpzdW1tYXJ5Pk1vZGVybiBhcmNo + aXRlY3R1cmVzIG9mdGVuIGNvbnNpc3Qgb2YgY29udGFpbmVycyB0aGF0IHJ1 + biBzZXJ2aWNlcy4gVGhvc2UgY29udGFpbmVycyBzY2FsZSB1cCBhbmQgZG93 + biBkZXBlbmRpbmcgb24gdGhlIGRlbWFuZCBmb3IgdGhlIHNlcnZpY2VzLiBU + aGVzZSBsYXJnZSBzb2Z0d2FyZSBzeXN0ZW1zIG9mdGVuIHVzZSBhIHRlY2hu + aXF1ZSBrbm93biBhcyBldmVudCBzb3VyY2luZywgd2hlcmUgZXZlcnkgY2hh + bmdlIHRvIHRoZSBzeXN0ZW0gaXMga2VwdCBpbiBhbiBldmVudCBsb2cuIFdo + ZW4gYW4gZXZlbnQgb24gdGhlIGxvZyBpcyBwcm9jZXNzZWQsIHNldmVyYWwg + ZGlmZmVyZW50IGRhdGEgc3RvcmVzIG1pZ2h0IGJlIHVwZGF0ZWQgaW4gcmVz + cG9uc2UuIEluIHRoZXNlIGFyY2hpdGVjdHVyZXMsIGNvbnRhaW5lcnMgYXJl + IGludGVyYWN0aW5nIHdpdGhDb250aW51ZSByZWFkaW5nLi4uPC9pdHVuZXM6 + c3VtbWFyeT4KCQk8aXR1bmVzOmF1dGhvcj5Tb2Z0d2FyZSBFbmdpbmVlcmlu + ZyBEYWlseTwvaXR1bmVzOmF1dGhvcj4KCQk8aXR1bmVzOmV4cGxpY2l0PmNs + ZWFuPC9pdHVuZXM6ZXhwbGljaXQ+CgkJPGl0dW5lczpkdXJhdGlvbj4xOjAx + OjE3PC9pdHVuZXM6ZHVyYXRpb24+Cjxwb3N0LWlkIHhtbG5zPSJjb20td29y + ZHByZXNzOmZlZWQtYWRkaXRpb25zOjEiPjM2MzM8L3Bvc3QtaWQ+CQk8L2l0 + ZW0+DQoJPGl0ZW0+DQoJCTx0aXRsZT5TZXJ2ZXJsZXNzIG9uIEt1YmVybmV0 + ZXMgd2l0aCBTb2FtIFZhc2FuaTwvdGl0bGU+DQoJCTxsaW5rPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcvMDYvMTIvc2VydmVy + bGVzcy1vbi1rdWJlcm5ldGVzLXdpdGgtc29hbS12YXNhbmkvPC9saW5rPg0K + CQk8cHViRGF0ZT5Nb24sIDEyIEp1biAyMDE3IDA5OjAwOjU4ICswMDAwPC9w + dWJEYXRlPg0KCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9z + b2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLz9wPTM2MTU8L2d1aWQ+DQoJ + CTxjb21tZW50cz5odHRwOi8vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS8yMDE3LzA2LzEyL3NlcnZlcmxlc3Mtb24ta3ViZXJuZXRlcy13aXRoLXNv + YW0tdmFzYW5pLyNyZXNwb25kPC9jb21tZW50cz4NCgkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTcv + MDYvMTIvc2VydmVybGVzcy1vbi1rdWJlcm5ldGVzLXdpdGgtc29hbS12YXNh + bmkvZmVlZC88L3dmdzpjb21tZW50UnNzPg0KCQk8c2xhc2g6Y29tbWVudHM+ + MDwvc2xhc2g6Y29tbWVudHM+DQoJCTxjYXRlZ29yeT48IVtDREFUQVtBbGwg + RXBpc29kZXNdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtP + cGVuIFNvdXJjZV1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRB + W1BvZGNhc3RdXT48L2NhdGVnb3J5PgoJCTxjYXRlZ29yeT48IVtDREFUQVtG + YWFTXV0+PC9jYXRlZ29yeT4KCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFbRmlzc2lv + bl1dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW0dvb2dsZV1d + PjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NEQVRBW1NlcnZlcmxlc3Mg + b24gS3ViZXJuZXRlc11dPjwvY2F0ZWdvcnk+CgkJPGNhdGVnb3J5PjwhW0NE + QVRBW1NvYW0gVmFzYW5pXV0+PC9jYXRlZ29yeT4KCQk8ZGVzY3JpcHRpb24+ + S3ViZXJuZXRlcyBpcyBhbiBvcmNoZXN0cmF0aW9uIHN5c3RlbSBmb3IgbWFu + YWdpbmcgY29udGFpbmVycy4gU2luY2UgaXQgd2FzIG9wZW4gc291cmNlZCBi + eSBHb29nbGUsIEt1YmVybmV0ZXMgaGFzIGNyZWF0ZWQgYSB3YXZlIG9mIGlu + bm92YXRpb24gaW4gdGhlIGluZnJhc3RydWN0dXJlIHRlY2hub2xvZ3kgc3Bh + Y2UuIEFub3RoZXIgcmVjZW50IGlubm92YXRpb24gaGFzIGJlZW4gdGhlIOKA + nHNlcnZlcmxlc3PigJ0gZXhlY3V0aW9uIHRvb2xz4oCTc3VjaCBhcyBBV1Mg + TGFtYmRhIGFuZCBHb29nbGUgQ2xvdWQgRnVuY3Rpb25zLiBTZXJ2ZXJsZXNz + IGV4ZWN1dGlvbiwgb3RoZXJ3aXNlIGtub3duIGFzIGZ1bmN0aW9ucy1hcy1h + LXNlcnZpY2UsIGFsbG93cyBhIGRldmVsb3BlciB0byBleGVjdXRlIGNvZGUg + YWdhaW5zdCBjbG91ZCBzZXJ2ZXJzIHdpdGhvdXQgc3BlY2lmeWluZyB3aGlj + aCBjbG91ZCBzZXJ2ZXJzIHRoZXkgYXJlIGV4ZWN1dGluZyBvbi4gU2VydmVy + bGVzcyBleGVjdXRpb24gaXMmbHQ7cCZndDsmbHQ7YSBjbGFzcz0mcXVvdDtj + b250aW51ZS1yZWFkaW5nJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8xMi9zZXJ2ZXJsZXNz + LW9uLWt1YmVybmV0ZXMtd2l0aC1zb2FtLXZhc2FuaS8mcXVvdDsmZ3Q7Q29u + dGludWUgcmVhZGluZy4uLiZsdDsvYSZndDsmbHQ7L3AmZ3Q7PC9kZXNjcmlw + dGlvbj4NCgkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMjQ3NSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzIwMTYvMDQvMTkvZ29v + Z2xlcy1jb250YWluZXItbWFuYWdlbWVudC1icmVuZGFuLWJ1cm5zL2JyZW5k + YW4tYnVybnMvIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMC53cC5jb20v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9h + ZHMvMjAxNi8wNC9icmVuZGFuLWJ1cm5zLmpwZz9maXQ9MTc1JTJDMTc1IiBk + YXRhLW9yaWctc2l6ZT0iMTc1LDE3NSIgZGF0YS1jb21tZW50cy1vcGVuZWQ9 + IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7OiZx + dW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90Oywm + cXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRpb24m + cXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1wJnF1 + b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZxdW90 + OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZxdW90 + OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0dGVy + X3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVvdDs6 + JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90OzAm + cXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJicmVuZGFuLWJ1cm5zIiBkYXRh + LWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMDQvYnJlbmRhbi1idXJucy5qcGc/Zml0 + PTE3NSUyQzE3NSIgZGF0YS1sYXJnZS1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzA0L2JyZW5kYW4tYnVybnMuanBnP2ZpdD0xNzUlMkMxNzUi + IGNsYXNzPSJhbGlnbnJpZ2h0IHNpemUtZnVsbCB3cC1pbWFnZS0yNDc1IiBz + dHlsZT0iYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCAj + MDAwMDAwOyBtYXgtd2lkdGg6IDE3NXB4OyBtYXgtaGVpZ2h0OiAxNzVweDsi + IHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vcGJzLnR3aW1nLmNvbS9wcm9maWxl + X2ltYWdlcy83NDUzMDQ2NDc3ODM0NTI2NzIvdjBuS0dLWW0uanBnP3Jlc2l6 + ZT0xNzUlMkMxNzUmIzAzODtzc2w9MSIgZGF0YS1yZWNhbGMtZGltcz0iMSIg + Lz48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+S3Vi + ZXJuZXRlcyBpcyBhbiBvcmNoZXN0cmF0aW9uIHN5c3RlbSBmb3IgbWFuYWdp + bmcgY29udGFpbmVycy4gU2luY2UgaXQgd2FzIG9wZW4gc291cmNlZCBieSBH + b29nbGUsIEt1YmVybmV0ZXMgaGFzIGNyZWF0ZWQgYSB3YXZlIG9mIGlubm92 + YXRpb24gaW4gdGhlIGluZnJhc3RydWN0dXJlIHRlY2hub2xvZ3kgc3BhY2Uu + IDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAw + OyI+QW5vdGhlciByZWNlbnQgaW5ub3ZhdGlvbiBoYXMgYmVlbiB0aGUg4oCc + c2VydmVybGVzc+KAnSBleGVjdXRpb24gdG9vbHMmIzgyMTE7c3VjaCBhcyBB + V1MgTGFtYmRhIGFuZCBHb29nbGUgQ2xvdWQgRnVuY3Rpb25zLiBTZXJ2ZXJs + ZXNzIGV4ZWN1dGlvbiwgb3RoZXJ3aXNlIGtub3duIGFzIGZ1bmN0aW9ucy1h + cy1hLXNlcnZpY2UsIGFsbG93cyBhIGRldmVsb3BlciB0byBleGVjdXRlIGNv + ZGUgYWdhaW5zdCBjbG91ZCBzZXJ2ZXJzIHdpdGhvdXQgc3BlY2lmeWluZyA8 + L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij53aGlj + aCA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+ + Y2xvdWQgc2VydmVycyB0aGV5IGFyZSBleGVjdXRpbmcgb24uPC9zcGFuPjwv + cD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij5TZXJ2ZXJs + ZXNzIGV4ZWN1dGlvbiBpcyBhIGNoZWFwLCBmbGV4aWJsZSByZXNvdXJjZSB0 + aGF0IGFueSBsYXJnZSBjb21wYW55IHdhbnRzIHRvIGhhdmUgYWNjZXNzIHRv + LiBCdXQgQVdTIExhbWJkYSBhbmQgdGhlIG90aGVyIHBvcHVsYXIgc2VydmVy + bGVzcyB0b29scyBhcmUgY2xvc2VkIHNvdXJjZS4gVGhpcyBsZWQgU29hbSBW + YXNhbmkgdG8gd29yayBvbiBGaXNzaW9uLCBhIHNlcnZlcmxlc3MgZXhlY3V0 + b3IgdGhhdCBzaXRzIG9uIHRvcCBvZiBLdWJlcm5ldGVzLjwvc3Bhbj48L3A+ + CjxwPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNDAwOyI+SWYgeW91IGhh + dmUgbm90IGhlYXJkIGFib3V0IGVpdGhlciBLdWJlcm5ldGVzIG9yIFNlcnZl + cmxlc3MsIHlvdSBjYW4gY2hlY2sgb3V0IG91ciBwcmV2aW91cyBlcGlzb2Rl + cyBhYm91dCA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2lu + ZWVyaW5nZGFpbHkuY29tL3RhZy9rdWJlcm5ldGVzLyI+PHNwYW4gc3R5bGU9 + ImZvbnQtd2VpZ2h0OiA0MDA7Ij5laXRoZXI8L3NwYW4+PC9hPiA8YSBocmVm + PSJodHRwczovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vP3M9c2Vy + dmVybGVzcyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij50b3Bp + Yzwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7Ij4u + IElmIHlvdSBhcmUgZmFtaWxpYXIgd2l0aCB0aGUgdHdvIHRvcGljcywgSSB0 + aGluayB5b3XigJlsbCBlbmpveSB0aGlzIGVwaXNvZGUsIGluIHdoaWNoIFNv + YW0gZXhwbGFpbnMgdGhlIG1vdGl2YXRpb24gZm9yIHNlcnZlcmxlc3Mgb24g + S3ViZXJuZXRlcywgYW5kIHRoZSBhcmNoaXRlY3R1cmUgb2YgRmlzc2lvbi4g + PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA0MDA7 + Ij5Tb2Z0d2FyZSBFbmdpbmVlcmluZyBEYWlseSBpcyBsb29raW5nIGZvciBz + cG9uc29ycyBmb3IgUTMuIElmIHlvdXIgY29tcGFueSBoYXMgYSBwcm9kdWN0 + IG9yIHNlcnZpY2UsIG9yIGlmIHlvdSBhcmUgaGlyaW5nLCBTb2Z0d2FyZSBF + bmdpbmVlcmluZyBEYWlseSByZWFjaGVzIDIzLDAwMCBkZXZlbG9wZXJzIGxp + c3RlbmluZyBkYWlseS4gU2VuZCBtZSBhbiBlbWFpbDogamVmZkBzb2Z0d2Fy + ZWVuZ2luZWVyaW5nZGFpbHkuY29tPC9zcGFuPjwvcD4KPGgyPlRyYW5zY3Jp + cHQ8L2gyPgo8cD5UcmFuc2NyaXB0IHByb3ZpZGVkIGJ5IFdlIEVkaXQgUG9k + Y2FzdHMuIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxpc3RlbmVycyBj + YW4gZ28gdG/CoDxhIGhyZWY9Imh0dHBzOi8vd2VlZGl0cG9kY2FzdHMuY29t + L3NlZCI+d2VlZGl0cG9kY2FzdHMuY29tL3NlZDwvYT7CoHRvIGdldCAyMCUg + b2ZmIHRoZSBmaXJzdCB0d28gbW9udGhzIG9mIGF1ZGlvIGVkaXRpbmcgYW5k + IHRyYW5zY3JpcHRpb24gc2VydmljZXMuIFRoYW5rcyB0byBXZSBFZGl0IFBv + ZGNhc3RzIGZvciBwYXJ0bmVyaW5nIHdpdGggU0UgRGFpbHkuIFBsZWFzZcKg + PGEgaHJlZj0iaHR0cHM6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L1NFRDM1NS1GaXNzaW9uLnBk + ZiI+Y2xpY2sgaGVyZSB0byB2aWV3wqB0aGlzIHNob3figJlzIHRyYW5zY3Jp + cHQuPC9hPjwvcD4KPGgyPlNwb25zb3JzPC9oMj4KPGRpdiBjbGFzcz0icm93 + Ij4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhyZWY9Imh0dHBzOi8v + c29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS9kYXRhZG9nIj48aW1nIGRh + dGEtYXR0YWNobWVudC1pZD0iMzIzNiIgZGF0YS1wZXJtYWxpbms9Imh0dHA6 + Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvZGF0YWRv + Zy9kYXRhZG9nX2xvZ28vIiBkYXRhLW9yaWctZmlsZT0iaHR0cHM6Ly9pMi53 + cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50 + L3VwbG9hZHMvMjAxNy8wMi9kYXRhZG9nX2xvZ28ucG5nP2ZpdD0xMDI0JTJD + NTEyIiBkYXRhLW9yaWctc2l6ZT0iMTAyNCw1MTIiIGRhdGEtY29tbWVudHMt + b3BlbmVkPSIwIiBkYXRhLWltYWdlLW1ldGE9InsmcXVvdDthcGVydHVyZSZx + dW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NyZWRpdCZxdW90OzomcXVvdDsm + cXVvdDssJnF1b3Q7Y2FtZXJhJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtj + YXB0aW9uJnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjcmVhdGVkX3RpbWVz + dGFtcCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O2NvcHlyaWdodCZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7Zm9jYWxfbGVuZ3RoJnF1b3Q7OiZxdW90 + OzAmcXVvdDssJnF1b3Q7aXNvJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + c2h1dHRlcl9zcGVlZCZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3RpdGxl + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtvcmllbnRhdGlvbiZxdW90Ozom + cXVvdDswJnF1b3Q7fSIgZGF0YS1pbWFnZS10aXRsZT0iZGF0YWRvZ19sb2dv + IiBkYXRhLWltYWdlLWRlc2NyaXB0aW9uPSIiIGRhdGEtbWVkaXVtLWZpbGU9 + Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBu + Zz9maXQ9MzAwJTJDMTUwIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8vaTIu + d3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVu + dC91cGxvYWRzLzIwMTcvMDIvZGF0YWRvZ19sb2dvLnBuZz9maXQ9MTAyNCUy + QzUxMiIgY2xhc3M9ImFsaWdubGVmdCB3cC1pbWFnZS0zMjM2IHNpemUtbWVk + aXVtIiBzcmM9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDIvZGF0YWRv + Z19sb2dvLnBuZz9yZXNpemU9MzAwJTJDMTUwIiBhbHQ9IiIgc3Jjc2V0PSJo + dHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/ + cmVzaXplPTMwMCUyQzE1MCAzMDB3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8y + MDE3LzAyL2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTc2OCUyQzM4NCA3Njh3 + LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHku + Y29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAyL2RhdGFkb2dfbG9nby5w + bmc/dz0xMDI0IDEwMjR3LCBodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzAy + L2RhdGFkb2dfbG9nby5wbmc/cmVzaXplPTcyMCUyQzM2MCA3MjB3IiBzaXpl + cz0iKG1heC13aWR0aDogMzAwcHgpIDEwMHZ3LCAzMDBweCIgZGF0YS1yZWNh + bGMtZGltcz0iMSIgLz48L2E+PC9kaXY+PGJyIC8+CjxkaXYgY2xhc3M9ImNv + bC1zbS02Ij5EYXRhZG9nIGJyaW5ncyB5b3UgdmlzaWJpbGl0eSBpbnRvIGV2 + ZXJ5IHBhcnQgb2YgeW91ciBpbmZyYXN0cnVjdHVyZSwgcGx1cyBBUE0gZm9y + IG1vbml0b3JpbmcgeW91ciBhcHBsaWNhdGlvbiYjODIxNztzIHBlcmZvcm1h + bmNlLiBEYXNoYm9hcmRpbmcsIGNvbGxhYm9yYXRpb24gdG9vbHMsIGFuZCBh + bGVydHMgbGV0IHlvdSBkZXZlbG9wIHlvdXIgb3duIHdvcmtmbG93IGZvciBv + YnNlcnZhYmlsaXR5IGFuZCBpbmNpZGVudCByZXNwb25zZS4gRGF0YWRvZyBp + bnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBhbGwgb2YgeW91ciBhcHBzIGFu + ZCBzeXN0ZW1zLCBmcm9tIFNsYWNrIHRvIEFtYXpvbiBXZWIgU2VydmljZXMs + IHNvIHlvdSBjYW4gZ2V0IHZpc2liaWxpdHkgaW4gbWludXRlcy4gR28gdG/C + oDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29t + L2RhdGFkb2ciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3Bl + bmVyIG5vcmVmZXJyZXIiPnNvZnR3YXJlZW5naW5lZXJpbmdkYWlseS48d2Jy + Pjwvd2JyPmNvbS9kYXRhZG9nPC9hPsKgdG8gZ2V0IHN0YXJ0ZWQgd2l0aCBE + YXRhZG9nIGFuZCBnZXQgYSBmcmVlIHQtc2hpcnQuIDwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9Nb25nb0RCLmNvbS9zZWRhaWx5Ij48aW1nIGRhdGEtYXR0 + YWNobWVudC1pZD0iMzAyOSIgZGF0YS1wZXJtYWxpbms9Imh0dHA6Ly9zb2Z0 + d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2t3bG9nb3MvbW9uZ29kYi9hdGxh + cy1zcGxhc2gtMi8iIGRhdGEtb3JpZy1maWxlPSJodHRwczovL2kwLndwLmNv + bS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBs + b2Fkcy8yMDE2LzEyL2F0bGFzLXNwbGFzaC5qcGc/Zml0PTEyODAlMkM3MjAi + IGRhdGEtb3JpZy1zaXplPSIxMjgwLDcyMCIgZGF0YS1jb21tZW50cy1vcGVu + ZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZxdW90O2FwZXJ0dXJlJnF1b3Q7 + OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0JnF1b3Q7OiZxdW90OyZxdW90 + OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NhcHRp + b24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O2NyZWF0ZWRfdGltZXN0YW1w + JnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7OiZx + dW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5ndGgmcXVvdDs6JnF1b3Q7MCZx + dW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtzaHV0 + dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7dGl0bGUmcXVv + dDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVudGF0aW9uJnF1b3Q7OiZxdW90 + OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxlPSJhdGxhcy1zcGxhc2giIGRh + dGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0iaHR0 + cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93 + cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP2Zp + dD0zMDAlMkMxNjkiIGRhdGEtbGFyZ2UtZmlsZT0iaHR0cHM6Ly9pMC53cC5j + b20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3Vw + bG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP2ZpdD0xMDI0JTJDNTc2 + IiBjbGFzcz0iYWxpZ25sZWZ0IHdwLWltYWdlLTMwMjkgc2l6ZS1tZWRpdW0i + IHNyYz0iaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxh + c2guanBnP3Jlc2l6ZT0zMDAlMkMxNjkiIGFsdD0iIiBzcmNzZXQ9Imh0dHBz + Oi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9yZXNp + emU9MzAwJTJDMTY5IDMwMHcsIGh0dHBzOi8vaTAud3AuY29tL3NvZnR3YXJl + ZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTYv + MTIvYXRsYXMtc3BsYXNoLmpwZz9yZXNpemU9NzY4JTJDNDMyIDc2OHcsIGh0 + dHBzOi8vaTAud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20v + d3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvYXRsYXMtc3BsYXNoLmpwZz9y + ZXNpemU9MTAyNCUyQzU3NiAxMDI0dywgaHR0cHM6Ly9pMC53cC5jb20vc29m + dHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMv + MjAxNi8xMi9hdGxhcy1zcGxhc2guanBnP3Jlc2l6ZT03MjAlMkM0MDUgNzIw + dywgaHR0cHM6Ly9pMC53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5 + LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9hdGxhcy1zcGxhc2gu + anBnP3c9MTI4MCAxMjgwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDMwMHB4KSAx + MDB2dywgMzAwcHgiIGRhdGEtcmVjYWxjLWRpbXM9IjEiIC8+PC9hPjwvZGl2 + PjxiciAvPgo8ZGl2IGNsYXNzPSJjb2wtc20tNiI+SXTigJlzIG5ldmVyIGJl + ZW4gZWFzaWVyIHRvIGhpdCB0aGUgZ3JvdW5kIHJ1bm5pbmc6IE1vbmdvREIg + QXRsYXMgaXMgdGhlwqA8aT5vbmx5PC9pPsKgZGF0YWJhc2UgYXMgYSBzZXJ2 + aWNlIGZyb20gdGhlIGVuZ2luZWVycyB3aG8gYnVpbHQgTW9uZ29EQi4gV2l0 + aCBjb250aW51b3VzIGJhY2t1cCwgVlBDIHBlZXJpbmcsIG1vbml0b3Jpbmcs + IGFuZCBzZWN1cml0eSBmZWF0dXJlcywgTW9uZ29EQiBBdGxhcyBnaXZlcyB5 + b3UgZXZlcnl0aGluZyB5b3UgbmVlZCBmcm9tIE1vbmdvREIgaW4gYW4gZWFz + eS10by11c2Ugc2VydmljZS4gQW5kIGV2ZW4gaWYgeW914oCZcmUgYWxyZWFk + eSBydW5uaW5nIE1vbmdvREIgaW4gdGhlIGNsb3VkLCBBdGxhcyBtYWtlcyBt + aWdyYXRpbmcgeW91ciBkZXBsb3ltZW50IGZyb20gYW5vdGhlciBjbG91ZCBz + ZXJ2aWNlIHByb3ZpZGVyIHRyaXZpYWwsIHdpdGggaXRzIExpdmUgSW1wb3J0 + IGZlYXR1cmUuIEdldCBzdGFydGVkIHdpdGggYSBmcmVlLCAzIG5vZGUgcmVw + bGljYSBzZXQ6IG5vIGNyZWRpdCBjYXJkIHJlcXVpcmVkLiBBcyBhbiBleGNs + dXNpdmUgb2ZmZXIgZm9yIFNvZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5IGxp + c3RlbmVycywgdXNlIGNvZGUgU0VEYWlseSBmb3IgJDEwIGRvbGxhcnMgb2Yg + Y3JlZGl0IGZvciB3aGVuIHlvdeKAmXJlIHJlYWR5IHRvIHNjYWxlIHVwIGF0 + wqA8YSBocmVmPSJodHRwOi8vTW9uZ29EQi5jb20vc2VkYWlseSI+bW9uZ29E + Qi5jb20vc2VkYWlseTwvYT4uwqA8YSBocmVmPSJodHRwczovL3d3dy5tb25n + b2RiLmNvbS93b3JsZDE3P2ptcD13ZWIiPk1vbmdvREIgV29ybGQ8L2E+wqBp + cyB3aGVyZSB0aGUgd29ybGTigJlzIGZhc3Rlc3QgZ3Jvd2luZyBkYXRhYmFz + ZSBjb21tdW5pdHkgY29tZXMgdG8gY29ubmVjdCwgZXhwbG9yZSwgYW5kIGxl + YXJuLiBKb2luIHRoZSB0ZWFtIHRoYXQgYnVpbGRzIE1vbmdvREIgaW4gQ2hp + Y2FnbyBvbiBKdW5lIDIwLTIxLCAyMDE3IGZvciBoYW5kcy1vbiBhbmQgZGVl + cC1kaXZlIHRlY2huaWNhbCBzZXNzaW9ucywgZ2l2aW5nIHlvdSB0aGUgdG9v + bHMgeW91IG5lZWQgdG8gYnVpbGQgYW5kIGRlcGxveSB5b3VyIGdpYW50IGlk + ZWFzLiBVc2UgY29kZcKgPGI+U0VEYWlsecKgPC9iPnRvIGdldCAkMTAwIG9m + ZiB0aWNrZXRzITwvZGl2PjxiciAvPgo8L3A+PC9kaXY+CjxkaXYgY2xhc3M9 + InJvdyI+CjxwPjxkaXYgY2xhc3M9InJvdyI+PC9kaXY+PC9wPgo8cD48ZGl2 + IGNsYXNzPSJjb2wtc20tNiI+PGEgaHJlZj0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vaW50ZWwiPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzMzQ2IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20va3dsb2dvcy9pbnRlbC9pbnRlbF93aGl0ZV9s + b2dvLyIgZGF0YS1vcmlnLWZpbGU9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIw + MTcvMDQvSW50ZWxfd2hpdGVfbG9nby5wbmc/Zml0PTE3NzQlMkMxMjY1IiBk + YXRhLW9yaWctc2l6ZT0iMTc3NCwxMjY1IiBkYXRhLWNvbW1lbnRzLW9wZW5l + ZD0iMCIgZGF0YS1pbWFnZS1tZXRhPSJ7JnF1b3Q7YXBlcnR1cmUmcXVvdDs6 + JnF1b3Q7MCZxdW90OywmcXVvdDtjcmVkaXQmcXVvdDs6JnF1b3Q7JnF1b3Q7 + LCZxdW90O2NhbWVyYSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y2FwdGlv + biZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7Y3JlYXRlZF90aW1lc3RhbXAm + cXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtjb3B5cmlnaHQmcXVvdDs6JnF1 + b3Q7JnF1b3Q7LCZxdW90O2ZvY2FsX2xlbmd0aCZxdW90OzomcXVvdDswJnF1 + b3Q7LCZxdW90O2lzbyZxdW90OzomcXVvdDswJnF1b3Q7LCZxdW90O3NodXR0 + ZXJfc3BlZWQmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDt0aXRsZSZxdW90 + OzomcXVvdDsmcXVvdDssJnF1b3Q7b3JpZW50YXRpb24mcXVvdDs6JnF1b3Q7 + MCZxdW90O30iIGRhdGEtaW1hZ2UtdGl0bGU9IkludGVsX3doaXRlX2xvZ28i + IGRhdGEtaW1hZ2UtZGVzY3JpcHRpb249IiIgZGF0YS1tZWRpdW0tZmlsZT0i + aHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2RhaWx5LmNv + bS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0ZV9sb2dv + LnBuZz9maXQ9MzAwJTJDMjE0IiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBzOi8v + aTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3AtY29u + dGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxfd2hpdGVfbG9nby5wbmc/Zml0 + PTEwMjQlMkM3MzAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzM0NiBz + aXplLW1lZGl1bSIgc3JjPSJodHRwczovL2kyLndwLmNvbS9zb2Z0d2FyZWVu + Z2luZWVyaW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA0 + L0ludGVsX3doaXRlX2xvZ28ucG5nP3Jlc2l6ZT0zMDAlMkMyMTQiIGFsdD0i + IiBzcmNzZXQ9Imh0dHBzOi8vaTIud3AuY29tL3NvZnR3YXJlZW5naW5lZXJp + bmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDQvSW50ZWxf + d2hpdGVfbG9nby5wbmc/cmVzaXplPTMwMCUyQzIxNCAzMDB3LCBodHRwczov + L2kyLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dwLWNv + bnRlbnQvdXBsb2Fkcy8yMDE3LzA0L0ludGVsX3doaXRlX2xvZ28ucG5nP3Jl + c2l6ZT03NjglMkM1NDggNzY4dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdh + cmVlbmdpbmVlcmluZ2RhaWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAx + Ny8wNC9JbnRlbF93aGl0ZV9sb2dvLnBuZz9yZXNpemU9MTAyNCUyQzczMCAx + MDI0dywgaHR0cHM6Ly9pMi53cC5jb20vc29mdHdhcmVlbmdpbmVlcmluZ2Rh + aWx5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNC9JbnRlbF93aGl0 + ZV9sb2dvLnBuZz9yZXNpemU9NzIwJTJDNTEzIDcyMHciIHNpemVzPSIobWF4 + LXdpZHRoOiAzMDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1z + PSIxIiAvPjwvYT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYi + PkRlZXAgbGVhcm5pbmcgcHJvbWlzZXMgdG8gZHJhbWF0aWNhbGx5IGltcHJv + dmUgaG93IG91ciB3b3JsZCB3b3Jrcy4gVG8gbWFrZSBkZWVwIGxlYXJuaW5n + IGVhc2llciBhbmQgZmFzdGVyLCB3ZSBuZWVkIG5ldyBraW5kcyBvZiBoYXJk + d2FyZSBhbmQgc29mdHdhcmUmIzgyMTE7d2hpY2ggaXMgd2h5IEludGVsIGFj + cXVpcmVkIE5lcnZhbmEgU3lzdGVtcywgYSBwbGF0Zm9ybSBmb3IgZGVlcCBs + ZWFybmluZy4gSW50ZWwgTmVydmFuYSBpcyBoaXJpbmcgZW5naW5lZXJzIHRv + IGhlbHAgZGV2ZWxvcCBhIGZ1bGwgc3RhY2sgZm9yIEFJLCBmcm9tIGNoaXAg + ZGVzaWduIHRvIHNvZnR3YXJlIGZyYW1ld29ya3MuIEdvIHRvIDxhIGhyZWY9 + Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL2ludGVsIiB0 + YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBkYXRh + LXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91cmw/ + aGw9ZW4mYW1wO3E9aHR0cDovL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5j + b20vaW50ZWwmYW1wO3NvdXJjZT1nbWFpbCZhbXA7dXN0PTE0OTMxMzQxOTY0 + MzIwMDAmYW1wO3VzZz1BRlFqQ05FSFVGQ1NtZ0duZG9Zc0d0R0l3dWNUS3Jm + Y05BIj5zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tLzx3YnI+PC93YnI+ + aW50ZWw8L2E+IHRvIGFwcGx5IGZvciBhIGpvYiBhdCBJbnRlbCBOZXJ2YW5h + LiBJZiB5b3Uga25vdyBkb27igJl0IGtub3cgbXVjaCBhYm91dCB0aGUgY29t + cGFueSwgY2hlY2sgb3V0IHRoZSBpbnRlcnZpZXdzIEkgaGF2ZSBjb25kdWN0 + ZWQgd2l0aCBlbmdpbmVlcnMgZnJvbSB0aGUgY29tcGFueS4gWW91IGNhbiBm + aW5kIHRoZXNlIGF0IDxhIGhyZWY9Imh0dHA6Ly9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL2ludGVsIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29w + ZW5lciBub3JlZmVycmVyIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6 + Ly93d3cuZ29vZ2xlLmNvbS91cmw/aGw9ZW4mYW1wO3E9aHR0cDovL3NvZnR3 + YXJlZW5naW5lZXJpbmdkYWlseS5jb20vaW50ZWwmYW1wO3NvdXJjZT1nbWFp + bCZhbXA7dXN0PTE0OTMxMzQxOTY0MzIwMDAmYW1wO3VzZz1BRlFqQ05FSFVG + Q1NtZ0duZG9Zc0d0R0l3dWNUS3JmY05BIj5zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tLzx3YnI+PC93YnI+aW50ZWw8L2E+LjwvZGl2PjwvcD4KPHA+ + PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPgo8cD48ZGl2IGNsYXNzPSJy + b3ciPjwvZGl2PjwvcD4KPHA+PGRpdiBjbGFzcz0iY29sLXNtLTYiPjxhIGhy + ZWY9Imh0dHA6Ly9jb2RlcGF0aC5jb20iPjxpbWcgZGF0YS1hdHRhY2htZW50 + LWlkPSIzNjE5IiBkYXRhLXBlcm1hbGluaz0iaHR0cDovL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vMjAxNy8wNi8wOS9taWNyb3NvZnQtaGlzdG9y + eS13aXRoLXJpY2hhcmQtY2FtcGJlbGwvY29kZXBhdGgtMi8iIGRhdGEtb3Jp + Zy1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5n + ZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRo + LnBuZz9maXQ9Njk4JTJDNDAwIiBkYXRhLW9yaWctc2l6ZT0iNjk4LDQwMCIg + ZGF0YS1jb21tZW50cy1vcGVuZWQ9IjAiIGRhdGEtaW1hZ2UtbWV0YT0ieyZx + dW90O2FwZXJ0dXJlJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7Y3JlZGl0 + JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtjYW1lcmEmcXVvdDs6JnF1b3Q7 + JnF1b3Q7LCZxdW90O2NhcHRpb24mcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90 + O2NyZWF0ZWRfdGltZXN0YW1wJnF1b3Q7OiZxdW90OzAmcXVvdDssJnF1b3Q7 + Y29weXJpZ2h0JnF1b3Q7OiZxdW90OyZxdW90OywmcXVvdDtmb2NhbF9sZW5n + dGgmcXVvdDs6JnF1b3Q7MCZxdW90OywmcXVvdDtpc28mcXVvdDs6JnF1b3Q7 + MCZxdW90OywmcXVvdDtzaHV0dGVyX3NwZWVkJnF1b3Q7OiZxdW90OzAmcXVv + dDssJnF1b3Q7dGl0bGUmcXVvdDs6JnF1b3Q7JnF1b3Q7LCZxdW90O29yaWVu + dGF0aW9uJnF1b3Q7OiZxdW90OzAmcXVvdDt9IiBkYXRhLWltYWdlLXRpdGxl + PSJjb2RlcGF0aCIgZGF0YS1pbWFnZS1kZXNjcmlwdGlvbj0iIiBkYXRhLW1l + ZGl1bS1maWxlPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVw + YXRoLnBuZz9maXQ9MzAwJTJDMTcyIiBkYXRhLWxhcmdlLWZpbGU9Imh0dHBz + Oi8vaTEud3AuY29tL3NvZnR3YXJlZW5naW5lZXJpbmdkYWlseS5jb20vd3At + Y29udGVudC91cGxvYWRzLzIwMTcvMDYvY29kZXBhdGgucG5nP2ZpdD02OTgl + MkM0MDAiIGNsYXNzPSJhbGlnbmxlZnQgd3AtaW1hZ2UtMzYxOSBzaXplLW1l + ZGl1bSIgc3JjPSJodHRwczovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVy + aW5nZGFpbHkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVw + YXRoLnBuZz9yZXNpemU9MzAwJTJDMTcyIiBhbHQ9IiIgc3Jjc2V0PSJodHRw + czovL2kxLndwLmNvbS9zb2Z0d2FyZWVuZ2luZWVyaW5nZGFpbHkuY29tL3dw + LWNvbnRlbnQvdXBsb2Fkcy8yMDE3LzA2L2NvZGVwYXRoLnBuZz9yZXNpemU9 + MzAwJTJDMTcyIDMwMHcsIGh0dHBzOi8vaTEud3AuY29tL3NvZnR3YXJlZW5n + aW5lZXJpbmdkYWlseS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDYv + Y29kZXBhdGgucG5nP3c9Njk4IDY5OHciIHNpemVzPSIobWF4LXdpZHRoOiAz + MDBweCkgMTAwdncsIDMwMHB4IiBkYXRhLXJlY2FsYy1kaW1zPSIxIiAvPjwv + YT48L2Rpdj48YnIgLz4KPGRpdiBjbGFzcz0iY29sLXNtLTYiPjxzcGFuIGlk + PSJtXzUzMjQ5MzcxODEwNTQzNjY0NTVnbWFpbC1kb2NzLWludGVybmFsLWd1 + aWQtMTIxYzI2NmEtODk2NS1iYzBmLWNjOTgtNDk4Yjc3ZjdmZTM1Ij5Db2Rl + cGF0aCBpcyBhbiA4LXdlZWsgaU9TIGFuZCBBbmRyb2lkIGRldmVsb3BtZW50 + IGNsYXNzIGZvciBwcm9mZXNzaW9uYWwgZW5naW5lZXJzIHdobyBhcmUgbG9v + a2luZyB0byBidWlsZCBhIG5ldyBza2lsbC4gQ29kZXBhdGggaGFzIGZyZWUg + ZXZlbmluZyBjbGFzc2VzIGZvciBkZWRpY2F0ZWQsIGV4cGVyaWVuY2VkIGVu + Z2luZWVycyBhbmQgZGVzaWduZXJzLjwvc3Bhbj48c3BhbiBpZD0ibV81MzI0 + OTM3MTgxMDU0MzY2NDU1Z21haWwtZG9jcy1pbnRlcm5hbC1ndWlkLTEyMWMy + NjZhLTg5NjYtYTdhMy1iNzYyLWQwNDllMzIyMjI0NCI+aGV0aGVyIHlvdSBh + cmUgYW4gZW5naW5lZXIgd2hvIGlzIGxvb2tpbmcgdG8gcmV0cmFpbiBhcyBh + IG1vYmlsZSBkZXZlbG9wZXImIzgyMTE7b3IgeW91IGFyZSBsb29raW5nIHRv + IGhpcmUgbW9iaWxlIGVuZ2luZWVycywgZ28gdG8gQ29kZXBhdGguY29tIHRv + IGxlYXJuIG1vcmUuPC9zcGFuPjwvZGl2PjwvcD4KPHA+PC9wPjwvZGl2Pgo8 + ZGl2IGNsYXNzPSJyb3ciPjwvZGl2PgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4N + CgkJPGVuY2xvc3VyZSB1cmw9Imh0dHA6Ly90cmFmZmljLmxpYnN5bi5jb20v + c2VkYWlseS9GaXNzaW9uLm1wMyIgbGVuZ3RoPSI1ODE4NTQyMiIgdHlwZT0i + YXVkaW8vbXBlZyIgLz4KCQk8aXR1bmVzOnN1YnRpdGxlPkt1YmVybmV0ZXMg + aXMgYW4gb3JjaGVzdHJhdGlvbiBzeXN0ZW0gZm9yIG1hbmFnaW5nIGNvbnRh + aW5lcnMuIFNpbmNlIGl0IHdhcyBvcGVuIHNvdXJjZWQgYnkgR29vZ2xlLCBL + dWJlcm5ldGVzIGhhcyBjcmVhdGVkIGEgd2F2ZSBvZiBpbm5vdmF0aW9uIGlu + IHRoZSBpbmZyYXN0cnVjdHVyZSB0ZWNobm9sb2d5IHNwYWNlLiBBbm90aGVy + IHJlY2VudCBpbm5vdmF0aW9uIGhhcyBiZWVuIHRoZSDigJxzZXJ2ZXJsZXNz + 4oCdIGV4ZWN1dGlvbiB0b29sc+KAky4uLjwvaXR1bmVzOnN1YnRpdGxlPgoJ + CTxpdHVuZXM6c3VtbWFyeT5LdWJlcm5ldGVzIGlzIGFuIG9yY2hlc3RyYXRp + b24gc3lzdGVtIGZvciBtYW5hZ2luZyBjb250YWluZXJzLiBTaW5jZSBpdCB3 + YXMgb3BlbiBzb3VyY2VkIGJ5IEdvb2dsZSwgS3ViZXJuZXRlcyBoYXMgY3Jl + YXRlZCBhIHdhdmUgb2YgaW5ub3ZhdGlvbiBpbiB0aGUgaW5mcmFzdHJ1Y3R1 + cmUgdGVjaG5vbG9neSBzcGFjZS4gQW5vdGhlciByZWNlbnQgaW5ub3ZhdGlv + biBoYXMgYmVlbiB0aGUg4oCcc2VydmVybGVzc+KAnSBleGVjdXRpb24gdG9v + bHPigJNzdWNoIGFzIEFXUyBMYW1iZGEgYW5kIEdvb2dsZSBDbG91ZCBGdW5j + dGlvbnMuIFNlcnZlcmxlc3MgZXhlY3V0aW9uLCBvdGhlcndpc2Uga25vd24g + YXMgZnVuY3Rpb25zLWFzLWEtc2VydmljZSwgYWxsb3dzIGEgZGV2ZWxvcGVy + IHRvIGV4ZWN1dGUgY29kZSBhZ2FpbnN0IGNsb3VkIHNlcnZlcnMgd2l0aG91 + dCBzcGVjaWZ5aW5nIHdoaWNoIGNsb3VkIHNlcnZlcnMgdGhleSBhcmUgZXhl + Y3V0aW5nIG9uLiBTZXJ2ZXJsZXNzIGV4ZWN1dGlvbiBpc0NvbnRpbnVlIHJl + YWRpbmcuLi48L2l0dW5lczpzdW1tYXJ5PgoJCTxpdHVuZXM6YXV0aG9yPlNv + ZnR3YXJlIEVuZ2luZWVyaW5nIERhaWx5PC9pdHVuZXM6YXV0aG9yPgoJCTxp + dHVuZXM6ZXhwbGljaXQ+Y2xlYW48L2l0dW5lczpleHBsaWNpdD4KCQk8aXR1 + bmVzOmR1cmF0aW9uPjE6MDA6Mjc8L2l0dW5lczpkdXJhdGlvbj4KPHBvc3Qt + aWQgeG1sbnM9ImNvbS13b3JkcHJlc3M6ZmVlZC1hZGRpdGlvbnM6MSI+MzYx + NTwvcG9zdC1pZD4JCTwvaXRlbT4NCjwvY2hhbm5lbD4NCjwvcnNzPg0K + http_version: + recorded_at: Fri, 27 Oct 2017 20:52:24 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/support/fixtures/vcr_cassettes/unread_notification_mailer.yml b/spec/support/fixtures/vcr_cassettes/unread_notification_mailer.yml new file mode 100644 index 0000000000000..a7d0cfe89e2c3 --- /dev/null +++ b/spec/support/fixtures/vcr_cassettes/unread_notification_mailer.yml @@ -0,0 +1,125 @@ +--- +http_interactions: +- request: + method: get + uri: https://us-east-api.getstream.io/api/v1.0/feed/notifications/1/?api_key=h59mvgpc5f4s + body: + encoding: US-ASCII + string: '' + headers: + Stream-Auth-Type: + - jwt + Content-Type: + - application/json + X-Stream-Client: + - stream-ruby-client-2.4.5 + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Headers: + - x-requested-with, content-type, accept, origin, authorization, x-csrftoken, + x-stream-client, stream-auth-type + Access-Control-Allow-Methods: + - GET, POST, PUT, PATCH, DELETE, OPTIONS + Access-Control-Allow-Origin: + - "*" + Access-Control-Max-Age: + - '86400' + Cache-Control: + - no-cache + Content-Type: + - application/json;charset=utf-8 + Date: + - Tue, 20 Feb 2018 22:27:59 GMT + Server: + - nginx + X-Ratelimit-Limit: + - '2000' + X-Ratelimit-Remaining: + - '1999' + X-Ratelimit-Reset: + - '1519165680' + Content-Length: + - '15340' + Connection: + - keep-alive + body: + encoding: UTF-8 + string: '{"results":[{"activities":[{"actor":"User:34","foreign_id":"Comment:133","id":"1500a680-10fb-11e8-8080-800121f84ad9","object":"Comment:133","origin":null,"target":"comment_2018-02-13 + 15:18:41 -0500","time":"2018-02-13T20:18:41.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-02-13T20:18:42.099622","group":"Comment_comment_2018-02-13 + 15:18:41 -0500_2018-02-13","id":"15a8707f-10fb-11e8-8080-8001355ef3c6.Comment_comment_2018-02-13 + 15:18:41 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:18:42.099622","verb":"Comment"},{"activities":[{"actor":"User:13","foreign_id":"Comment:120","id":"1205b600-10fb-11e8-8080-8001015be16c","object":"Comment:120","origin":null,"target":"comment_2018-02-13 + 15:18:36 -0500","time":"2018-02-13T20:18:36.000000","verb":"Comment"},{"actor":"User:79","foreign_id":"Comment:119","id":"116d1f80-10fb-11e8-8080-80016dade8c0","object":"Comment:119","origin":null,"target":"comment_2018-02-13 + 15:18:36 -0500","time":"2018-02-13T20:18:35.000000","verb":"Comment"}],"activity_count":2,"actor_count":2,"created_at":"2018-02-13T20:18:36.203743","group":"Comment_comment_2018-02-13 + 15:18:36 -0500_2018-02-13","id":"1268b060-10fb-11e8-8080-80000fa75ca4.Comment_comment_2018-02-13 + 15:18:36 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:18:36.648662","verb":"Comment"},{"activities":[{"actor":"User:50","foreign_id":"Comment:115","id":"10d48900-10fb-11e8-8080-80010c21e85d","object":"Comment:115","origin":null,"target":"comment_2018-02-13 + 15:18:34 -0500","time":"2018-02-13T20:18:34.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-02-13T20:18:34.473263","group":"Comment_comment_2018-02-13 + 15:18:34 -0500_2018-02-13","id":"111cbfdd-10fb-11e8-8080-800047d78964.Comment_comment_2018-02-13 + 15:18:34 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:18:34.473263","verb":"Comment"},{"activities":[{"actor":"User:16","foreign_id":"Comment:111","id":"0fa35c00-10fb-11e8-8080-800026c777db","object":"Comment:111","origin":null,"target":"comment_2018-02-13 + 15:18:32 -0500","time":"2018-02-13T20:18:32.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-02-13T20:18:32.791697","group":"Comment_comment_2018-02-13 + 15:18:32 -0500_2018-02-13","id":"101c29aa-10fb-11e8-8080-800103ce686b.Comment_comment_2018-02-13 + 15:18:32 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:18:32.791697","verb":"Comment"},{"activities":[{"actor":"User:31","foreign_id":"Comment:66","id":"04503080-10fb-11e8-8080-80017c9eb0e2","object":"Comment:66","origin":null,"target":"comment_2018-02-13 + 15:18:13 -0500","time":"2018-02-13T20:18:13.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-02-13T20:18:13.724720","group":"Comment_comment_2018-02-13 + 15:18:13 -0500_2018-02-13","id":"04bec5e9-10fb-11e8-8080-80010d286d9a.Comment_comment_2018-02-13 + 15:18:13 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:18:13.724720","verb":"Comment"},{"activities":[{"actor":"User:68","foreign_id":"Comment:29","id":"fac6c880-10fa-11e8-8080-80007c146ba2","object":"Comment:29","origin":null,"target":"comment_2018-02-13 + 15:17:57 -0500","time":"2018-02-13T20:17:57.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-02-13T20:17:57.764644","group":"Comment_comment_2018-02-13 + 15:17:57 -0500_2018-02-13","id":"fb3b7569-10fa-11e8-8080-800125d09321.Comment_comment_2018-02-13 + 15:17:57 -0500_2018-02-13","is_read":false,"is_seen":false,"updated_at":"2018-02-13T20:17:57.764644","verb":"Comment"},{"activities":[{"actor":"User:66","foreign_id":"Comment:165","id":"6a5e5380-f8c2-11e7-8080-80003f627e2a","object":"Comment:165","origin":null,"target":"comment_2018-01-13 + 19:32:36 -0500","time":"2018-01-14T00:32:35.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-01-14T00:32:36.318815","group":"Comment_Comment:165_comment_2018-01-13 + 19:32:36 -0500_2018-01-14-%h","id":"6b278fb6-f8c2-11e7-8080-80014c2c4cc1.Comment_Comment:165_comment_2018-01-13 + 19:32:36 -0500_2018-01-14-%h","is_read":false,"is_seen":false,"updated_at":"2018-01-14T00:32:36.318815","verb":"Comment"},{"activities":[{"actor":"User:67","foreign_id":"Comment:121","id":"59154700-f8c2-11e7-8080-800106a63016","object":"Comment:121","origin":null,"target":"comment_2018-01-13 + 19:32:06 -0500","time":"2018-01-14T00:32:06.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-01-14T00:32:06.710284","group":"Comment_Comment:121_comment_2018-01-13 + 19:32:06 -0500_2018-01-14-%h","id":"5981a87b-f8c2-11e7-8080-800152edfd1c.Comment_Comment:121_comment_2018-01-13 + 19:32:06 -0500_2018-01-14-%h","is_read":false,"is_seen":false,"updated_at":"2018-01-14T00:32:06.710284","verb":"Comment"},{"activities":[{"actor":"User:6","foreign_id":"Comment:13","id":"2cf9c600-f8c2-11e7-8080-80005b23563a","object":"Comment:13","origin":null,"target":"comment_2018-01-13 + 19:30:53 -0500","time":"2018-01-14T00:30:52.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-01-14T00:30:53.372538","group":"Comment_Comment:13_comment_2018-01-13 + 19:30:53 -0500_2018-01-14-%h","id":"2dcb34cc-f8c2-11e7-8080-8001291456c4.Comment_Comment:13_comment_2018-01-13 + 19:30:53 -0500_2018-01-14-%h","is_read":false,"is_seen":false,"updated_at":"2018-01-14T00:30:53.372538","verb":"Comment"},{"activities":[{"actor":"User:2","foreign_id":"Comment:1","id":"4dffb400-f641-11e7-8080-800039c97ccc","object":"Comment:1","origin":null,"target":"comment_2018-01-10 + 15:03:21 -0500","time":"2018-01-10T20:03:20.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-01-10T20:03:21.256986","group":"Comment_Comment:1_comment_2018-01-10 + 15:03:21 -0500_2018-01-10-%h","id":"4ebf8104-f641-11e7-8080-800065fe1338.Comment_Comment:1_comment_2018-01-10 + 15:03:21 -0500_2018-01-10-%h","is_read":false,"is_seen":false,"updated_at":"2018-01-10T20:03:21.256986","verb":"Comment"},{"activities":[{"actor":"User:58","foreign_id":"Comment:78","id":"f97ffb80-f4bd-11e7-8080-800104dedbf3","object":"Comment:78","origin":null,"target":"comment_2018-01-08 + 16:50:44 -0500","time":"2018-01-08T21:50:43.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2018-01-08T21:50:44.537384","group":"Comment_Comment:78_comment_2018-01-08 + 16:50:44 -0500_2018-01-08-%h","id":"fa6a9196-f4bd-11e7-8080-8001218977db.Comment_Comment:78_comment_2018-01-08 + 16:50:44 -0500_2018-01-08-%h","is_read":false,"is_seen":false,"updated_at":"2018-01-08T21:50:44.537384","verb":"Comment"},{"activities":[{"actor":"User:83","foreign_id":"Reaction:1343","id":"e7ccb900-e4fa-11e7-8080-80005837d80c","object":"Reaction:1343","origin":null,"target":"Article_49","time":"2017-12-19T20:26:34.000000","verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T20:26:34.874587","group":"Reaction_Reaction:1343_Article_49_2017-12-19-%h","id":"e8522c95-e4fa-11e7-8080-80015d84d5a4.Reaction_Reaction:1343_Article_49_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T20:26:34.874587","verb":"Reaction"},{"activities":[{"actor":"User:83","foreign_id":"Reaction:1342","id":"e7ccb900-e4fa-11e7-8080-800069d7e30c","object":"Reaction:1342","origin":null,"target":"Article_49","time":"2017-12-19T20:26:34.000000","verb":"Reaction"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T20:26:34.730352","group":"Reaction_Reaction:1342_Article_49_2017-12-19-%h","id":"e83c2a63-e4fa-11e7-8080-80016ca58c39.Reaction_Reaction:1342_Article_49_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T20:26:34.730352","verb":"Reaction"},{"activities":[{"actor":"User:11","foreign_id":"Comment:172","id":"2e1c1b00-e4ef-11e7-8080-8001151db06e","object":"Comment:172","origin":null,"target":"comment_2017-12-19 + 14:02:38 -0500","time":"2017-12-19T19:02:38.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:39.002715","group":"Comment_Comment:172_comment_2017-12-19 + 14:02:38 -0500_2017-12-19-%h","id":"2eb51b91-e4ef-11e7-8080-80007b6d8293.Comment_Comment:172_comment_2017-12-19 + 14:02:38 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:39.002715","verb":"Comment"},{"activities":[{"actor":"User:38","foreign_id":"Comment:119","id":"2197c280-e4ef-11e7-8080-80016dade8c0","object":"Comment:119","origin":null,"target":"comment_2017-12-19 + 14:02:17 -0500","time":"2017-12-19T19:02:17.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:18.059119","group":"Comment_Comment:119_comment_2017-12-19 + 14:02:17 -0500_2017-12-19-%h","id":"22395e59-e4ef-11e7-8080-800148f3ccf3.Comment_Comment:119_comment_2017-12-19 + 14:02:17 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:18.059119","verb":"Comment"},{"activities":[{"actor":"User:16","foreign_id":"Comment:98","id":"1d6ba500-e4ef-11e7-8080-80000fcdc73e","object":"Comment:98","origin":null,"target":"comment_2017-12-19 + 14:02:10 -0500","time":"2017-12-19T19:02:10.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:02:10.605285","group":"Comment_Comment:98_comment_2017-12-19 + 14:02:10 -0500_2017-12-19-%h","id":"1dc800f8-e4ef-11e7-8080-8000148866fc.Comment_Comment:98_comment_2017-12-19 + 14:02:10 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:02:10.605285","verb":"Comment"},{"activities":[{"actor":"User:29","foreign_id":"Comment:22","id":"0cbb2f00-e4ef-11e7-8080-800021d71004","object":"Comment:22","origin":null,"target":"comment_2017-12-19 + 14:01:42 -0500","time":"2017-12-19T19:01:42.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T19:01:42.842286","group":"Comment_Comment:22_comment_2017-12-19 + 14:01:42 -0500_2017-12-19-%h","id":"0d3bb4d4-e4ef-11e7-8080-80013b05b437.Comment_Comment:22_comment_2017-12-19 + 14:01:42 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T19:01:42.842286","verb":"Comment"},{"activities":[{"actor":"User:36","foreign_id":"Comment:10","id":"5bb49480-e4ee-11e7-8080-80001bf4e718","object":"Comment:10","origin":null,"target":"comment_2017-12-19 + 13:56:45 -0500","time":"2017-12-19T18:56:45.000000","verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-19T18:56:45.381682","group":"Comment_Comment:10_comment_2017-12-19 + 13:56:45 -0500_2017-12-19-%h","id":"5beed1f6-e4ee-11e7-8080-80010dc215a9.Comment_Comment:10_comment_2017-12-19 + 13:56:45 -0500_2017-12-19-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-19T18:56:45.381682","verb":"Comment"},{"activities":[{"actor":"User:14","foreign_id":"Comment:173","id":"d48ebf00-d780-11e7-8080-800154adde21","object":"Comment:173","origin":null,"target":"comment_2017-12-02 + 11:49:58 -0500","time":"2017-12-02T16:49:58.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:58.000000","group":"Comment_Comment:173_comment_2017-12-02 + 11:49:58 -0500_2017-12-02-%h","id":"d48ebf00-d780-11e7-8080-80016ea9b06e.Comment_Comment:173_comment_2017-12-02 + 11:49:58 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:58.000000","verb":"Comment"},{"activities":[{"actor":"User:27","foreign_id":"Comment:166","id":"d2c4fb80-d780-11e7-8080-800066bb554f","object":"Comment:166","origin":null,"target":"comment_2017-12-02 + 11:49:55 -0500","time":"2017-12-02T16:49:55.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:55.000000","group":"Comment_Comment:166_comment_2017-12-02 + 11:49:55 -0500_2017-12-02-%h","id":"d2c4fb80-d780-11e7-8080-800048c60561.Comment_Comment:166_comment_2017-12-02 + 11:49:55 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:55.000000","verb":"Comment"},{"activities":[{"actor":"User:59","foreign_id":"Comment:83","id":"c17bef00-d780-11e7-8080-800139c2e7fe","object":"Comment:83","origin":null,"target":"comment_2017-12-02 + 11:49:26 -0500","time":"2017-12-02T16:49:26.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:26.000000","group":"Comment_Comment:83_comment_2017-12-02 + 11:49:26 -0500_2017-12-02-%h","id":"c17bef00-d780-11e7-8080-80000dd7609f.Comment_Comment:83_comment_2017-12-02 + 11:49:26 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:26.000000","verb":"Comment"},{"activities":[{"actor":"User:64","foreign_id":"Comment:22","id":"b4f79680-d780-11e7-8080-800021d71004","object":"Comment:22","origin":null,"target":"comment_2017-12-02 + 11:49:05 -0500","time":"2017-12-02T16:49:05.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:49:05.000000","group":"Comment_Comment:22_comment_2017-12-02 + 11:49:05 -0500_2017-12-02-%h","id":"b4f79680-d780-11e7-8080-8001166de126.Comment_Comment:22_comment_2017-12-02 + 11:49:05 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:49:05.000000","verb":"Comment"},{"activities":[{"actor":"User:310","foreign_id":"Comment:259","id":"d8b9dd00-d77e-11e7-8080-80006f7fcbaa","object":"Comment:259","origin":null,"target":"comment_2017-12-02 + 11:35:46 -0500","time":"2017-12-02T16:35:46.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-12-02T16:35:46.000000","group":"Comment_Comment:259_comment_2017-12-02 + 11:35:46 -0500_2017-12-02-%h","id":"d8b9dd00-d77e-11e7-8080-800054843b1c.Comment_Comment:259_comment_2017-12-02 + 11:35:46 -0500_2017-12-02-%h","is_read":false,"is_seen":false,"updated_at":"2017-12-02T16:35:46.000000","verb":"Comment"},{"activities":[{"actor":"User:36","foreign_id":"Comment:157","id":"fc099180-ce3a-11e7-8080-80015896e166","object":"Comment:157","origin":null,"target":"comment_2017-11-20 + 16:37:20 -0500","time":"2017-11-20T21:37:19.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-20T21:37:19.000000","group":"Comment_Comment:157_comment_2017-11-20 + 16:37:20 -0500_2017-11-20-%h","id":"fc099180-ce3a-11e7-8080-800048f07435.Comment_Comment:157_comment_2017-11-20 + 16:37:20 -0500_2017-11-20-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-20T21:37:19.000000","verb":"Comment"},{"activities":[{"actor":"User:6","foreign_id":"Comment:8","id":"b8af2300-ce3a-11e7-8080-8001000d018f","object":"Comment:8","origin":null,"target":"comment_2017-11-20 + 16:35:27 -0500","time":"2017-11-20T21:35:26.000000","to":["notifications:1"],"verb":"Comment"}],"activity_count":1,"actor_count":1,"created_at":"2017-11-20T21:35:26.000000","group":"Comment_Comment:8_comment_2017-11-20 + 16:35:27 -0500_2017-11-20-%h","id":"b8af2300-ce3a-11e7-8080-80015112e8c3.Comment_Comment:8_comment_2017-11-20 + 16:35:27 -0500_2017-11-20-%h","is_read":false,"is_seen":false,"updated_at":"2017-11-20T21:35:26.000000","verb":"Comment"}],"next":"/api/v1.0/feed/notifications/1/?api_key=h59mvgpc5f4s\u0026id_lt=b8af2300-ce3a-11e7-8080-80015112e8c3.Comment_Comment%3A8_comment_2017-11-20+16%3A35%3A27+-0500_2017-11-20-%25h\u0026limit=25","duration":"17.58ms","unseen":97,"unread":100} + +' + http_version: + recorded_at: Tue, 20 Feb 2018 22:27:59 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/request_spec_helper.rb b/spec/support/request_spec_helper.rb new file mode 100644 index 0000000000000..7ba2e31d18944 --- /dev/null +++ b/spec/support/request_spec_helper.rb @@ -0,0 +1,22 @@ +module RequestSpecHelper + include Warden::Test::Helpers + + def self.included(base) + base.before(:each) { Warden.test_mode! } + base.after(:each) { Warden.test_reset! } + end + + def sign_in(resource) + login_as(resource, scope: warden_scope(resource)) + end + + def sign_out(resource) + logout(warden_scope(resource)) + end + + private + + def warden_scope(resource) + resource.class.name.underscore.to_sym + end +end diff --git a/spec/support/stubs.rb b/spec/support/stubs.rb new file mode 100644 index 0000000000000..0ebfbdb0db09b --- /dev/null +++ b/spec/support/stubs.rb @@ -0,0 +1,46 @@ +require "webmock/rspec" +require "rspec/rails" + +RSpec.configure do |config| + config.before(:each) do + # list indexes + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes/).to_return(:body => '{ "items": [] }') + # query index + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/).to_return(:body => '{ "hits": [ { "objectID": 42 } ], "page": 1, "hitsPerPage": 1 }') + # delete index + WebMock.stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/).to_return(:body => '{ "taskID": 42 }') + # clear index + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/clear/).to_return(:body => '{ "taskID": 42 }') + # add object + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+/).to_return(:body => '{ "taskID": 42 }') + # save object + WebMock.stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/).to_return(:body => '{ "taskID": 42 }') + # partial update + WebMock.stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+\/partial/).to_return(:body => '{ "taskID": 42 }') + # get object + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/).to_return(:body => '{}') + # delete object + WebMock.stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/[^\/]+/).to_return(:body => '{ "taskID": 42 }') + # batch + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/batch/).to_return(:body => '{ "taskID": 42 }') + # settings + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/settings/).to_return(:body => '{}') + WebMock.stub_request(:put, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/settings/).to_return(:body => '{ "taskID": 42 }') + # browse + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/browse/).to_return(:body => '{}') + # operations + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/operation/).to_return(:body => '{ "taskID": 42 }') + # tasks + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/task\/[^\/]+/).to_return(:body => '{ "status": "published" }') + # index keys + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/keys/).to_return(:body => '{ }') + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/keys/).to_return(:body => '{ "keys": [] }') + # global keys + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/keys/).to_return(:body => '{ }') + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/keys/).to_return(:body => '{ "keys": [] }') + WebMock.stub_request(:get, /.*\.algolia(net\.com|\.net)\/1\/keys\/[^\/]+/).to_return(:body => '{ }') + WebMock.stub_request(:delete, /.*\.algolia(net\.com|\.net)\/1\/keys\/[^\/]+/).to_return(:body => '{ }') + # query POST + WebMock.stub_request(:post, /.*\.algolia(net\.com|\.net)\/1\/indexes\/[^\/]+\/query/).to_return(:body => '{ "hits": [ { "objectID": 42 } ], "page": 1, "hitsPerPage": 1 }') + end +end diff --git a/spec/support/vcr.rb b/spec/support/vcr.rb new file mode 100644 index 0000000000000..b5922f1e75ec1 --- /dev/null +++ b/spec/support/vcr.rb @@ -0,0 +1,17 @@ +require "vcr" + +VCR.configure do |config| + config.cassette_library_dir = "spec/support/fixtures/vcr_cassettes" + config.hook_into :webmock + config.configure_rspec_metadata! + config.ignore_localhost = true + + # Removes all private data (Basic Auth, Set-Cookie headers...) + config.before_record do |i| + i.response.headers.delete("Set-Cookie") + i.request.headers.delete("Authorization") + + u = URI.parse(i.request.uri) + i.request.uri.sub!(/:\/\/.*#{Regexp.escape(u.host)}/, "://#{u.host}") + end +end diff --git a/spec/support/warden.rb b/spec/support/warden.rb new file mode 100644 index 0000000000000..fbd058ca93cc1 --- /dev/null +++ b/spec/support/warden.rb @@ -0,0 +1,16 @@ +RSpec.configure do |config| + include Warden::Test::Helpers + Warden.test_mode! + + config.after(:each) do + Warden.test_reset! + end + + # def sign_in(user, opts = {}) + # login_as(user, opts) + # end + # + # def sign_out(*scopes) + # logout(*scopes) + # end +end diff --git a/spec/views/articles_spec.rb b/spec/views/articles_spec.rb new file mode 100644 index 0000000000000..f663fe399e9ee --- /dev/null +++ b/spec/views/articles_spec.rb @@ -0,0 +1,71 @@ +require "rails_helper" + +describe "articles/show", type: :view do + let(:user1) { create(:user) } + let(:article1) { create(:article, user_id: user1.id, show_comments: true) } + let(:helper) { Class.new { extend CommentsHelper } } + + before do + assign(:user, user1) + assign(:article, article1.decorate) + assign(:comment, Comment.new) + without_partial_double_verification do + allow(view).to receive(:is_internal_navigation?).and_return(params[:i] == "i") + end + end + + def create_comment(parent_id = nil) + create(:comment, user_id: user1.id, + parent_id: parent_id ? parent_id : nil, + commentable_id: article1.id, + commentable_type: "Article") + end + + it "shows user title of the article" do + render + expect(rendered).to have_text(article1.title) + expect(rendered).to have_css("#main-title") + end + + it "shows user tags" do + render + expect(rendered).to have_css "div.tags" + article1.tags.all? { |tag| expect(rendered).to have_text(tag.name) } + end + + it "shows user content of the article" do + render + expect(rendered).to have_text(Nokogiri::HTML(article1.processed_html).text) + expect(rendered).to have_css "div.body" + end + + it "shows user new comment box" do + render + expect(rendered).to have_css("form#new_comment") + expect(rendered).to have_css("input#submit-button") + end + + it "shows user comments of the article" do + without_partial_double_verification do + allow(view).to receive(:comment_class) { |a, b| helper.comment_class(a, b) } + end + comment1 = create_comment + comment2 = create_comment(comment1.id) + render + expect(rendered).to have_css("div.comment-trees") + expect(rendered).to have_text(comment1.body_html) + expect(rendered).to have_text(comment2.body_html) + end +end + +# note fully implemented yet +# require 'approvals/rspec' +# +# describe 'articles/index', type: :view do +# it 'works' do +# assign(:featured_story, Article.new) +# render +# verify(format: :html) { rendered } +# end +# +# end diff --git a/spec/views/giveaways/edit.html.erb_spec.rb b/spec/views/giveaways/edit.html.erb_spec.rb new file mode 100644 index 0000000000000..4285d96ffd95e --- /dev/null +++ b/spec/views/giveaways/edit.html.erb_spec.rb @@ -0,0 +1,51 @@ +require "rails_helper" + +describe "giveaways/edit.html.erb", type: :view do + let(:user) { create(:user) } + let(:current_user) { create(:user, onboarding_package_requested: false) } + + def assign_user_and_errors + assign(:user, current_user) + assign(:errors, []) + allow(view).to receive(:current_user).and_return(current_user) + end + + context "when user is not logged-in" do + it "displays twitter log-in option" do + render + expect(rendered).to have_selector(:link_or_button, "Sign in with Twitter") + end + + it "displays github log-in option" do + render + expect(rendered).to have_selector(:link_or_button, "Sign in with Github") + end + end + + context "when user is logged-in and not already onboard" do + it "tells user it's over" do + allow(view).to receive(:current_user).and_return(current_user) + render + expect(rendered).to have_text("It seems you've never requested stickers") + end + end + + context "when user is logged-in and already onboard" do + it "allows user to re-apply" do + current_user.onboarding_package_requested = true + assign_user_and_errors + render + expect(rendered).to render_template(partial: "_form") + end + end + + context "when user is logged-in, already onboarded, and already re-requested" do + it "allows user to re-apply" do + current_user.onboarding_package_requested = true + current_user.onboarding_package_requested_again = true + assign_user_and_errors + render + expect(rendered).to have_text("stickers should arrive soon") + end + end +end diff --git a/spec/views/giveaways/new.html.erb_spec.rb b/spec/views/giveaways/new.html.erb_spec.rb new file mode 100644 index 0000000000000..13c95ccbae5e3 --- /dev/null +++ b/spec/views/giveaways/new.html.erb_spec.rb @@ -0,0 +1,21 @@ +require "rails_helper" + +describe "giveaways/new.html.erb", type: :view do + let(:user) { create(:user) } + + it "thanks users for participating" do + render + expect(rendered).to have_text("dev.to's sticker give-away campaign is officially over.") + end + + it "has link to edit page" do + render + # this is a relatively weak test + expect(rendered).to have_link "here", href: "/freestickers/edit" + end + + it "has link to the article" do + render + expect(rendered).to have_link "process", href: "https://dev.to/thepracticaldev/sending-100-thousand-stickers" + end +end diff --git a/vendor/assets/javascripts/.keep b/vendor/assets/javascripts/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/vendor/assets/stylesheets/.keep b/vendor/assets/stylesheets/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000000..4d3ffb72d831f --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6987 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0-beta.35": + version "7.0.0-beta.38" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.38.tgz#c0af5930617e55e050336838e3a3670983b0b2b2" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +"@rails/webpacker@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@rails/webpacker/-/webpacker-3.0.1.tgz#54da0c2a0d2b7c482cd4eb2eca73beb28150c45d" + dependencies: + babel-core "^6.26.0" + babel-loader "^7.1.2" + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.26.0" + babel-polyfill "^6.26.0" + babel-preset-env "^1.6.0" + coffee-loader "^0.8.0" + coffeescript "^1.12.7" + compression-webpack-plugin "^1.0.0" + css-loader "^0.28.5" + extract-text-webpack-plugin "^3.0.0" + file-loader "^0.11.2" + glob "^7.1.2" + js-yaml "^3.9.1" + node-sass "^4.5.3" + path-complete-extname "^0.1.0" + postcss-cssnext "^3.0.2" + postcss-loader "^2.0.6" + postcss-smart-import "^0.7.5" + rails-erb-loader "^5.2.1" + resolve-url-loader "^2.1.0" + sass-loader "^6.0.6" + style-loader "^0.18.2" + webpack "^3.5.5" + webpack-manifest-plugin "^1.3.1" + +"@types/node@*": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.3.0.tgz#3a129cda7c4e5df2409702626892cb4b96546dd5" + +abab@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" + dependencies: + mime-types "~2.1.16" + negotiator "0.6.1" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + dependencies: + acorn "^4.0.3" + +acorn-globals@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" + dependencies: + acorn "^5.0.0" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" + +acorn@^5.1.2: + version "5.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822" + +acorn@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" + +adjust-sourcemap-loader@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.1.0.tgz#412d92404eb61e4113635012cba53a33d008e0e2" + dependencies: + assert "^1.3.0" + camelcase "^1.2.1" + loader-utils "^1.0.2" + lodash.assign "^4.0.1" + lodash.defaults "^3.1.2" + object-path "^0.9.2" + regex-parser "^2.2.1" + +agentkeepalive@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" + +ajv-keywords@^2.0.0, ajv-keywords@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" + json-stable-stringify "^1.0.1" + +ajv@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.0.tgz#eb2840746e9dc48bd5e063a36e3fd400c5eab5a9" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.1.0, ansi-styles@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + +any-promise@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-0.1.0.tgz#830b680aa7e56f33451d4b049f3bd8044498ee27" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +aria-query@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.0.tgz#4af10a1e61573ddea0cf3b99b51c52c05b424d24" + dependencies: + ast-types-flow "0.0.7" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-flatten@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" + +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1.js@^4.0.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert@^1.1.1, assert@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +ast-types-flow@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" + dependencies: + lodash "^4.14.0" + +async@^1.4.0, async@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.1.2, async@^2.1.5, async@^2.4.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + dependencies: + lodash "^4.14.0" + +async@^2.1.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + dependencies: + lodash "^4.14.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" + +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +autoprefixer@^7.1.1: + version "7.1.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.4.tgz#960847dbaa4016bc8e8e52ec891cbf8f1257a748" + dependencies: + browserslist "^2.4.0" + caniuse-lite "^1.0.30000726" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^6.0.11" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +axobject-query@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" + dependencies: + ast-types-flow "0.0.7" + +babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-builder-react-jsx@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + esutils "^2.0.2" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.1.0.tgz#7fae6f655fffe77e818a8c2868c754a42463fdfd" + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.1.0" + +babel-loader@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" + dependencies: + find-up "^2.1.0" + istanbul-lib-instrument "^1.7.5" + test-exclude "^4.1.1" + +babel-plugin-jest-hoist@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.1.0.tgz#c1281dd7887d77a1711dc760468c3b8285dde9ee" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-jsx@^6.0.2, babel-plugin-syntax-jsx@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + +babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-jsx@^6.0.2, babel-plugin-transform-react-jsx@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" + dependencies: + babel-helper-builder-react-jsx "^6.24.1" + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-env@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^2.1.2" + invariant "^2.2.2" + semver "^5.3.0" + +babel-preset-env@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^2.1.2" + invariant "^2.2.2" + semver "^5.3.0" + +babel-preset-jest@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.1.0.tgz#ff4e704102f9642765e2254226050561d8942ec9" + dependencies: + babel-plugin-jest-hoist "^22.1.0" + babel-plugin-syntax-object-rest-spread "^6.13.0" + +babel-preset-preact@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-preact/-/babel-preset-preact-1.1.0.tgz#35ac655a73a49b8438163ce053816577e1980861" + dependencies: + babel-plugin-syntax-jsx "^6.0.2" + babel-plugin-transform-react-jsx "^6.0.2" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a" + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +binary-extensions@^1.0.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +boom@4.x.x: + version "4.3.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" + dependencies: + hoek "4.x.x" + +boom@5.x.x: + version "5.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" + dependencies: + hoek "4.x.x" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + +browser-resolve@^1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.0.8" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.8.tgz#c8fa3b1b7585bb7ba77c5560b60996ddec6d5309" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^2.0.0, browserslist@^2.1.2, browserslist@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.4.0.tgz#693ee93d01e66468a6348da5498e011f578f87f8" + dependencies: + caniuse-lite "^1.0.30000718" + electron-to-chromium "^1.3.18" + +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2, camelcase@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +camelcase@^4.0.0, camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-api@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-2.0.0.tgz#b1ddb5a5966b16f48dc4998444d4bbc6c7d9d834" + dependencies: + browserslist "^2.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000741" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000741.tgz#0be59111d4221f21f612b50ee5d67871a2c4a7a5" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000718, caniuse-lite@^1.0.30000726: + version "1.0.30000741" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000741.tgz#bc526bc2046e6bc38737cfd77d3026ef04b8f464" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +chokidar@^1.6.0, chokidar@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +ci-info@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + dependencies: + chalk "^1.1.3" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +clone-deep@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.3.0.tgz#348c61ae9cdbe0edfe053d91ff4cc521d790ede8" + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.1" + kind-of "^3.2.2" + shallow-clone "^0.1.2" + +clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffee-loader@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/coffee-loader/-/coffee-loader-0.8.0.tgz#ec48e7327da8e3a99047a99d9bdcfcac12df3694" + dependencies: + loader-utils "^1.0.2" + +coffeescript@^1.12.7: + version "1.12.7" + resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.12.7.tgz#e57ee4c4867cf7f606bfc4a0f2d550c0981ddd27" + +color-convert@^1.3.0, color-convert@^1.8.2, color-convert@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.0.0, color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color-string@^1.4.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.2.tgz#26e45814bc3c9a7cbd6751648a41434514a773a9" + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +color@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz#e48e832d85f14ef694fb468811c2d5cfe729b55d" + dependencies: + color-convert "^1.8.2" + color-string "^1.4.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +complex.js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/complex.js/-/complex.js-2.0.4.tgz#d8e7cfb9652d1e853e723386421c1a0ca7a48373" + +compressible@~2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a" + dependencies: + mime-db ">= 1.29.0 < 2" + +compression-webpack-plugin@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-1.0.1.tgz#7f0a2af9f642b4f87b5989516a3b9e9b41bb4b3f" + dependencies: + async "2.4.1" + webpack-sources "^1.0.1" + +compression@^1.5.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" + dependencies: + accepts "~1.3.4" + bytes "3.0.0" + compressible "~2.0.11" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-history-api-fallback@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type-parser@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + +convert-source-map@^1.1.1, convert-source-map@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + +convert-source-map@^1.4.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +create-ecdh@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^2.0.0" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +cryptiles@3.x.x: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" + dependencies: + boom "5.x.x" + +crypto-browserify@^3.11.0: + version "3.11.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + +css-color-function@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/css-color-function/-/css-color-function-1.3.0.tgz#72c767baf978f01b8a8a94f42f17ba5d22a776fc" + dependencies: + balanced-match "0.1.0" + color "^0.11.0" + debug "~0.7.4" + rgb "~0.1.0" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + +css-loader@^0.28.5: + version "0.28.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" + dependencies: + babel-code-frame "^6.11.0" + css-selector-tokenizer "^0.7.0" + cssnano ">=2.6.1 <4" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-unit-converter@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + +css@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" + dependencies: + inherits "^2.0.1" + source-map "^0.1.38" + source-map-resolve "^0.3.0" + urix "^0.1.0" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +"cssnano@>=2.6.1 <4": + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + +"cssstyle@>= 0.2.37 < 0.3.0": + version "0.2.37" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + dependencies: + cssom "0.3.x" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +damerau-levenshtein@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@2.6.9, debug@^2.2.0, debug@^2.6.6, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.0.1, debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +debug@~0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decimal.js@7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-7.2.3.tgz#6434c3b8a8c375780062fc633d0d2bbdb264cc78" + +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + +detect-node@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" + +diff@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" + +diffie-hellman@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + +dns-packet@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.0.0, doctrine@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.2.tgz#68f96ce8efc56cc42651f1faadb4f175273b0075" + dependencies: + esutils "^2.0.2" + +domain-browser@^1.1.1: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.0.tgz#81fe5df81b3f057052cde3a9fa9bf536a85b9ab0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.18: + version "1.3.24" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz#9b7b88bb05ceb9fa016a177833cc2dde388f21b6" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^6.1.0: + version "6.5.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +errno@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.1, es-abstract@^1.6.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-abstract@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.30" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.5.6" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^12.0.0: + version "12.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.0.1.tgz#abaca7b4536faa7e094add5a9801970fefdd39a4" + dependencies: + eslint-restricted-globals "^0.1.1" + +eslint-config-airbnb-base@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944" + dependencies: + eslint-restricted-globals "^0.1.1" + +eslint-config-airbnb@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz#2546bfb02cc9fe92284bf1723ccf2e87bc45ca46" + dependencies: + eslint-config-airbnb-base "^12.1.0" + +eslint-import-resolver-node@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" + dependencies: + debug "^2.6.8" + resolve "^1.2.0" + +eslint-module-utils@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449" + dependencies: + debug "^2.6.8" + pkg-dir "^1.0.0" + +eslint-plugin-ignore-erb@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-ignore-erb/-/eslint-plugin-ignore-erb-0.1.1.tgz#951497d935c7d8a713a67f6bbbaa92e29bf0826d" + dependencies: + requireindex "~1.1.0" + +eslint-plugin-import@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.6.8" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.1" + eslint-module-utils "^2.1.1" + has "^1.0.1" + lodash.cond "^4.3.0" + minimatch "^3.0.3" + read-pkg-up "^2.0.0" + +eslint-plugin-jsx-a11y@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz#659277a758b036c305a7e4a13057c301cd3be73f" + dependencies: + aria-query "^0.7.0" + array-includes "^3.0.3" + ast-types-flow "0.0.7" + axobject-query "^0.1.0" + damerau-levenshtein "^1.0.0" + emoji-regex "^6.1.0" + jsx-ast-utils "^1.4.0" + +eslint-plugin-react@^7.4.0: + version "7.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz#52e56e8d80c810de158859ef07b880d2f56ee30b" + dependencies: + doctrine "^2.0.0" + has "^1.0.1" + jsx-ast-utils "^2.0.0" + prop-types "^15.6.0" + +eslint-restricted-globals@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" + +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@^4.9.0: + version "4.12.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.12.1.tgz#5ec1973822b4a066b353770c3c6d69a2a188e880" + dependencies: + ajv "^5.3.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^3.0.1" + doctrine "^2.0.2" + eslint-scope "^3.7.1" + espree "^3.5.2" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.0.1" + ignore "^3.3.3" + imurmurhash "^0.1.4" + inquirer "^3.0.6" + is-resolvable "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^7.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" + strip-json-comments "~2.0.1" + table "^4.0.1" + text-table "~0.2.0" + +espree@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca" + dependencies: + acorn "^5.2.1" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esquery@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" + dependencies: + merge "^1.1.3" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expect@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-22.1.0.tgz#f8f9b019ab275d859cbefed531fbaefe8972431d" + dependencies: + ansi-styles "^3.2.0" + jest-diff "^22.1.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^22.1.0" + jest-message-util "^22.1.0" + jest-regex-util "^22.1.0" + +express@^4.13.3: + version "4.16.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.1.tgz#6b33b560183c9b253b7b62144df33a4654ac9ed0" + dependencies: + accepts "~1.3.4" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.0" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.2" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.1" + serve-static "1.13.1" + setprototypeof "1.1.0" + statuses "~1.3.1" + type-is "~1.6.15" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@~3.0.0, extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +external-editor@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" + dependencies: + iconv-lite "^0.4.17" + jschardet "^1.4.2" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extract-text-webpack-plugin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz#605a8893faca1dd49bb0d2ca87493f33fd43d102" + dependencies: + async "^2.4.1" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" + +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + dependencies: + bser "^2.0.0" + +fbjs@^0.8.16: + version "0.8.16" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-loader@^0.11.2: + version "0.11.2" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" + dependencies: + loader-utils "^1.0.2" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +flat-cache@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fraction.js@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.2.tgz#0eae896626f334b1bde763371347a83b5575d7f0" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-extra@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.36" + +fsevents@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.0.1.tgz#12a87bb010e5154396acc535e1e43fc753b0e5e8" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" + dependencies: + glob "~7.1.1" + lodash "~4.17.4" + minimatch "~3.0.2" + +gonzales-pe@^4.0.3: + version "4.2.2" + resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.2.tgz#f50a8c17842f13a9007909b7cb32188266e4d74c" + dependencies: + minimist "1.1.x" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +handle-thing@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" + +handlebars@^4.0.3: + version "4.0.11" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hawk@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" + dependencies: + boom "4.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + sntp "2.x.x" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoek@4.x.x: + version "4.2.0" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +html-encoding-sniffer@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-parser-js@>=0.4.0: + version "0.4.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.8.tgz#763f75c4b771a0bb44653b07070bff6ca7bc5561" + +http-proxy-middleware@~0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" + dependencies: + http-proxy "^1.16.2" + is-glob "^3.1.0" + lodash "^4.17.2" + micromatch "^2.3.11" + +http-proxy@^1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.3.3: + version "3.3.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.5.tgz#c4e715455f6073a8d7e5dae72d2fc9d71663dba6" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^3.0.6: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +internal-ip@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" + dependencies: + meow "^3.3.0" + +interpret@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" + +invariant@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + +ipaddr.js@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-arrayish@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.1.tgz#c2dfc386abaa0c3e33c48db3fe87059e69065efd" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2, is-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-ci@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" + dependencies: + ci-info "^1.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-plain-object@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isnumeric@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/isnumeric/-/isnumeric-0.2.0.tgz#a2347ba360de19e33d0ffd590fddf7755cbf2e64" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-api@^1.1.14: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620" + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.1.0" + istanbul-lib-instrument "^1.9.1" + istanbul-lib-report "^1.1.2" + istanbul-lib-source-maps "^1.2.2" + istanbul-reports "^1.1.3" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + +istanbul-lib-hook@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0, istanbul-lib-instrument@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.1.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425" + dependencies: + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10" + dependencies: + handlebars "^4.0.3" + +javascript-natural-sort@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" + +jest-changed-files@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.1.0.tgz#586a6164b87255dbd541a8bab880d98f14c99b7d" + dependencies: + throat "^4.0.0" + +jest-cli@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.1.2.tgz#89497932d7befb8a6952f2712473695c4bbef43f" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.1.11" + import-local "^1.0.0" + is-ci "^1.0.10" + istanbul-api "^1.1.14" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-instrument "^1.8.0" + istanbul-lib-source-maps "^1.2.1" + jest-changed-files "^22.1.0" + jest-config "^22.1.2" + jest-environment-jsdom "^22.1.2" + jest-get-type "^22.1.0" + jest-haste-map "^22.1.0" + jest-message-util "^22.1.0" + jest-regex-util "^22.1.0" + jest-resolve-dependencies "^22.1.0" + jest-runner "^22.1.2" + jest-runtime "^22.1.2" + jest-snapshot "^22.1.2" + jest-util "^22.1.2" + jest-worker "^22.1.0" + micromatch "^2.3.11" + node-notifier "^5.1.2" + realpath-native "^1.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + yargs "^10.0.3" + +jest-config@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.1.2.tgz#d3aee5c1df0997f0e2ae5c707eee04a7c87f1653" + dependencies: + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^22.1.2" + jest-environment-node "^22.1.2" + jest-get-type "^22.1.0" + jest-jasmine2 "^22.1.2" + jest-regex-util "^22.1.0" + jest-resolve "^22.1.0" + jest-util "^22.1.2" + jest-validate "^22.1.2" + pretty-format "^22.1.0" + +jest-diff@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.1.0.tgz#0fad9d96c87b453896bf939df3dc8aac6919ac38" + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.1.0" + pretty-format "^22.1.0" + +jest-docblock@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.1.0.tgz#3fe5986d5444cbcb149746eb4b07c57c5a464dfd" + dependencies: + detect-newline "^2.1.0" + +jest-environment-jsdom@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.1.2.tgz#4488c629631dd5de9059ec747fcd358735247f70" + dependencies: + jest-mock "^22.1.0" + jest-util "^22.1.2" + jsdom "^11.5.1" + +jest-environment-node@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.1.2.tgz#77dc32fbe08caa03ef2acb0948dce4b25a14633a" + dependencies: + jest-mock "^22.1.0" + jest-util "^22.1.2" + +jest-fetch-mock@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-1.4.0.tgz#ca4e0e911cdc6f7b5b4e4bd707296b66f82d5a21" + dependencies: + isomorphic-fetch "^2.2.1" + +jest-get-type@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.1.0.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9" + +jest-haste-map@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.1.0.tgz#1174c6ff393f9818ebf1163710d8868b5370da2a" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "^22.1.0" + jest-worker "^22.1.0" + micromatch "^2.3.11" + sane "^2.0.0" + +jest-jasmine2@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.1.2.tgz#dee4ba04fb2cf462e4c7cfb499426e82e8fde5ac" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^22.1.0" + graceful-fs "^4.1.11" + is-generator-fn "^1.0.0" + jest-diff "^22.1.0" + jest-matcher-utils "^22.1.0" + jest-message-util "^22.1.0" + jest-snapshot "^22.1.2" + source-map-support "^0.5.0" + +jest-leak-detector@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.1.0.tgz#08376644cee07103da069baac19adb0299b772c2" + dependencies: + pretty-format "^22.1.0" + +jest-matcher-utils@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.1.0.tgz#e164665b5d313636ac29f7f6fe9ef0a6ce04febc" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + pretty-format "^22.1.0" + +jest-message-util@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.1.0.tgz#51ba0794cb6e579bfc4e9adfac452f9f1a0293fc" + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + +jest-mock@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.1.0.tgz#87ec21c0599325671c9a23ad0e05c86fb5879b61" + +jest-regex-util@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.1.0.tgz#5daf2fe270074b6da63e5d85f1c9acc866768f53" + +jest-resolve-dependencies@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.1.0.tgz#340e4139fb13315cd43abc054e6c06136be51e31" + dependencies: + jest-regex-util "^22.1.0" + +jest-resolve@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.1.0.tgz#5f4307f48b93c1abdbeacc9ed80642ffcb246294" + dependencies: + browser-resolve "^1.11.2" + chalk "^2.0.1" + +jest-runner@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.1.2.tgz#e8565e4eb56c27219352b8486338ced9ceb462da" + dependencies: + exit "^0.1.2" + jest-config "^22.1.2" + jest-docblock "^22.1.0" + jest-haste-map "^22.1.0" + jest-jasmine2 "^22.1.2" + jest-leak-detector "^22.1.0" + jest-message-util "^22.1.0" + jest-runtime "^22.1.2" + jest-util "^22.1.2" + jest-worker "^22.1.0" + throat "^4.0.0" + +jest-runtime@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.1.2.tgz#42755d7cea2ffc7cdaa7f2dfa8736264a6057bf9" + dependencies: + babel-core "^6.0.0" + babel-jest "^22.1.0" + babel-plugin-istanbul "^4.1.5" + chalk "^2.0.1" + convert-source-map "^1.4.0" + exit "^0.1.2" + graceful-fs "^4.1.11" + jest-config "^22.1.2" + jest-haste-map "^22.1.0" + jest-regex-util "^22.1.0" + jest-resolve "^22.1.0" + jest-util "^22.1.2" + json-stable-stringify "^1.0.1" + micromatch "^2.3.11" + realpath-native "^1.0.0" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^10.0.3" + +jest-snapshot@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.1.2.tgz#b270cf6e3098f33aceeafda02b13eb0933dc6139" + dependencies: + chalk "^2.0.1" + jest-diff "^22.1.0" + jest-matcher-utils "^22.1.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^22.1.0" + +jest-util@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.1.2.tgz#4bf098f651e8611d744cefa23fa026c97a6a3d5d" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^22.1.0" + jest-validate "^22.1.2" + mkdirp "^0.5.1" + +jest-validate@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.1.2.tgz#c3b06bcba7bd9a850919fe336b5f2a8c3a239404" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + leven "^2.1.0" + pretty-format "^22.1.0" + +jest-worker@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.1.0.tgz#0987832fe58fbdc205357f4c19b992446368cafb" + dependencies: + merge-stream "^1.0.1" + +jest@^22.1.2: + version "22.1.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-22.1.2.tgz#54dce0f4946a089a00d5fdac8291d5926e24f6ab" + dependencies: + jest-cli "^22.1.2" + +js-base64@^2.1.8, js-base64@^2.1.9: + version "2.3.2" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jschardet@^1.4.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" + +jsdom@^11.5.1: + version "11.5.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.5.1.tgz#5df753b8d0bca20142ce21f4f6c039f99a992929" + dependencies: + abab "^1.0.3" + acorn "^5.1.2" + acorn-globals "^4.0.0" + array-equal "^1.0.0" + browser-process-hrtime "^0.1.2" + content-type-parser "^1.0.1" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + domexception "^1.0.0" + escodegen "^1.9.0" + html-encoding-sniffer "^1.0.1" + left-pad "^1.2.0" + nwmatcher "^1.4.3" + parse5 "^3.0.2" + pn "^1.0.0" + request "^2.83.0" + request-promise-native "^1.0.3" + sax "^1.2.1" + symbol-tree "^3.2.1" + tough-cookie "^2.3.3" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.1" + whatwg-url "^6.3.0" + xml-name-validator "^2.0.1" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsx-ast-utils@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" + +jsx-ast-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + dependencies: + array-includes "^3.0.3" + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + dependencies: + is-buffer "^1.0.2" + +kind-of@^3.0.2, kind-of@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +left-pad@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" + +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^1.0.0, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._createassigner@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" + dependencies: + lodash._bindcallback "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.restparam "^3.0.0" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash.assign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" + dependencies: + lodash._baseassign "^3.0.0" + lodash._createassigner "^3.0.0" + lodash.keys "^3.0.0" + +lodash.assign@^4.0.1, lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.defaults@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" + dependencies: + lodash.assign "^3.0.0" + lodash.restparam "^3.0.0" + +lodash.defaults@^4.0.0, lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + +lodash.mergewith@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + +lodash.template@^4.2.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.3.0, lodash@~4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +loglevel@^1.4.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.0.tgz#3863984a2c326b986fbb965f378758a6dc8a4324" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +macaddress@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + +mathjs@^3.11.5: + version "3.16.4" + resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-3.16.4.tgz#6223a5e423ff79a8f5da0b4f2991c78044bdf3de" + dependencies: + complex.js "2.0.4" + decimal.js "7.2.3" + fraction.js "4.0.2" + javascript-natural-sort "0.7.1" + seed-random "2.2.0" + tiny-emitter "2.0.0" + typed-function "0.10.5" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +merge@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5, micromatch@^2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +"mime-db@>= 1.29.0 < 2", mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" + +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: + version "2.1.17" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" + dependencies: + mime-db "~1.30.0" + +mime@1.4.1, mime@^1.3.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + +minimalistic-assert@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.1.x: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + +multicast-dns@^6.0.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" + dependencies: + dns-packet "^1.0.1" + thunky "^0.1.0" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.3.0, nan@^2.3.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" + +nan@^2.3.3: + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-forge@0.6.33: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" + +node-gyp@^3.3.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-libs-browser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.1.4" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "0.0.1" + os-browserify "^0.2.0" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + stream-http "^2.3.1" + string_decoder "^0.10.25" + timers-browserify "^2.0.2" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-notifier@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" + dependencies: + growly "^1.3.0" + semver "^5.4.1" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.6.36: + version "0.6.38" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d" + dependencies: + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +node-sass@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.79.0" + sass-graph "^2.1.1" + stdout-stream "^1.4.0" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +nwmatcher@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" + +oauth-sign@~0.8.1, oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object-path@^0.9.2: + version "0.9.2" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" + +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +obuf@^1.0.0, obuf@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@^1.3.0, once@^1.3.3, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onecolor@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-3.0.4.tgz#75a46f80da6c7aaa5b4daae17a47198bd9652494" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +opn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + dependencies: + is-wsl "^1.1.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +original@>=0.0.5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" + dependencies: + url-parse "1.0.x" + +os-browserify@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0, osenv@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parse-asn1@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse5@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + dependencies: + "@types/node" "*" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-complete-extname@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-0.1.0.tgz#c454702669f31452f8193aa6168915fa31692f4a" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +pbkdf2@^3.0.3: + version "3.0.14" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pixrem@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pixrem/-/pixrem-4.0.1.tgz#2da4a1de6ec4423c5fc3794e930b81d4490ec686" + dependencies: + browserslist "^2.0.0" + postcss "^6.0.0" + reduce-css-calc "^1.2.7" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +pleeease-filters@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pleeease-filters/-/pleeease-filters-4.0.0.tgz#6632b2fb05648d2758d865384fbced79e1ccaec7" + dependencies: + onecolor "^3.0.4" + postcss "^6.0.1" + +pluralize@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + +pn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + +portfinder@^1.0.9: + version "1.0.13" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" + dependencies: + async "^1.5.2" + debug "^2.2.0" + mkdirp "0.5.x" + +postcss-apply@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/postcss-apply/-/postcss-apply-0.8.0.tgz#14e544bbb5cb6f1c1e048857965d79ae066b1343" + dependencies: + babel-runtime "^6.23.0" + balanced-match "^0.4.2" + postcss "^6.0.0" + +postcss-attribute-case-insensitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz#94dc422c8f90997f16bd33a3654bbbec084963b4" + dependencies: + postcss "^6.0.0" + postcss-selector-parser "^2.2.3" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-calc@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-6.0.0.tgz#b681b279c6d24fbe0e33ed9045803705445d613b" + dependencies: + css-unit-converter "^1.1.1" + postcss "^6.0.0" + postcss-selector-parser "^2.2.2" + reduce-css-calc "^2.0.0" + +postcss-color-function@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-function/-/postcss-color-function-4.0.0.tgz#7e0106f4f6a1ecb1ad5b3a8553ace5e828aae187" + dependencies: + css-color-function "^1.3.0" + postcss "^6.0.1" + postcss-message-helpers "^2.0.0" + postcss-value-parser "^3.3.0" + +postcss-color-gray@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-4.0.0.tgz#681bf305097dd66bfef0e1e6282d5d99b5acc95d" + dependencies: + color "^1.0.3" + postcss "^6.0.1" + postcss-message-helpers "^2.0.0" + reduce-function-call "^1.0.2" + +postcss-color-hex-alpha@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz#1e53e6c8acb237955e8fd08b7ecdb1b8b8309f95" + dependencies: + color "^1.0.3" + postcss "^6.0.1" + postcss-message-helpers "^2.0.0" + +postcss-color-hsl@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz#12703666fa310430e3f30a454dac1386317d5844" + dependencies: + postcss "^6.0.1" + postcss-value-parser "^3.3.0" + units-css "^0.4.0" + +postcss-color-hwb@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz#3402b19ef4d8497540c1fb5072be9863ca95571e" + dependencies: + color "^1.0.3" + postcss "^6.0.1" + postcss-message-helpers "^2.0.0" + reduce-function-call "^1.0.2" + +postcss-color-rebeccapurple@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.0.0.tgz#eebaf03d363b4300b96792bd3081c19ed66513d3" + dependencies: + postcss "^6.0.1" + postcss-value-parser "^3.3.0" + +postcss-color-rgb@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz#14539c8a7131494b482e0dd1cc265ff6514b5263" + dependencies: + postcss "^6.0.1" + postcss-value-parser "^3.3.0" + +postcss-color-rgba-fallback@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz#37d5c9353a07a09270912a82606bb42a0d702c04" + dependencies: + postcss "^6.0.6" + postcss-value-parser "^3.3.0" + rgb-hex "^2.1.0" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-cssnext@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-cssnext/-/postcss-cssnext-3.0.2.tgz#63b77adb0b8a4c1d5ec32cd345539535a3417d48" + dependencies: + autoprefixer "^7.1.1" + caniuse-api "^2.0.0" + chalk "^2.0.1" + pixrem "^4.0.0" + pleeease-filters "^4.0.0" + postcss "^6.0.5" + postcss-apply "^0.8.0" + postcss-attribute-case-insensitive "^2.0.0" + postcss-calc "^6.0.0" + postcss-color-function "^4.0.0" + postcss-color-gray "^4.0.0" + postcss-color-hex-alpha "^3.0.0" + postcss-color-hsl "^2.0.0" + postcss-color-hwb "^3.0.0" + postcss-color-rebeccapurple "^3.0.0" + postcss-color-rgb "^2.0.0" + postcss-color-rgba-fallback "^3.0.0" + postcss-custom-media "^6.0.0" + postcss-custom-properties "^6.1.0" + postcss-custom-selectors "^4.0.1" + postcss-font-family-system-ui "^2.0.1" + postcss-font-variant "^3.0.0" + postcss-image-set-polyfill "^0.3.5" + postcss-initial "^2.0.0" + postcss-media-minmax "^3.0.0" + postcss-nesting "^4.0.1" + postcss-pseudo-class-any-link "^4.0.0" + postcss-pseudoelements "^5.0.0" + postcss-replace-overflow-wrap "^2.0.0" + postcss-selector-matches "^3.0.1" + postcss-selector-not "^3.0.1" + +postcss-custom-media@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz#be532784110ecb295044fb5395a18006eb21a737" + dependencies: + postcss "^6.0.1" + +postcss-custom-properties@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-6.1.0.tgz#9caf1151ac41b1e9e64d3a2ff9ece996ca18977d" + dependencies: + balanced-match "^1.0.0" + postcss "^6.0.3" + +postcss-custom-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz#781382f94c52e727ef5ca4776ea2adf49a611382" + dependencies: + postcss "^6.0.1" + postcss-selector-matches "^3.0.0" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + dependencies: + postcss "^5.0.4" + uniqid "^4.0.0" + +postcss-font-family-system-ui@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-family-system-ui/-/postcss-font-family-system-ui-2.0.1.tgz#318a075fdcb84b864aa823a51935ef0a5872e911" + dependencies: + lodash "^4.17.4" + postcss "^6.0.1" + postcss-value-parser "^3.3.0" + +postcss-font-variant@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz#08ccc88f6050ba82ed8ef2cc76c0c6a6b41f183e" + dependencies: + postcss "^6.0.1" + +postcss-image-set-polyfill@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz#0f193413700cf1f82bd39066ef016d65a4a18181" + dependencies: + postcss "^6.0.1" + postcss-media-query-parser "^0.2.3" + +postcss-initial@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-2.0.0.tgz#72715f7336e0bb79351d99ee65c4a253a8441ba4" + dependencies: + lodash.template "^4.2.4" + postcss "^6.0.1" + +postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-loader@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.6.tgz#8c7e0055a3df1889abc6bad52dd45b2f41bbc6fc" + dependencies: + loader-utils "^1.1.0" + postcss "^6.0.2" + postcss-load-config "^1.2.0" + schema-utils "^0.3.0" + +postcss-media-minmax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz#675256037a43ef40bc4f0760bfd06d4dc69d48d2" + dependencies: + postcss "^6.0.1" + +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-nesting@^4.0.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-4.2.1.tgz#0483bce338b3f0828ced90ff530b29b98b00300d" + dependencies: + postcss "^6.0.11" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-pseudo-class-any-link@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz#9152a0613d3450720513e8892854bae42d0ee68e" + dependencies: + postcss "^6.0.1" + postcss-selector-parser "^2.2.3" + +postcss-pseudoelements@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz#eef194e8d524645ca520a949e95e518e812402cb" + dependencies: + postcss "^6.0.0" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-replace-overflow-wrap@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz#794db6faa54f8db100854392a93af45768b4e25b" + dependencies: + postcss "^6.0.1" + +postcss-sass@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.1.0.tgz#0d2a655b5d241ec8f419bb3da38de5ca11746ddb" + dependencies: + gonzales-pe "^4.0.3" + mathjs "^3.11.5" + postcss "^5.2.6" + +postcss-scss@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-1.0.2.tgz#ff45cf3354b879ee89a4eb68680f46ac9bb14f94" + dependencies: + postcss "^6.0.3" + +postcss-selector-matches@^3.0.0, postcss-selector-matches@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz#e5634011e13950881861bbdd58c2d0111ffc96ab" + dependencies: + balanced-match "^0.4.2" + postcss "^6.0.1" + +postcss-selector-not@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz#2e4db2f0965336c01e7cec7db6c60dff767335d9" + dependencies: + balanced-match "^0.4.2" + postcss "^6.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2, postcss-selector-parser@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-smart-import@^0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/postcss-smart-import/-/postcss-smart-import-0.7.5.tgz#df9a9c6dd60d916e5e0670d1c57d03af5d3dcc31" + dependencies: + babel-runtime "^6.23.0" + lodash "^4.17.4" + object-assign "^4.1.1" + postcss "^6.0.6" + postcss-sass "^0.1.0" + postcss-scss "^1.0.2" + postcss-value-parser "^3.3.0" + promise-each "^2.2.0" + read-cache "^1.0.0" + resolve "^1.3.3" + sugarss "^1.0.0" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.6: + version "5.2.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.5, postcss@^6.0.6: + version "6.0.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.12.tgz#6b0155089d2d212f7bd6a0cecd4c58c007403535" + dependencies: + chalk "^2.1.0" + source-map "^0.5.7" + supports-color "^4.4.0" + +preact-render-spy@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/preact-render-spy/-/preact-render-spy-1.2.1.tgz#5f4101c8f15f39162db7d274230935cfb3f07f5c" + dependencies: + lodash.isequal "^4.5.0" + object.entries "^1.0.4" + preact-render-to-string "^3.6.3" + +preact-render-to-json@^3.6.6: + version "3.6.6" + resolved "https://registry.yarnpkg.com/preact-render-to-json/-/preact-render-to-json-3.6.6.tgz#f67f48581912ac53fc9f4873bc6d7ce342f71c20" + +preact-render-to-string@^3.6.3: + version "3.7.0" + resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-3.7.0.tgz#7db4177454bc01395e0d01d6ac07bc5e838e31ee" + dependencies: + pretty-format "^3.5.1" + +preact@^8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/preact/-/preact-8.2.5.tgz#cbfa3962a8012768159f6d01d46f9c1eb3213c0a" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-format@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.1.0.tgz#2277605b40ed4529ae4db51ff62f4be817647914" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +pretty-format@^3.5.1: + version "3.8.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385" + +private@^0.1.6, private@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@^0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + +promise-each@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/promise-each/-/promise-each-2.2.0.tgz#3353174eff2694481037e04e01f77aa0fb6d1b60" + dependencies: + any-promise "^0.1.0" + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +prop-types@^15.6.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +proxy-addr@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.5.2" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + +q@^1.1.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + +qs@6.5.1, qs@~6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +querystringify@0.0.x: + version "0.0.4" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" + +querystringify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" + +rails-erb-loader@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/rails-erb-loader/-/rails-erb-loader-5.2.1.tgz#399b7781b88c129bc621a8256329ed2f855398e9" + dependencies: + loader-utils "^1.1.0" + lodash.defaults "^4.2.0" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +randombytes@^2.0.0, randombytes@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.1.7: + version "1.2.1" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + dependencies: + pify "^2.3.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.2.9: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +realpath-native@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0" + dependencies: + util.promisify "^1.0.0" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^1.2.6, reduce-css-calc@^1.2.7: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-css-calc@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.0.5.tgz#33c97838c5d4c711a5c14ef85ce4fde41483f7bd" + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +reduce-function-call@^1.0.1, reduce-function-call@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + +regenerate@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-parser@^2.2.1: + version "2.2.8" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.8.tgz#da4c0cda5a828559094168930f455f532b6ffbac" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@2, request@^2.79.0, request@^2.83.0: + version "2.83.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + hawk "~6.0.2" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + stringstream "~0.0.5" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +requireindex@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" + +requires-port@1.0.x, requires-port@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url-loader@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-2.1.0.tgz#27c95cc16a4353923fdbdc2dbaf5eef22232c477" + dependencies: + adjust-sourcemap-loader "^1.1.0" + camelcase "^4.0.0" + convert-source-map "^1.1.1" + loader-utils "^1.0.0" + lodash.defaults "^4.0.0" + rework "^1.0.1" + rework-visit "^1.0.0" + source-map "^0.5.6" + urix "^0.1.0" + +resolve-url@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.2.0, resolve@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +rework-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + +rework@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-hex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/rgb-hex/-/rgb-hex-2.1.0.tgz#c773c5fe2268a25578d92539a82a7a5ce53beda6" + +rgb@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/rgb/-/rgb-0.1.0.tgz#be27b291e8feffeac1bd99729721bfa40fc037b5" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +sane@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.2.0.tgz#d6d2e2fcab00e3d283c93b912b7c3a20846f1d56" + dependencies: + anymatch "^1.3.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.1.1" + +sass-graph@^2.1.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sass-loader@^6.0.6: + version "6.0.6" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.6.tgz#e9d5e6c1f155faa32a4b26d7a9b7107c225e40f9" + dependencies: + async "^2.1.5" + clone-deep "^0.3.0" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + pify "^3.0.0" + +sax@^1.2.1, sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +seed-random@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/seed-random/-/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + +selfsigned@^1.9.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" + dependencies: + node-forge "0.6.33" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +semver@^5.4.1: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" + dependencies: + debug "2.6.9" + depd "~1.1.1" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + +sendbird@^3.0.52: + version "3.0.52" + resolved "https://registry.yarnpkg.com/sendbird/-/sendbird-3.0.52.tgz#52a947fe7ce74a82096ff2853dadadff545fa1dd" + dependencies: + agentkeepalive "2.2.0" + form-data "2.1.2" + websocket "1.0.24" + xhr2 "0.1.4" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.9" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + dependencies: + is-fullwidth-code-point "^2.0.0" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sntp@2.x.x: + version "2.0.2" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.0.2.tgz#5064110f0af85f7cfdb7d6b67a40028ce52b4b2b" + dependencies: + hoek "4.x.x" + +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sockjs@0.3.18: + version "0.3.18" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" + dependencies: + faye-websocket "^0.10.0" + uuid "^2.0.2" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-map-resolve@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" + dependencies: + atob "~1.1.0" + resolve-url "~0.2.1" + source-map-url "~0.3.0" + urix "~0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.1.tgz#72291517d1fd0cb9542cee6c27520884b5da1a07" + dependencies: + source-map "^0.6.0" + +source-map-url@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" + +source-map@^0.1.38: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.4.2, source-map@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1, source-map@~0.5.3, source-map@~0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +spdy-transport@^2.0.18: + version "2.0.20" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" + dependencies: + debug "^2.6.8" + detect-node "^2.0.3" + hpack.js "^2.1.6" + obuf "^1.1.1" + readable-stream "^2.2.9" + safe-buffer "^5.0.1" + wbuf "^1.7.2" + +spdy@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" + dependencies: + debug "^2.6.8" + handle-thing "^1.2.5" + http-deceiver "^1.2.7" + safe-buffer "^5.0.1" + select-hose "^2.0.0" + spdy-transport "^2.0.18" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.3.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.2.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^0.10.25: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4, stringstream@~0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@3.0.0, strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +style-loader@^0.18.2: + version "0.18.2" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + +sugarss@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.0.tgz#65e51b3958432fb70d5451a68bb33e32d0cf1ef7" + dependencies: + postcss "^6.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.2, supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.0.0, supports-color@^4.2.1, supports-color@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +symbol-tree@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + +table@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" + dependencies: + ajv "^5.2.3" + ajv-keywords "^2.1.0" + chalk "^2.1.0" + lodash "^4.17.4" + slice-ansi "1.0.0" + string-width "^2.1.1" + +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + +tar-pack@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.0.0, tar@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +test-exclude@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +thunky@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" + +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + +timers-browserify@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" + dependencies: + setimmediate "^1.0.4" + +tiny-emitter@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.0.tgz#bad327adb1804b42a231afa741532bd884cd09ad" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" + dependencies: + punycode "^1.4.1" + +tr46@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-is@~1.6.15: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.15" + +typed-function@0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-0.10.5.tgz#2e0f18abd065219fab694a446a65c6d1981832c0" + +typedarray-to-buffer@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz#1017b32d984ff556eba100f501589aba1ace2e04" + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@^0.7.9: + version "0.7.17" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" + +uglify-js@^2.6, uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqid@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + dependencies: + macaddress "^0.2.8" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + +units-css@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/units-css/-/units-css-0.4.0.tgz#d6228653a51983d7c16ff28f8b9dc3b1ffed3a07" + dependencies: + isnumeric "^0.2.0" + viewport-dimensions "^0.2.0" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +urix@^0.1.0, urix@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-parse@1.0.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" + dependencies: + querystringify "0.0.x" + requires-port "1.0.x" + +url-parse@^1.1.8: + version "1.1.9" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" + dependencies: + querystringify "~1.0.0" + requires-port "1.0.x" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0, uuid@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +vendors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +viewport-dimensions@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz#de740747db5387fd1725f5175e91bac76afdf36c" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +watch@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +watchpack@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" + dependencies: + async "^2.1.2" + chokidar "^1.7.0" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +webpack-dev-middleware@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" + dependencies: + memory-fs "~0.4.1" + mime "^1.3.4" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-dev-server@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.1.tgz#7ac9320b61b00eb65b2109f15c82747fc5b93585" + dependencies: + ansi-html "0.0.7" + array-includes "^3.0.3" + bonjour "^3.5.0" + chokidar "^1.6.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + del "^3.0.0" + express "^4.13.3" + html-entities "^1.2.0" + http-proxy-middleware "~0.17.4" + internal-ip "1.2.0" + ip "^1.1.5" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + selfsigned "^1.9.1" + serve-index "^1.7.2" + sockjs "0.3.18" + sockjs-client "1.1.4" + spdy "^3.4.1" + strip-ansi "^3.0.1" + supports-color "^4.2.1" + webpack-dev-middleware "^1.11.0" + yargs "^6.6.0" + +webpack-manifest-plugin@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz#5ea8ee5756359ddc1d98814324fe43496349a7d4" + dependencies: + fs-extra "^0.30.0" + lodash ">=3.5 <5" + +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + dependencies: + source-list-map "^2.0.0" + source-map "~0.5.3" + +webpack@^3.5.5: + version "3.6.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.6.0.tgz#a89a929fbee205d35a4fa2cc487be9cbec8898bc" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^5.1.5" + ajv-keywords "^2.0.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + dependencies: + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.2.tgz#0e18781de629a18308ce1481650f67ffa2693a5d" + +websocket@1.0.24: + version "1.0.24" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.24.tgz#74903e75f2545b6b2e1de1425bc1c905917a1890" + dependencies: + debug "^2.2.0" + nan "^2.3.3" + typedarray-to-buffer "^3.1.2" + yaeti "^0.0.6" + +whatwg-encoding@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" + dependencies: + iconv-lite "0.4.19" + +whatwg-fetch@>=0.10.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + +whatwg-url@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.0" + webidl-conversions "^4.0.1" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@1, which@^1.2.12, which@^1.2.9, which@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xhr2@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" + +xml-name-validator@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" + dependencies: + camelcase "^4.1.0" + +yargs@^10.0.3: + version "10.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.1.tgz#5fe1ea306985a099b33492001fa19a1e61efe285" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" + +yargs@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0"